Name
getpw - reconstruct password line entryLibrary
Standard C library ( libc ", " -lc )Synopsis
"#define(7)_GNU_SOURCE" " /* See feature_test_macros */" #include <sys/types.h> #include <pwd.h> [[deprecated]] 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 formatname: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 " ENOENTNo 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).| Interface | Attribute | Value | 
| T} | Thread safety | MT-Safe locale | 
Standards
None.History
SVr2.Bugs
The getpw() function is dangerous as it may overflow the provided bufferbuf. It is obsoleted by getpwuid(3).