]>
Commit | Line | Data |
---|---|---|
6796bc80 | 1 | #ifndef _GRP_H |
28f540f4 | 2 | #include <grp/grp.h> |
bdbf022d | 3 | |
faea9de6 RM |
4 | libc_hidden_proto (setgroups) |
5 | ||
bdbf022d | 6 | /* Now define the internal interfaces. */ |
4d3a563f | 7 | extern int __getgrent_r (struct group *__resultbuf, char *buffer, |
dff07c4b UD |
8 | size_t __buflen, struct group **__result) |
9 | attribute_hidden; | |
ed073f0e AJ |
10 | extern int __old_getgrent_r (struct group *__resultbuf, char *buffer, |
11 | size_t __buflen, struct group **__result); | |
4d3a563f UD |
12 | extern int __fgetgrent_r (FILE * __stream, struct group *__resultbuf, |
13 | char *buffer, size_t __buflen, | |
c19559b0 | 14 | struct group **__result); |
628a0aa1 UD |
15 | |
16 | /* Search for an entry with a matching group ID. */ | |
4d3a563f UD |
17 | extern int __getgrgid_r (__gid_t __gid, struct group *__resultbuf, |
18 | char *__buffer, size_t __buflen, | |
c19559b0 | 19 | struct group **__result); |
ed073f0e AJ |
20 | extern int __old_getgrgid_r (__gid_t __gid, struct group *__resultbuf, |
21 | char *__buffer, size_t __buflen, | |
22 | struct group **__result); | |
628a0aa1 UD |
23 | |
24 | /* Search for an entry with a matching group name. */ | |
a784e502 | 25 | extern int __getgrnam_r (const char *__name, struct group *__resultbuf, |
4d3a563f | 26 | char *__buffer, size_t __buflen, |
c19559b0 | 27 | struct group **__result); |
a784e502 | 28 | extern int __old_getgrnam_r (const char *__name, struct group *__resultbuf, |
ed073f0e AJ |
29 | char *__buffer, size_t __buflen, |
30 | struct group **__result); | |
31 | ||
32 | struct parser_data; | |
33 | extern int _nss_files_parse_grent (char *line, struct group *result, | |
34 | struct parser_data *data, | |
35 | size_t datalen, int *errnop); | |
5656e294 | 36 | libc_hidden_proto (_nss_files_parse_grent) |
51eecc4a AJ |
37 | |
38 | #define DECLARE_NSS_PROTOTYPES(service) \ | |
39 | extern enum nss_status _nss_ ## service ## _setgrent (int); \ | |
40 | extern enum nss_status _nss_ ## service ## _endgrent (void); \ | |
41 | extern enum nss_status _nss_ ## service ## _getgrgid_r \ | |
a784e502 | 42 | (gid_t gid, struct group *grp, char *buffer, \ |
51eecc4a AJ |
43 | size_t buflen, int *errnop); \ |
44 | extern enum nss_status _nss_ ## service ## _getgrnam_r \ | |
a784e502 | 45 | (const char *name, struct group *grp, \ |
51eecc4a AJ |
46 | char *buffer, size_t buflen, int *errnop); \ |
47 | extern enum nss_status _nss_ ## service ##_getgrent_r \ | |
a784e502 | 48 | (struct group *result, char *buffer, size_t buflen, \ |
51eecc4a AJ |
49 | int *errnop); \ |
50 | extern enum nss_status _nss_ ## service ##_initgroups_dyn \ | |
a784e502 | 51 | (const char *user, gid_t group, long int *start, \ |
51eecc4a AJ |
52 | long int *size, gid_t **groupsp, long int limit, \ |
53 | int *errnop); | |
54 | ||
55 | DECLARE_NSS_PROTOTYPES (compat) | |
56 | DECLARE_NSS_PROTOTYPES (files) | |
57 | DECLARE_NSS_PROTOTYPES (hesiod) | |
58 | DECLARE_NSS_PROTOTYPES (nis) | |
59 | DECLARE_NSS_PROTOTYPES (nisplus) | |
60 | ||
61 | #undef DECLARE_NSS_PROTOTYPES | |
6796bc80 | 62 | #endif |