getpwent(3C) COMPATIBILITY FUNCTIONS getpwent(3C)
NAME
getpwent, getpwuid, getpwnam, setpwent, endpwent, fgetpwent
- manipulate password file entry
SYNOPSIS
#include <pwd.h>
struct passwd *getpwent (void);
struct passwd *getpwuid (uidt uid);
struct passwd *getpwnam (const char *name);
void setpwent (void);
void endpwent (void);
struct passwd *fgetpwent (FILE *f);
DESCRIPTION
getpwent, getpwuid, and getpwnam each returns a pointer to
an object with the following structure containing the
broken-out fields of a line in the /etc/passwd file. Each
line in the file contains a passwd structure, declared in
the pwd.h header file:
struct passwd {
char *pwname;
char *pwpasswd;
uidt pwuid;
gidt pwgid;
char *pwage;
char *pwcomment;
char *pwgecos;
char *pwdir;
char *pwshell;
};
getpwent when first called 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 succes-
sive 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 partic-
ular structure in which it was found. If an end-of-file or
an error is encountered on reading, these functions return a
null pointer.
Last change: C Programming Language Utilities 1
getpwent(3C) COMPATIBILITY FUNCTIONS getpwent(3C)
A call to setpwent 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.
fgetpwent returns a pointer to the next passwd structure in
the stream f, which matches the format of /etc/passwd.
FILES
/etc/passwd
SEE ALSO
getlogin(3C), getgrent(3C).
passwd(4) in the System Administrator's Reference Manual.
DIAGNOSTICS
getpwent, getpwnid, getpwnam, and fgetpwent return a null
pointer on EOF or error.
NOTES
All information is contained in a static area, so it must be
copied if it is to be saved.
Last change: C Programming Language Utilities 2