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 27struct 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 57struct shminfo { 58 int shmmax; 59 int shmmin; 60 int shmmni; 61 int shmseg; 62 int shmall; 63}; 64 65struct 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