mman.h 1.2 KB

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