home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | FILES | CONFORMING TO | BUGS | SEE ALSO | COLOPHON


GETPW(3)                      Linux Programmer's Manual                      GETPW(3)

NAME         top

       getpw - Re-construct password line entry

SYNOPSIS         top

       #define _GNU_SOURCE
       #include <sys/types.h>
       #include <pwd.h>

       int getpw(uid_t uid, char *buf);

DESCRIPTION         top

       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         top

       The getpw() function returns 0 on success; on error, it returns -1, and errno
       is set to indicate the error.

ERRORS         top

       EINVAL buf is NULL.

       ENOENT No user corresponding to uid.

       ENOMEM Insufficient memory to allocate passwd structure.

FILES         top

       /etc/passwd
              password database file

CONFORMING TO         top

       SVr2.

BUGS         top

       The getpw() function is dangerous as it may overflow the provided buffer buf.
       It is obsoleted by getpwuid(3).

SEE ALSO         top

       endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3),
       setpwent(3), passwd(5)

COLOPHON         top

       This page is part of release 3.23 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                                   2007-12-12                             GETPW(3)