Files
c3c/lib/std/time/os/time_darwin.c3
Christoffer Lerno 8b49e6c14d Rename def to alias.
2025-03-13 11:22:27 +01:00

24 lines
567 B
Plaintext

module std::time::os @if(env::DARWIN);
struct Darwin_mach_timebase_info
{
uint numer;
uint denom;
}
alias Darwin_mach_timebase_info_t = Darwin_mach_timebase_info;
alias Darwin_mach_timebase_info_data_t = Darwin_mach_timebase_info;
extern fn void mach_timebase_info(Darwin_mach_timebase_info_data_t* timebase);
extern fn ulong mach_absolute_time();
fn Clock native_clock()
{
static Darwin_mach_timebase_info_data_t timebase;
if (!timebase.denom)
{
mach_timebase_info(&timebase);
}
return (Clock)(mach_absolute_time() * timebase.numer / timebase.denom);
}