Files
exectos/xtoskrnl/includes/rtl/time.hh
Aiken Harris 4d12f7ac01
Some checks failed
Builds / ExectOS (amd64, debug) (push) Successful in -59m21s
Builds / ExectOS (amd64, release) (push) Successful in -59m23s
Builds / ExectOS (i686, debug) (push) Failing after -59m32s
Builds / ExectOS (i686, release) (push) Failing after -59m34s
Implement inverse time conversion functions for Unix and XT epochs
2026-04-25 23:32:07 +02:00

40 lines
1.2 KiB
C++

/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/includes/rtl/time.hh
* DESCRIPTION: Time conversion support
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
*/
#ifndef __XTOSKRNL_RTL_TIME_HH
#define __XTOSKRNL_RTL_TIME_HH
#include <xtos.hh>
/* Runtime Library */
namespace RTL
{
class Time
{
private:
STATIC CUSHORT DaysInMonth[2][12];
public:
STATIC XTAPI XTSTATUS TimeFieldsToUnixEpoch(IN PTIME_FIELDS TimeFields,
OUT PLONGLONG UnixTime);
STATIC XTAPI XTSTATUS TimeFieldsToXtEpoch(IN PTIME_FIELDS TimeFields,
OUT PLARGE_INTEGER XtTime);
STATIC XTAPI XTSTATUS UnixEpochToTimeFields(IN PLONGLONG UnixTime,
OUT PTIME_FIELDS TimeFields);
STATIC XTAPI XTSTATUS XtEpochToTimeFields(IN PLARGE_INTEGER XtTime,
OUT PTIME_FIELDS TimeFields);
private:
STATIC XTFASTCALL BOOLEAN LeapYear(SHORT Year);
};
}
#endif /* __XTOSKRNL_RTL_TIME_HH */