fix namespace violation in sys/shm.h
[musl] / src / ipc / semctl.c
1 #include <sys/sem.h>
2 #include <stdarg.h>
3 #include "syscall.h"
4 #include "ipc.h"
5
6 union semun {
7         int val;
8         struct semid_ds *buf;
9         unsigned short *array;
10 };
11
12 int semctl(int id, int num, int cmd, ...)
13 {
14         union semun arg;
15         va_list ap;
16         va_start(ap, cmd);
17         arg = va_arg(ap, union semun);
18         va_end(ap);
19 #ifdef SYS_semctl
20         return syscall(SYS_semctl, id, num, cmd | IPC_64, arg.buf);
21 #else
22         return syscall(SYS_ipc, IPCOP_semctl, id, num, cmd | IPC_64, &arg.buf);
23 #endif
24 }