getutxent uses getfutxent,setutxent,setutxdb
No,It only open file once. It only read when the FILE *uf points to null
the sequence of call:getutxent-getfutxent-setutxent()-setutxdb
It is assigned to static _Thread_local FILE *uf and status store in udb
fopen ,fstat
parsing data:
setutxent() using fread with fseek if neccessary
last: only getfutxent is private because it is static.