pub use binrw;
use binrw::{BinRead, BinWrite};
use crate::Result;
#[cfg(feature = "eapi")]
pub mod eapi;
#[cfg(all(feature = "input-events", target_os = "linux"))]
pub mod keyboard;
#[cfg(feature = "modbus")]
pub mod modbus;
#[cfg(feature = "pipe")]
pub mod pipe;
pub mod raw_udp;
#[allow(clippy::module_name_repetitions)]
pub trait IoMapping {
type Options;
fn read<T>(&mut self) -> Result<T>
where
T: for<'a> BinRead<Args<'a> = ()>;
fn write<T>(&mut self, value: T) -> Result<()>
where
T: for<'a> BinWrite<Args<'a> = ()>;
}
pub mod prelude {
pub use super::IoMapping as _;
pub use binrw::prelude::*;
}