Provided by: manpages-dev_3.54-1ubuntu1_all bug

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 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.54 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/.