1#pragma once 2 3#ifdef __cplusplus 4extern "C" { 5#endif 6 7#include <features.h> 8 9#define __NEED_mode_t 10#define __NEED_size_t 11#define __NEED_off_t 12 13#include <bits/alltypes.h> 14 15#define MAP_FAILED ((void*)-1) 16 17#define MAP_SHARED 0x01 18#define MAP_PRIVATE 0x02 19#define MAP_TYPE 0x0f 20#define MAP_FIXED 0x10 21#define MAP_ANON 0x20 22#define MAP_ANONYMOUS MAP_ANON 23#define MAP_NORESERVE 0x4000 24#define MAP_GROWSDOWN 0x0100 25#define MAP_DENYWRITE 0x0800 26#define MAP_EXECUTABLE 0x1000 27#define MAP_LOCKED 0x2000 28#define MAP_POPULATE 0x8000 29#define MAP_NONBLOCK 0x10000 30#define MAP_STACK 0x20000 31#define MAP_HUGETLB 0x40000 32#define MAP_FILE 0 33 34#define PROT_NONE 0 35#define PROT_READ 1 36#define PROT_WRITE 2 37#define PROT_EXEC 4 38#define PROT_GROWSDOWN 0x01000000 39#define PROT_GROWSUP 0x02000000 40 41#define MS_ASYNC 1 42#define MS_INVALIDATE 2 43#define MS_SYNC 4 44 45#define MCL_CURRENT 1 46#define MCL_FUTURE 2 47#define MCL_ONFAULT 4 48 49#define POSIX_MADV_NORMAL 0 50#define POSIX_MADV_RANDOM 1 51#define POSIX_MADV_SEQUENTIAL 2 52#define POSIX_MADV_WILLNEED 3 53#define POSIX_MADV_DONTNEED 4 54 55#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 56#define MADV_NORMAL 0 57#define MADV_RANDOM 1 58#define MADV_SEQUENTIAL 2 59#define MADV_WILLNEED 3 60#define MADV_DONTNEED 4 61#define MADV_FREE 8 62#define MADV_REMOVE 9 63#define MADV_DONTFORK 10 64#define MADV_DOFORK 11 65#define MADV_MERGEABLE 12 66#define MADV_UNMERGEABLE 13 67#define MADV_HUGEPAGE 14 68#define MADV_NOHUGEPAGE 15 69#define MADV_DONTDUMP 16 70#define MADV_DODUMP 17 71#define MADV_HWPOISON 100 72#define MADV_SOFT_OFFLINE 101 73#endif 74 75void* mmap(void*, size_t, int, int, int, off_t); 76int munmap(void*, size_t); 77 78int mprotect(void*, size_t, int); 79int msync(void*, size_t, int); 80 81int posix_madvise(void*, size_t, int); 82 83int mlock(const void*, size_t); 84int munlock(const void*, size_t); 85int mlockall(int); 86int munlockall(void); 87 88#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 89#define MLOCK_ONFAULT 0x01 90int madvise(void*, size_t, int); 91#endif 92 93int shm_open(const char*, int, mode_t); 94int shm_unlink(const char*); 95 96#ifdef __cplusplus 97} 98#endif 99