Получить следующую запись из файла базы данных паролей
#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 системной библиотеки