1
0

sample-getgrouplist.c 511 B

123456789101112131415161718192021222324252627282930
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <stdlib.h>
  4. #include <sys/types.h>
  5. #include <grp.h>
  6. void main()
  7. {
  8. gid_t rgid, egid, sgid, *groups;
  9. struct group *grp;
  10. int num = 100, retval;
  11. if( getresgid(&rgid, &egid, &sgid) == -1 )
  12. {
  13. printf("Error\n");
  14. exit(1);
  15. }
  16. printf("%d %d %d\n", rgid, egid, sgid);
  17. if( (retval = getgrouplist( "hessamla", rgid, groups, &num)) <= num ){
  18. printf("Number of groups: %d\n", num);
  19. while ( retval--){
  20. printf("%d\n", groups[retval]);
  21. }
  22. }
  23. return;
  24. }