1 #ifndef _PWD_H
2 #define _PWD_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #include <features.h>
9 
10 #define __NEED_size_t
11 #define __NEED_uid_t
12 #define __NEED_gid_t
13 
14 #ifdef _GNU_SOURCE
15 #define __NEED_FILE
16 #endif
17 
18 #include <bits/alltypes.h>
19 
20 struct passwd {
21 	char *pw_name;
22 	char *pw_passwd;
23 	uid_t pw_uid;
24 	gid_t pw_gid;
25 	char *pw_gecos;
26 	char *pw_dir;
27 	char *pw_shell;
28 };
29 
30 void setpwent (void);
31 void endpwent (void);
32 struct passwd *getpwent (void);
33 
34 struct passwd *getpwuid (uid_t);
35 struct passwd *getpwnam (const char *);
36 int getpwuid_r (uid_t, struct passwd *, char *, size_t, struct passwd **);
37 int getpwnam_r (const char *, struct passwd *, char *, size_t, struct passwd **);
38 
39 #ifdef _GNU_SOURCE
40 struct passwd *fgetpwent(FILE *);
41 int putpwent(const struct passwd *, FILE *);
42 #endif
43 
44 #ifdef __cplusplus
45 }
46 #endif
47 
48 #endif
49