GETPW(3) Linux Programmer's Manual GETPW(3)
NAME
getpw - reconstruct password line entry
SYNOPSIS
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <sys/types.h>
#include <pwd.h>
int getpw(uid_t uid, char *buf);
DESCRIPTION
The getpw() function reconstructs the password line entry for the given
user ID uid in the buffer buf. The returned buffer contains a line of
format
name:passwd:uid:gid:gecos:dir:shell
The passwd structure is defined in <pwd.h> as follows:
struct passwd {
char *pw_name; /* username */
char *pw_passwd; /* user password */
uid_t pw_uid; /* user ID */
gid_t pw_gid; /* group ID */
char *pw_gecos; /* user information */
char *pw_dir; /* home directory */
char *pw_shell; /* shell program */
};
For more information about the fields of this structure, see passwd(5).
RETURN VALUE
The getpw() function returns 0 on success; on error, it returns -1, and
errno is set to indicate the error.
ERRORS
EINVAL buf is NULL.
ENOENT No user corresponding to uid.
ENOMEM Insufficient memory to allocate passwd structure.
FILES
/etc/passwd
password database file
CONFORMING TO
SVr2.
BUGS
The getpw() function is dangerous as it may overflow the provided buf-
fer buf. It is obsoleted by getpwuid(3).
SEE ALSO
endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putp-
went(3), setpwent(3), passwd(5)
COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU 2010-10-21 GETPW(3)