~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/ipc.h

Version: ~ [ linux-5.15-rc5 ] ~ [ linux-5.14.11 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.72 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.152 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.210 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.250 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.286 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.288 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.18.140 ] ~ [ linux-3.16.85 ] ~ [ linux-3.14.79 ] ~ [ linux-3.12.74 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _UAPI_LINUX_IPC_H
  2 #define _UAPI_LINUX_IPC_H
  3 
  4 #include <linux/types.h>
  5 
  6 #define IPC_PRIVATE ((__kernel_key_t) 0)  
  7 
  8 /* Obsolete, used only for backwards compatibility and libc5 compiles */
  9 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 __user *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 /* _UAPI_LINUX_IPC_H */
 82 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp