Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/sys/linux/ipc.c')
-rw-r--r--newlib/libc/sys/linux/ipc.c87
1 files changed, 0 insertions, 87 deletions
diff --git a/newlib/libc/sys/linux/ipc.c b/newlib/libc/sys/linux/ipc.c
deleted file mode 100644
index 31e225255..000000000
--- a/newlib/libc/sys/linux/ipc.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* libc/sys/linux/ipc.c - IPC semaphore and message queue functions */
-
-/* Copyright 2002, Red Hat Inc. */
-
-#include <sys/types.h>
-#include <sys/sem.h>
-#include <sys/msg.h>
-#include <stdarg.h>
-
-#include <machine/syscall.h>
-
-#define IPC_64 0x100
-
-#define IPCOP_semop 1
-#define IPCOP_semget 2
-#define IPCOP_semctl 3
-#define IPCOP_msgsnd 11
-#define IPCOP_msgrcv 12
-#define IPCOP_msgget 13
-#define IPCOP_msgctl 14
-
-static _syscall5(int,ipc,int,op,int,arg1,int,arg2,int,arg3,void *,arg4);
-
-int
-semget (key_t key, int nsems, int semflgs)
-{
- return __libc_ipc(IPCOP_semget, (int)key, nsems, semflgs, NULL);
-}
-
-int
-semctl (int semid, int semnum, int cmd, ...)
-{
- va_list va;
- union semun {
- int val;
- struct semid_ds *buf;
- unsigned short *array;
- } arg;
-
- va_start (va, cmd);
-
- arg = va_arg (va, union semun);
-
- va_end (va);
-
- return __libc_ipc(IPCOP_semctl, semid, semnum, cmd | IPC_64, &arg);
-}
-
-int
-semop (int semid, struct sembuf *sops, size_t nsems)
-{
- return __libc_ipc(IPCOP_semop, semid, (int)nsems, 0, sops);
-}
-
-int
-msgget (key_t key, int msgflg)
-{
- return __libc_ipc(IPCOP_msgget, (int)key, msgflg, 0, NULL);
-}
-
-int
-msgctl (int msqid, int cmd, struct msqid_ds *buf)
-{
- return __libc_ipc(IPCOP_msgctl, msqid, cmd | IPC_64, 0, buf);
-}
-
-int
-msgsnd (int msqid, const void *msgp, size_t msgsz, int msgflg)
-{
- return __libc_ipc(IPCOP_msgsnd, msqid, (int)msgsz, msgflg, (void *)msgp);
-}
-
-int
-msgrcv (int msqid, void *msgp, size_t msgsz, long int msgtyp, int msgflg)
-{
- /* last argument must contain multiple args */
- struct {
- void *msgp;
- long int msgtyp;
- } args;
-
- args.msgp = msgp;
- args.msgtyp = msgtyp;
-
- return (ssize_t)__libc_ipc(IPCOP_msgrcv, msqid, (int)msgsz, msgflg, &args);
-}
-