getgrnam_r(3p) - phpMan

GETGRNAM(3P)               POSIX Programmer's Manual              GETGRNAM(3P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the  corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.
NAME
       getgrnam, getgrnam_r - search group database for a name
SYNOPSIS
       #include <grp.h>
       struct group *getgrnam(const char *name);

       int getgrnam_r(const char *name, struct group *grp, char *buffer,
              size_t bufsize, struct group **result);

DESCRIPTION
       The getgrnam() function shall search the group database  for  an  entry
       with a matching name.
       The  getgrnam()  function need not be reentrant. A function that is not
       required to be reentrant is not required to be thread-safe.
       The getgrnam_r() function shall update the group structure  pointed  to
       by grp and store a pointer to that structure at the location pointed to
       by result. The structure shall contain an entry from the group database
       with  a matching gid or name. Storage referenced by the group structure
       is allocated from the memory provided with the buffer parameter,  which
       is  bufsize  bytes in size. The maximum size needed for this buffer can
       be determined with the {_SC_GETGR_R_SIZE_MAX}  sysconf()  parameter.  A
       NULL  pointer is returned at the location pointed to by result on error
       or if the requested entry is not found.
RETURN VALUE
       The getgrnam() function shall return a pointer to a struct  group  with
       the structure defined in <grp.h> with a matching entry if one is found.
       The getgrnam() function shall return  a  null  pointer  if  either  the
       requested  entry  was  not found, or an error occurred. On error, errno
       shall be set to indicate the error.
       The return value may point to a static area which is overwritten  by  a
       subsequent call to getgrent(), getgrgid(), or getgrnam().
       If  successful, the getgrnam_r() function shall return zero; otherwise,
       an error number shall be returned to indicate the error.
ERRORS
       The getgrnam() and getgrnam_r() functions may fail if:
       EIO    An I/O error has occurred.
       EINTR  A signal was caught during getgrnam().
       EMFILE {OPEN_MAX} file descriptors are currently open  in  the  calling
              process.
       ENFILE The  maximum  allowable number of files is currently open in the
              system.

       The getgrnam_r() function may fail if:
       ERANGE Insufficient storage was supplied via buffer and bufsize to con-
              tain the data to be referenced by the resulting group structure.

       The following sections are informative.
EXAMPLES
       None.
APPLICATION USAGE
       Applications  wishing to check for error situations should set errno to
       0 before calling getgrnam(). If  errno  is  set  on  return,  an  error
       occurred.
       The  getgrnam_r()  function is thread-safe and shall return values in a
       user-supplied buffer instead of possibly using a static data area  that
       may be overwritten by each call.
RATIONALE
       None.
FUTURE DIRECTIONS
       None.
SEE ALSO
       endgrent(),    getgrgid(),    the    Base    Definitions    volume   of
       IEEE Std 1003.1-2001, <grp.h>, <limits.h>, <sys/types.h>
COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group                  2003                         GETGRNAM(3P)