home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / perl / perl5a1.lha / perl5alpha1 / do / ipcget < prev    next >
Encoding:
Text File  |  1992-08-15  |  739 b   |  37 lines

  1. int
  2. do_ipcget(optype, arglast)
  3. int optype;
  4. int *arglast;
  5. {
  6.     register STR **st = stack->ary_array;
  7.     register int sp = arglast[0];
  8.     key_t key;
  9.     int n, flags;
  10.  
  11.     key = (key_t)str_gnum(st[++sp]);
  12.     n = (optype == O_MSGGET) ? 0 : (int)str_gnum(st[++sp]);
  13.     flags = (int)str_gnum(st[++sp]);
  14.     errno = 0;
  15.     switch (optype)
  16.     {
  17. #ifdef HAS_MSG
  18.     case O_MSGGET:
  19.     return msgget(key, flags);
  20. #endif
  21. #ifdef HAS_SEM
  22.     case O_SEMGET:
  23.     return semget(key, n, flags);
  24. #endif
  25. #ifdef HAS_SHM
  26.     case O_SHMGET:
  27.     return shmget(key, n, flags);
  28. #endif
  29. #if !defined(HAS_MSG) || !defined(HAS_SEM) || !defined(HAS_SHM)
  30.     default:
  31.     fatal("%s not implemented", opname[optype]);
  32. #endif
  33.     }
  34.     return -1;            /* should never happen */
  35. }
  36.  
  37.