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