1
0

grp.h 768 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef _GRP_H
  2. #define _GRP_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define __NEED_size_t
  7. #define __NEED_gid_t
  8. #include <bits/alltypes.h>
  9. struct group
  10. {
  11. char *gr_name;
  12. char *gr_passwd;
  13. gid_t gr_gid;
  14. char **gr_mem;
  15. };
  16. struct group *getgrgid(gid_t);
  17. struct group *getgrnam(const char *);
  18. int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
  19. int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
  20. struct group *getgrent(void);
  21. void endgrent(void);
  22. void setgrent(void);
  23. #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
  24. int getgrouplist(const char *, gid_t, gid_t *, int *);
  25. int setgroups(size_t, const gid_t *);
  26. int initgroups(const char *, gid_t);
  27. #endif
  28. #ifdef __cplusplus
  29. }
  30. #endif
  31. #endif