diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-04-13 16:45:43 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-04-13 16:45:43 -0400 |
commit | 07e865cc5afb11e6e882e998306ab0f7fb64357e (patch) | |
tree | 18e18c2b12ee6d9f7ae91f84bd8374224a736c81 /include/sys/shm.h | |
parent | b5b43b6d6245efac10cd0d2b6d23ee8f91d75261 (diff) | |
download | musl-07e865cc5afb11e6e882e998306ab0f7fb64357e.tar.gz musl-07e865cc5afb11e6e882e998306ab0f7fb64357e.tar.bz2 musl-07e865cc5afb11e6e882e998306ab0f7fb64357e.tar.xz musl-07e865cc5afb11e6e882e998306ab0f7fb64357e.zip |
numerous fixes to sysv ipc
some of these definitions were just plain wrong, others based on
outdated ancient "non-64" versions of the kernel interface.
as much as possible has now been moved out of bits/*
these changes break abi (the old abi for these functions was wrong),
but since they were not working anyway it can hardly matter.
Diffstat (limited to 'include/sys/shm.h')
-rw-r--r-- | include/sys/shm.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/sys/shm.h b/include/sys/shm.h index 6ebb9412..fa927101 100644 --- a/include/sys/shm.h +++ b/include/sys/shm.h @@ -10,6 +10,34 @@ #include <sys/ipc.h> #include <bits/shm.h> +#define SHM_RDONLY 010000 +#define SHM_RND 020000 +#define SHM_REMAP 040000 +#define SHM_EXEC 0100000 + +#define SHM_LOCK 11 +#define SHM_UNLOCK 12 +#define SHM_STAT 13 +#define SHM_INFO 14 +#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]; +}; + +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 +}; + void *shmat(int, const void *, int); int shmctl(int, int, struct shmid_ds *); int shmdt(const void *); |