Tor 0.4.9.2-alpha-dev
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
virtual_memory.h
1/* Copyright (c) 2020 tevador <tevador@gmail.com> */
2/* See LICENSE for licensing information */
3
4#ifndef VIRTUAL_MEMORY_H
5#define VIRTUAL_MEMORY_H
6
7#include <stdint.h>
8#include <stddef.h>
9#include <stdbool.h>
10#include <hashx.h>
11
12#define ALIGN_SIZE(pos, align) ((((pos) - 1) / (align) + 1) * (align))
13
14HASHX_PRIVATE void* hashx_vm_alloc(size_t size);
15HASHX_PRIVATE bool hashx_vm_rw(void* ptr, size_t size);
16HASHX_PRIVATE bool hashx_vm_rx(void* ptr, size_t size);
17HASHX_PRIVATE void hashx_vm_free(void* ptr, size_t size);
18
19#ifdef EQUIX_SUPPORT_HUGEPAGES
20HASHX_PRIVATE void* hashx_vm_alloc_huge(size_t size);
21#endif
22
23#endif