]> git.ipfire.org Git - thirdparty/gcc.git/blob - libphobos/libdruntime/core/sys/darwin/sys/mman.d
Add D front-end, libphobos library, and D2 testsuite.
[thirdparty/gcc.git] / libphobos / libdruntime / core / sys / darwin / sys / mman.d
1 /**
2 * D header file for Darwin
3 *
4 * Authors: Martin Nowak
5 */
6 module core.sys.darwin.sys.mman;
7
8 version (OSX)
9 version = Darwin;
10 else version (iOS)
11 version = Darwin;
12 else version (TVOS)
13 version = Darwin;
14 else version (WatchOS)
15 version = Darwin;
16
17 version (Darwin):
18 extern (C):
19 nothrow:
20 @nogc:
21
22 public import core.sys.posix.sys.mman;
23 import core.sys.darwin.sys.cdefs;
24 import core.sys.posix.sys.types;
25
26 // already in core.sys.posix.sys.mman
27 // enum PROT_NONE = 0x00;
28 // enum PROT_READ = 0x01;
29 // enum PROT_WRITE = 0x02;
30 // enum PROT_EXEC = 0x04;
31
32 // already in core.sys.posix.sys.mman
33 // enum MAP_SHARED = 0x0001;
34 // enum MAP_PRIVATE = 0x0002;
35 static if (_DARWIN_C_SOURCE)
36 alias MAP_COPY = MAP_PRIVATE;
37 // enum MAP_FIXED = 0x0010;
38
39 static if (_DARWIN_C_SOURCE)
40 {
41 enum MAP_RENAME = 0x0020;
42 enum MAP_NORESERVE = 0x0040;
43 enum MAP_RESERVED0080 = 0x0080;
44 enum MAP_NOEXTEND = 0x0100;
45 enum MAP_HASSEMAPHORE = 0x0200;
46 enum MAP_NOCACHE = 0x0400;
47 enum MAP_JIT = 0x0800;
48 }
49
50 // already in core.sys.posix.sys.mman
51 // enum MCL_CURRENT = 0x0001;
52 // enum MCL_FUTURE = 0x0002;
53
54 // enum MAP_FAILED = cast(void*)-1;
55
56 // enum MS_ASYNC = 0x0001;
57 // enum MS_INVALIDATE = 0x0002;
58 // enum MS_SYNC = 0x0010;
59
60 static if (_DARWIN_C_SOURCE)
61 {
62 enum MS_KILLPAGES = 0x0004;
63 enum MS_DEACTIVATE = 0x0008;
64
65 enum MAP_FILE = 0x0000;
66
67 // already in core.sys.posix.sys.mman
68 // enum MAP_ANON = 0x1000;
69
70 // enum POSIX_MADV_NORMAL = 0;
71 // enum POSIX_MADV_RANDOM = 1;
72 // enum POSIX_MADV_SEQUENTIAL = 2;
73 // enum POSIX_MADV_WILLNEED = 3;
74 // enum POSIX_MADV_DONTNEED = 4;
75
76 alias MADV_NORMAL = POSIX_MADV_NORMAL;
77 alias MADV_RANDOM = POSIX_MADV_RANDOM;
78 alias MADV_SEQUENTIAL = POSIX_MADV_SEQUENTIAL;
79 alias MADV_WILLNEED = POSIX_MADV_WILLNEED;
80 alias MADV_DONTNEED = POSIX_MADV_DONTNEED;
81 enum MADV_FREE = 5;
82 enum MADV_ZERO_WIRED_PAGES = 6;
83 enum MADV_FREE_REUSABLE = 7;
84 enum MADV_FREE_REUSE = 8;
85 enum MADV_CAN_REUSE = 9;
86
87 enum MINCORE_INCORE = 0x1;
88 enum MINCORE_REFERENCED = 0x2;
89 enum MINCORE_MODIFIED = 0x4;
90 enum MINCORE_REFERENCED_OTHER = 0x8;
91 enum MINCORE_MODIFIED_OTHER = 0x10;
92 }
93
94 // already in core.sys.posix.sys.mman
95 // int mlockall(int);
96 // int munlockall(void);
97 // int mlock(const void *, size_t);
98 // void * mmap(void *, size_t, int, int, int, off_t);
99 // int mprotect(void *, size_t, int);
100 // int msync(void *, size_t, int);
101 // int munlock(const void *, size_t);
102 // int munmap(void *, size_t);
103 // int shm_open(const char *, int, ...);
104 // int shm_unlink(const char *);
105 // int posix_madvise(void *, size_t, int);
106
107 static if (_DARWIN_C_SOURCE)
108 {
109 int madvise(void *, size_t, int);
110 int mincore(const(void)*, size_t, char *);
111 int minherit(void *, size_t, int);
112 }