/* Generated by maint/gen_xlat_defs.sh -f '#x' -p '_?MAP_' -c 'asm-generic/mman*.h' -a 'asm/mman.h' */

MAP_SHARED	0x1

MAP_PRIVATE	0x2

MAP_SHARED_VALIDATE	0x3

#if defined __hppa__
MAP_FIXED	0x4
#elif defined __alpha__
MAP_FIXED	0x100
#else
MAP_FIXED	0x10
#endif

#if defined __alpha__ || defined __hppa__
MAP_ANONYMOUS	0x10
#elif defined __mips__ || defined __xtensa__
MAP_ANONYMOUS	0x800
#else
MAP_ANONYMOUS	0x20
#endif

#if defined __x86_64__ || defined __i386__
MAP_32BIT	0x40
#else
MAP_32BIT
#endif

#if defined MAP_RENAME && MAP_RENAME == MAP_ANONYMOUS  /* MAP_RENAME is unusual */
# ifndef STRACE_WORKAROUND_FOR_MAP_RENAME
# define STRACE_WORKAROUND_FOR_MAP_RENAME
/* glibc erroneously defines MAP_RENAME to MAP_ANONYMOUS on some architectures.  */
/* This is just wrong and has to be fixed.  */
# undef MAP_RENAME
# endif
#endif /* MAP_RENAME */

#if defined __mips__ || defined __xtensa__
MAP_RENAME	0x20
#else
MAP_RENAME
#endif

#if defined __powerpc__ || defined __sparc__
MAP_NORESERVE	0x40
#elif defined __mips__ || defined __xtensa__
MAP_NORESERVE	0x400
#elif defined __alpha__
MAP_NORESERVE	0x10000
#else
MAP_NORESERVE	0x4000
#endif

#if defined __hppa__ || defined __mips__ || defined __xtensa__
MAP_POPULATE	0x10000
#elif defined __alpha__
MAP_POPULATE	0x20000
#else
MAP_POPULATE	0x8000
#endif

#if defined __hppa__ || defined __mips__ || defined __xtensa__
MAP_NONBLOCK	0x20000
#elif defined __alpha__
MAP_NONBLOCK	0x40000
#else
MAP_NONBLOCK	0x10000
#endif

#if defined __sparc__
_MAP_NEW	0x80000000
#else
_MAP_NEW
#endif

#if defined __sparc__
MAP_GROWSDOWN	0x200
#elif defined __alpha__ || defined __mips__ || defined __xtensa__
MAP_GROWSDOWN	0x1000
#elif defined __hppa__
MAP_GROWSDOWN	0x8000
#else
MAP_GROWSDOWN	0x100
#endif

#if defined __ia64__
MAP_GROWSUP	0x200
#else
MAP_GROWSUP
#endif

#if defined __alpha__ || defined __mips__ || defined __xtensa__
MAP_DENYWRITE	0x2000
#else
MAP_DENYWRITE	0x800
#endif

#if defined __alpha__ || defined __mips__ || defined __xtensa__
MAP_EXECUTABLE	0x4000
#else
MAP_EXECUTABLE	0x1000
#endif

#if defined __sparc__
MAP_INHERIT	0x80
#else
MAP_INHERIT
#endif

#if defined __alpha__
_MAP_INHERIT	0x400
#else
_MAP_INHERIT
#endif

MAP_FILE	0

#if defined __powerpc__
MAP_LOCKED	0x80
#elif defined __sparc__
MAP_LOCKED	0x100
#elif defined __alpha__ || defined __mips__ || defined __xtensa__
MAP_LOCKED	0x8000
#else
MAP_LOCKED	0x2000
#endif

#if defined __alpha__
_MAP_HASSEMAPHORE	0x200
#else
_MAP_HASSEMAPHORE
#endif

#if defined __hppa__ || defined __mips__ || defined __xtensa__
MAP_STACK	0x40000
#elif defined __alpha__
MAP_STACK	0x80000
#else
MAP_STACK	0x20000
#endif

#if defined __hppa__ || defined __mips__ || defined __xtensa__
MAP_HUGETLB	0x80000
#elif defined __alpha__
MAP_HUGETLB	0x100000
#else
MAP_HUGETLB	0x40000
#endif

MAP_SYNC	0x80000

# if defined MAP_UNINITIALIZED && MAP_UNINITIALIZED > 0
MAP_UNINITIALIZED
# endif

#if defined __alpha__
MAP_FIXED_NOREPLACE	0x200000
#else
MAP_FIXED_NOREPLACE	0x100000
#endif

#if defined __mips__ || defined __xtensa__
MAP_AUTOGROW	0x40
#else
MAP_AUTOGROW
#endif

#if defined __mips__ || defined __xtensa__
MAP_AUTORSRV	0x100
#else
MAP_AUTORSRV
#endif

#if defined __mips__ || defined __xtensa__
MAP_LOCAL	0x80
#else
MAP_LOCAL
#endif

#if defined __alpha__
_MAP_UNALIGNED	0x800
#else
_MAP_UNALIGNED
#endif
