Originální popis anglicky:
getgrnam, getgrnam_r - search group database for a name
Návod, kniha: POSIX Programmer's Manual
#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);
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.
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.
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 contain the data to be referenced by the resulting
group structure.
The following sections are informative.
None.
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.
None.
None.
endgrent() ,
getgrgid() , the Base Definitions volume of
IEEE Std 1003.1-2001,
<grp.h>,
<limits.h>,
<sys/types.h>
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
.