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

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

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _LINUX_IPC_H
  2 #define _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 #ifdef __KERNEL__
 53 
 54 #define IPCMNI 32768  /* <= MAX_INT limit for ipc arrays (including sysctl changes) */
 55 
 56 /* used by in-kernel data structures */
 57 struct kern_ipc_perm
 58 {
 59         key_t           key;
 60         uid_t           uid;
 61         gid_t           gid;
 62         uid_t           cuid;
 63         gid_t           cgid;
 64         mode_t          mode; 
 65         unsigned long   seq;
 66 };
 67 
 68 #endif /* __KERNEL__ */
 69 
 70 #endif /* _LINUX_IPC_H */
 71 
 72 
 73 

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

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.