Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions libc-test/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3859,6 +3859,7 @@ fn test_linux(target: &str) {
(gnu, "linux/aio_abi.h"),
"linux/can.h",
"linux/can/bcm.h",
"linux/can/error.h",
"linux/can/raw.h",
"linux/can/j1939.h",
"linux/cn_proc.h",
Expand Down
62 changes: 62 additions & 0 deletions libc-test/semver/linux.txt
Original file line number Diff line number Diff line change
Expand Up @@ -230,11 +230,73 @@ CANXL_PRIO_MASK
CANXL_SEC
CANXL_XLF
CAN_BCM
CAN_BUS_OFF_THRESHOLD
CAN_EFF_FLAG
CAN_EFF_ID_BITS
CAN_EFF_MASK
CAN_ERROR_PASSIVE_THRESHOLD
CAN_ERROR_WARNING_THRESHOLD
CAN_ERR_ACK
CAN_ERR_BUSERROR
CAN_ERR_BUSOFF
CAN_ERR_CNT
CAN_ERR_CRTL
CAN_ERR_CRTL_ACTIVE
CAN_ERR_CRTL_RX_OVERFLOW
CAN_ERR_CRTL_RX_PASSIVE
CAN_ERR_CRTL_RX_WARNING
CAN_ERR_CRTL_TX_OVERFLOW
CAN_ERR_CRTL_TX_PASSIVE
CAN_ERR_CRTL_TX_WARNING
CAN_ERR_CRTL_UNSPEC
CAN_ERR_DLC
CAN_ERR_FLAG
CAN_ERR_LOSTARB
CAN_ERR_LOSTARB_UNSPEC
CAN_ERR_MASK
CAN_ERR_PROT
CAN_ERR_PROT_ACTIVE
CAN_ERR_PROT_BIT
CAN_ERR_PROT_BIT0
CAN_ERR_PROT_BIT1
CAN_ERR_PROT_FORM
CAN_ERR_PROT_LOC_ACK
CAN_ERR_PROT_LOC_ACK_DEL
CAN_ERR_PROT_LOC_CRC_DEL
CAN_ERR_PROT_LOC_CRC_SEQ
CAN_ERR_PROT_LOC_DATA
CAN_ERR_PROT_LOC_DLC
CAN_ERR_PROT_LOC_EOF
CAN_ERR_PROT_LOC_ID04_00
CAN_ERR_PROT_LOC_ID12_05
CAN_ERR_PROT_LOC_ID17_13
CAN_ERR_PROT_LOC_ID20_18
CAN_ERR_PROT_LOC_ID28_21
CAN_ERR_PROT_LOC_IDE
CAN_ERR_PROT_LOC_INTERM
CAN_ERR_PROT_LOC_RES0
CAN_ERR_PROT_LOC_RES1
CAN_ERR_PROT_LOC_RTR
CAN_ERR_PROT_LOC_SOF
CAN_ERR_PROT_LOC_SRTR
CAN_ERR_PROT_LOC_UNSPEC
CAN_ERR_PROT_OVERLOAD
CAN_ERR_PROT_STUFF
CAN_ERR_PROT_TX
CAN_ERR_PROT_UNSPEC
CAN_ERR_RESTARTED
CAN_ERR_TRX
CAN_ERR_TRX_CANH_NO_WIRE
CAN_ERR_TRX_CANH_SHORT_TO_BAT
CAN_ERR_TRX_CANH_SHORT_TO_GND
CAN_ERR_TRX_CANH_SHORT_TO_VCC
CAN_ERR_TRX_CANL_NO_WIRE
CAN_ERR_TRX_CANL_SHORT_TO_BAT
CAN_ERR_TRX_CANL_SHORT_TO_CANH
CAN_ERR_TRX_CANL_SHORT_TO_GND
CAN_ERR_TRX_CANL_SHORT_TO_VCC
CAN_ERR_TRX_UNSPEC
CAN_ERR_TX_TIMEOUT
CAN_FD_FRAME
CAN_INV_FILTER
CAN_ISOTP
Expand Down
1 change: 1 addition & 0 deletions src/new/linux_uapi/linux/can.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
//! Header: `uapi/linux/can.h`

pub(crate) mod bcm;
pub(crate) mod error;
pub(crate) mod j1939;
pub(crate) mod raw;

Expand Down
73 changes: 73 additions & 0 deletions src/new/linux_uapi/linux/can/error.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
//! Header: `linux/can/error.h`

pub use crate::linux::can::*;

pub const CAN_ERR_DLC: c_int = 8;

pub const CAN_ERR_TX_TIMEOUT: c_uint = 0x00000001;
pub const CAN_ERR_LOSTARB: c_uint = 0x00000002;
pub const CAN_ERR_CRTL: c_uint = 0x00000004;
pub const CAN_ERR_PROT: c_uint = 0x00000008;
pub const CAN_ERR_TRX: c_uint = 0x00000010;
pub const CAN_ERR_ACK: c_uint = 0x00000020;
pub const CAN_ERR_BUSOFF: c_uint = 0x00000040;
pub const CAN_ERR_BUSERROR: c_uint = 0x00000080;
pub const CAN_ERR_RESTARTED: c_uint = 0x00000100;
pub const CAN_ERR_CNT: c_uint = 0x00000200;

pub const CAN_ERR_LOSTARB_UNSPEC: c_int = 0x00;

pub const CAN_ERR_CRTL_UNSPEC: c_int = 0x00;
pub const CAN_ERR_CRTL_RX_OVERFLOW: c_int = 0x01;
pub const CAN_ERR_CRTL_TX_OVERFLOW: c_int = 0x02;
pub const CAN_ERR_CRTL_RX_WARNING: c_int = 0x04;
pub const CAN_ERR_CRTL_TX_WARNING: c_int = 0x08;
pub const CAN_ERR_CRTL_RX_PASSIVE: c_int = 0x10;
pub const CAN_ERR_CRTL_TX_PASSIVE: c_int = 0x20;
pub const CAN_ERR_CRTL_ACTIVE: c_int = 0x40;

pub const CAN_ERR_PROT_UNSPEC: c_int = 0x00;
pub const CAN_ERR_PROT_BIT: c_int = 0x01;
pub const CAN_ERR_PROT_FORM: c_int = 0x02;
pub const CAN_ERR_PROT_STUFF: c_int = 0x04;
pub const CAN_ERR_PROT_BIT0: c_int = 0x08;
pub const CAN_ERR_PROT_BIT1: c_int = 0x10;
pub const CAN_ERR_PROT_OVERLOAD: c_int = 0x20;
pub const CAN_ERR_PROT_ACTIVE: c_int = 0x40;
pub const CAN_ERR_PROT_TX: c_int = 0x80;

pub const CAN_ERR_PROT_LOC_UNSPEC: c_int = 0x00;
pub const CAN_ERR_PROT_LOC_SOF: c_int = 0x03;
pub const CAN_ERR_PROT_LOC_ID28_21: c_int = 0x02;
pub const CAN_ERR_PROT_LOC_ID20_18: c_int = 0x06;
pub const CAN_ERR_PROT_LOC_SRTR: c_int = 0x04;
pub const CAN_ERR_PROT_LOC_IDE: c_int = 0x05;
pub const CAN_ERR_PROT_LOC_ID17_13: c_int = 0x07;
pub const CAN_ERR_PROT_LOC_ID12_05: c_int = 0x0F;
pub const CAN_ERR_PROT_LOC_ID04_00: c_int = 0x0E;
pub const CAN_ERR_PROT_LOC_RTR: c_int = 0x0C;
pub const CAN_ERR_PROT_LOC_RES1: c_int = 0x0D;
pub const CAN_ERR_PROT_LOC_RES0: c_int = 0x09;
pub const CAN_ERR_PROT_LOC_DLC: c_int = 0x0B;
pub const CAN_ERR_PROT_LOC_DATA: c_int = 0x0A;
pub const CAN_ERR_PROT_LOC_CRC_SEQ: c_int = 0x08;
pub const CAN_ERR_PROT_LOC_CRC_DEL: c_int = 0x18;
pub const CAN_ERR_PROT_LOC_ACK: c_int = 0x19;
pub const CAN_ERR_PROT_LOC_ACK_DEL: c_int = 0x1B;
pub const CAN_ERR_PROT_LOC_EOF: c_int = 0x1A;
pub const CAN_ERR_PROT_LOC_INTERM: c_int = 0x12;

pub const CAN_ERR_TRX_UNSPEC: c_int = 0x00;
pub const CAN_ERR_TRX_CANH_NO_WIRE: c_int = 0x04;
pub const CAN_ERR_TRX_CANH_SHORT_TO_BAT: c_int = 0x05;
pub const CAN_ERR_TRX_CANH_SHORT_TO_VCC: c_int = 0x06;
pub const CAN_ERR_TRX_CANH_SHORT_TO_GND: c_int = 0x07;
pub const CAN_ERR_TRX_CANL_NO_WIRE: c_int = 0x40;
pub const CAN_ERR_TRX_CANL_SHORT_TO_BAT: c_int = 0x50;
pub const CAN_ERR_TRX_CANL_SHORT_TO_VCC: c_int = 0x60;
pub const CAN_ERR_TRX_CANL_SHORT_TO_GND: c_int = 0x70;
pub const CAN_ERR_TRX_CANL_SHORT_TO_CANH: c_int = 0x80;

pub const CAN_ERROR_WARNING_THRESHOLD: c_int = 96;
pub const CAN_ERROR_PASSIVE_THRESHOLD: c_int = 128;
pub const CAN_BUS_OFF_THRESHOLD: c_int = 256;
1 change: 1 addition & 0 deletions src/new/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ cfg_if! {
pub use sys::socket::*;
} else if #[cfg(target_os = "linux")] {
pub use linux::can::bcm::*;
pub use linux::can::error::*;
pub use linux::can::j1939::*;
pub use linux::can::raw::*;
pub use linux::can::*;
Expand Down