AuroraRuntime/Source/Process/AuProcessSectionFileMapView.Unix.hpp
Reece b2311a8824 [+] IProcessSectionMapView::LockSwap
[+] IProcessSectionMapView::UnlockSwap
[*] Fix critical tag under ILogger
[*] Added missing includes to experimental APIs
2023-04-17 15:55:51 +01:00

41 lines
1.0 KiB
C++

/***
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: AuProcessSectionFileMapView.Unix.hpp
Date: 2022-08-09
Author: Reece
***/
#pragma once
namespace Aurora::Process
{
struct ProcessSectionView;
struct ProcessSectionFileMapView : IProcessSectionMapView
{
ProcessSectionFileMapView(AuUInt uAddress, AuUInt uLength, bool bShouldUnmap, int optFd = -1);
virtual ~ProcessSectionFileMapView();
void Unmap() override;
bool Flush(AuUInt offset, AuUInt length) override;
AuUInt GetBaseAddress() override;
AuUInt GetAddress(AuUInt offset) override;
AuUInt8 *GetBasePointer() override;
AuUInt8 *GetPointer(AuUInt offset) override;
AuSPtr<IProcessSectionView> pSharedSectionHint {};
bool LockSwap() override;
bool UnlockSwap() override;
private:
AuUInt uAddress {};
AuUInt uLength_ {};
bool bShouldUnmap_ {};
int optFd_ {-1};
bool bIsDead_ {};
};
}