forked from jart/blink-isystem
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmman.h
118 lines (97 loc) · 2.78 KB
/
mman.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#ifndef _SYS_MMAN_H
#define _SYS_MMAN_H
#ifdef __cplusplus
extern "C" {
#endif
#include <features.h>
#define __NEED_mode_t
#define __NEED_size_t
#define __NEED_off_t
#if defined(_GNU_SOURCE)
#define __NEED_ssize_t
#endif
#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_FREE 8 */
/* #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);
int munmap (void *, size_t);
int mprotect (void *, size_t, int);
int msync (void *, size_t, int);
int posix_madvise (void *, size_t, int);
/* int mlock (const void *, size_t); */
/* int munlock (const void *, size_t); */
/* int mlockall (int); */
/* int munlockall (void); */
#ifdef _GNU_SOURCE
#define MREMAP_MAYMOVE 1
#define MREMAP_FIXED 2
void *mremap (void *, size_t, size_t, int, ...);
int remap_file_pages (void *, size_t, int, size_t, int);
#endif
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define MLOCK_ONFAULT 0x01
/* int madvise (void *, size_t, int); */
int mincore (void *, size_t, unsigned char *);
#endif
int shm_open (const char *, int, mode_t);
int shm_unlink (const char *);
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
#define mmap64 mmap
#define off64_t off_t
#endif
#ifdef __cplusplus
}
#endif
#endif