libc/new/linux_uapi/linux/can/
netlink.rs1use crate::prelude::*;
4
5#[automatically_derived]
#[allow(deprecated)]
impl ::core::clone::Clone for can_device_stats {
#[inline]
fn clone(&self) -> can_device_stats {
let _: ::core::clone::AssertParamIsClone<u32>;
*self
}
}
#[automatically_derived]
#[allow(deprecated)]
impl ::core::marker::Copy for can_device_stats { }
#[automatically_derived]
#[allow(deprecated)]
impl ::core::fmt::Debug for can_device_stats {
#[inline]
fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
let names: &'static _ =
&["bus_error", "error_warning", "error_passive", "bus_off",
"arbitration_lost", "restarts"];
let values: &[&dyn ::core::fmt::Debug] =
&[&self.bus_error, &self.error_warning, &self.error_passive,
&self.bus_off, &self.arbitration_lost, &&self.restarts];
::core::fmt::Formatter::debug_struct_fields_finish(f,
"can_device_stats", names, values)
}
}s! {
6 pub struct can_bittiming {
7 pub bitrate: u32,
8 pub sample_point: u32,
9 pub tq: u32,
10 pub prop_seg: u32,
11 pub phase_seg1: u32,
12 pub phase_seg2: u32,
13 pub sjw: u32,
14 pub brp: u32,
15 }
16
17 pub struct can_bittiming_const {
18 pub name: [c_char; 16],
19 pub tseg1_min: u32,
20 pub tseg1_max: u32,
21 pub tseg2_min: u32,
22 pub tseg2_max: u32,
23 pub sjw_max: u32,
24 pub brp_min: u32,
25 pub brp_max: u32,
26 pub brp_inc: u32,
27 }
28
29 pub struct can_clock {
30 pub freq: u32,
31 }
32
33 pub struct can_berr_counter {
34 pub txerr: u16,
35 pub rxerr: u16,
36 }
37
38 pub struct can_ctrlmode {
39 pub mask: u32,
40 pub flags: u32,
41 }
42
43 pub struct can_device_stats {
44 pub bus_error: u32,
45 pub error_warning: u32,
46 pub error_passive: u32,
47 pub bus_off: u32,
48 pub arbitration_lost: u32,
49 pub restarts: u32,
50 }
51}
52
53pub type can_state = c_uint;
pub const CAN_STATE_ERROR_ACTIVE: can_state =
{
#[allow(unused_variables)]
let r = 0;
let r = 0;
r
};
pub const CAN_STATE_ERROR_WARNING: can_state =
{
#[allow(unused_variables)]
let r = CAN_STATE_ERROR_ACTIVE + 1;
r
};
pub const CAN_STATE_ERROR_PASSIVE: can_state =
{
#[allow(unused_variables)]
let r = CAN_STATE_ERROR_WARNING + 1;
r
};
pub const CAN_STATE_BUS_OFF: can_state =
{
#[allow(unused_variables)]
let r = CAN_STATE_ERROR_PASSIVE + 1;
r
};
pub const CAN_STATE_STOPPED: can_state =
{
#[allow(unused_variables)]
let r = CAN_STATE_BUS_OFF + 1;
r
};
pub const CAN_STATE_SLEEPING: can_state =
{
#[allow(unused_variables)]
let r = CAN_STATE_STOPPED + 1;
r
};c_enum! {
54 #[repr(c_uint)]
55 pub enum can_state {
56 pub CAN_STATE_ERROR_ACTIVE = 0,
57 pub CAN_STATE_ERROR_WARNING,
58 pub CAN_STATE_ERROR_PASSIVE,
59 pub CAN_STATE_BUS_OFF,
60 pub CAN_STATE_STOPPED,
61 pub CAN_STATE_SLEEPING,
62 }
63}
64
65pub const CAN_CTRLMODE_LOOPBACK: u32 = 0x01;
66pub const CAN_CTRLMODE_LISTENONLY: u32 = 0x02;
67pub const CAN_CTRLMODE_3_SAMPLES: u32 = 0x04;
68pub const CAN_CTRLMODE_ONE_SHOT: u32 = 0x08;
69pub const CAN_CTRLMODE_BERR_REPORTING: u32 = 0x10;
70pub const CAN_CTRLMODE_FD: u32 = 0x20;
71pub const CAN_CTRLMODE_PRESUME_ACK: u32 = 0x40;
72pub const CAN_CTRLMODE_FD_NON_ISO: u32 = 0x80;
73pub const CAN_CTRLMODE_CC_LEN8_DLC: u32 = 0x100;
74pub const CAN_CTRLMODE_TDC_AUTO: u32 = 0x200;
75pub const CAN_CTRLMODE_TDC_MANUAL: u32 = 0x400;
76
77pub const IFLA_CAN_CTRLMODE_EXT: c_int =
{
#[allow(unused_variables)]
let r = IFLA_CAN_TDC + 1;
r
};c_enum! {
78 #[repr(c_int)]
79 pub enum #anon {
80 pub IFLA_CAN_UNSPEC = 0,
81 pub IFLA_CAN_BITTIMING,
82 pub IFLA_CAN_BITTIMING_CONST,
83 pub IFLA_CAN_CLOCK,
84 pub IFLA_CAN_STATE,
85 pub IFLA_CAN_CTRLMODE,
86 pub IFLA_CAN_RESTART_MS,
87 pub IFLA_CAN_RESTART,
88 pub IFLA_CAN_BERR_COUNTER,
89 pub IFLA_CAN_DATA_BITTIMING,
90 pub IFLA_CAN_DATA_BITTIMING_CONST,
91 pub IFLA_CAN_TERMINATION,
92 pub IFLA_CAN_TERMINATION_CONST,
93 pub IFLA_CAN_BITRATE_CONST,
94 pub IFLA_CAN_DATA_BITRATE_CONST,
95 pub IFLA_CAN_BITRATE_MAX,
96 pub IFLA_CAN_TDC,
97 pub IFLA_CAN_CTRLMODE_EXT,
98 }
99}
100
101pub const IFLA_CAN_TDC_TDCF: c_int =
{
#[allow(unused_variables)]
let r = IFLA_CAN_TDC_TDCO + 1;
r
};c_enum! {
102 #[repr(c_int)]
103 pub enum #anon {
104 pub IFLA_CAN_TDC_UNSPEC = 0,
105 pub IFLA_CAN_TDC_TDCV_MIN,
106 pub IFLA_CAN_TDC_TDCV_MAX,
107 pub IFLA_CAN_TDC_TDCO_MIN,
108 pub IFLA_CAN_TDC_TDCO_MAX,
109 pub IFLA_CAN_TDC_TDCF_MIN,
110 pub IFLA_CAN_TDC_TDCF_MAX,
111 pub IFLA_CAN_TDC_TDCV,
112 pub IFLA_CAN_TDC_TDCO,
113 pub IFLA_CAN_TDC_TDCF,
114 }
115}
116
117pub const IFLA_CAN_CTRLMODE_SUPPORTED: c_int =
{
#[allow(unused_variables)]
let r = IFLA_CAN_CTRLMODE_UNSPEC + 1;
r
};c_enum! {
118 #[repr(c_int)]
119 pub enum #anon {
120 pub IFLA_CAN_CTRLMODE_UNSPEC = 0,
121 pub IFLA_CAN_CTRLMODE_SUPPORTED,
122 }
123}
124
125pub const CAN_TERMINATION_DISABLED: u16 = 0;