Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 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 1 2 3 4 5 6


ipc.h
01: #ifndef _LINUX_IPC_H
02: #define _LINUX_IPC_H
03: 
04: #include <linux/types.h>
05: 
06: #define IPC_PRIVATE ((__kernel_key_t) 0)  
07: 
08: /* Obsolete, used only for backwards compatibility and libc5 compiles */
09: struct ipc_perm
10: {
11:         __kernel_key_t  key;
12:         __kernel_uid_t  uid;
13:         __kernel_gid_t  gid;
14:         __kernel_uid_t  cuid;
15:         __kernel_gid_t  cgid;
16:         __kernel_mode_t mode; 
17:         unsigned short  seq;
18: };
19: 
20: /* Include the definition of ipc64_perm */
21: #include <asm/ipcbuf.h>
22: 
23: /* resource get request flags */
24: #define IPC_CREAT  00001000   /* create if key is nonexistent */
25: #define IPC_EXCL   00002000   /* fail if key exists */
26: #define IPC_NOWAIT 00004000   /* return error on wait */
27: 
28: /* these fields are used by the DIPC package so the kernel as standard
29:    should avoid using them if possible */
30:    
31: #define IPC_DIPC 00010000  /* make it distributed */
32: #define IPC_OWN  00020000  /* this machine is the DIPC owner */
33: 
34: /* 
35:  * Control commands used with semctl, msgctl and shmctl 
36:  * see also specific commands in sem.h, msg.h and shm.h
37:  */
38: #define IPC_RMID 0     /* remove resource */
39: #define IPC_SET  1     /* set ipc_perm options */
40: #define IPC_STAT 2     /* get ipc_perm options */
41: #define IPC_INFO 3     /* see ipcs */
42: 
43: /*
44:  * Version flags for semctl, msgctl, and shmctl commands
45:  * These are passed as bitflags or-ed with the actual command
46:  */
47: #define IPC_OLD 0       /* Old version (no 32-bit UID support on many
48:                            architectures) */
49: #define IPC_64  0x0100  /* New version (support 32-bit UIDs, bigger
50:                            message sizes, etc. */
51: 
52: /*
53:  * These are used to wrap system calls.
54:  *
55:  * See architecture code for ugly details..
56:  */
57: struct ipc_kludge {
58:         struct msgbuf *msgp;
59:         long msgtyp;
60: };
61: 
62: #define SEMOP            1
63: #define SEMGET           2
64: #define SEMCTL           3
65: #define SEMTIMEDOP       4
66: #define MSGSND          11
67: #define MSGRCV          12
68: #define MSGGET          13
69: #define MSGCTL          14
70: #define SHMAT           21
71: #define SHMDT           22
72: #define SHMGET          23
73: #define SHMCTL          24
74: 
75: /* Used by the DIPC package, try and avoid reusing it */
76: #define DIPC            25
77: 
78: #define IPCCALL(version,op)     ((version)<<16 | (op))
79: 
80: 
81: #endif /* _LINUX_IPC_H */
82: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/