/packages/libc/src/grph.inc

https://github.com/slibre/freepascal · Pascal · 45 lines · 33 code · 9 blank · 3 comment · 0 complexity · 61badfe381d5d16a0a278c7e0ede4587 MD5 · raw file

  1. type
  2. Pgroup = ^group;
  3. group = record
  4. gr_name : Pchar;
  5. gr_passwd : Pchar;
  6. gr_gid : __gid_t;
  7. gr_mem : ^Pchar;
  8. end;
  9. PPgroup = ^Pgroup;
  10. procedure setgrent;cdecl;external clib name 'setgrent';
  11. procedure endgrent;cdecl;external clib name 'endgrent';
  12. function getgrent:Pgroup;cdecl;external clib name 'getgrent';
  13. function fgetgrent(__stream:PFILE):Pgroup;cdecl;external clib name 'fgetgrent';
  14. function putgrent(__p:Pgroup; __f:PFILE):longint;cdecl;external clib name 'putgrent';
  15. function getgrgid(__gid:__gid_t):Pgroup;cdecl;external clib name 'getgrgid';
  16. function getgrnam(__name:Pchar):Pgroup;cdecl;external clib name 'getgrnam';
  17. const
  18. NSS_BUFLEN_GROUP = 1024;
  19. function getgrent_r(__resultbuf:Pgroup; __buffer:Pchar; __buflen:size_t; __result:PPgroup):longint;cdecl;external clib name 'getgrent_r';
  20. function getgrgid_r(__gid:__gid_t; __resultbuf:Pgroup; __buffer:Pchar; __buflen:size_t; __result:PPgroup):longint;cdecl;external clib name 'getgrgid_r';
  21. function getgrnam_r(__name:Pchar; __resultbuf:Pgroup; __buffer:Pchar; __buflen:size_t; __result:PPgroup):longint;cdecl;external clib name 'getgrnam_r';
  22. function fgetgrent_r(__stream:PFILE; __resultbuf:Pgroup; __buffer:Pchar; __buflen:size_t; __result:PPgroup):longint;cdecl;external clib name 'fgetgrent_r';
  23. function setgroups(__n:size_t; __groups:P__gid_t):longint;cdecl;external clib name 'setgroups';
  24. function getgrouplist(__user:Pchar; __group:__gid_t; __groups:P__gid_t; __ngroups:Plongint):longint;cdecl;external clib name 'getgrouplist';
  25. function initgroups(__user:Pchar; __group:__gid_t):longint;cdecl;external clib name 'initgroups';
  26. { ---------------------------------------------------------------------
  27. Borland compatibility types
  28. ---------------------------------------------------------------------}
  29. Type
  30. TGroup = group;
  31. function putgrent(const __p: group; __f:PFILE):longint;cdecl;external clib name 'putgrent';
  32. function getgrent_r(var __resultbuf: group; __buffer:Pchar; __buflen:size_t; var __result: Pgroup):longint;cdecl;external clib name 'getgrent_r';
  33. function getgrgid_r(__gid:__gid_t; var __resultbuf:group; __buffer:Pchar; __buflen:size_t; var __result:Pgroup):longint;cdecl;external clib name 'getgrgid_r';
  34. function getgrnam_r(__name:Pchar; var __resultbuf:group; __buffer:Pchar; __buflen:size_t; var __result:Pgroup):longint;cdecl;external clib name 'getgrnam_r';
  35. function fgetgrent_r(__stream:PFILE; var __resultbuf:group; __buffer:Pchar; __buflen:size_t; var __result:Pgroup):longint;cdecl;external clib name 'fgetgrent_r';
  36. function getgrouplist(__user:Pchar; __group:__gid_t; var __groups: __gid_t; var __ngroups:longint):longint;cdecl;external clib name 'getgrouplist';