17777dab0Sopenharmony_ci#ifndef _PWD_H 27777dab0Sopenharmony_ci#define _PWD_H 37777dab0Sopenharmony_ci 47777dab0Sopenharmony_ci#ifdef __cplusplus 57777dab0Sopenharmony_ciextern "C" { 67777dab0Sopenharmony_ci#endif 77777dab0Sopenharmony_ci 87777dab0Sopenharmony_ci#include <features.h> 97777dab0Sopenharmony_ci 107777dab0Sopenharmony_ci#define __NEED_size_t 117777dab0Sopenharmony_ci#define __NEED_uid_t 127777dab0Sopenharmony_ci#define __NEED_gid_t 137777dab0Sopenharmony_ci 147777dab0Sopenharmony_ci#ifdef _GNU_SOURCE 157777dab0Sopenharmony_ci#define __NEED_FILE 167777dab0Sopenharmony_ci#endif 177777dab0Sopenharmony_ci 187777dab0Sopenharmony_ci#include <bits/alltypes.h> 197777dab0Sopenharmony_ci 207777dab0Sopenharmony_cistruct passwd { 217777dab0Sopenharmony_ci char *pw_name; 227777dab0Sopenharmony_ci char *pw_passwd; 237777dab0Sopenharmony_ci uid_t pw_uid; 247777dab0Sopenharmony_ci gid_t pw_gid; 257777dab0Sopenharmony_ci char *pw_gecos; 267777dab0Sopenharmony_ci char *pw_dir; 277777dab0Sopenharmony_ci char *pw_shell; 287777dab0Sopenharmony_ci}; 297777dab0Sopenharmony_ci 307777dab0Sopenharmony_ci#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 317777dab0Sopenharmony_civoid setpwent (void); 327777dab0Sopenharmony_civoid endpwent (void); 337777dab0Sopenharmony_cistruct passwd *getpwent (void); 347777dab0Sopenharmony_ci#endif 357777dab0Sopenharmony_ci 367777dab0Sopenharmony_cistruct passwd *getpwuid (uid_t); 377777dab0Sopenharmony_cistruct passwd *getpwnam (const char *); 387777dab0Sopenharmony_ciint getpwuid_r (uid_t, struct passwd *, char *, size_t, struct passwd **); 397777dab0Sopenharmony_ciint getpwnam_r (const char *, struct passwd *, char *, size_t, struct passwd **); 407777dab0Sopenharmony_ci 417777dab0Sopenharmony_ci#ifdef __cplusplus 427777dab0Sopenharmony_ci} 437777dab0Sopenharmony_ci#endif 447777dab0Sopenharmony_ci 457777dab0Sopenharmony_ci#endif 46