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