fix dependency check logic cause config always disabled
[lunaix-os.git] / lunaix-os / includes / usr / lunaix / mman.h
1 #ifndef _LUNAIX_UHDR_SYS_MMAN_H
2 #define _LUNAIX_UHDR_SYS_MMAN_H
3
4 // POSIX compliant.
5
6 // identity mapped to region attributes
7 #define PROT_READ (1 << 2)
8 #define PROT_WRITE (1 << 3)
9 #define PROT_EXEC (1 << 4)
10 #define PROT_NONE 0
11
12 // identity mapped to region attributes
13
14 #define MAP_WSHARED 0x2
15 #define MAP_RSHARED 0x1
16 #define MAP_SHARED MAP_WSHARED
17 #define MAP_PRIVATE MAP_RSHARED
18 #define MAP_EXCLUSIVE 0x0
19 #define MAP_ANON (1 << 5)
20 #define MAP_ANONYMOUS MAP_ANON
21 #define MAP_STACK 0 // no effect in Lunaix
22
23 // other MAP_* goes should beyond 0x20
24
25 #define MAP_FIXED 0x40
26 #define MAP_FIXED_NOREPLACE 0x80
27
28 #define MS_ASYNC 0x1
29 #define MS_SYNC 0x2
30 #define MS_INVALIDATE 0x4
31 #define MS_INVALIDATE_ALL 0x8
32
33 struct usr_mmap_param
34 {
35     void* addr;
36     unsigned long length;
37     int proct;
38     int flags;
39     int fd;
40     unsigned long offset;
41 };
42
43 #endif /* _LUNAIX_UHDR_MMAN_H */