Man Linux: Main Page and Category List

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 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;      /* 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.24 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/.