socketcan_alt/lib.rs
1//! Rust binding for [SocketCAN](https://www.kernel.org/doc/Documentation/networking/can.txt)
2//!
3//! ## Example
4//!
5//! ```no_run
6//! use socketcan_alt::{DataFrame, Frame, Id, Socket};
7//! use std::ffi::CString;
8//!
9//! let socket = Socket::bind(CString::new("vcan0")?)?;
10//! socket.set_recv_own_msgs(true)?;
11//!
12//! let frame = DataFrame::new(Id::Standard(42), &[0, 1, 2, 3, 4, 5, 6, 7]);
13//! socket.send(&Frame::Data(frame))?;
14//!
15//! let frame = socket.recv()?;
16//! println!("{:?}", frame);
17//!
18//! # std::io::Result::Ok(())
19//! ```
20
21#[cfg(feature = "aio")]
22pub mod aio;
23mod cmsg;
24mod frame;
25mod socket;
26mod sys;
27mod timestamping;
28
29pub use cmsg::{Cmsg, CmsgIter};
30pub use frame::*;
31pub use socket::Socket;
32pub use timestamping::Timestamping;