66 lines
1.2 KiB
C++
66 lines
1.2 KiB
C++
|
/***
|
||
|
Copyright (C) 2023 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
||
|
|
||
|
File: StaticClocks.hpp
|
||
|
Date: 2023-tbd (<6)
|
||
|
Author: Reece
|
||
|
***/
|
||
|
#pragma once
|
||
|
|
||
|
namespace Aurora::Time
|
||
|
{
|
||
|
/**
|
||
|
* @brief
|
||
|
* @return
|
||
|
*/
|
||
|
AUKN_SYM AuSPtr<IClock> GetWallClock();
|
||
|
|
||
|
/**
|
||
|
* @brief
|
||
|
* @return
|
||
|
*/
|
||
|
AUKN_SYM AuSPtr<IClock> GetSteadyClock();
|
||
|
|
||
|
/**
|
||
|
* @brief kernel + userland cycles used
|
||
|
* @return
|
||
|
*/
|
||
|
AUKN_SYM AuSPtr<IClock> GetProcessClock();
|
||
|
|
||
|
/**
|
||
|
* @brief user time used
|
||
|
* @return
|
||
|
*/
|
||
|
AUKN_SYM AuSPtr<IClock> GetProcessUserClock();
|
||
|
|
||
|
/**
|
||
|
* @brief kernel (if known) cycles used
|
||
|
* @return
|
||
|
*/
|
||
|
AUKN_SYM AuSPtr<IClock> GetProcessKernelClock();
|
||
|
|
||
|
/**
|
||
|
* @brief kernel + userland cycles used
|
||
|
* @return
|
||
|
*/
|
||
|
AUKN_SYM AuSPtr<IClock> GetThreadClock();
|
||
|
|
||
|
/**
|
||
|
* @brief user time used
|
||
|
* @return
|
||
|
*/
|
||
|
AUKN_SYM AuSPtr<IClock> GetThreadUserClock();
|
||
|
|
||
|
/**
|
||
|
* @brief kernel (if known) cycles used
|
||
|
* @return
|
||
|
*/
|
||
|
AUKN_SYM AuSPtr<IClock> GetThreadKernelClock();
|
||
|
|
||
|
/**
|
||
|
* @brief
|
||
|
* @param clock
|
||
|
* @return
|
||
|
*/
|
||
|
AUKN_SYM AuSPtr<IClock> GetClockFromEnum(EClock clock);
|
||
|
}
|