#[non_exhaustive]
#[derive(Clone, Debug, PartialEq)]
pub enum ConfigOption {
MAC([u8; 6]),
IPv4([u8; 4]),
IPv6([u8; 16]),
ShortAddress(u16),
LongAddress(u64),
PAN(u16),
MTU(u16),
TXPower(i16),
AwaitCCA(bool),
CCAThreshold(i16),
AutoAck(bool),
Promiscuous(bool),
}
#[non_exhaustive]
#[derive(Clone, Debug, PartialEq)]
pub enum ConfigError<E> {
NotSupported,
Other(E),
}
pub trait Configure {
type Error;
fn set_option(&mut self, o: &ConfigOption) -> Result<(), ConfigError<Self::Error>>;
fn get_option(&mut self, o: &mut ConfigOption) -> Result<(), ConfigError<Self::Error>>;
}