Jamie Reece Wilson
d14ba6cfd4
[+] AuThreading::TryWaitOnAddressSpecial [+] AuThreading::TryWaitOnAddressSpecialEx [+] AuThreading::WaitOnAddressSpecial [+] AuThreading::WaitOnAddressSpecialSteady
50 lines
1.4 KiB
C++
50 lines
1.4 KiB
C++
/***
|
|
Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
File: AuProcAddresses.hpp
|
|
Date: 2023-2-16
|
|
Author: Reece
|
|
***/
|
|
#pragma once
|
|
|
|
#if defined(AURORA_IS_MODERNNT_DERIVED)
|
|
#include "AuProcAddresses.NT.hpp"
|
|
#endif
|
|
|
|
#if defined(AURORA_IS_LINUX_DERIVED)
|
|
#include "AuProcAddresses.Linux.hpp"
|
|
#endif
|
|
|
|
#if defined(AURORA_IS_POSIX_DERIVED)
|
|
#include "AuProcAddresses.UNIX.hpp"
|
|
#endif
|
|
|
|
namespace Aurora
|
|
{
|
|
void InitProcAddresses();
|
|
|
|
inline bool gUseNativeWaitRWLock {};
|
|
|
|
bool SysNativeWaitOnAddressFutexSupported();
|
|
|
|
bool SysWaitOnAddressNoTimed(const void *pTargetAddress,
|
|
const void *pCompareAddress,
|
|
AuUInt8 uWordSize);
|
|
|
|
bool SysWaitOnAddressTimed(const void *pTargetAddress,
|
|
const void *pCompareAddress,
|
|
AuUInt8 uWordSize,
|
|
AuUInt64 uAbsTimeSteadyClock,
|
|
AuUInt64 uRelativeNanoseconds,
|
|
AuOptional<AuUInt64> uAbsTimeAltClock /* hint */,
|
|
bool bSpun = false);
|
|
|
|
void SysWakeNOnAddress(const void *pAddress,
|
|
AuUInt32 dwCount);
|
|
|
|
void SysWakeOneOnAddress(const void *pAddress);
|
|
|
|
void SysWakeAllOnAddress(const void *pAddress);
|
|
|
|
AuUInt64 SysGetFileLength(AuUInt uOSHandle);
|
|
} |