blob: 55d9d42d379e9146d12c8e8a2fcd6f2b15af9288 [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
Rich Felkerc1a96582012-09-07 23:13:55 -04008#include <features.h>
9
Rich Felker0b44a032011-02-12 00:22:29 -050010#define __NEED_size_t
11#define __NEED_uid_t
12#define __NEED_gid_t
13
Rich Felker5e9314f2012-01-29 11:54:18 -050014#ifdef _GNU_SOURCE
15#define __NEED_FILE
16#endif
17
Rich Felker0b44a032011-02-12 00:22:29 -050018#include <bits/alltypes.h>
19
20struct passwd
21{
22 char *pw_name;
23 char *pw_passwd;
24 uid_t pw_uid;
25 gid_t pw_gid;
26 char *pw_gecos;
27 char *pw_dir;
28 char *pw_shell;
29};
30
31void setpwent (void);
32void endpwent (void);
33struct passwd *getpwent (void);
34
35struct passwd *getpwuid (uid_t);
36struct passwd *getpwnam (const char *);
37int getpwuid_r (uid_t, struct passwd *, char *, size_t, struct passwd **);
38int getpwnam_r (const char *, struct passwd *, char *, size_t, struct passwd **);
39
Rich Felkeref839c72011-03-28 20:43:51 -040040#ifdef _GNU_SOURCE
Rich Felker5e9314f2012-01-29 11:54:18 -050041struct passwd *fgetpwent(FILE *);
Rich Felkerddfb2672013-04-04 19:23:47 -040042int putpwent(const struct passwd *, FILE *);
Rich Felkeref839c72011-03-28 20:43:51 -040043#endif
44
Rich Felker0b44a032011-02-12 00:22:29 -050045#ifdef __cplusplus
46}
47#endif
48
49#endif