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