Developer's Daily | Unix by Example |
main | java | perl | unix | dev directory | web log |
getpw ? Re-construct password line entry |
#include <pwd.h> #include <sys/types.h> int getpw(uid_t uid, char *buf); |
The getpw() function re-constructs the password line entry for the given user uid 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;
/* user name */ |
|||
/* user password */ |
|||
/* user id */ |
|||
/* group id */ |
char *pw_gecos; /* real name */ |
char *pw_dir;
/* home directory */ |
char *pw_shell; /* shell program */ |
The getpw() function returns 0 on success, or ?1 if an error occurs. |
ENOMEM |
Insufficient memory to allocate passwd structure. |
/etc/passwd |
password database file |
SYSVr2. |
The getpw() function is dangerous as it may overflow the provided buffer buf. It is obsoleted by getpwuid(). |
fgetpwent(3), getpwent(3), setpwent(3), endpwent(3), getpwnam(3), getpwuid(3), putpwent(3), passwd(5) |