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