]>
Commit | Line | Data |
---|---|---|
fea681da MK |
1 | .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) |
2 | .\" | |
3 | .\" Permission is granted to make and distribute verbatim copies of this | |
4 | .\" manual provided the copyright notice and this permission notice are | |
5 | .\" preserved on all copies. | |
6 | .\" | |
7 | .\" Permission is granted to copy and distribute modified versions of this | |
8 | .\" manual under the conditions for verbatim copying, provided that the | |
9 | .\" entire resulting derived work is distributed under the terms of a | |
10 | .\" permission notice identical to this one. | |
c13182ef | 11 | .\" |
fea681da MK |
12 | .\" Since the Linux kernel and libraries are constantly changing, this |
13 | .\" manual page may be incorrect or out-of-date. The author(s) assume no | |
14 | .\" responsibility for errors or omissions, or for damages resulting from | |
15 | .\" the use of the information contained herein. The author(s) may not | |
16 | .\" have taken the same level of care in the production of this manual, | |
17 | .\" which is licensed free of charge, as they might when working | |
18 | .\" professionally. | |
c13182ef | 19 | .\" |
fea681da MK |
20 | .\" Formatted or processed versions of this manual, if unaccompanied by |
21 | .\" the source, must acknowledge the copyright and authors of this work. | |
22 | .\" | |
23 | .\" References consulted: | |
24 | .\" Linux libc source code | |
25 | .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) | |
26 | .\" 386BSD man pages | |
27 | .\" | |
28 | .\" Modified Sat Jul 24 19:22:14 1993 by Rik Faith (faith@cs.unc.edu) | |
29 | .\" Modified Mon May 27 21:37:47 1996 by Martin Schulze (joey@linux.de) | |
30 | .\" | |
cc4615cc | 31 | .TH GETPWENT 3 2007-07-26 "GNU" "Linux Programmer's Manual" |
fea681da MK |
32 | .SH NAME |
33 | getpwent, setpwent, endpwent \- get password file entry | |
34 | .SH SYNOPSIS | |
35 | .nf | |
36 | .B #include <sys/types.h> | |
37 | .B #include <pwd.h> | |
38 | .sp | |
39 | .B struct passwd *getpwent(void); | |
40 | .sp | |
41 | .B void setpwent(void); | |
42 | .sp | |
43 | .B void endpwent(void); | |
44 | .fi | |
cc4615cc MK |
45 | .sp |
46 | .in -4n | |
47 | Feature Test Macro Requirements for glibc (see | |
48 | .BR feature_test_macros (7)): | |
49 | .in | |
50 | .sp | |
51 | .ad l | |
52 | .BR getpwent (), | |
53 | .BR setpwent (), | |
54 | .BR endpwent (): | |
55 | _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE > = 500 | |
56 | .ad b | |
fea681da | 57 | .SH DESCRIPTION |
60a90ecd MK |
58 | The |
59 | .BR getpwent () | |
60 | function returns a pointer to a structure containing | |
f2738b39 | 61 | the broken-out fields of a record from the password database |
c13182ef | 62 | (e.g., the local password file |
f2738b39 MK |
63 | .IR /etc/passwd , |
64 | NIS, and LDAP). | |
c13182ef MK |
65 | The first time it |
66 | is called it returns the first entry; thereafter, it returns successive | |
fea681da MK |
67 | entries. |
68 | .PP | |
60a90ecd MK |
69 | The |
70 | .BR setpwent () | |
71 | function rewinds to the beginning | |
f2738b39 | 72 | of the password database. |
fea681da | 73 | .PP |
60a90ecd MK |
74 | The |
75 | .BR endpwent () | |
76 | function is used to close the password database | |
f2738b39 | 77 | after all processing has been performed. |
fea681da MK |
78 | .PP |
79 | The \fIpasswd\fP structure is defined in \fI<pwd.h>\fP as follows: | |
80 | .sp | |
f2738b39 | 81 | .RS 0.25i |
fea681da MK |
82 | .nf |
83 | struct passwd { | |
f2738b39 MK |
84 | char *pw_name; /* user name */ |
85 | char *pw_passwd; /* user password */ | |
34c97781 MK |
86 | uid_t pw_uid; /* user ID */ |
87 | gid_t pw_gid; /* group ID */ | |
f2738b39 MK |
88 | char *pw_gecos; /* real name */ |
89 | char *pw_dir; /* home directory */ | |
90 | char *pw_shell; /* shell program */ | |
fea681da MK |
91 | }; |
92 | .fi | |
93 | .RE | |
94 | .SH "RETURN VALUE" | |
60a90ecd MK |
95 | The |
96 | .BR getpwent () | |
97 | function returns a pointer to a | |
f2738b39 | 98 | .I passwd |
c13182ef | 99 | structure, or NULL if |
fea681da | 100 | there are no more entries or an error occurs. |
f2738b39 MK |
101 | If an error occurs, |
102 | .I errno | |
103 | is set appropriately. | |
104 | If one wants to check | |
105 | .I errno | |
106 | after the call, it should be set to zero before the call. | |
fea681da MK |
107 | .SH ERRORS |
108 | .TP | |
f2738b39 MK |
109 | .B EINTR |
110 | A signal was caught. | |
111 | .TP | |
112 | .B EIO | |
113 | I/O error. | |
114 | .TP | |
115 | .B EMFILE | |
2f0af33b MK |
116 | The maximum number |
117 | .RB ( OPEN_MAX ) | |
118 | of files was open already in the calling process. | |
f2738b39 MK |
119 | .TP |
120 | .B ENFILE | |
121 | The maximum number of files was open already in the system. | |
122 | .TP | |
fea681da | 123 | .B ENOMEM |
f2738b39 | 124 | .\" not in POSIX |
fea681da | 125 | Insufficient memory to allocate passwd structure. |
f2738b39 MK |
126 | .\" to allocate the passwd structure, or to allocate buffers |
127 | .TP | |
128 | .B ERANGE | |
129 | Insufficient buffer space supplied. | |
fea681da MK |
130 | .SH FILES |
131 | .TP | |
132 | .I /etc/passwd | |
f2738b39 | 133 | local password database file |
fea681da | 134 | .SH "CONFORMING TO" |
68e1685c | 135 | SVr4, 4.3BSD, POSIX.1-2001. |
fea681da MK |
136 | .SH "SEE ALSO" |
137 | .BR fgetpwent (3), | |
138 | .BR getpw (3), | |
139 | .BR getpwent_r (3), | |
140 | .BR getpwnam (3), | |
141 | .BR getpwuid (3), | |
142 | .BR putpwent (3), | |
143 | .BR passwd (5) |