32 lines
979 B
C
32 lines
979 B
C
#pragma once
|
|
#include <stdint.h>
|
|
|
|
#define SYS_TIME_FLAG_VALID 0x0001u
|
|
#define SYS_TIME_FLAG_TZ_KNOWN 0x0002u
|
|
#define SYS_TIME_FLAG_UEFI 0x0004u
|
|
#define SYS_TIME_FLAG_FALLBACK 0x0008u
|
|
#define SYS_TIME_FLAG_RTC 0x0010u
|
|
#define SYS_TIME_FLAG_DAYLIGHT 0x0020u
|
|
#define SYS_TIME_UNSPECIFIED_TZ 2047
|
|
|
|
// Calendar wall-clock time maintained by the kernel. DayOfWeek uses the
|
|
// Win32 convention: 0 = Sunday, 1 = Monday, ... 6 = Saturday.
|
|
// TimeZoneMinutes is minutes east of UTC for the returned local calendar.
|
|
// EpochSeconds is UTC seconds since 1970-01-01 00:00:00.
|
|
typedef struct SYS_SYSTEM_TIME {
|
|
uint16_t Year;
|
|
uint8_t Month;
|
|
uint8_t Day;
|
|
uint8_t Hour;
|
|
uint8_t Minute;
|
|
uint8_t Second;
|
|
uint8_t DayOfWeek;
|
|
uint16_t Millisecond;
|
|
uint16_t Flags;
|
|
uint32_t Nanosecond;
|
|
int16_t TimeZoneMinutes;
|
|
uint16_t Reserved0;
|
|
uint64_t EpochSeconds;
|
|
uint64_t TickMicroseconds;
|
|
} SYS_SYSTEM_TIME;
|