1fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh/* 2fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh * sys/mman.h 3fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh * mman-win32 4fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh */ 5fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 6fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#ifndef _SYS_MMAN_H_ 7fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define _SYS_MMAN_H_ 8fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 9fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. 10fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows. 11fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#endif 12fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 13fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh/* All the headers include this file. */ 14fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#ifndef _MSC_VER 15fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#include <_mingw.h> 16fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#endif 17fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 18fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#include <sys/types.h> 19fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 20fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#ifdef __cplusplus 21fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsiehextern "C" { 22fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#endif 23fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 24fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define PROT_NONE 0 25fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define PROT_READ 1 26fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define PROT_WRITE 2 27fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define PROT_EXEC 4 28fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 29fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MAP_FILE 0 30fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MAP_SHARED 1 31fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MAP_PRIVATE 2 32fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MAP_TYPE 0xf 33fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MAP_FIXED 0x10 34fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MAP_ANONYMOUS 0x20 35fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MAP_ANON MAP_ANONYMOUS 36fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 37fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MAP_FAILED ((void *)-1) 38fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 39fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh/* Flags for msync. */ 40fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MS_ASYNC 1 41fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MS_SYNC 2 42fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#define MS_INVALIDATE 4 43fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 44fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsiehvoid* mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off); 45fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsiehint munmap(void *addr, size_t len); 46fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsiehint mprotect(void *addr, size_t len, int prot); 47fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsiehint msync(void *addr, size_t len, int flags); 48fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsiehint mlock(const void *addr, size_t len); 49fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsiehint munlock(const void *addr, size_t len); 50fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 51fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#ifdef __cplusplus 52fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh}; 53fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#endif 54fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh 55fb2316b18b78b266c80a7d86d375b2f04806c127Andrew Hsieh#endif /* _SYS_MMAN_H_ */ 56