getpwent(3C) getpwent(3C)
NAME
getpwent, getpwuid, getpwnam, setpwent, endpwent, fgetpwent
- get password file entry
SYNOPSIS
#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;
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 /etc/passwd file. Each line in
the file contains a passwd structure, declared in the
<pwd.h> header file:
struct passwd {
char *pw_name;
char *pw_passwd;
int pw_uid;
int pw_gid;
char *pw_age;
char *pw_comment;
char *pw_gecos;
char *pw_dir;
char *pw_shell;
};
Because this structure is declared in <pwd.h>, it is not
necessary to redeclare it.
The pwcomment field is unused; the others have meanings
described in passwd(4).
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; therefore,
successive calls can be used to search the entire file.
getpwuid searches from the beginning of the file until a
Page 1 (last mod. 1/14/87)
getpwent(3C) getpwent(3C)
numerical user id matching uid is found; it returns a
pointer to the particular structure in which the match was
found. getpwnam searches from the beginning of the file
until a login name matching name is found; it returns a
pointer to the particular structure in which the match was
found. If an end-of-file or an error is encountered on
reading, these functions return a NULL pointer.
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
cuserid(3S), getlogin(3C), getgrent(3C), passwd(4).
DIAGNOSTICS
A NULL pointer is returned on EOF or error.
WARNING
The above routines use <stdio.h>. Therefore the size of
programs not otherwise using standard I/O is increased more
than might be expected.
BUGS
All information is contained in a static area, so it must be
copied if it is to be saved.
Page 2 (last mod. 1/14/87)