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 | |
| parent | b5b43b6d6245efac10cd0d2b6d23ee8f91d75261 (diff) | |
| download | musl-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')
| -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 | ||||
| -rw-r--r-- | arch/x86_64/bits/ipc.h | 17 | ||||
| -rw-r--r-- | arch/x86_64/bits/msg.h | 13 | ||||
| -rw-r--r-- | arch/x86_64/bits/shm.h | 9 | 
6 files changed, 36 insertions, 48 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; diff --git a/arch/x86_64/bits/ipc.h b/arch/x86_64/bits/ipc.h index 04fbefe1..51ad4427 100644 --- a/arch/x86_64/bits/ipc.h +++ b/arch/x86_64/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               /* See ipcs.  */ -#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/x86_64/bits/msg.h b/arch/x86_64/bits/msg.h new file mode 100644 index 00000000..badcf168 --- /dev/null +++ b/arch/x86_64/bits/msg.h @@ -0,0 +1,13 @@ +struct msqid_ds +{ +	struct ipc_perm msg_perm; +	time_t msg_stime; +	time_t msg_rtime; +	time_t msg_ctime; +	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/x86_64/bits/shm.h b/arch/x86_64/bits/shm.h index bc95a1ca..abf1d506 100644 --- a/arch/x86_64/bits/shm.h +++ b/arch/x86_64/bits/shm.h @@ -1,14 +1,5 @@  #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;  | 
