aboutsummaryrefslogtreecommitdiff
path: root/include/linux/ipc.h
blob: 8594e9eecaf5ffdc9c8376568c81d47ca4d92e2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#ifndef _LINUX_IPC_H
#define _LINUX_IPC_H

#include <linux/types.h>

#define IPC_PRIVATE ((__kernel_key_t) 0)  

struct ipc_perm
{
	__kernel_key_t	key;
	__kernel_uid_t	uid;
	__kernel_gid_t	gid;
	__kernel_uid_t	cuid;
	__kernel_gid_t	cgid;
	__kernel_mode_t	mode; 
	unsigned short	seq;
};

#include <asm/ipcbuf.h>

#define IPC_CREAT  00001000   
#define IPC_EXCL   00002000   
#define IPC_NOWAIT 00004000   

   
#define IPC_DIPC 00010000  
#define IPC_OWN  00020000  

#define IPC_RMID 0     
#define IPC_SET  1     
#define IPC_STAT 2     
#define IPC_INFO 3     

#define IPC_OLD 0	
#define IPC_64  0x0100  

struct ipc_kludge {
	struct msgbuf __user *msgp;
	long msgtyp;
};

#define SEMOP		 1
#define SEMGET		 2
#define SEMCTL		 3
#define SEMTIMEDOP	 4
#define MSGSND		11
#define MSGRCV		12
#define MSGGET		13
#define MSGCTL		14
#define SHMAT		21
#define SHMDT		22
#define SHMGET		23
#define SHMCTL		24

#define DIPC            25

#define IPCCALL(version,op)	((version)<<16 | (op))

#ifdef __KERNEL__
#include <linux/spinlock.h>

#define IPCMNI 32768  

struct kern_ipc_perm
{
	spinlock_t	lock;
	int		deleted;
	int		id;
	key_t		key;
	uid_t		uid;
	gid_t		gid;
	uid_t		cuid;
	gid_t		cgid;
	umode_t		mode; 
	unsigned long	seq;
	void		*security;
};

#endif 

#endif