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.
This commit is contained in:
parent
b5b43b6d62
commit
07e865cc5a
12 changed files with 96 additions and 66 deletions
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
16
arch/i386/bits/msg.h
Normal file
16
arch/i386/bits/msg.h
Normal file
|
|
@ -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];
|
||||
};
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
13
arch/x86_64/bits/msg.h
Normal file
13
arch/x86_64/bits/msg.h
Normal file
|
|
@ -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];
|
||||
};
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue