1#ifndef _PWD_H
2#include <pwd/pwd.h>
3
4#ifndef _ISOMAC
5/* Now define the internal interfaces. */
6extern int __getpwent_r (struct passwd *__resultbuf, char *__buffer,
7 size_t __buflen, struct passwd **__result)
8 attribute_hidden;
9extern int __old_getpwent_r (struct passwd *__resultbuf, char *__buffer,
10 size_t __buflen, struct passwd **__result);
11extern int __getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
12 char *__buffer, size_t __buflen,
13 struct passwd **__result) attribute_hidden;
14extern int __old_getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
15 char *__buffer, size_t __buflen,
16 struct passwd **__result);
17extern int __getpwnam_r (const char *__name, struct passwd *__resultbuf,
18 char *__buffer, size_t __buflen,
19 struct passwd **__result) attribute_hidden;
20extern int __old_getpwnam_r (const char *__name, struct passwd *__resultbuf,
21 char *__buffer, size_t __buflen,
22 struct passwd **__result);
23extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf,
24 char *__buffer, size_t __buflen,
25 struct passwd **__result) attribute_hidden;
26
27#include <nss.h>
28
29struct parser_data;
30extern int _nss_files_parse_pwent (char *line, struct passwd *result,
31 struct parser_data *data,
32 size_t datalen, int *errnop);
33libc_hidden_proto (_nss_files_parse_pwent)
34
35#define DECLARE_NSS_PROTOTYPES(service) \
36extern enum nss_status _nss_ ## service ## _setpwent (int); \
37extern enum nss_status _nss_ ## service ## _endpwent (void); \
38extern enum nss_status _nss_ ## service ## _getpwnam_r \
39 (const char *name, struct passwd *pwd, \
40 char *buffer, size_t buflen, int *errnop); \
41extern enum nss_status _nss_ ## service ## _getpwuid_r \
42 (uid_t uid, struct passwd *pwd, \
43 char *buffer, size_t buflen, int *errnop); \
44extern enum nss_status _nss_ ## service ##_getpwent_r \
45 (struct passwd *result, char *buffer, \
46 size_t buflen, int *errnop);
47
48DECLARE_NSS_PROTOTYPES (compat)
49DECLARE_NSS_PROTOTYPES (files)
50DECLARE_NSS_PROTOTYPES (hesiod)
51DECLARE_NSS_PROTOTYPES (nis)
52DECLARE_NSS_PROTOTYPES (nisplus)
53
54#undef DECLARE_NSS_PROTOTYPES
55#endif
56
57#endif
58