blob: 646ab7556b7dfb28277de98401109caf26f5deb3 [file] [log] [blame]
/**
* 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) *);
//}