1*cda5da8dSAndroid Build Coastguard Worker #ifndef _SYS_SHM_H 2*cda5da8dSAndroid Build Coastguard Worker #define _SYS_SHM_H 3*cda5da8dSAndroid Build Coastguard Worker 4*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus 5*cda5da8dSAndroid Build Coastguard Worker extern "C" { 6*cda5da8dSAndroid Build Coastguard Worker #endif 7*cda5da8dSAndroid Build Coastguard Worker 8*cda5da8dSAndroid Build Coastguard Worker #include <features.h> 9*cda5da8dSAndroid Build Coastguard Worker 10*cda5da8dSAndroid Build Coastguard Worker #define __NEED_time_t 11*cda5da8dSAndroid Build Coastguard Worker #define __NEED_size_t 12*cda5da8dSAndroid Build Coastguard Worker #define __NEED_pid_t 13*cda5da8dSAndroid Build Coastguard Worker 14*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h> 15*cda5da8dSAndroid Build Coastguard Worker 16*cda5da8dSAndroid Build Coastguard Worker #include <sys/ipc.h> 17*cda5da8dSAndroid Build Coastguard Worker 18*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE 19*cda5da8dSAndroid Build Coastguard Worker #define __used_ids used_ids 20*cda5da8dSAndroid Build Coastguard Worker #define __swap_attempts swap_attempts 21*cda5da8dSAndroid Build Coastguard Worker #define __swap_successes swap_successes 22*cda5da8dSAndroid Build Coastguard Worker #endif 23*cda5da8dSAndroid Build Coastguard Worker 24*cda5da8dSAndroid Build Coastguard Worker #include <bits/shm.h> 25*cda5da8dSAndroid Build Coastguard Worker 26*cda5da8dSAndroid Build Coastguard Worker #define SHM_R 0400 27*cda5da8dSAndroid Build Coastguard Worker #define SHM_W 0200 28*cda5da8dSAndroid Build Coastguard Worker 29*cda5da8dSAndroid Build Coastguard Worker #define SHM_RDONLY 010000 30*cda5da8dSAndroid Build Coastguard Worker #define SHM_RND 020000 31*cda5da8dSAndroid Build Coastguard Worker #define SHM_REMAP 040000 32*cda5da8dSAndroid Build Coastguard Worker #define SHM_EXEC 0100000 33*cda5da8dSAndroid Build Coastguard Worker 34*cda5da8dSAndroid Build Coastguard Worker #define SHM_LOCK 11 35*cda5da8dSAndroid Build Coastguard Worker #define SHM_UNLOCK 12 36*cda5da8dSAndroid Build Coastguard Worker #define SHM_STAT (13 | (IPC_STAT & 0x100)) 37*cda5da8dSAndroid Build Coastguard Worker #define SHM_INFO 14 38*cda5da8dSAndroid Build Coastguard Worker #define SHM_STAT_ANY (15 | (IPC_STAT & 0x100)) 39*cda5da8dSAndroid Build Coastguard Worker #define SHM_DEST 01000 40*cda5da8dSAndroid Build Coastguard Worker #define SHM_LOCKED 02000 41*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGETLB 04000 42*cda5da8dSAndroid Build Coastguard Worker #define SHM_NORESERVE 010000 43*cda5da8dSAndroid Build Coastguard Worker 44*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_SHIFT 26 45*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_MASK 0x3f 46*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_64KB (16 << 26) 47*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_512KB (19 << 26) 48*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_1MB (20 << 26) 49*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_2MB (21 << 26) 50*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_8MB (23 << 26) 51*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_16MB (24 << 26) 52*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_32MB (25 << 26) 53*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_256MB (28 << 26) 54*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_512MB (29 << 26) 55*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_1GB (30 << 26) 56*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_2GB (31 << 26) 57*cda5da8dSAndroid Build Coastguard Worker #define SHM_HUGE_16GB (34U << 26) 58*cda5da8dSAndroid Build Coastguard Worker 59*cda5da8dSAndroid Build Coastguard Worker typedef unsigned long shmatt_t; 60*cda5da8dSAndroid Build Coastguard Worker 61*cda5da8dSAndroid Build Coastguard Worker void *shmat(int, const void *, int); 62*cda5da8dSAndroid Build Coastguard Worker int shmctl(int, int, struct shmid_ds *); 63*cda5da8dSAndroid Build Coastguard Worker int shmdt(const void *); 64*cda5da8dSAndroid Build Coastguard Worker int shmget(key_t, size_t, int); 65*cda5da8dSAndroid Build Coastguard Worker 66*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus 67*cda5da8dSAndroid Build Coastguard Worker } 68*cda5da8dSAndroid Build Coastguard Worker #endif 69*cda5da8dSAndroid Build Coastguard Worker 70*cda5da8dSAndroid Build Coastguard Worker #endif 71