AuroraRuntime/Include/Aurora/Time/TM.hpp
Reece e5e36bd887 Large Commit
[*] Fix deadlock in the async subsystem (NoLockShutdown vs Shutdown in exception handler)
[+] Added ProccessMap NT variant
[+] Added ToolHelp image profiling
[*] Improved exception awareness
[*] Delegated SpawnThread to isolated TU, ready for reuse for RunAs and XNU Open - now with horrible evil alloc that could fail
[+] Added header for future api 'UtilRun'
[*] Improve NT core detection
[*] Changed small affinity bitmap to AuUInt64 instead of AuUInt32
[+] Added data structure to hold cpuids/affinity masks
[+] Implemented logger sinks
[+] Implemented logger glue logic
[*] Began migrating older loggers to sink-based default devices
[*] Minor refactors
[*] Improved internal exception discarding, not yet nothrow capable
[*] Minor create directory fix
2022-01-24 18:43:53 +00:00

52 lines
1.2 KiB
C++

/***
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: ETimezoneShift.hpp
Date: 2022-1-24
Author: Reece
***/
#pragma once
namespace Aurora::Time
{
struct tm
{
int tm_sec {};
int tm_min {};
int tm_hour {};
int tm_mday {1};
int tm_mon {};
int tm_year {70};
int tm_wday {};
int tm_yday {};
int tm_isdst {-1};
template<typename Dest_t>
void CopyTo(Dest_t &out) const
{
out.tm_sec = tm_sec;
out.tm_min = tm_min;
out.tm_hour = tm_hour;
out.tm_mday = tm_mday;
out.tm_mon = tm_mon;
out.tm_year = tm_year;
out.tm_wday = tm_wday;
out.tm_yday = tm_yday;
out.tm_isdst = tm_isdst;
}
template<typename In_t>
void CopyFrom(const In_t &in)
{
tm_sec = in.tm_sec;
tm_min = in.tm_min;
tm_hour = in.tm_hour;
tm_mday = in.tm_mday;
tm_mon = in.tm_mon;
tm_year = in.tm_year;
tm_wday = in.tm_wday;
tm_yday = in.tm_yday;
tm_isdst = in.tm_isdst;
}
};
}