Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/compat/linux/linux_mmap.h
39507 views
1
/*-
2
* Copyright (c) 2004 Tim J. Robbins
3
* Copyright (c) 2002 Doug Rabson
4
* Copyright (c) 2000 Marcel Moolenaar
5
* Copyright (c) 1994-1995 Søren Schmidt
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
* 1. Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer
13
* in this position and unchanged.
14
* 2. Redistributions in binary form must reproduce the above copyright
15
* notice, this list of conditions and the following disclaimer in the
16
* documentation and/or other materials provided with the distribution.
17
* 3. The name of the author may not be used to endorse or promote products
18
* derived from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
*/
31
32
#ifndef _LINUX_MMAP_H_
33
#define _LINUX_MMAP_H_
34
35
/* mmap options */
36
#define LINUX_MAP_SHARED 0x0001
37
#define LINUX_MAP_PRIVATE 0x0002
38
#define LINUX_MAP_FIXED 0x0010
39
#define LINUX_MAP_ANON 0x0020
40
#define LINUX_MAP_32BIT 0x0040
41
#define LINUX_MAP_GROWSDOWN 0x0100
42
43
#define LINUX_PROT_GROWSDOWN 0x01000000
44
#define LINUX_PROT_GROWSUP 0x02000000
45
46
#define LINUX_MADV_NORMAL 0
47
#define LINUX_MADV_RANDOM 1
48
#define LINUX_MADV_SEQUENTIAL 2
49
#define LINUX_MADV_WILLNEED 3
50
#define LINUX_MADV_DONTNEED 4
51
#define LINUX_MADV_FREE 8
52
#define LINUX_MADV_REMOVE 9
53
#define LINUX_MADV_DONTFORK 10
54
#define LINUX_MADV_DOFORK 11
55
#define LINUX_MADV_MERGEABLE 12
56
#define LINUX_MADV_UNMERGEABLE 13
57
#define LINUX_MADV_HUGEPAGE 14
58
#define LINUX_MADV_NOHUGEPAGE 15
59
#define LINUX_MADV_DONTDUMP 16
60
#define LINUX_MADV_DODUMP 17
61
#define LINUX_MADV_WIPEONFORK 18
62
#define LINUX_MADV_KEEPONFORK 19
63
#define LINUX_MADV_HWPOISON 100
64
#define LINUX_MADV_SOFT_OFFLINE 101
65
66
int linux_mmap_common(struct thread *, uintptr_t, size_t, int, int,
67
int, off_t);
68
int linux_mprotect_common(struct thread *, uintptr_t, size_t, int);
69
int linux_madvise_common(struct thread *, uintptr_t, size_t, int);
70
71
#endif /* _LINUX_MMAP_H_ */
72
73