fgetpwent — get password file entry
Synopsis
#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
Description
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 */ };
Return Value
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.
Errors
- ENOMEM
Insufficient memory to allocate passwd structure.
Files
- /etc/passwd
password database file
Attributes
For an explanation of the terms used in this section, see attributes(7).
Interface | Attribute | Value |
---|---|---|
fgetpwent() | Thread safety | MT-Unsafe race:fgetpwent |
Conforming to
SVr4.
See Also
endpwent(3), fgetpwent_r(3), fopen(3), getpw(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5)
Colophon
This page is part of release 5.04 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
Referenced By
getpw(3), getpwent(3), getpwent_r(3), getpwnam(3), putpwent(3).