1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12 #ifndef _LINUX_SHM_H_ 13 #define _LINUX_SHM_H_ 14 15 #include <linux/ipc.h> 16 #include <linux/errno.h> 17 #include <asm/page.h> 18 19 #define SHMMAX 0x2000000 20 #define SHMMIN 1 21 #define SHMMNI 4096 22 #define SHMALL (SHMMAX/PAGE_SIZE*(SHMMNI/16)) 23 #define SHMSEG SHMMNI 24 25 #include <asm/shmparam.h> 26 27 struct shmid_ds { 28 struct ipc_perm shm_perm; 29 int shm_segsz; 30 __kernel_time_t shm_atime; 31 __kernel_time_t shm_dtime; 32 __kernel_time_t shm_ctime; 33 __kernel_ipc_pid_t shm_cpid; 34 __kernel_ipc_pid_t shm_lpid; 35 unsigned short shm_nattch; 36 unsigned short shm_unused; 37 void *shm_unused2; 38 void *shm_unused3; 39 }; 40 41 #include <asm/shmbuf.h> 42 43 #define SHM_R 0400 44 #define SHM_W 0200 45 46 #define SHM_RDONLY 010000 47 #define SHM_RND 020000 48 #define SHM_REMAP 040000 49 #define SHM_EXEC 0100000 50 51 #define SHM_LOCK 11 52 #define SHM_UNLOCK 12 53 54 #define SHM_STAT 13 55 #define SHM_INFO 14 56 57 struct shminfo { 58 int shmmax; 59 int shmmin; 60 int shmmni; 61 int shmseg; 62 int shmall; 63 }; 64 65 struct shm_info { 66 int used_ids; 67 unsigned long shm_tot; 68 unsigned long shm_rss; 69 unsigned long shm_swp; 70 unsigned long swap_attempts; 71 unsigned long swap_successes; 72 }; 73 74 #endif 75