#![allow(unused_imports)]
use super::{uint_t, ATR, ER, ER_ID, EXINF, FLGPTN, HRTCNT, ID, MODE, RELTIM, STAT, SYSTIM};
pub type TMEHDR = Option<unsafe extern "C" fn(EXINF)>;
pub const TA_STA: ATR = 0x02;
pub const TNFY_HANDLER: MODE = 0x00;
pub const TNFY_SETVAR: MODE = 0x01;
pub const TNFY_INCVAR: MODE = 0x02;
pub const TNFY_ACTTSK: MODE = 0x03;
pub const TNFY_WUPTSK: MODE = 0x04;
pub const TNFY_SIGSEM: MODE = 0x05;
pub const TNFY_SETFLG: MODE = 0x06;
pub const TNFY_SNDDTQ: MODE = 0x07;
pub const TENFY_SETVAR: MODE = 0x10;
pub const TENFY_INCVAR: MODE = 0x20;
pub const TENFY_ACTTSK: MODE = 0x30;
pub const TENFY_WUPTSK: MODE = 0x40;
pub const TENFY_SIGSEM: MODE = 0x50;
pub const TENFY_SETFLG: MODE = 0x60;
pub const TENFY_SNDDTQ: MODE = 0x70;
#[cfg(any(feature = "asp3", feature = "solid_asp3"))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_RCYC {
pub cycstat: STAT,
pub lefttim: RELTIM,
}
#[cfg(any(feature = "fmp3", feature = "solid_fmp3"))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_RCYC {
pub cycstat: STAT,
pub lefttim: RELTIM,
pub prcid: ID,
}
#[cfg(any(feature = "asp3", feature = "solid_asp3"))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_RALM {
pub almstat: STAT,
pub lefttim: RELTIM,
}
#[cfg(any(feature = "fmp3", feature = "solid_fmp3"))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_RALM {
pub almstat: STAT,
pub lefttim: RELTIM,
pub prcid: ID,
}
#[cfg(all(feature = "asp3", feature = "ovrhdr"))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_ROVR {
pub ovrstat: STAT,
pub leftotm: super::PRCTIM,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre")
))]
#[derive(Clone, Copy)]
#[repr(C)]
pub struct T_CCYC {
pub cycatr: ATR,
pub nfyinfo: T_NFYINFO,
pub cyctim: RELTIM,
pub cycphs: RELTIM,
}
#[cfg(all(feature = "solid_fmp3", feature = "dcre"))]
#[derive(Clone, Copy)]
#[repr(C)]
pub struct T_CCYC {
pub cycatr: ATR,
pub nfyinfo: T_NFYINFO,
pub cyctim: RELTIM,
pub cycphs: RELTIM,
#[cfg(feature = "systim_local")]
pub iprcid: ID,
#[cfg(feature = "systim_local")]
pub affinity: uint_t,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre")
))]
#[derive(Clone, Copy)]
#[repr(C)]
pub struct T_CALM {
pub almatr: ATR,
pub nfyinfo: T_NFYINFO,
}
#[cfg(all(feature = "solid_fmp3", feature = "dcre"))]
#[derive(Clone, Copy)]
#[repr(C)]
pub struct T_CALM {
pub almatr: ATR,
pub nfyinfo: T_NFYINFO,
#[cfg(feature = "systim_local")]
pub iprcid: ID,
#[cfg(feature = "systim_local")]
pub affinity: uint_t,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Clone, Copy)]
#[repr(C)]
pub struct T_NFYINFO {
pub nfymode: MODE,
pub nfy: T_NFY,
pub enfy: T_ENFY,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Clone, Copy)]
#[repr(C)]
pub union T_NFY {
pub handler: T_NFY_HDR,
pub setvar: T_NFY_VAR,
pub incvar: T_NFY_IVAR,
pub acttsk: T_NFY_TSK,
pub wuptsk: T_NFY_TSK,
pub sigsem: T_NFY_SEM,
pub setflg: T_NFY_FLG,
pub snddtq: T_NFY_DTQ,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Clone, Copy)]
#[repr(C)]
pub union T_ENFY {
pub setvar: T_ENFY_VAR,
pub incvar: T_NFY_IVAR,
pub acttsk: T_NFY_TSK,
pub wuptsk: T_NFY_TSK,
pub sigsem: T_NFY_SEM,
pub setflg: T_NFY_FLG,
pub snddtq: T_ENFY_DTQ,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Debug, Clone, Copy)]
#[repr(C)]
pub struct T_NFY_HDR {
pub exinf: EXINF,
pub tmehdr: TMEHDR,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_NFY_VAR {
pub p_var: *mut isize,
pub value: isize,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_NFY_IVAR {
pub p_var: *mut isize,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_NFY_TSK {
pub tskid: ID,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_NFY_SEM {
pub semid: ID,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_NFY_FLG {
pub flgid: ID,
#[cfg(all(
any(feature = "solid_asp3", feature = "solid_fmp3"),
target_pointer_width = "64",
))]
pub __pad_for_aarch64: u32,
pub flgptn: FLGPTN,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_NFY_DTQ {
pub dtqid: ID,
#[cfg(all(
any(feature = "solid_asp3", feature = "solid_fmp3"),
target_pointer_width = "64",
))]
pub __pad_for_aarch64: u32,
pub data: isize,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_ENFY_VAR {
pub p_var: *mut isize,
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(C)]
pub struct T_ENFY_DTQ {
pub dtqid: ID,
}
#[cfg(any(
feature = "asp3",
feature = "fmp3",
feature = "solid_asp3",
feature = "solid_fmp3"
))]
extern "C" {
pub fn set_tim(systim: SYSTIM) -> ER;
pub fn get_tim(p_systim: *mut SYSTIM) -> ER;
pub fn adj_tim(adjtim: i32) -> ER;
pub fn fch_hrt() -> HRTCNT;
pub fn sta_cyc(cycid: ID) -> ER;
pub fn stp_cyc(cycid: ID) -> ER;
pub fn ref_cyc(cycid: ID, pk_rcyc: *mut T_RCYC) -> ER;
pub fn sta_alm(almid: ID, almtim: RELTIM) -> ER;
pub fn stp_alm(almid: ID) -> ER;
pub fn ref_alm(almid: ID, pk_ralm: *mut T_RALM) -> ER;
}
#[cfg(any(
all(feature = "asp3", feature = "dcre"),
all(feature = "solid_asp3", feature = "dcre"),
all(feature = "solid_fmp3", feature = "dcre")
))]
extern "C" {
pub fn acre_cyc(pk_ccyc: *const T_CCYC) -> ER_ID;
pub fn acre_alm(pk_calm: *const T_CALM) -> ER_ID;
pub fn del_cyc(cycid: ID) -> ER;
pub fn del_alm(almid: ID) -> ER;
}
#[cfg(any(feature = "fmp3", feature = "solid_fmp3"))]
extern "C" {
pub fn msta_cyc(cycid: ID, prcid: ID) -> ER;
pub fn msta_alm(almid: ID, almtim: RELTIM, prcid: ID) -> ER;
}
#[cfg(all(feature = "asp3", feature = "ovrhdr"))]
extern "C" {
pub fn sta_ovr(tskid: ID, ovrtim: super::PRCTIM) -> ER;
pub fn stp_ovr(tskid: ID) -> ER;
pub fn ref_ovr(tskid: ID, pk_rovr: *mut T_ROVR) -> ER;
}