* Which function are used by getutxent?
* Does getutxent open file for each call?
* Please list each funtion that are called from getutxent until the libc/syscall that open files?
* If it doesn’t open file each time, where the file is cached.
* Which functions (more then one) can be used to cache this file.
* What function is used to parse data from file.
1. getutxent uses getfutxent,setutxent,setutxdb
2. No,It only open file once. It only read when the FILE *uf points to null
3. the sequence of call:getutxent-getfutxent-setutxent()-setutxdb
4. It is assigned to static _Thread_local FILE *uf and status store in udb
5. fopen ,fstat
6. parsing data:
setutxent() using fread with fseek if neccessary
last: only getfutxent is private because it is static.