home *** CD-ROM | disk | FTP | other *** search
/ Atari FTP / ATARI_FTP_0693.zip / ATARI_FTP_0693 / Mint / mntlib25.zoo / getuid.c < prev    next >
C/C++ Source or Header  |  1992-09-05  |  1KB  |  81 lines

  1. #ifdef __TURBOC__
  2. #include <sys\types.h>
  3. #else
  4. #include <sys/types.h>
  5. #endif
  6. #include <unistd.h>
  7. #include <osbind.h>
  8. #include <mintbind.h>
  9. #include <errno.h>
  10.  
  11. extern int __mint;
  12.  
  13. static int __uid = 0, __gid = 0;
  14.  
  15. uid_t getuid() { return __mint ? Pgetuid() : __uid; }
  16. gid_t getgid() { return __mint ? Pgetgid() : __gid; }
  17.  
  18. uid_t geteuid()
  19. { return __mint >= 95 ? Pgeteuid() : getuid(); }
  20.  
  21. gid_t getegid()
  22. { return __mint >= 95 ? Pgetegid() : getgid(); }
  23.  
  24. int setuid(x)
  25.     int x;
  26. {
  27.     long r;
  28.  
  29.     if (__mint) {
  30.         r = Psetuid(x);
  31.         if (r) {
  32.             errno = (int) -r;
  33.             return -1;
  34.         }
  35.         return 0;
  36.     }
  37.     __uid = x;
  38.     return 0;
  39. }
  40.  
  41. int setgid(x)
  42.     int x;
  43. {
  44.     long r;
  45.  
  46.     if (__mint) {
  47.         r = Psetgid(x);
  48.         if (r) {
  49.             errno = (int) -r;
  50.             return -1;
  51.         }
  52.         return 0;
  53.     }
  54.     __gid = x;
  55.     return 0;
  56. }
  57.  
  58. int setreuid(ruid,euid)
  59.     int ruid, euid;
  60. {
  61.     return setuid(euid);
  62. }
  63.  
  64. int setregid(rgid,egid)
  65.     int rgid, egid;
  66. {
  67.     return setgid(egid);
  68. }
  69.  
  70. /* note: BSD getpgrp takes an argument, but ours doesn't */
  71. int getpgrp() { return __mint ? Pgetpgrp() : 0; }
  72.  
  73. int setpgrp(pid, grp)
  74.     int pid, grp;
  75. {
  76.     return __mint ? Psetpgrp(pid, grp) : 0;
  77. }
  78.  
  79. int seteuid(x) int x; { return setuid(x); }
  80. int setegid(x) int x; { return setgid(x); }
  81.