Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getgrent(3)

getlogin(3)

getpwent(3V)

passwd(5)

ypserv(8)

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

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