xref: /third_party/ltp/include/lapi/mmap.h (revision f08c3bdf)
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_MERGEABLE
42# define MADV_MERGEABLE   12
43#endif
44
45#ifndef MADV_UNMERGEABLE
46# define MADV_UNMERGEABLE 13
47#endif
48
49#ifndef MADV_HUGEPAGE
50# define MADV_HUGEPAGE   14
51#endif
52
53#ifndef MADV_NOHUGEPAGE
54# define MADV_NOHUGEPAGE 15
55#endif
56
57#ifndef MADV_DONTDUMP
58# define MADV_DONTDUMP 16
59#endif
60
61#ifndef MADV_DODUMP
62# define MADV_DODUMP   17
63#endif
64
65#ifndef MADV_FREE
66# define MADV_FREE	8
67#endif
68
69#ifndef MADV_WIPEONFORK
70# define MADV_WIPEONFORK 18
71# define MADV_KEEPONFORK 19
72#endif
73
74#ifndef MADV_COLD
75# define MADV_COLD	20
76#endif
77
78#ifndef MADV_PAGEOUT
79# define MADV_PAGEOUT	21
80#endif
81
82#ifndef MAP_FIXED_NOREPLACE
83
84#ifdef __alpha__
85# define MAP_FIXED_NOREPLACE 0x200000
86#else
87# define MAP_FIXED_NOREPLACE 0x100000
88#endif
89
90#endif /* MAP_FIXED_NOREPLACE */
91
92#ifdef HAVE_SYS_SHM_H
93# include <sys/shm.h>
94# define MMAP_GRANULARITY SHMLBA
95#else
96# include <unistd.h>
97# define MMAP_GRANULARITY getpagesize()
98#endif /* HAVE_SYS_SHM_H */
99
100#endif /* LAPI_MMAP_H__ */
101