grp.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef _GRP_H
  2. #include <nss/grp.h>
  3. #ifndef _ISOMAC
  4. libc_hidden_proto (setgroups)
  5. /* Now define the internal interfaces. */
  6. extern int __getgrent_r (struct group *__resultbuf, char *buffer,
  7. size_t __buflen, struct group **__result)
  8. attribute_hidden;
  9. extern int __old_getgrent_r (struct group *__resultbuf, char *buffer,
  10. size_t __buflen, struct group **__result);
  11. extern int __fgetgrent_r (FILE * __stream, struct group *__resultbuf,
  12. char *buffer, size_t __buflen,
  13. struct group **__result) attribute_hidden;
  14. /* Search for an entry with a matching group ID. */
  15. extern int __getgrgid_r (__gid_t __gid, struct group *__resultbuf,
  16. char *__buffer, size_t __buflen,
  17. struct group **__result) attribute_hidden;
  18. extern int __old_getgrgid_r (__gid_t __gid, struct group *__resultbuf,
  19. char *__buffer, size_t __buflen,
  20. struct group **__result);
  21. /* Search for an entry with a matching group name. */
  22. extern int __getgrnam_r (const char *__name, struct group *__resultbuf,
  23. char *__buffer, size_t __buflen,
  24. struct group **__result) attribute_hidden;
  25. extern int __old_getgrnam_r (const char *__name, struct group *__resultbuf,
  26. char *__buffer, size_t __buflen,
  27. struct group **__result);
  28. #define DECLARE_NSS_PROTOTYPES(service) \
  29. extern enum nss_status _nss_ ## service ## _setgrent (int); \
  30. extern enum nss_status _nss_ ## service ## _endgrent (void); \
  31. extern enum nss_status _nss_ ## service ## _getgrgid_r \
  32. (gid_t gid, struct group *grp, char *buffer, \
  33. size_t buflen, int *errnop); \
  34. extern enum nss_status _nss_ ## service ## _getgrnam_r \
  35. (const char *name, struct group *grp, \
  36. char *buffer, size_t buflen, int *errnop); \
  37. extern enum nss_status _nss_ ## service ##_getgrent_r \
  38. (struct group *result, char *buffer, size_t buflen, \
  39. int *errnop); \
  40. extern enum nss_status _nss_ ## service ##_initgroups_dyn \
  41. (const char *user, gid_t group, long int *start, \
  42. long int *size, gid_t **groupsp, long int limit, \
  43. int *errnop);
  44. DECLARE_NSS_PROTOTYPES (compat)
  45. DECLARE_NSS_PROTOTYPES (files)
  46. DECLARE_NSS_PROTOTYPES (hesiod)
  47. #undef DECLARE_NSS_PROTOTYPES
  48. #endif
  49. #endif