#ifndef _SYS_MMAN_H
#define _SYS_MMAN_H
#include <sys/types.h>
#ifdef __cplusplus
extern "C" {
#endif
#define PROT_NONE 0
#define PROT_READ 1
#define PROT_WRITE 2
#define PROT_EXEC 4
#define MAP_SHARED 1
#define MAP_PRIVATE 2
#define MAP_FIXED 0x10
#define MAP_ANONYMOUS 0x20
#define MAP_ANON MAP_ANONYMOUS
#define MAP_FAILED ((void*)-1)
#define MREMAP_MAYMOVE 1
#define MS_ASYNC 1
#define MS_SYNC 4
#define MS_INVALIDATE 2
#define MADV_DONTNEED 4
void* mmap(void* addr, size_t length, int prot, int flags, int fd, off_t offset);
int munmap(void* addr, size_t length);
int mprotect(void* addr, size_t len, int prot);
int msync(void* addr, size_t length, int flags);
int madvise(void* addr, size_t length, int advice);
int mlock(const void* addr, size_t len);
int munlock(const void* addr, size_t len);
void* mremap(void* old_addr, size_t old_size, size_t new_size, int flags, ...);
#ifdef __cplusplus
}
#endif
#endif