Compiles with GCC
[akaros.git] / kern / include / ros / mman.h
1 /*
2  * Copyright (c) 2009 The Regents of the University of California
3  * Barret Rhoden <brho@cs.berkeley.edu>
4  * See LICENSE for details.
5  *
6  * Memory management flags, currently used in mmap()
7  */
8
9 #ifndef ROS_INCLUDE_MMAN_H
10 #define ROS_INCLUDE_MMAN_H
11
12 /* Memory protection states (what you're allowed to do */
13 #define PROT_NONE               0x1
14 #define PROT_EXEC               0x2
15 #define PROT_READ               0x4
16 #define PROT_WRITE              0x8
17
18 /* mmap flags, only anonymous is supported now, feel free to pass others */
19 #define MAP_SHARED              0x001
20 #define MAP_PRIVATE             0x002
21 #define MAP_ANONYMOUS   0x004
22 #define MAP_FIXED               0x008
23 #define MAP_GROWSDOWN   0x010
24 #define MAP_STACK               0x020
25 #define MAP_POPULATE    0x040
26 #define MAP_NONBLOCK    0x080
27 #define MAP_NORESERVE   0x100
28
29 /* Other mmap flags, which we probably won't support
30 #define MAP_32BIT
31 #define MAP_LOCKED
32 */
33
34 #endif /* !ROS_INCLUDE_MMAN_H */