diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-04-13 16:45:43 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-04-13 16:45:43 -0400 |
commit | 07e865cc5afb11e6e882e998306ab0f7fb64357e (patch) | |
tree | 18e18c2b12ee6d9f7ae91f84bd8374224a736c81 /arch/i386/bits | |
parent | b5b43b6d6245efac10cd0d2b6d23ee8f91d75261 (diff) | |
download | musl-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.h | 17 | ||||
-rw-r--r-- | arch/i386/bits/msg.h | 16 | ||||
-rw-r--r-- | arch/i386/bits/shm.h | 12 |
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; |