+'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date. The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein. The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References consulted:
.\" Linux libc source code
.\" Modified Sat Jul 24 19:37:37 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Mon May 27 22:40:48 1996 by Martin Schulze (joey@linux.de)
.\"
-.TH FGETPWENT 3 2007-07-26 "GNU" "Linux Programmer's Manual"
+.TH fgetpwent 3 (date) "Linux man-pages (unreleased)"
.SH NAME
fgetpwent \- get password file entry
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <stdio.h>
.B #include <sys/types.h>
.B #include <pwd.h>
-.sp
+.P
.BI "struct passwd *fgetpwent(FILE *" stream );
.fi
-.sp
-.in -4n
+.P
+.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
-.in
-.sp
+.RE
+.P
.BR fgetpwent ():
-_SVID_SOURCE
+.nf
+ Since glibc 2.19:
+ _DEFAULT_SOURCE
+ glibc 2.19 and earlier:
+ _SVID_SOURCE
+.fi
.SH DESCRIPTION
The
.BR fgetpwent ()
the broken out fields of a line in the file \fIstream\fP.
The first time it is called it returns the first entry;
thereafter, it returns successive entries.
-The file \fIstream\fP must have the same format as
-\fI/etc/passwd\fP.
-.PP
+The file referred to by
+.I stream
+must have the same format as
+.I /etc/passwd
+(see
+.BR passwd (5)).
+.P
The \fIpasswd\fP structure is defined in \fI<pwd.h>\fP as follows:
-.sp
-.in +0.5i
-.nf
+.P
+.in +4n
+.EX
struct passwd {
- char *pw_name; /* user name */
+ char *pw_name; /* username */
char *pw_passwd; /* user password */
uid_t pw_uid; /* user ID */
gid_t pw_gid; /* group ID */
char *pw_dir; /* home directory */
char *pw_shell; /* shell program */
};
-.fi
-.in -0.5i
-.SH "RETURN VALUE"
+.EE
+.in
+.SH RETURN VALUE
The
.BR fgetpwent ()
function returns a pointer to a
.I passwd
structure, or NULL if
there are no more entries or an error occurs.
+In the event of an error,
+.I errno
+is set to indicate the error.
.SH ERRORS
.TP
.B ENOMEM
.TP
.I /etc/passwd
password database file
-.SH "CONFORMING TO"
-SVr4
-.SH "SEE ALSO"
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR fgetpwent ()
+T} Thread safety MT-Unsafe race:fgetpwent
+.TE
+.\" FIXME: The marking is different from that in the glibc manual,
+.\" which has:
+.\"
+.\" fgetpwent: MT-Unsafe race:fpwent
+.\"
+.\" We think race:fpwent in glibc maybe hard for users to understand,
+.\" and have sent a patch to the GNU libc community for changing it to
+.\" race:fgetpwent, however, something about the copyright impeded the
+.\" progress.
+.SH STANDARDS
+None.
+.SH HISTORY
+SVr4.
+.SH SEE ALSO
.BR endpwent (3),
.BR fgetpwent_r (3),
+.BR fopen (3),
.BR getpw (3),
.BR getpwent (3),
.BR getpwnam (3),