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