| /** |
| * D header file for NetBSD |
| * |
| * Authors: Martin Nowak |
| * |
| * http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/sys/mman.h |
| */ |
| module core.sys.netbsd.sys.mman; |
| |
| version (NetBSD): |
| extern (C): |
| nothrow: |
| |
| public import core.sys.posix.sys.mman; |
| import core.sys.posix.sys.types; |
| |
| enum __BSD_VISIBLE = true; |
| |
| static if (__BSD_VISIBLE) |
| { |
| enum INHERIT_SHARE = 0; |
| enum INHERIT_COPY = 1; |
| enum INHERIT_NONE = 2; |
| enum INHERIT_DONATE_COPY = 3; |
| enum INHERIT_ZERO = 4; |
| } |
| |
| // already in core.sys.posix.sys.mman |
| // enum PROT_NONE = 0x00; |
| // enum PROT_READ = 0x01; |
| // enum PROT_WRITE = 0x02; |
| // enum PROT_EXEC = 0x04; |
| // enum MAP_SHARED = 0x0001; |
| // enum MAP_PRIVATE = 0x0002; |
| static if (__BSD_VISIBLE) |
| enum MAP_COPY = 0x0002; |
| // enum MAP_FIXED = 0x0010; |
| |
| static if (__BSD_VISIBLE) |
| { |
| enum MAP_RENAME = 0x0020; |
| enum MAP_NORESERVE = 0x0040; |
| enum MAP_HASSEMAPHORE = 0x0200; |
| enum MAP_STACK = 0x2000; |
| enum MAP_WIRED = 0x0800; |
| |
| enum MAP_FILE = 0x0000; |
| |
| // already in core.sys.posix.sys.mman |
| // enum MAP_ANON = 0x1000; |
| //#ifndef _KERNEL |
| alias MAP_ANONYMOUS = MAP_ANON; |
| //#endif /* !_KERNEL */ |
| |
| |
| extern(D) int MAP_ALIGNED(int n) { return n << MAP_ALIGNMENT_SHIFT; } |
| enum MAP_ALIGNMENT_SHIFT = 24; |
| enum MAP_ALIGNMENT_MASK = MAP_ALIGNED(0xff); |
| } |
| |
| //static if (__POSIX_VISIBLE >= 199309) |
| //{ |
| // already in core.sys.posix.sys.mman |
| // enum MCL_CURRENT = 0x0001; |
| // enum MCL_FUTURE = 0x0002; |
| //} |
| |
| // already in core.sys.posix.sys.mman |
| enum MAP_FAILED = cast(void*)-1; |
| |
| // already in core.sys.posix.sys.mman |
| // enum MS_SYNC = 0x0000; |
| // enum MS_ASYNC = 0x0001; |
| // enum MS_INVALIDATE = 0x0002; |
| |
| enum _MADV_NORMAL = 0; |
| enum _MADV_RANDOM = 1; |
| enum _MADV_SEQUENTIAL = 2; |
| enum _MADV_WILLNEED = 3; |
| enum _MADV_DONTNEED = 4; |
| |
| static if (__BSD_VISIBLE) |
| { |
| alias MADV_NORMAL = _MADV_NORMAL; |
| alias MADV_RANDOM = _MADV_RANDOM; |
| alias MADV_SEQUENTIAL = _MADV_SEQUENTIAL; |
| alias MADV_WILLNEED = _MADV_WILLNEED; |
| alias MADV_DONTNEED = _MADV_DONTNEED; |
| enum MADV_SPACEAVAIL = 5; |
| enum MADV_FREE = 6; |
| } |
| |
| //static if (__POSIX_VISIBLE >= 200112) |
| //{ |
| // already in core.sys.posix.sys.mman |
| // alias POSIX_MADV_NORMAL = _MADV_NORMAL; |
| // alias POSIX_MADV_RANDOM = _MADV_RANDOM; |
| // alias POSIX_MADV_SEQUENTIAL = _MADV_SEQUENTIAL; |
| // alias POSIX_MADV_WILLNEED = _MADV_WILLNEED; |
| // alias POSIX_MADV_DONTNEED = _MADV_DONTNEED; |
| //} |
| |
| static if (__BSD_VISIBLE) |
| { |
| //int getpagesizes(size_t *, int); |
| int madvise(void *, size_t, int); |
| int mincore(const(void) *, size_t, char *); |
| int minherit(void *, size_t, int); |
| } |
| // already in core.sys.posix.sys.mman |
| // int mlock(const void *, size_t); |
| // void * mmap(void *, size_t, int, int, int, off_t); |
| // int mprotect(const void *, size_t, int); |
| // int msync(void *, size_t, int); |
| // int munlock(const void *, size_t); |
| // int munmap(void *, size_t); |
| //static if (__POSIX_VISIBLE >= 200112) |
| // int posix_madvise(void *, size_t, int); |
| //static if (__POSIX_VISIBLE >= 199309) |
| //{ |
| // int mlockall(int); |
| // int munlockall(); |
| // int shm_open(const(char) *, int, mode_t); |
| // int shm_unlink(const(char) *); |
| //} |