AuroraRuntime/Source/Process/ProcessSectionView.Unix.hpp
J Reece Wilson 2e5742dd2f [*] Harden Process Section APIs
[*] Refactor IProcessSectionView::MapIPCMemory length type to machine word
2022-08-15 00:41:43 +01:00

34 lines
1.5 KiB
C++
Executable File

/***
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: ProcessSectionView.Unix.hpp
Date: 2022-08-10
Author: Reece
***/
#pragma once
namespace Aurora::Process
{
struct ProcessSectionView : IProcessSectionView
{
AuSPtr<IProcessSectionMapView> Allocate(AuUInt length) override;
AuSPtr<IProcessSectionMapView> MapFileByPath(const AuString &str,
AuUInt64 offset,
AuUInt length,
AuFS::EFileOpenMode mode,
AuFS::EFileAdvisoryLockLevel sectionLock) override;
AuSPtr<IProcessSectionMapView> MapFileByObject(const AuSPtr<Aurora::IO::FS::IFileStream> &stream,
AuUInt64 offset,
AuUInt length,
Aurora::IO::FS::EFileOpenMode mode,
AuFS::EFileAdvisoryLockLevel processLockLevel) override;
AuSPtr<IProcessSectionMapView> MapIPCMemory(const AuString &handle,
AuUInt64 offset,
AuUInt length,
AuFS::EFileOpenMode mode) override;
};
}