summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/lib/semctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/lib/semctl.c')
-rw-r--r--mdk-stage1/dietlibc/lib/semctl.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/mdk-stage1/dietlibc/lib/semctl.c b/mdk-stage1/dietlibc/lib/semctl.c
index ddc0aae95..cec0b7535 100644
--- a/mdk-stage1/dietlibc/lib/semctl.c
+++ b/mdk-stage1/dietlibc/lib/semctl.c
@@ -1,10 +1,17 @@
#include <sys/types.h>
#include <sys/ipc.h>
-#include <sys/sem.h>
-#include <asm/ipc.h>
-extern int __ipc();
+extern int __ipc(int,int,int,int,void*);
+union semun {
+ int val; /* value for SETVAL */
+ struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
+ unsigned short *array; /* array for GETALL & SETALL */
+ struct seminfo *__buf; /* buffer for IPC_INFO */
+ void *__pad;
+};
+
+int semctl(int semid, int semnum, int cmd, union semun arg);
int semctl(int semid, int semnum, int cmd, union semun arg) {
return __ipc(SEMCTL,semid,semnum,cmd,&arg);
}