tests: use xmalloc to allocate implementation array
[glibc.git] / include / pwd.h
blobf8975d4957f68c880c23c3a36db94d788479f795
1 #ifndef _PWD_H
2 #include <pwd/pwd.h>
4 #ifndef _ISOMAC
5 /* Now define the internal interfaces. */
6 extern int __getpwent_r (struct passwd *__resultbuf, char *__buffer,
7 size_t __buflen, struct passwd **__result)
8 attribute_hidden;
9 extern int __old_getpwent_r (struct passwd *__resultbuf, char *__buffer,
10 size_t __buflen, struct passwd **__result);
11 extern int __getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
12 char *__buffer, size_t __buflen,
13 struct passwd **__result) attribute_hidden;
14 extern int __old_getpwuid_r (__uid_t __uid, struct passwd *__resultbuf,
15 char *__buffer, size_t __buflen,
16 struct passwd **__result);
17 extern int __getpwnam_r (const char *__name, struct passwd *__resultbuf,
18 char *__buffer, size_t __buflen,
19 struct passwd **__result) attribute_hidden;
20 extern int __old_getpwnam_r (const char *__name, struct passwd *__resultbuf,
21 char *__buffer, size_t __buflen,
22 struct passwd **__result);
23 extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf,
24 char *__buffer, size_t __buflen,
25 struct passwd **__result) attribute_hidden;
27 #include <nss.h>
29 #define DECLARE_NSS_PROTOTYPES(service) \
30 extern enum nss_status _nss_ ## service ## _setpwent (int); \
31 extern enum nss_status _nss_ ## service ## _endpwent (void); \
32 extern enum nss_status _nss_ ## service ## _getpwnam_r \
33 (const char *name, struct passwd *pwd, \
34 char *buffer, size_t buflen, int *errnop); \
35 extern enum nss_status _nss_ ## service ## _getpwuid_r \
36 (uid_t uid, struct passwd *pwd, \
37 char *buffer, size_t buflen, int *errnop); \
38 extern enum nss_status _nss_ ## service ##_getpwent_r \
39 (struct passwd *result, char *buffer, \
40 size_t buflen, int *errnop);
42 DECLARE_NSS_PROTOTYPES (compat)
43 DECLARE_NSS_PROTOTYPES (files)
44 DECLARE_NSS_PROTOTYPES (hesiod)
46 #undef DECLARE_NSS_PROTOTYPES
47 #endif
49 #endif