Foundation
Loading...
Searching...
No Matches
Mmap.hpp
Go to the documentation of this file.
1#pragma once
2#include <Core/Container.hpp>
3#include <cstdint>
4
5namespace Foundation::Platform {
6
8{
9 void* data{};
10 uint64_t size{};
11 bool writable{};
12 std::intptr_t file{-1};
13 void* mapping{};
14};
15
16enum class MmapAccess
17{
20};
21
22void MmapOpen(MmapState& state, Core::StringView path, MmapAccess access);
23void MmapCreate(MmapState& state, Core::StringView path, uint64_t size);
24void MmapOpenOrCreate(MmapState& state, Core::StringView path, uint64_t size);
25void MmapResize(MmapState& state, uint64_t size);
26void MmapFlush(MmapState const& state, uint64_t offset, uint64_t size);
27void MmapClose(MmapState& state) noexcept;
28[[nodiscard]] bool MmapIsOpen(MmapState const& state) noexcept;
29
30} // namespace Foundation::Platform
std::basic_string_view< char > StringView
Alias for std::basic_string_view<char>
Definition Container.hpp:56
Definition Logging.hpp:4
void MmapFlush(MmapState const &state, uint64_t offset, uint64_t size)
Definition MmapPosix.cpp:136
void MmapOpenOrCreate(MmapState &state, Core::StringView path, uint64_t size)
Definition MmapPosix.cpp:106
bool MmapIsOpen(MmapState const &state) noexcept
Definition MmapPosix.cpp:168
void MmapOpen(MmapState &state, Core::StringView path, MmapAccess access)
Definition MmapPosix.cpp:78
void MmapResize(MmapState &state, uint64_t size)
Definition MmapPosix.cpp:122
void MmapClose(MmapState &state) noexcept
Definition MmapPosix.cpp:156
void MmapCreate(MmapState &state, Core::StringView path, uint64_t size)
Definition MmapPosix.cpp:92
MmapAccess
Definition Mmap.hpp:17
Definition Mmap.hpp:8
void * mapping
Definition Mmap.hpp:13
std::intptr_t file
Definition Mmap.hpp:12
void * data
Definition Mmap.hpp:9
bool writable
Definition Mmap.hpp:11
uint64_t size
Definition Mmap.hpp:10