summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sys/ipc.h18
-rw-r--r--include/sys/msg.h22
-rw-r--r--include/sys/shm.h28
3 files changed, 55 insertions, 13 deletions
diff --git a/include/sys/ipc.h b/include/sys/ipc.h
index 9de9f3e7..8e2f7172 100644
--- a/include/sys/ipc.h
+++ b/include/sys/ipc.h
@@ -11,13 +11,27 @@ extern "C" {
#include <bits/alltypes.h>
+#ifdef _GNU_SOURCE
+#define __ipc_perm_key key
+#define __ipc_perm_seq seq
+#endif
+
#include <bits/ipc.h>
+#define IPC_CREAT 01000
+#define IPC_EXCL 02000
+#define IPC_NOWAIT 04000
+
+#define IPC_RMID 0
+#define IPC_SET 1
+#define IPC_STAT 2
+#define IPC_INFO 3
+
+#define IPC_PRIVATE ((key_t) 0)
+
key_t ftok (const char *, int);
#ifdef __cplusplus
}
#endif
#endif
-
-
diff --git a/include/sys/msg.h b/include/sys/msg.h
index 4ae522fb..06f25533 100644
--- a/include/sys/msg.h
+++ b/include/sys/msg.h
@@ -14,20 +14,20 @@
typedef unsigned long msgqnum_t;
typedef unsigned long msglen_t;
-struct msqid_ds
-{
- struct ipc_perm msg_perm;
- time_t msg_stime;
- time_t msg_rtime;
- time_t msg_ctime;
- msgqnum_t msg_qnum;
- msglen_t msg_qbytes;
- pid_t msg_lspid;
- pid_t msg_lrpid;
-};
+#include <bits/msg.h>
+
+#define __msg_cbytes msg_cbytes
#define MSG_NOERROR 010000
+#define MSG_STAT 11
+#define MSG_INFO 12
+
+struct msginfo {
+ int msgpool, msgmap, msgmax, msgmnb, msgmni, msgssz, msgtql;
+ unsigned short msgseg;
+};
+
int msgctl (int, int, struct msqid_ds *);
int msgget (key_t, int);
ssize_t msgrcv (int, void *, size_t, long, int);
diff --git a/include/sys/shm.h b/include/sys/shm.h
index 6ebb9412..fa927101 100644
--- a/include/sys/shm.h
+++ b/include/sys/shm.h
@@ -10,6 +10,34 @@
#include <sys/ipc.h>
#include <bits/shm.h>
+#define SHM_RDONLY 010000
+#define SHM_RND 020000
+#define SHM_REMAP 040000
+#define SHM_EXEC 0100000
+
+#define SHM_LOCK 11
+#define SHM_UNLOCK 12
+#define SHM_STAT 13
+#define SHM_INFO 14
+#define SHM_DEST 01000
+#define SHM_LOCKED 02000
+#define SHM_HUGETLB 04000
+#define SHM_NORESERVE 010000
+
+struct shminfo {
+ unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4];
+};
+
+struct shm_info {
+ int used_ids;
+ unsigned long shm_tot, shm_rss, shm_swp;
+#ifdef _GNU_SOURCE
+ unsigned long swap_attempts, swap_successes;
+#else
+ unsigned long __reserved[2];
+#endif
+};
+
void *shmat(int, const void *, int);
int shmctl(int, int, struct shmid_ds *);
int shmdt(const void *);