diff options
author | Szabolcs Nagy <nsz@port70.net> | 2016-03-18 00:57:52 +0000 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2016-03-18 22:40:28 -0400 |
commit | e9f1c7981ae00ad25d59018c1df26897e2effdad (patch) | |
tree | c42a756e09b9ccb21497bf88fb3e50cc90fe8379 /include | |
parent | 4aac019a0efd59011a48d031ad046c934c7e8365 (diff) | |
download | musl-e9f1c7981ae00ad25d59018c1df26897e2effdad.tar.gz musl-e9f1c7981ae00ad25d59018c1df26897e2effdad.tar.bz2 musl-e9f1c7981ae00ad25d59018c1df26897e2effdad.tar.xz musl-e9f1c7981ae00ad25d59018c1df26897e2effdad.zip |
deduplicate bits/mman.h
currently five targets use the same mman.h constants and the rest
share most constants too, so move them to sys/mman.h before the
bits/mman.h include where the differences can be corrected by
redefinition of the macros.
this fixes two minor bugs: POSIX_MADV_DONTNEED was wrong on most
targets (it should be the same as MADV_DONTNEED), and sh defined
the x86-only MAP_32BIT mmap flag.
Diffstat (limited to 'include')
-rw-r--r-- | include/sys/mman.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/include/sys/mman.h b/include/sys/mman.h index a1864ec8..596a03a7 100644 --- a/include/sys/mman.h +++ b/include/sys/mman.h @@ -16,6 +16,65 @@ extern "C" { #include <bits/alltypes.h> +#define MAP_FAILED ((void *) -1) + +#define MAP_SHARED 0x01 +#define MAP_PRIVATE 0x02 +#define MAP_TYPE 0x0f +#define MAP_FIXED 0x10 +#define MAP_ANON 0x20 +#define MAP_ANONYMOUS MAP_ANON +#define MAP_NORESERVE 0x4000 +#define MAP_GROWSDOWN 0x0100 +#define MAP_DENYWRITE 0x0800 +#define MAP_EXECUTABLE 0x1000 +#define MAP_LOCKED 0x2000 +#define MAP_POPULATE 0x8000 +#define MAP_NONBLOCK 0x10000 +#define MAP_STACK 0x20000 +#define MAP_HUGETLB 0x40000 +#define MAP_FILE 0 + +#define PROT_NONE 0 +#define PROT_READ 1 +#define PROT_WRITE 2 +#define PROT_EXEC 4 +#define PROT_GROWSDOWN 0x01000000 +#define PROT_GROWSUP 0x02000000 + +#define MS_ASYNC 1 +#define MS_INVALIDATE 2 +#define MS_SYNC 4 + +#define MCL_CURRENT 1 +#define MCL_FUTURE 2 +#define MCL_ONFAULT 4 + +#define POSIX_MADV_NORMAL 0 +#define POSIX_MADV_RANDOM 1 +#define POSIX_MADV_SEQUENTIAL 2 +#define POSIX_MADV_WILLNEED 3 +#define POSIX_MADV_DONTNEED 4 + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MADV_NORMAL 0 +#define MADV_RANDOM 1 +#define MADV_SEQUENTIAL 2 +#define MADV_WILLNEED 3 +#define MADV_DONTNEED 4 +#define MADV_REMOVE 9 +#define MADV_DONTFORK 10 +#define MADV_DOFORK 11 +#define MADV_MERGEABLE 12 +#define MADV_UNMERGEABLE 13 +#define MADV_HUGEPAGE 14 +#define MADV_NOHUGEPAGE 15 +#define MADV_DONTDUMP 16 +#define MADV_DODUMP 17 +#define MADV_HWPOISON 100 +#define MADV_SOFT_OFFLINE 101 +#endif + #include <bits/mman.h> void *mmap (void *, size_t, int, int, int, off_t); |