summaryrefslogtreecommitdiff
path: root/arch/x86_64
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/x86_64
parentb5b43b6d6245efac10cd0d2b6d23ee8f91d75261 (diff)
downloadmusl-07e865cc5afb11e6e882e998306ab0f7fb64357e.tar.gz
musl-07e865cc5afb11e6e882e998306ab0f7fb64357e.tar.bz2
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/x86_64')
-rw-r--r--arch/x86_64/bits/ipc.h17
-rw-r--r--arch/x86_64/bits/msg.h13
-rw-r--r--arch/x86_64/bits/shm.h9
3 files changed, 15 insertions, 24 deletions
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;