GETPWENT(3) — C LIBRARY FUNCTIONS
NAME
getpwent, getpwuid, getpwnam, setpwent, endpwent, setpwfile, fgetpwent − get password file entry
SYNOPSIS
#include <pwd.h>
struct passwd ∗getpwent()
struct passwd ∗getpwuid(uid)
int uid;
struct passwd ∗getpwnam(name)
char ∗name;
int setpwent()
int endpwent()
setpwfile(name)
char ∗name;
struct passwd ∗fgetpwent(f)
FILE ∗f;
DESCRIPTION
getpwent, getpwuid() and getpwnam() each return a pointer to an object with the following structure containing the broken-out fields of a line in the password file. Each line in the file contains a “passwd” structure, declared in the <pwd.h> header file:
structpasswd { /∗ see getpwent(3) ∗/
char∗pw_name;
char∗pw_passwd;
intpw_uid;
intpw_gid;
intpw_quota;
char∗pw_comment;
char∗pw_gecos;
char∗pw_dir;
char∗pw_shell;
};
struct passwd ∗getpwent(), ∗getpwuid(), ∗getpwnam();
This structure is declared in <pwd.h> so it is not necessary to redeclare it.
The fields pw_quota and pw_comment are unused; the others have meanings described in passwd(5). When first called, getpwent() returns a pointer to the first passwd structure in the file; thereafter, it returns a pointer to the next passwd structure in the file; so successive calls can be used to search the entire file. getpwuid() searches from the beginning of the file until a numerical user ID matching uid is found and returns a pointer to the particular structure in which it was found. getpwnam() searches from the beginning of the file until a login name matching name is found, and returns a pointer to the particular structure in which it was found. If an end-of-file or an error is encountered on reading, these functions return a NULL pointer.
A call to getpwent() has the effect of rewinding the password file to allow repeated searches. endpwent() may be called to close the password file when processing is complete.
setpwfile() changes the default password file to name thus allowing alternate password files to be used. Note: it does not close the previous file. If this is desired, endpwent() should be called prior to it.
fgetpwent() returns a pointer to the next passwd structure in the stream f, which matches the format of the password file /etc/passwd.
FILES
/etc/passwd
SEE ALSO
getgrent(3), getlogin(3), getpwent(3V), passwd(5), ypserv(8)
DIAGNOSTICS
A NULL pointer is returned on end-of-file or error.
BUGS
All information is contained in a static area, so it must be copied if it is to be saved.
Sun Release 4.0 — Last change: 28 January 1988