40 lines
793 B
C
40 lines
793 B
C
#ifndef _LIBC_SYS_MMAN_H
|
|
#define _LIBC_SYS_MMAN_H
|
|
|
|
#pragma once
|
|
|
|
#include <sys/types.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
* Demand-paged anonymous memory backed by the kernel's VMA subsystem.
|
|
* File-backed and shared mappings are not supported and fail cleanly.
|
|
*/
|
|
|
|
#define PROT_NONE 0
|
|
#define PROT_READ 1
|
|
#define PROT_WRITE 2
|
|
#define PROT_EXEC 4
|
|
|
|
#define MAP_SHARED 0x01
|
|
#define MAP_PRIVATE 0x02
|
|
#define MAP_FIXED 0x10
|
|
#define MAP_ANONYMOUS 0x20
|
|
#define MAP_ANON MAP_ANONYMOUS
|
|
|
|
#define MAP_FAILED ((void *)-1)
|
|
|
|
void *mmap(void *addr, size_t length, int prot, int flags, int fd,
|
|
long offset);
|
|
int munmap(void *addr, size_t length);
|
|
int mprotect(void *addr, size_t length, int prot);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _LIBC_SYS_MMAN_H */
|