#pragma once #include #include #ifdef CC4GROUP_PLATFORM_WINDOWS #include #define PROT_READ 0x1 #define PROT_WRITE 0x2 /* This flag is only available in WinXP+ */ #ifdef FILE_MAP_EXECUTE #define PROT_EXEC 0x4 #else #define PROT_EXEC 0x0 #define FILE_MAP_EXECUTE 0 #endif #define MAP_SHARED 0x01 #define MAP_PRIVATE 0x02 #define MAP_ANONYMOUS 0x20 #define MAP_ANON MAP_ANONYMOUS #define MAP_FAILED ((void *) -1) #define cc4group_mkdir(path, mode) mkdir((path)) #define SET_BINARY(fd) setmode(fd, O_BINARY) #else #include #define cc4group_mkdir(path, mode) mkdir((path), (mode)) #define O_BINARY 0 #define SET_BINARY(fd) #endif void *cc4group_mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); int cc4group_munmap(void *addr, size_t length);