Получить информацию о группе по имени
#include <sys/types.h>#include <grp.h>int getgrnam_r( const char *name,struct group *grp,char *buffer,size_t bufsize,struct group **result );
NULL
если функция не смогла найти группу.libc
Если определено _POSIX_THREAD_SAFE_FUNCTIONS
, getgrnam_r() обновляет структуру struct group, на которую указывает grp и сохраняет указатель на эту структуру в result. Структура содержит запись из базы данных групп с совпадающим name.
Данная функция выделяет память, указанную в struct group из области памяти buffer, размером bufsize символов. Существует возможность задать максимальный размер, необходимый для buffer путем вызова sysconf() с аргументом _SC_GETGR_R_SIZE_MAX
.
Функция getgrnam_r() сохраняет NULL
указатель в области памяти, на которую указвает result при ошибке или если запрашиваемая запись не была найдена.
Функция getgrnam_r() использует следующие функции, и как следствие, errno может быть установлено в одном из этих вызовов:
POSIX 1003.1 Thread-Safe Functions
struct group, getgrgid(), getgrgid_r(), getgrnam(), getlogin(), sysconf()
Предыдущий раздел: Описание API системной библиотеки