#ifndef _PWD_H_
#define _PWD_H_
/* 
** Distributed under the terms of the OpenBeOS License.
*/

#include <sys/types.h>

#ifdef __cplusplus
extern "C" {
#endif

struct passwd {
	char	*pw_name;
	char	*pw_passwd;
	uid_t	pw_uid;
	gid_t	pw_gid;
	char	*pw_dir;
	char	*pw_shell;
	char	*pw_gecos;
};

/* traverse the user password database */
extern struct passwd *getpwent(void);
extern void setpwent(void);
extern void endpwent(void);

/*search the user password database */
extern struct passwd *getpwnam(const char *name);
extern int getpwnam_r(const char *name, struct passwd *passwd, char *buffer,
				size_t bufferSize, struct passwd **result);
extern struct passwd *getpwuid(uid_t uid);
extern int getpwuid_r(uid_t uid, struct passwd *passwd, char *buffer,
				size_t bufferSize, struct passwd **result);

#ifdef __cplusplus
}
#endif

#endif	/* _PWD_H_ */
