use std::mem;
pub use {ca_descr_type::*, ca_slot_flags::*, ca_slot_type::*};
mod ca_slot_type {
pub const CA_CI: u32 = 1;
pub const CA_CI_LINK: u32 = 2;
pub const CA_CI_PHYS: u32 = 4;
pub const CA_DESCR: u32 = 8;
pub const CA_SC: u32 = 128;
}
mod ca_slot_flags {
pub const CA_CI_MODULE_NOT_FOUND: u32 = 0;
pub const CA_CI_MODULE_PRESENT: u32 = 1;
pub const CA_CI_MODULE_READY: u32 = 2;
}
#[repr(C)]
#[derive(Default, Debug)]
pub struct CaSlotInfo {
pub slot_num: u32,
pub slot_type: u32,
pub flags: u32,
}
mod ca_descr_type {
pub const CA_ECD: u32 = 1;
pub const CA_NDS: u32 = 2;
pub const CA_DSS: u32 = 4;
}
#[repr(C)]
#[derive(Default, Debug)]
pub struct CaDescrInfo {
pub descr_num: u32,
pub descr_type: u32,
}
#[repr(C)]
#[derive(Default, Debug)]
pub struct CaCaps {
pub slot_num: u32,
pub slot_type: u32,
pub descr_num: u32,
pub descr_type: u32,
}
#[repr(C)]
#[derive(Debug)]
pub struct CaMsg {
index: u32,
typ: u32,
pub length: u32,
pub msg: [u8; 256],
}
impl Default for CaMsg {
#[inline]
fn default() -> Self {
unsafe { mem::zeroed::<Self>() }
}
}
#[repr(C)]
#[derive(Default, Debug)]
pub struct CaDescr {
pub index: u32,
pub parity: u32,
pub cw: [u8; 8],
}
#[repr(C)]
#[derive(Default, Debug)]
pub struct CaPid {
pub pid: u32,
pub index: i32,
}