/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: IProcessSectionView.hpp Date: 2022-08-09 Author: Reece ***/ #pragma once namespace Aurora::Process { struct IProcessSectionMapView; struct IProcessSectionView { virtual AuSPtr Allocate(AuUInt length) = 0; virtual AuSPtr MapFileByPath(const AuString &str, AuUInt64 offset, AuUInt length, Aurora::IO::FS::EFileOpenMode mode, Aurora::IO::FS::EFileAdvisoryLockLevel processLockLevel) = 0; virtual AuSPtr MapFileByObject(const AuSPtr &stream, AuUInt64 offset, AuUInt length, Aurora::IO::FS::EFileOpenMode mode, Aurora::IO::FS::EFileAdvisoryLockLevel processLockLevel) = 0; virtual AuSPtr MapIPCMemory(const AuString &handle, AuUInt64 offset, AuUInt length, Aurora::IO::FS::EFileOpenMode mode) = 0; }; AUKN_SYM AuSPtr GetGlobalProcessSpace(); //AUKN_SHARED_API(ReservedAddressSpace, IProcessSectionView, AuUInt); < Windows SUCKS }