1    	/* Definitions for POSIX memory map interface.  Linux/x86_64 version.
2    	   Copyright (C) 2001-2015 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   	#endif
43   	
44   	/* Include generic Linux declarations.  */
45   	#include <bits/mman-linux.h>
46