Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getlogin(3)

getgrent(3)

passwd(5)

ypserv(8)

GETPWENT(3)  —  UNIX Programmer’s Manual

NAME

getpwent, getpwuid, getpwnam, setpwent, endpwent, setpwfile, fgetpwent − get password file entry

SYNOPSIS

#include <pwd.h>

struct passwd ∗getpwuid(uid)
int uid;

struct passwd ∗getpwnam(name)
char ∗name;

struct passwd ∗getpwent()

setpwent()

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. 

structpasswd { /∗ see getpwent(3) ∗/
char∗pw_name;
char∗pw_passwd;
union { uid_t_uid; int_pad1; } _uid;
union { gid_t_gid; int_pad2; } _gid;
intpw_quota;
char∗pw_comment;
char∗pw_gecos;
char∗pw_dir;
char∗pw_shell;
};
#definepw_uid_uid._uid
#definepw_gid_gid._gid

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. 

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

getlogin(3), getgrent(3), passwd(5), ypserv(8)

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. 

7th Edition  —  Revision 1.5 of 24/07/90

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026