perl 5.0 alpha 3
[p5sagit/p5-mst-13.2.git] / do / ipcget
CommitLineData
79072805 1int
2do_ipcget(optype, arglast)
3int optype;
4int *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