| #ifndef SYSROOT_PWD_H_ |
| #define SYSROOT_PWD_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include <features.h> |
| |
| #define __NEED_size_t |
| #define __NEED_uid_t |
| #define __NEED_gid_t |
| |
| #ifdef _GNU_SOURCE |
| #define __NEED_FILE |
| #endif |
| |
| #include <bits/alltypes.h> |
| |
| struct passwd { |
| char* pw_name; |
| char* pw_passwd; |
| uid_t pw_uid; |
| gid_t pw_gid; |
| char* pw_gecos; |
| char* pw_dir; |
| char* pw_shell; |
| }; |
| |
| void setpwent(void); |
| void endpwent(void); |
| struct passwd* getpwent(void); |
| |
| struct passwd* getpwuid(uid_t); |
| struct passwd* getpwnam(const char*); |
| int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**); |
| int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**); |
| |
| #ifdef _GNU_SOURCE |
| struct passwd* fgetpwent(FILE*); |
| int putpwent(const struct passwd*, FILE*); |
| #endif |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // SYSROOT_PWD_H_ |