1/*
2 * Copyright 2002-2012 Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _PWD_H_
6#define _PWD_H_
7
8
9#include <sys/types.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15struct passwd {
16	char	*pw_name;
17	char	*pw_passwd;
18	uid_t	pw_uid;
19	gid_t	pw_gid;
20	char	*pw_dir;
21	char	*pw_shell;
22	char	*pw_gecos;
23};
24
25/* traverse the user password database */
26extern struct passwd *getpwent(void);
27extern int getpwent_r(struct passwd* pwbuf, char* buf, size_t buflen,
28				struct passwd** pwbufp);
29extern void setpwent(void);
30extern void endpwent(void);
31
32/* search the user password database */
33extern struct passwd *getpwnam(const char *name);
34extern int getpwnam_r(const char *name, struct passwd *passwd, char *buffer,
35				size_t bufferSize, struct passwd **result);
36extern struct passwd *getpwuid(uid_t uid);
37extern int getpwuid_r(uid_t uid, struct passwd *passwd, char *buffer,
38				size_t bufferSize, struct passwd **result);
39
40#ifdef __cplusplus
41}
42#endif
43
44#endif	/* _PWD_H_ */
45