Monero
Loading...
Searching...
No Matches
virtual_memory.c File Reference
#include <sys/types.h>
#include <sys/mman.h>
#include <errno.h>
#include "virtual_memory.h"
Include dependency graph for virtual_memory.c:

Macros

#define _GNU_SOURCE   1 /* needed for MAP_ANONYMOUS on older platforms */
#define MAP_ANONYMOUS   MAP_ANON
#define PAGE_READONLY   PROT_READ
#define PAGE_READWRITE   (PROT_READ | PROT_WRITE)
#define PAGE_EXECUTE_READ   (PROT_READ | PROT_EXEC)
#define PAGE_EXECUTE_READWRITE   (PROT_READ | PROT_WRITE | PROT_EXEC)
#define Fail(func)
#define RESERVED_FLAGS   0
#define MEXTRA   0
#define PEXTRA   0

Functions

void * allocMemoryPages (size_t bytes)
static int pageProtect (void *ptr, size_t bytes, int rules, char **errfunc)
void setPagesRW (void *ptr, size_t bytes)
void setPagesRX (void *ptr, size_t bytes)
void setPagesRWX (void *ptr, size_t bytes)
void * allocLargePagesMemory (size_t bytes)
void freePagedMemory (void *ptr, size_t bytes)

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE   1 /* needed for MAP_ANONYMOUS on older platforms */

◆ Fail

#define Fail ( func)
Value:
do {*errfunc = func; return errno;} while(0)

◆ MAP_ANONYMOUS

#define MAP_ANONYMOUS   MAP_ANON

◆ MEXTRA

#define MEXTRA   0

◆ PAGE_EXECUTE_READ

#define PAGE_EXECUTE_READ   (PROT_READ | PROT_EXEC)

◆ PAGE_EXECUTE_READWRITE

#define PAGE_EXECUTE_READWRITE   (PROT_READ | PROT_WRITE | PROT_EXEC)

◆ PAGE_READONLY

#define PAGE_READONLY   PROT_READ

◆ PAGE_READWRITE

#define PAGE_READWRITE   (PROT_READ | PROT_WRITE)

◆ PEXTRA

#define PEXTRA   0

◆ RESERVED_FLAGS

#define RESERVED_FLAGS   0

Function Documentation

◆ allocLargePagesMemory()

void * allocLargePagesMemory ( size_t bytes)

◆ allocMemoryPages()

void * allocMemoryPages ( size_t bytes)

◆ freePagedMemory()

void freePagedMemory ( void * ptr,
size_t bytes )

◆ pageProtect()

int pageProtect ( void * ptr,
size_t bytes,
int rules,
char ** errfunc )
inlinestatic

◆ setPagesRW()

void setPagesRW ( void * ptr,
size_t bytes )

◆ setPagesRWX()

void setPagesRWX ( void * ptr,
size_t bytes )

◆ setPagesRX()

void setPagesRX ( void * ptr,
size_t bytes )