1 #ifndef ULINUX_ARCH_MMAP_H
2 #define ULINUX_ARCH_MMAP_H
3 /*******************************************************************************
4 this code is protected by the GNU affero GPLv3
5 author:Sylvain BERTRAND <sylvain.bertrand AT gmail dot com>
6 *******************************************************************************/
7 struct ulinux_mmap_arg_struct32
{
16 #define ULINUX_PAGE_SZ 4096
18 #define ULINUX_MAP_GROWSDOWN 0x0100/*stack-like segment*/
19 #define ULINUX_MAP_DENYWRITE 0x0800/*ETXTBSY*/
20 #define ULINUX_MAP_EXECUTABLE 0x1000/*mark it as an executable*/
21 #define ULINUX_MAP_LOCKED 0x2000/*pages are locked*/
22 #define ULINUX_MAP_NORESERVE 0x4000/*don't check for reservations*/
23 #define ULINUX_MAP_POPULATE 0x8000/*populate (prefault) pagetables*/
24 #define ULINUX_MAP_NONBLOCK 0x10000/*do not block on IO*/
25 #define ULINUX_MAP_STACK 0x20000/*give out an address that is best suited
26 for process/thread stacks*/
27 #define ULINUX_MAP_HUGETLB 0x40000/*create a huge page mapping*/
29 #define ULINUX_MCL_CURRENT 1/*lock all current mappings*/
30 #define ULINUX_MCL_FUTURE 2/*lock all future mappings*/