1#ifndef _PWD_H 2#define _PWD_H 3 4#ifdef __cplusplus 5extern "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 20struct 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#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 31void setpwent (void); 32void endpwent (void); 33struct passwd *getpwent (void); 34#endif 35 36struct passwd *getpwuid (uid_t); 37struct passwd *getpwnam (const char *); 38int getpwuid_r (uid_t, struct passwd *, char *, size_t, struct passwd **); 39int getpwnam_r (const char *, struct passwd *, char *, size_t, struct passwd **); 40 41#ifdef _GNU_SOURCE 42struct passwd *fgetpwent(FILE *); 43int putpwent(const struct passwd *, FILE *); 44#endif 45 46#ifdef __cplusplus 47} 48#endif 49 50#endif 51