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