about summary refs log tree commit diff
path: root/include/sys
diff options
context:
space:
mode:
Diffstat (limited to 'include/sys')
-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 *);