/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: ProcessMap.hpp Date: 2021-6-10 Author: Reece ***/ #pragma once namespace Aurora::Process { struct PublicModule; struct ModuleMeta { AuString moduleName; AuString modulePath; AuUInt moduleBase; AuUInt origVa; }; struct PageTable { bool NX; bool writable; bool readable; bool acSanity; }; struct Segment { AuUInt baseVa; AuUInt origVa; AuUInt fsOff; AuUInt size; PageTable pt; AuString name; AuWPtr moduleMeta; }; using Segments = AuList; struct PublicModule { AuList segments; AuSPtr moduleMeta; }; AUKN_SYM AuOptional GetSegment(AuUInt pointer); AUKN_SYM PublicModule DumpExecutableRoot(); AUKN_SYM Segments DumpExecutableAll(); }