/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: Transition.hpp Date: 2022-3-21 Author: Reece ***/ #pragma once namespace Aurora::Memory::Transition { struct EXTransitionOperationBase { AuUInt RWAddress; AuUInt EXAddress; AuUInt length; }; struct EXTransitionOperation { EXTransitionOperationBase base; union { AuUInt8 reserved[64]; }; }; AUKN_SHARED_API(MemoryTransactor, EXTransitionOperation); AUKN_SYM bool ReserveMemory(const AuSPtr &operation, AuUInt length, bool prefetch = true); AUKN_SYM bool CommitToExecutable(const AuSPtr &operation); AUKN_SYM void Free(const AuSPtr &operation); }