# Copyright 2021 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

include <sys/types.h>
include <sys/mman.h>

mmap(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd, offset fileoff)
munmap(addr vma, len len[addr])
mprotect(addr vma, len len[addr], prot flags[mmap_prot])
msync(addr vma, len len[addr], f flags[msync_flags])
madvise(addr vma, len len[addr], advice flags[madvise_flags])
mlock(addr vma, size len[addr])
munlock(addr vma, size len[addr])
mlockall(flags flags[mlockall_flags])
munlockall()

mmap_prot = PROT_EXEC, PROT_READ, PROT_WRITE
msync_flags = MS_ASYNC, MS_SYNC, MS_INVALIDATE
mmap_flags = MAP_ANONYMOUS, MAP_ANON, MAP_FILE, MAP_FIXED, MAP_HASSEMAPHORE, MAP_PRIVATE, MAP_SHARED, MAP_NOCACHE, MAP_JIT, MAP_32BIT
madvise_flags = MADV_NORMAL, POSIX_MADV_NORMAL, MADV_SEQUENTIAL, POSIX_MADV_SEQUENTIAL, MADV_RANDOM, POSIX_MADV_RANDOM, MADV_WILLNEED, POSIX_MADV_WILLNEED, MADV_DONTNEED, POSIX_MADV_DONTNEED, MADV_FREE, MADV_ZERO_WIRED_PAGES
mlockall_flags = MCL_CURRENT, MCL_FUTURE

define MAP_ANONYMOUS	MAP_ANON
