about summary refs log tree commit diff
path: root/arch/i386/bits
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-04-13 16:45:43 -0400
committerRich Felker <dalias@aerifal.cx>2011-04-13 16:45:43 -0400
commit07e865cc5afb11e6e882e998306ab0f7fb64357e (patch)
tree18e18c2b12ee6d9f7ae91f84bd8374224a736c81 /arch/i386/bits
parentb5b43b6d6245efac10cd0d2b6d23ee8f91d75261 (diff)
downloadmusl-07e865cc5afb11e6e882e998306ab0f7fb64357e.tar.gz
musl-07e865cc5afb11e6e882e998306ab0f7fb64357e.tar.xz
musl-07e865cc5afb11e6e882e998306ab0f7fb64357e.zip
numerous fixes to sysv ipc
some of these definitions were just plain wrong, others based on
outdated ancient "non-64" versions of the kernel interface.

as much as possible has now been moved out of bits/*

these changes break abi (the old abi for these functions was wrong),
but since they were not working anyway it can hardly matter.
Diffstat (limited to 'arch/i386/bits')
-rw-r--r--arch/i386/bits/ipc.h17
-rw-r--r--arch/i386/bits/msg.h16
-rw-r--r--arch/i386/bits/shm.h12
3 files changed, 21 insertions, 24 deletions
diff --git a/arch/i386/bits/ipc.h b/arch/i386/bits/ipc.h
index 08316a37..51ad4427 100644
--- a/arch/i386/bits/ipc.h
+++ b/arch/i386/bits/ipc.h
@@ -1,25 +1,12 @@
-#define IPC_CREAT  01000
-#define IPC_EXCL   02000
-#define IPC_NOWAIT 04000
-
-#define IPC_RMID 0
-#define IPC_SET  1
-#define IPC_STAT 2
-#ifdef _GNU_SOURCE
-#define IPC_INFO 3
-#endif
-
-#define IPC_PRIVATE ((key_t) 0)
-
 struct ipc_perm
 {
-	key_t key;
+	key_t __ipc_perm_key;
 	uid_t uid;
 	gid_t gid;
 	uid_t cuid;
 	gid_t cgid;
 	mode_t mode;
-	int seq;
+	int __ipc_perm_seq;
 	long __pad1;
 	long __pad2;
 };
diff --git a/arch/i386/bits/msg.h b/arch/i386/bits/msg.h
new file mode 100644
index 00000000..3db8576b
--- /dev/null
+++ b/arch/i386/bits/msg.h
@@ -0,0 +1,16 @@
+struct msqid_ds
+{
+	struct ipc_perm msg_perm;
+	time_t msg_stime;
+	int __unused1;
+	time_t msg_rtime;
+	int __unused2;
+	time_t msg_ctime;
+	int __unused3;
+	unsigned long msg_cbytes;
+	msgqnum_t msg_qnum;
+	msglen_t msg_qbytes;
+	pid_t msg_lspid;
+	pid_t msg_lrpid;
+	unsigned long __unused[2];
+};
diff --git a/arch/i386/bits/shm.h b/arch/i386/bits/shm.h
index bc95a1ca..8807c4fb 100644
--- a/arch/i386/bits/shm.h
+++ b/arch/i386/bits/shm.h
@@ -1,21 +1,15 @@
 #define SHMLBA 4096
 
-#define SHM_RDONLY 010000
-#define SHM_RND    020000
-#define SHM_REMAP  040000
-#define SHM_EXEC   0100000
-
-/* linux extensions */
-#define SHM_LOCK        11
-#define SHM_UNLOCK      12
-
 struct shmid_ds
 {
 	struct ipc_perm shm_perm;
 	size_t shm_segsz;
 	time_t shm_atime;
+	int __unused1;
 	time_t shm_dtime;
+	int __unused2;
 	time_t shm_ctime;
+	int __unused3;
 	pid_t shm_cpid;
 	pid_t shm_lpid;
 	unsigned long shm_nattch;