From 4871c1ae1f19353b57303e4b2ff164337a3dc1fd Mon Sep 17 00:00:00 2001 From: fpagliughi Date: Sun, 4 Dec 2022 19:55:40 -0500 Subject: Added CANbus socket family protocol constants. --- src/sys/socket/mod.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/sys') diff --git a/src/sys/socket/mod.rs b/src/sys/socket/mod.rs index a67a5ab3..bcc28ae6 100644 --- a/src/sys/socket/mod.rs +++ b/src/sys/socket/mod.rs @@ -218,8 +218,21 @@ pub enum SockProtocol { #[cfg(any(target_os = "android", target_os = "linux"))] #[cfg_attr(docsrs, doc(cfg(all())))] EthAll = libc::ETH_P_ALL.to_be(), + /// The Controller Area Network raw socket protocol + /// ([ref](https://docs.kernel.org/networking/can.html#how-to-use-socketcan)) + #[cfg(target_os = "linux")] + #[cfg_attr(docsrs, doc(cfg(all())))] + CanRaw = libc::CAN_RAW, } +impl SockProtocol { + /// The Controller Area Network broadcast manager protocol + /// ([ref](https://docs.kernel.org/networking/can.html#how-to-use-socketcan)) + #[cfg(target_os = "linux")] + #[cfg_attr(docsrs, doc(cfg(all())))] + #[allow(non_upper_case_globals)] + pub const CanBcm: SockProtocol = SockProtocol::NetlinkUserSock; // Matches libc::CAN_BCM +} #[cfg(any(target_os = "linux"))] libc_bitflags! { /// Configuration flags for `SO_TIMESTAMPING` interface -- cgit v1.2.3