blob: fbdda3e7538193937b3df066c57ef50b9f3406e6 [file] [log] [blame]
Rich Felker0b44a032011-02-12 00:22:29 -05001#ifndef _PWD_H
2#define _PWD_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#define __NEED_size_t
9#define __NEED_uid_t
10#define __NEED_gid_t
11
Rich Felker5e9314f2012-01-29 11:54:18 -050012#ifdef _GNU_SOURCE
13#define __NEED_FILE
14#endif
15
Rich Felker0b44a032011-02-12 00:22:29 -050016#include <bits/alltypes.h>
17
18struct passwd
19{
20 char *pw_name;
21 char *pw_passwd;
22 uid_t pw_uid;
23 gid_t pw_gid;
24 char *pw_gecos;
25 char *pw_dir;
26 char *pw_shell;
27};
28
29void setpwent (void);
30void endpwent (void);
31struct passwd *getpwent (void);
32
33struct passwd *getpwuid (uid_t);
34struct passwd *getpwnam (const char *);
35int getpwuid_r (uid_t, struct passwd *, char *, size_t, struct passwd **);
36int getpwnam_r (const char *, struct passwd *, char *, size_t, struct passwd **);
37
Rich Felkeref839c72011-03-28 20:43:51 -040038#ifdef _GNU_SOURCE
39char *getpass(const char *);
Rich Felker5e9314f2012-01-29 11:54:18 -050040struct passwd *fgetpwent(FILE *);
Rich Felkeref839c72011-03-28 20:43:51 -040041#endif
42
Rich Felker0b44a032011-02-12 00:22:29 -050043#ifdef __cplusplus
44}
45#endif
46
47#endif