Back to index

glibc  2.9
pwd.h
Go to the documentation of this file.
00001 #ifndef _PWD_H
00002 #include <pwd/pwd.h>
00003 
00004 /* Now define the internal interfaces.  */
00005 extern int __getpwent_r (struct passwd *__resultbuf, char *__buffer,
00006                       size_t __buflen, struct passwd **__result)
00007      attribute_hidden;
00008 extern int __old_getpwent_r (struct passwd *__resultbuf, char *__buffer,
00009                           size_t __buflen, struct passwd **__result);
00010 extern int __getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
00011                       char *__buffer, size_t __buflen,
00012                       struct passwd **__result);
00013 extern int __old_getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
00014                           char *__buffer, size_t __buflen,
00015                           struct passwd **__result);
00016 extern int __getpwnam_r (__const char *__name, struct passwd *__resultbuf,
00017                       char *__buffer, size_t __buflen,
00018                       struct passwd **__result);
00019 extern int __old_getpwnam_r (__const char *__name, struct passwd *__resultbuf,
00020                           char *__buffer, size_t __buflen,
00021                           struct passwd **__result);
00022 extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf,
00023                        char *__buffer, size_t __buflen,
00024                        struct passwd **__result);
00025 
00026 #include <nss/nss.h>
00027 
00028 struct parser_data;
00029 extern int _nss_files_parse_pwent (char *line, struct passwd *result,
00030                                struct parser_data *data,
00031                                size_t datalen, int *errnop);
00032 libc_hidden_proto (_nss_files_parse_pwent)
00033 
00034 #define DECLARE_NSS_PROTOTYPES(service)                               \
00035 extern enum nss_status _nss_ ## service ## _setpwent (int);           \
00036 extern enum nss_status _nss_ ## service ## _endpwent (void);          \
00037 extern enum nss_status _nss_ ## service ## _getpwnam_r                \
00038                        (const char *name, struct passwd *pwd,         \
00039                      char *buffer, size_t buflen, int *errnop);       \
00040 extern enum nss_status _nss_ ## service ## _getpwuid_r                \
00041                        (uid_t uid, struct passwd *pwd,                \
00042                      char *buffer, size_t buflen, int *errnop);       \
00043 extern enum nss_status _nss_ ## service ##_getpwent_r                 \
00044                        (struct passwd *result, char *buffer,          \
00045                      size_t buflen, int *errnop);
00046 
00047 DECLARE_NSS_PROTOTYPES (compat)
00048 DECLARE_NSS_PROTOTYPES (files)
00049 DECLARE_NSS_PROTOTYPES (hesiod)
00050 DECLARE_NSS_PROTOTYPES (nis)
00051 DECLARE_NSS_PROTOTYPES (nisplus)
00052 
00053 #undef DECLARE_NSS_PROTOTYPES
00054 
00055 #endif