From f3c41bf8b6dbc12644d2ff38e6f316f2d6a2066e Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 30 May 2002 00:41:03 +0000 Subject: Cope with systems that don't glob all these together, but use separate syscalls. -Erik --- libc/misc/sysvipc/msgq.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'libc/misc/sysvipc/msgq.c') diff --git a/libc/misc/sysvipc/msgq.c b/libc/misc/sysvipc/msgq.c index f373c1611..ffd58df05 100644 --- a/libc/misc/sysvipc/msgq.c +++ b/libc/misc/sysvipc/msgq.c @@ -4,21 +4,30 @@ #ifdef L_msgctl + +#ifdef __NR_msgctl +_syscall3(int, msgctl, int, msqid, int, cmd, struct msqid_ds *, buf); +#else /* Message queue control operation. */ int msgctl (int msqid, int cmd, struct msqid_ds *buf) { return __ipc(IPCOP_msgctl ,msqid ,cmd ,0 ,buf); } #endif +#endif #ifdef L_msgget +#ifdef __NR_msgget +_syscall2(int, msgget, key_t, key, int, msgflg) +#else /* Get messages queue. */ int msgget (key_t key, int msgflg) { return __ipc(IPCOP_msgget ,key ,msgflg ,0 ,0); } #endif +#endif struct new_msg_buf{ @@ -29,6 +38,9 @@ struct new_msg_buf{ #ifdef L_msgrcv +#ifdef __NR_msgrcv +_syscall5(int, msgrcv, int, msqid, void *, msgp, size_t, msgsz, long int, msgtyp, int, msgflg); +#else int msgrcv (int msqid, void *msgp, size_t msgsz, long int msgtyp, int msgflg) { @@ -39,14 +51,19 @@ int msgrcv (int msqid, void *msgp, size_t msgsz, return __ipc(IPCOP_msgrcv ,msqid ,msgsz ,msgflg ,&temp); } #endif +#endif #ifdef L_msgsnd +#ifdef __NR_msgsnd +_syscall4(int, msgsnd, int, msqid, const void *, msgp, size_t, msgsz, int, msgflg); +#else /* Send message to message queue. */ int msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg) { return __ipc(IPCOP_msgsnd, msqid, msgsz, msgflg, (void *)msgp); } #endif +#endif -- cgit v1.2.3