diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2019-03-08 00:22:20 +0100 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2019-03-08 00:25:57 +0100 |
| commit | 31693290ed717d700480774f4f6b49dbe9b9b704 (patch) | |
| tree | 4cbbeb7ea82a950ea3c9ebadea6276d750482c4b /src/platform/platform.h | |
| parent | 841ee0e92516827e6dd6f2101903b5ec1cc85fb4 (diff) | |
| download | cc4group-31693290ed717d700480774f4f6b49dbe9b9b704.tar.gz cc4group-31693290ed717d700480774f4f6b49dbe9b9b704.zip | |
Windows support (hopefully!)
Diffstat (limited to 'src/platform/platform.h')
| -rw-r--r-- | src/platform/platform.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/platform/platform.h b/src/platform/platform.h new file mode 100644 index 0000000..aaa6138 --- /dev/null +++ b/src/platform/platform.h @@ -0,0 +1,32 @@ +#pragma once + +#include <stddef.h> +#include <sys/types.h> + +#ifdef CC4GROUP_PLATFORM_WINDOWS + #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)) +#else + #include <sys/mman.h> + + #define cc4group_mkdir(path, mode) mkdir((path), (mode)) + #define O_BINARY 0 +#endif + +void *cc4group_mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset, void** extra); +int cc4group_munmap(void *addr, size_t length, void* extra);
\ No newline at end of file |
