use core::ffi::c_void;
use crate::map_jump_table;
#[repr(C)]
#[derive(Default, Debug, Copy, Clone, Eq, PartialEq)]
pub struct time {
pub ti_hour: u8,
pub ti_min: u8,
pub ti_sec: u8,
pub ti_hund: u8,
}
#[repr(C)]
#[derive(Default, Debug, Copy, Clone, Eq, PartialEq)]
pub struct date {
pub da_year: u16,
pub da_day: u8,
pub da_mon: u8,
}
map_jump_table! {
0x10 => pub fn vexStdlibMismatchError(param_1: u32, param_2: u32),
0x01c =>
pub fn vexScratchMemoryPtr(ptr: *mut *mut core::ffi::c_void) -> i32,
0x998 => pub fn vexScratchMemoryLock() -> bool,
0x99c => pub fn vexScratchMemoryUnock(),
0x118 =>
pub fn vexSystemTimeGet() -> u32,
0x11c => pub fn vexGettime() -> time,
0x120 => pub fn vexGetdate() -> date,
0x124 => pub fn vexSystemMemoryDump(),
0x128 => pub fn vexSystemDigitalIO(pin: u32, value: u32),
0x12c => pub fn vexSystemStartupOptions() -> u32,
0x130 =>
pub fn vexSystemExitRequest() -> !,
0x134 =>
pub fn vexSystemHighResTimeGet() -> u64,
0x138 =>
pub fn vexSystemPowerupTimeGet() -> u64,
0x13c =>
pub fn vexSystemLinkAddrGet() -> u32,
0x168 => pub fn vexSystemTimerGet(param_1: u32) -> u32,
0x16c => pub fn vexSystemTimerEnable(param_1: u32) -> u32,
0x170 => pub fn vexSystemTimerDisable(param_1: u32),
0x174 => pub fn vexSystemUsbStatus() -> u32,
0x8c0 => pub fn vexSystemTimerStop(),
0x8c4 => pub fn vexSystemTimerClearInterrupt(),
0x8c8 => pub fn vexSystemTimerReinitForRtos(priority: u32, handler: extern "C" fn(data: *mut c_void)) -> i32,
0x8cc => pub fn vexSystemApplicationIRQHandler(ulICCIAR: u32),
0x8d0 => pub fn vexSystemWatchdogReinitRtos() -> i32,
0x8d4 => pub fn vexSystemWatchdogGet() -> u32,
0x910 => pub fn vexSystemBoot(),
0x914 => pub fn vexSystemUndefinedException(),
0x918 => pub fn vexSystemFIQInterrupt(),
0x91c => pub fn vexSystemIQRQnterrupt(),
0x920 => pub fn vexSystemSWInterrupt(),
0x924 => pub fn vexSystemDataAbortInterrupt(),
0x928 => pub fn vexSystemPrefetchAbortInterrupt(),
}