getpwent_r()

Получить следующую запись из файла базы данных паролей

Прототип:

#include <sys/types.h>
#include <pwd.h>
int getpwent_r( struct passwd *pwd,
char *buffer,
size_t bufsize,
struct passwd **result );

Аргументы:

pwd
Указатель на структуру struct passwd, где функция может хранить запись.
buffer
Область памяти, которую функция может использовать для выделения памяти, на которую ссылается структура struct passwd. Существует возможность определить максимальный размер этой области памяти путем вызова sysconf() с аргументом _SC_GETPW_R_SIZE_MAX.
bufsize
Размер области памяти (в символах), на которую указывает buffer.
result
Адрес указателя на структуру struct passwd. Если getpwent_r() находит следующую запись, то она сохраняет указатель на pwd в области памяти result; в пртивном случае, функция сохраняет там NULL.

Библиотека:

libc

Описание:

Функция getpwent_r() возвращает следующую запись из базы данных паролей. Функция похожа на getpwent(), но getpwent_r() допускает повторный вызов.

Возвращаемое значение:

0
Успешное завершение.
≠0
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

Функция getpwent_r() вызывает следующие функции, и как следствие, errno может быть установлен в одном из этих вызовов:

Классификация:

POSIX 1003.1 Thread-Safe Functions

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

struct passwd, endpwent(), errno, getgrent(), getlogin(), getpwnam(), getpwuid(), setpwent()




Предыдущий раздел: Описание API системной библиотеки