getpwent(3)
NAME
getpwent, getpwuid, getpwnam, setpwent, endpwent − get password file entry
SYNTAX
#include <pwd.h>
struct passwd *getpwent();
struct passwd *getpwuid(uid)
int uid;
struct passwd *getpwnam(name)
char *name;
void setpwent();
void endpwent();
struct passwd *fgetpwent(f)
FILE *f; FILE *f;
DESCRIPTION
The getpwent, getpwuid and getpwnam subroutines each return a pointer to an object with the following structure containing the broken-out fields of a line in the password file.
struct passwd { /* see getpwent(3) */
char *pw_name;
char *pw_passwd;
int pw_uid;
int pw_gid;
int pw_quota;
char *pw_comment;
char *pw_gecos;
char *pw_dir;
char *pw_shell;
};
The fields pw_quota and pw_comment are unused. The others have meanings described in passwd(5).
The getpwent subroutine reads the next line (opening the file if necessary); setpwent rewinds the file; endpwent closes it.
The getpwuid and getpwnam subroutines search from the beginning until a matching uid or name is found (or until EOF is encountered).
The fgetpwent subroutine returns a pointer to the next passwd structure in the stream f, which matches the format of /etc/passwd.
RESTRICTIONS
All information is contained in a static area so it must be copied if it is to be saved.
DIAGNOSTICS
Null pointer (0) returned on EOF or error.
FILES
/etc/passwd