diff options
author | twinaphex | 2014-12-13 05:53:54 +0100 |
---|---|---|
committer | twinaphex | 2014-12-13 05:53:54 +0100 |
commit | 3a92bf0b7a2d929f53ae69cf761721c136f9036d (patch) | |
tree | a32adc2e685101e75d83ef8b64195c690121bc70 /libpcsxcore/memmap.h | |
parent | 13bb560e427a36c6900ea09061efecc2a67d53d0 (diff) | |
download | pcsx_rearmed-3a92bf0b7a2d929f53ae69cf761721c136f9036d.tar.gz pcsx_rearmed-3a92bf0b7a2d929f53ae69cf761721c136f9036d.tar.bz2 pcsx_rearmed-3a92bf0b7a2d929f53ae69cf761721c136f9036d.zip |
Add mman wrapper for Win32 and use it for PCSX ReARmed libretro Win32
Diffstat (limited to 'libpcsxcore/memmap.h')
-rw-r--r-- | libpcsxcore/memmap.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/libpcsxcore/memmap.h b/libpcsxcore/memmap.h new file mode 100644 index 0000000..e80d720 --- /dev/null +++ b/libpcsxcore/memmap.h @@ -0,0 +1,60 @@ +#ifndef _MEMMAP_H +#define _MEMMAP_H + +#ifdef HAVE_MMAP + +#ifdef _WIN32 + +#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. +#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows. +#endif + +/* All the headers include this file. */ +#ifndef _MSC_VER +#include <_mingw.h> +#endif + +#include <sys/types.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define PROT_NONE 0 +#define PROT_READ 1 +#define PROT_WRITE 2 +#define PROT_EXEC 4 + +#define MAP_FILE 0 +#define MAP_SHARED 1 +#define MAP_PRIVATE 2 +#define MAP_TYPE 0xf +#define MAP_FIXED 0x10 +#define MAP_ANONYMOUS 0x20 +#define MAP_ANON MAP_ANONYMOUS + +#define MAP_FAILED ((void *)-1) + +/* Flags for msync. */ +#define MS_ASYNC 1 +#define MS_SYNC 2 +#define MS_INVALIDATE 4 + +void* mmap(void *addr, size_t len, int prot, int flags, int fildes, off_t off); +int munmap(void *addr, size_t len); +int mprotect(void *addr, size_t len, int prot); +int msync(void *addr, size_t len, int flags); +int mlock(const void *addr, size_t len); +int munlock(const void *addr, size_t len); + +#ifdef __cplusplus +}; +#endif + +#else +#include <sys/mman.h> +#endif + +#endif + +#endif |