summaryrefslogtreecommitdiff
path: root/arch/i386
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
parentb5b43b6d6245efac10cd0d2b6d23ee8f91d75261 (diff)
downloadmusl-07e865cc5afb11e6e882e998306ab0f7fb64357e.tar.gz
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')
-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;