14#define RTC_IRQ_NUMBER 8
15#define CMOS_ADDRESS_PORT 0x70
16#define CMOS_DATA_PORT 0x71
17#define CMOS_DISABLE_NMI (1 << 7)
18#define CMOS_BATTERY_OK 0x80
21#define CMOS_STB_DST (1 << 0)
22#define CMOS_STB_24HOUR (1 << 1)
23#define CMOS_STB_BINARY (1 << 2)
24#define CMOS_STB_SQUARE_WAVE (1 << 3)
25#define CMOS_STB_INT_ON_UPDATE (1 << 4)
26#define CMOS_STB_INT_ON_ALARM (1 << 5)
27#define CMOS_STB_INT_PERIODIC (1 << 6)
28#define CMOS_STB_UPDATE_CYCLE (1 << 7)
31#define CMOS_STC_UF (1 << 4)
32#define CMOS_STC_AF (1 << 5)
33#define CMOS_STC_PF (1 << 6)
34#define CMOS_STC_IRQF (1 << 7)
37#define CMOS_DEFAULT_STA 0x26
38#define CMOS_DEFAULT_STB CMOS_STB_24HOUR
41#define CMOS_EQUIPMENT_LIST 0x6F
44#define WRITE_CMOS_DATA(Cmos, Value) \
45 ((Cmos).StatusRegB & CMOS_STB_BINARY) ? (Value) : BCD_TO_BINARY(Value)
47#define READ_CMOS_DATA(Cmos, Value) \
48 ((Cmos).StatusRegB & CMOS_STB_BINARY) ? (Value) : BINARY_TO_BCD(Value)
enum _CMOS_REGISTERS * PCMOS_REGISTERS
BOOLEAN IsNmiEnabled(VOID)
enum _CMOS_REGISTERS CMOS_REGISTERS
DWORD RtcGetTicksPerSecond(VOID)
struct CMOS_MEMORY * PCMOS_MEMORY
@ CMOS_REG_EXT_MEMORY_HIGH
@ CMOS_REG_ACTUAL_EXT_MEMORY_LOW
@ CMOS_REG_SHUTDOWN_STATUS
@ CMOS_REG_BASE_MEMORY_HIGH
@ CMOS_REG_EXT_MEMORY_LOW
@ CMOS_REG_BASE_MEMORY_LOW
@ CMOS_REG_ACTUAL_EXT_MEMORY_HIGH
@ CMOS_REG_EQUIPMENT_LIST
struct CMOS_CLOCK * PCMOS_CLOCK
VOID CmosInitialize(VOID)