Получить информацию о пользователе по идентификатору
#include <sys/types.h>#include <pwd.h>int getpwuid_r( uid_t uid,struct passwd *pwd,char *buffer,size_t bufsize,struct passwd **result );
_SC_GETPW_R_SIZE_MAX
.libc
Функция getpwuid_r() допускает повторный вызов, в отличие от getpwuid(). Она позволяет процессу получить больше информации о пользователе с заданным uid.
Если определено _POSIX_THREAD_SAFE_FUNCTIONS
, функция getpwuid_r() обновляет структуру struct passwd, на которую указывает pwd и сохраняет указатель на эту структуру в области памяти result. Структура содержит запись из базы данных пользователей с заданным uid.
Функция сохраняет нулевой указатель в области памяти result в случае ошибки или невозможности найти запрашиваемую запись.
0
в случае успешного завершения, либо код ошибки.
Функция getpwuid_r() вызывает следующие функции, и как следствие, errno может быть установлен в одном из этих вызовов:
POSIX 1003.1 Thread-Safe Functions
struct passwd, getlogin(), getpwent(), getpwent_r(), getpwnam(), getpwnam_r(), getpwuid()
Предыдущий раздел: Описание API системной библиотеки