GETPW
Section: Linux Programmer's Manual (3)
Updated: 2007-12-12
Index
Return to Main Contents
NAME
getpw - Re-construct password line entry
SYNOPSIS
#define _GNU_SOURCE
#include <sys/types.h>
#include <pwd.h>
int getpw(uid_t uid, char *buf);
DESCRIPTION
The
getpw()
function re-constructs 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; /* real name */
char *pw_dir; /* home directory */
char *pw_shell; /* shell program */
};
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 buffer
buf.
It is obsoleted by
getpwuid(3).
SEE ALSO
endpwent(3),
fgetpwent(3),
getpwent(3),
getpwnam(3),
getpwuid(3),
putpwent(3),
setpwent(3),
passwd(5)
COLOPHON
This page is part of release 3.22 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/.