X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fsys%2Fshm.h;h=fd708cab1eb8c2e22eaf6bf300d8234e5002d770;hb=f897461d4fe72bb71854a6d0662de83008caccb7;hp=ce3029f545367974cc17ce5c819950caadae2d16;hpb=c1a9658bd19245ff0fb52d3da567815d822fb622;p=musl diff --git a/include/sys/shm.h b/include/sys/shm.h index ce3029f5..fd708cab 100644 --- a/include/sys/shm.h +++ b/include/sys/shm.h @@ -14,8 +14,18 @@ extern "C" { #include #include + +#ifdef _GNU_SOURCE +#define __used_ids used_ids +#define __swap_attempts swap_attempts +#define __swap_successes swap_successes +#endif + #include +#define SHM_R 0400 +#define SHM_W 0200 + #define SHM_RDONLY 010000 #define SHM_RND 020000 #define SHM_REMAP 040000 @@ -23,26 +33,30 @@ extern "C" { #define SHM_LOCK 11 #define SHM_UNLOCK 12 -#define SHM_STAT 13 +#define SHM_STAT (13 | (IPC_STAT & 0x100)) #define SHM_INFO 14 +#define SHM_STAT_ANY (15 | (IPC_STAT & 0x100)) #define SHM_DEST 01000 #define SHM_LOCKED 02000 #define SHM_HUGETLB 04000 #define SHM_NORESERVE 010000 -struct shminfo { - unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; -}; +#define SHM_HUGE_SHIFT 26 +#define SHM_HUGE_MASK 0x3f +#define SHM_HUGE_64KB (16 << 26) +#define SHM_HUGE_512KB (19 << 26) +#define SHM_HUGE_1MB (20 << 26) +#define SHM_HUGE_2MB (21 << 26) +#define SHM_HUGE_8MB (23 << 26) +#define SHM_HUGE_16MB (24 << 26) +#define SHM_HUGE_32MB (25 << 26) +#define SHM_HUGE_256MB (28 << 26) +#define SHM_HUGE_512MB (29 << 26) +#define SHM_HUGE_1GB (30 << 26) +#define SHM_HUGE_2GB (31 << 26) +#define SHM_HUGE_16GB (34U << 26) -struct shm_info { - int used_ids; - unsigned long shm_tot, shm_rss, shm_swp; -#ifdef _GNU_SOURCE - unsigned long swap_attempts, swap_successes; -#else - unsigned long __reserved[2]; -#endif -}; +typedef unsigned long shmatt_t; void *shmat(int, const void *, int); int shmctl(int, int, struct shmid_ds *);