fgetpwent - get password file entry
#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>
struct passwd *fgetpwent(FILE *stream);
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
fgetpwent():
Since glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 and earlier:
_SVID_SOURCE
The
fgetpwent() function returns a pointer to a structure containing the
broken out fields of a line in the file
stream. The first time it is
called it returns the first entry; thereafter, it returns successive entries.
The file referred to by
stream must have the same format as
/etc/passwd (see
passwd(5)).
The
passwd structure is defined in
<pwd.h> as follows:
struct passwd {
char *pw_name; /* username */
char *pw_passwd; /* user password */
uid_t pw_uid; /* user ID */
gid_t pw_gid; /* group ID */
char *pw_gecos; /* real name */
char *pw_dir; /* home directory */
char *pw_shell; /* shell program */
};
The
fgetpwent() function returns a pointer to a
passwd structure,
or NULL if there are no more entries or an error occurs. In the event of an
error,
errno is set to indicate the cause.
- ENOMEM
- Insufficient memory to allocate passwd structure.
- /etc/passwd
- password database file
For an explanation of the terms used in this section, see
attributes(7).
Interface |
Attribute |
Value |
fgetpwent () |
Thread safety |
MT-Unsafe race:fgetpwent |
SVr4.
endpwent(3),
fgetpwent_r(3),
fopen(3),
getpw(3),
getpwent(3),
getpwnam(3),
getpwuid(3),
putpwent(3),
setpwent(3),
passwd(5)