#![allow(non_snake_case, non_upper_case_globals, non_camel_case_types)]
pub const CAN_CTRLMODE_LOOPBACK: u32 = 0x01;
pub const CAN_CTRLMODE_LISTENONLY: u32 = 0x02;
pub const CAN_CTRLMODE_3_SAMPLES: u32 = 0x04;
pub const CAN_CTRLMODE_ONE_SHOT: u32 = 0x08;
pub const CAN_CTRLMODE_BERR_REPORTING: u32 = 0x10;
pub const CAN_CTRLMODE_FD: u32 = 0x20;
pub const CAN_CTRLMODE_PRESUME_ACK: u32 = 0x40;
pub const CAN_CTRLMODE_FD_NON_ISO: u32 = 0x80;
pub const CAN_CTRLMODE_CC_LEN8_DLC: u32 = 0x100;
pub const CAN_CTRLMODE_TDC_AUTO: u32 = 0x200;
pub const CAN_CTRLMODE_TDC_MANUAL: u32 = 0x400;
pub const CAN_TERMINATION_DISABLED: u32 = 0;
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(u32)]
pub enum ifla_can {
IFLA_CAN_UNSPEC,
IFLA_CAN_BITTIMING,
IFLA_CAN_BITTIMING_CONST,
IFLA_CAN_CLOCK,
IFLA_CAN_STATE,
IFLA_CAN_CTRLMODE,
IFLA_CAN_RESTART_MS,
IFLA_CAN_RESTART,
IFLA_CAN_BERR_COUNTER,
IFLA_CAN_DATA_BITTIMING,
IFLA_CAN_DATA_BITTIMING_CONST,
IFLA_CAN_TERMINATION,
IFLA_CAN_TERMINATION_CONST,
IFLA_CAN_BITRATE_CONST,
IFLA_CAN_DATA_BITRATE_CONST,
IFLA_CAN_BITRATE_MAX,
IFLA_CAN_TDC,
IFLA_CAN_CTRLMODE_EXT,
__IFLA_CAN_MAX,
}
pub const IFLA_CAN_MAX: u32 = ifla_can::__IFLA_CAN_MAX as u32 - 1;
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(u32)]
pub enum ifla_can_tdc {
IFLA_CAN_TDC_UNSPEC,
IFLA_CAN_TDC_TDCV_MIN,
IFLA_CAN_TDC_TDCV_MAX,
IFLA_CAN_TDC_TDCO_MIN,
IFLA_CAN_TDC_TDCO_MAX,
IFLA_CAN_TDC_TDCF_MIN,
IFLA_CAN_TDC_TDCF_MAX,
IFLA_CAN_TDC_TDCV,
IFLA_CAN_TDC_TDCO,
IFLA_CAN_TDC_TDCF,
__IFLA_CAN_TDC,
}
pub const IFLA_CAN_TDC_MAX: u32 = ifla_can_tdc::__IFLA_CAN_TDC as u32 - 1;
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(u32)]
pub enum ifla_can_ctrlmode {
IFLA_CAN_CTRLMODE_UNSPEC,
IFLA_CAN_CTRLMODE_SUPPORTED,
__IFLA_CAN_CTRLMODE,
}
pub const IFLA_CAN_CTRLMODE_MAX: u32 = ifla_can_ctrlmode::__IFLA_CAN_CTRLMODE as u32 - 1;
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(u32)]
pub enum can_state {
CAN_STATE_ERROR_ACTIVE = 0,
CAN_STATE_ERROR_WARNING,
CAN_STATE_ERROR_PASSIVE,
CAN_STATE_BUS_OFF,
CAN_STATE_STOPPED,
CAN_STATE_SLEEPING,
CAN_STATE_MAX,
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(C)]
pub struct can_bittiming {
pub bitrate: u32,
pub sample_point: u32,
pub tq: u32,
pub prop_seg: u32,
pub phase_seg1: u32,
pub phase_seg2: u32,
pub sjw: u32,
pub brp: u32,
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(C)]
pub struct can_bittiming_const {
pub name: [u8; 16],
pub tseg1_min: u32,
pub tseg1_max: u32,
pub tseg2_min: u32,
pub tseg2_max: u32,
pub sjw_max: u32,
pub brp_min: u32,
pub brp_max: u32,
pub brp_inc: u32,
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(C)]
pub struct can_clock {
pub freq: u32,
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(C)]
pub struct can_berr_counter {
pub txerr: u16,
pub rxerr: u16,
}
#[derive(Debug, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(C)]
pub struct can_ctrlmode {
pub flags: u32,
pub mask: u32,
}
#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(C)]
pub struct can_device_stats {
pub bus_error: u32,
pub error_warning: u32,
pub error_passive: u32,
pub bus_off: u32,
pub arbitration_lost: u32,
pub restarts: u32,
}