|
|
1.1 root 1: /* @(#)semsys.c 1.1 */
2: #include <sys/types.h>
3: #include <sys/time.h>
4: #include <sys/ipc.h>
5: #include <sys/sem.h>
6:
7: #define SEMSYS 153
8:
9: #define SEMCTL 0
10: #define SEMGET 1
11: #define SEMOP 2
12:
13: semctl(semid, semnum, cmd, arg)
14: int semid, cmd;
15: int semnum;
16: union semun {
17: int val;
18: struct semid_ds *buf;
19: ushort array[1];
20: } arg;
21: {
22: return(syscall(SEMSYS, SEMCTL, semid, semnum, cmd, arg));
23: }
24:
25: semget(key, nsems, semflg)
26: key_t key;
27: int nsems, semflg;
28: {
29: return(syscall(SEMSYS, SEMGET, key, nsems, semflg));
30: }
31:
32: semop(semid, sops, nsops)
33: int semid;
34: struct sembuf (*sops)[];
35: int nsops;
36: {
37: return(syscall(SEMSYS, SEMOP, semid, sops, nsops));
38: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.