xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/shm.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_SHM_H_
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_SHM_H_
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/ipc.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/errno.h>
11*8d67ca89SAndroid Build Coastguard Worker #include <asm-generic/hugetlb_encode.h>
12*8d67ca89SAndroid Build Coastguard Worker #include <unistd.h>
13*8d67ca89SAndroid Build Coastguard Worker #define SHMMIN 1
14*8d67ca89SAndroid Build Coastguard Worker #define SHMMNI 4096
15*8d67ca89SAndroid Build Coastguard Worker #define SHMMAX (ULONG_MAX - (1UL << 24))
16*8d67ca89SAndroid Build Coastguard Worker #define SHMALL (ULONG_MAX - (1UL << 24))
17*8d67ca89SAndroid Build Coastguard Worker #define SHMSEG SHMMNI
18*8d67ca89SAndroid Build Coastguard Worker struct __kernel_legacy_shmid_ds {
19*8d67ca89SAndroid Build Coastguard Worker   struct __kernel_legacy_ipc_perm shm_perm;
20*8d67ca89SAndroid Build Coastguard Worker   int shm_segsz;
21*8d67ca89SAndroid Build Coastguard Worker   __kernel_old_time_t shm_atime;
22*8d67ca89SAndroid Build Coastguard Worker   __kernel_old_time_t shm_dtime;
23*8d67ca89SAndroid Build Coastguard Worker   __kernel_old_time_t shm_ctime;
24*8d67ca89SAndroid Build Coastguard Worker   __kernel_ipc_pid_t shm_cpid;
25*8d67ca89SAndroid Build Coastguard Worker   __kernel_ipc_pid_t shm_lpid;
26*8d67ca89SAndroid Build Coastguard Worker   unsigned short shm_nattch;
27*8d67ca89SAndroid Build Coastguard Worker   unsigned short shm_unused;
28*8d67ca89SAndroid Build Coastguard Worker   void * shm_unused2;
29*8d67ca89SAndroid Build Coastguard Worker   void * shm_unused3;
30*8d67ca89SAndroid Build Coastguard Worker };
31*8d67ca89SAndroid Build Coastguard Worker #include <asm/shmbuf.h>
32*8d67ca89SAndroid Build Coastguard Worker #define SHM_R 0400
33*8d67ca89SAndroid Build Coastguard Worker #define SHM_W 0200
34*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGETLB 04000
35*8d67ca89SAndroid Build Coastguard Worker #define SHM_NORESERVE 010000
36*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
37*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_MASK HUGETLB_FLAG_ENCODE_MASK
38*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_64KB HUGETLB_FLAG_ENCODE_64KB
39*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_512KB HUGETLB_FLAG_ENCODE_512KB
40*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_1MB HUGETLB_FLAG_ENCODE_1MB
41*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB
42*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB
43*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB
44*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB
45*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB
46*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB
47*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB
48*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB
49*8d67ca89SAndroid Build Coastguard Worker #define SHM_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB
50*8d67ca89SAndroid Build Coastguard Worker #define SHM_RDONLY 010000
51*8d67ca89SAndroid Build Coastguard Worker #define SHM_RND 020000
52*8d67ca89SAndroid Build Coastguard Worker #define SHM_REMAP 040000
53*8d67ca89SAndroid Build Coastguard Worker #define SHM_EXEC 0100000
54*8d67ca89SAndroid Build Coastguard Worker #define SHM_LOCK 11
55*8d67ca89SAndroid Build Coastguard Worker #define SHM_UNLOCK 12
56*8d67ca89SAndroid Build Coastguard Worker #define SHM_STAT 13
57*8d67ca89SAndroid Build Coastguard Worker #define SHM_INFO 14
58*8d67ca89SAndroid Build Coastguard Worker #define SHM_STAT_ANY 15
59*8d67ca89SAndroid Build Coastguard Worker struct shminfo {
60*8d67ca89SAndroid Build Coastguard Worker   int shmmax;
61*8d67ca89SAndroid Build Coastguard Worker   int shmmin;
62*8d67ca89SAndroid Build Coastguard Worker   int shmmni;
63*8d67ca89SAndroid Build Coastguard Worker   int shmseg;
64*8d67ca89SAndroid Build Coastguard Worker   int shmall;
65*8d67ca89SAndroid Build Coastguard Worker };
66*8d67ca89SAndroid Build Coastguard Worker struct shm_info {
67*8d67ca89SAndroid Build Coastguard Worker   int used_ids;
68*8d67ca89SAndroid Build Coastguard Worker   __kernel_ulong_t shm_tot;
69*8d67ca89SAndroid Build Coastguard Worker   __kernel_ulong_t shm_rss;
70*8d67ca89SAndroid Build Coastguard Worker   __kernel_ulong_t shm_swp;
71*8d67ca89SAndroid Build Coastguard Worker   __kernel_ulong_t swap_attempts;
72*8d67ca89SAndroid Build Coastguard Worker   __kernel_ulong_t swap_successes;
73*8d67ca89SAndroid Build Coastguard Worker };
74*8d67ca89SAndroid Build Coastguard Worker #endif
75