• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Copyright (c) 2015 Fujitsu Ltd.
4  * Author: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
5  */
6 
7 #ifndef LAPI_MMAP_H__
8 #define LAPI_MMAP_H__
9 
10 #include "config.h"
11 #include <sys/mman.h>
12 
13 #ifndef MAP_SHARED_VALIDATE
14 # define MAP_SHARED_VALIDATE 0x03
15 #endif
16 
17 #ifndef MAP_HUGETLB
18 # define MAP_HUGETLB 0x40000
19 #endif
20 
21 #ifndef MADV_REMOVE
22 # define MADV_REMOVE 9
23 #endif
24 
25 #ifndef MADV_DONTFORK
26 # define MADV_DONTFORK 10
27 #endif
28 
29 #ifndef MADV_DOFORK
30 # define MADV_DOFORK   11
31 #endif
32 
33 #ifndef MADV_HWPOISON
34 # define MADV_HWPOISON 100
35 #endif
36 
37 #ifndef MADV_SOFT_OFFLINE
38 # define MADV_SOFT_OFFLINE 101
39 #endif
40 
41 #ifndef MADV_GUARD_INSTALL
42 # define MADV_GUARD_INSTALL 102
43 #endif
44 
45 #ifndef MADV_GUARD_REMOVE
46 # define MADV_GUARD_REMOVE 103
47 #endif
48 
49 #ifndef MADV_MERGEABLE
50 # define MADV_MERGEABLE   12
51 #endif
52 
53 #ifndef MADV_UNMERGEABLE
54 # define MADV_UNMERGEABLE 13
55 #endif
56 
57 #ifndef MADV_HUGEPAGE
58 # define MADV_HUGEPAGE   14
59 #endif
60 
61 #ifndef MADV_NOHUGEPAGE
62 # define MADV_NOHUGEPAGE 15
63 #endif
64 
65 #ifndef MADV_DONTDUMP
66 # define MADV_DONTDUMP 16
67 #endif
68 
69 #ifndef MADV_DODUMP
70 # define MADV_DODUMP   17
71 #endif
72 
73 #ifndef MADV_FREE
74 # define MADV_FREE	8
75 #endif
76 
77 #ifndef MADV_WIPEONFORK
78 # define MADV_WIPEONFORK 18
79 # define MADV_KEEPONFORK 19
80 #endif
81 
82 #ifndef MADV_COLD
83 # define MADV_COLD	20
84 #endif
85 
86 #ifndef MADV_PAGEOUT
87 # define MADV_PAGEOUT	21
88 #endif
89 
90 #ifndef MAP_FIXED_NOREPLACE
91 
92 #ifdef __alpha__
93 # define MAP_FIXED_NOREPLACE 0x200000
94 #else
95 # define MAP_FIXED_NOREPLACE 0x100000
96 #endif
97 
98 #endif /* MAP_FIXED_NOREPLACE */
99 
100 #ifdef HAVE_SYS_SHM_H
101 # include <sys/shm.h>
102 # define MMAP_GRANULARITY SHMLBA
103 #else
104 # include <unistd.h>
105 # define MMAP_GRANULARITY getpagesize()
106 #endif /* HAVE_SYS_SHM_H */
107 
108 #endif /* LAPI_MMAP_H__ */
109