cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / x86_64-linux-gnu / bits / mman.h
1 /* Definitions for POSIX memory map interface.  Linux/x86_64 version.
2    Copyright (C) 2001-2018 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, see
17    <http://www.gnu.org/licenses/>.  */
18
19 #ifndef _SYS_MMAN_H
20 # error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
21 #endif
22
23 /* The following definitions basically come from the kernel headers.
24    But the kernel header is not namespace clean.  */
25
26 /* Other flags.  */
27 #ifdef __USE_MISC
28 # define MAP_32BIT      0x40            /* Only give out 32-bit addresses.  */
29 #endif
30
31 /* These are Linux-specific.  */
32 #ifdef __USE_MISC
33 # define MAP_GROWSDOWN  0x00100         /* Stack-like segment.  */
34 # define MAP_DENYWRITE  0x00800         /* ETXTBSY */
35 # define MAP_EXECUTABLE 0x01000         /* Mark it as an executable.  */
36 # define MAP_LOCKED     0x02000         /* Lock the mapping.  */
37 # define MAP_NORESERVE  0x04000         /* Don't check for reservations.  */
38 # define MAP_POPULATE   0x08000         /* Populate (prefault) pagetables.  */
39 # define MAP_NONBLOCK   0x10000         /* Do not block on IO.  */
40 # define MAP_STACK      0x20000         /* Allocation is for a stack.  */
41 # define MAP_HUGETLB    0x40000         /* Create huge page mapping.  */
42 # define MAP_SYNC       0x80000         /* Perform synchronous page
43                                            faults for the mapping.  */
44 # define MAP_FIXED_NOREPLACE 0x100000   /* MAP_FIXED but do not unmap
45                                            underlying mapping.  */
46 #endif
47
48 /* Include generic Linux declarations.  */
49 #include <bits/mman-linux.h>