Provided by: manpages-dev_5.10-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.

       If  uid  is  not  found  in  the  password  database, getpw() returns -1, sets errno to 0, and leaves buf
       unchanged.

ERRORS

       0 or ENOENT
              No user corresponding to uid.

       EINVAL buf is NULL.

       ENOMEM Insufficient memory to allocate passwd structure.

FILES

       /etc/passwd
              password database file

ATTRIBUTES

       For an explanation of the terms used in this section, see attributes(7).

       ┌──────────┬───────────────┬────────────────┐
       │InterfaceAttributeValue          │
       ├──────────┼───────────────┼────────────────┤
       │getpw()   │ Thread safety │ MT-Safe locale │
       └──────────┴───────────────┴────────────────┘

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  5.10  of  the  Linux man-pages project.  A description of the project,
       information  about  reporting  bugs,  and  the  latest  version  of  this   page,   can   be   found   at
       https://www.kernel.org/doc/man-pages/.