Sanitize vcoreid from untrusted sources
[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  * Try to keep these in sync with /usr/include/bits/mman.h so we have less
8  * issues with userspace.
9  */
10
11 #pragma once
12
13 /* Memory protection states (what you're allowed to do */
14 #define PROT_READ               0x1
15 #define PROT_WRITE              0x2
16 #define PROT_EXEC               0x4
17 #define PROT_NONE               0x0
18 #define PROT_VALID_PROTS        (PROT_READ | PROT_WRITE | PROT_EXEC)
19
20 /* mmap flags, only anonymous is supported now, feel free to pass others */
21 #define MAP_SHARED              0x01
22 #define MAP_PRIVATE             0x02
23 #define MAP_FIXED               0x10
24 #define MAP_ANONYMOUS           0x20
25 #define MAP_ANON MAP_ANONYMOUS
26
27 #define MAP_LOCKED              0x02000
28 #define MAP_POPULATE            0x08000
29
30 #define MAP_FAILED              ((void*)-1)