NAME
getpwent, getpwuid, getpwnam, setpwent, endpwent, setpwfile
- get
password file entry
SYNOPSIS
#include <pwd.h>
struct passwd *getpwuid(uid)
int uid;
struct passwd *getpwnam(name)
const char *name;
struct passwd *getpwent()
void setpwent()
void endpwent()
void setpwfile(name)
const char *name;
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.
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;
};
struct passwd *getpwent(), *getpwuid(), *getpwnam();
The fields pw_quota and
pw_comment are unused; the others have
meanings described in passwd(5).
Searching of the password file
is done using the ndbm database
access routines. Setpwent opens the database; endpwent
closes it.
Getpwuid and getpwnam search the database (opening it if
necessary)
for a matching uid or name. EOF is returned if there is no
entry.
For programs wishing to read the
entire database, getpwent reads
the next line (opening the database if necessary). In
addition to
opening the database, setpwent can be used to make getpwent
begin
its search from the beginning of the database.
Setpwfile changes the default
password file to name thus allowing
alternate password files to be used. Note that it does not
close
the previous file. If this is desired, endpwent should be
called
prior to it.
FILES
/etc/passwd
SEE ALSO
getlogin(3), getgrent(3), passwd(5)
DIAGNOSTICS
The routines getpwent, getpwuid, and getpwnam, return a null
pointer (0) on EOF or error.
BUGS
All information is contained in a static area so it must be
copied
if it is to be saved.