about summary refs log tree commit diff
path: root/include/sys/shm.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-04-13 16:45:43 -0400
committerRich Felker <dalias@aerifal.cx>2011-04-13 16:45:43 -0400
commit07e865cc5afb11e6e882e998306ab0f7fb64357e (patch)
tree18e18c2b12ee6d9f7ae91f84bd8374224a736c81 /include/sys/shm.h
parentb5b43b6d6245efac10cd0d2b6d23ee8f91d75261 (diff)
downloadmusl-07e865cc5afb11e6e882e998306ab0f7fb64357e.tar.gz
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.h28
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 *);