| /* |
| * Copyright (c) 2009 The Regents of the University of California |
| * Barret Rhoden <brho@cs.berkeley.edu> |
| * See LICENSE for details. |
| * |
| * Memory management flags, currently used in mmap(). |
| * Try to keep these in sync with /usr/include/bits/mman.h so we have less |
| * issues with userspace. |
| */ |
| |
| #pragma once |
| |
| /* Memory protection states (what you're allowed to do */ |
| #define PROT_READ 0x1 |
| #define PROT_WRITE 0x2 |
| #define PROT_EXEC 0x4 |
| #define PROT_NONE 0x0 |
| #define PROT_GROWSDOWN 0x01000000 |
| #define PROT_GROWSUP 0x02000000 |
| // TODO NOT A REAL STATE |
| #define PROT_UNMAP 0x100 |
| |
| /* mmap flags, only anonymous is supported now, feel free to pass others */ |
| #define MAP_SHARED 0x01 |
| #define MAP_PRIVATE 0x02 |
| #define MAP_FIXED 0x10 |
| #define MAP_ANONYMOUS 0x20 |
| #define MAP_ANON MAP_ANONYMOUS |
| |
| #define MAP_GROWSDOWN 0x00100 |
| #define MAP_DENYWRITE 0x00800 |
| #define MAP_EXECUTABLE 0x01000 |
| #define MAP_LOCKED 0x02000 |
| #define MAP_NORESERVE 0x04000 |
| #define MAP_POPULATE 0x08000 |
| #define MAP_NONBLOCK 0x10000 |
| #define MAP_STACK 0x20000 |
| |
| #define MAP_FAILED ((void*)-1) |
| |
| /* Other mmap flags, which we probably won't support |
| #define MAP_32BIT |
| */ |