getpwnam - phpMan

Command: man perldoc info search(apropos)  


GETPWNAM(3)                Linux Programmer’s Manual               GETPWNAM(3)



NAME
       getpwnam, getpwnam_r, getpwuid, getpwuid_r - get password file entry

SYNOPSIS
       #include <sys/types.h>
       #include <pwd.h>

       struct passwd *getpwnam(const char *name);

       struct passwd *getpwuid(uid_t uid);

       int getpwnam_r(const char *name, struct passwd *pwbuf,
               char *buf, size_t buflen, struct passwd **pwbufp);

       int getpwuid_r(uid_t uid, struct passwd *pwbuf,
               char *buf, size_t buflen, struct passwd **pwbufp);

DESCRIPTION
       The  getpwnam() function returns a pointer to a structure containing the broken out
       fields of a line from /etc/passwd for the entry that matches the user name name.

       The getpwuid() function returns a pointer to a structure containing the broken  out
       fields of a line from /etc/passwd for the entry that matches the user uid uid.

       The  getpwnam_r()  and  getpwuid_r() functions find the same information, but store
       the retrieved passwd structure in the space  pointed  to  by  pwbuf.   This  passwd
       structure  contains pointers to strings, and these strings are stored in the buffer
       buf of size buflen.  A pointer to the result (in case of success) or NULL (in  case
       no entry was found or an error occurred) is stored in *pwbufp.

       The passwd structure is defined in <pwd.h> as follows:

              struct passwd {
                    char    *pw_name;      /* user name */
                    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 */
              };

       The   maximum  needed  size  for  buf  can  be  found  using  sysconf(3)  with  the
       _SC_GETPW_R_SIZE_MAX parameter.

RETURN VALUE
       The getpwnam() and getpwuid() functions return a pointer to the  passwd  structure,
       or  NULL if the matching entry is not found or an error occurs. If an error occurs,
       errno is set appropriately. If one wants to check errno after the call,  it  should
       be set to zero before the call.

       The  return  value  may  point to static area, and may be overwritten by subsequent
       calls to getpwent(), getpwnam(), or getpwuid().

       The  getpwnam_r() and getpwuid_r() functions return zero on  success.  In  case  of
       error, an error value is returned.

ERRORS
       0 or ENOENT or ESRCH or EBADF or EPERM or ...
              The given name or uid was not found.

       ENOMEM Insufficient memory to allocate passwd structure.

       EIO    I/O error.

       EINTR  A signal was caught.

       EMFILE The  maximum number (OPEN_MAX) of files was open already in the calling pro-
              cess.

       ENFILE The maximum number of files was open already in the system.

       ERANGE Insufficient buffer space supplied.

FILES
       /etc/passwd
              password database file

CONFORMING TO
       SVID 3, BSD 4.3, POSIX 1003.1-2003

NOTES
       The formulation given above under "RETURN VALUE" is  from  POSIX  1003.1-2001.   It
       does  not  call "not found" an error, hence does not specify what value errno might
       have in this situation. But that makes it impossible to recognize errors. One might
       argue  that  according  to  POSIX errno should be left unchanged if an entry is not
       found. Experiments on various Unix-like systems shows that lots of different values
       occur  in  this situation: 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM and probably
       others.

SEE ALSO
       fgetpwent(3), getgrnam(3), getpwent(3), setpwent(3), endpwent(3),  getpw(3),  putp-
       went(3), passwd(5)



GNU                               1996-05-27                       GETPWNAM(3)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2008-12-02 07:18 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!