#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub enum PauseConfiguration
{
Disabled,
AutoNegotiated,
TransmitOnly,
ReceiveOnly,
TransmitAndReceive,
}
impl Default for PauseConfiguration
{
#[inline(always)]
fn default() -> Self
{
PauseConfiguration::AutoNegotiated
}
}
impl PauseConfiguration
{
#[inline(always)]
pub(crate) fn to_u32_booleans(self) -> (u32, u32, u32)
{
use self::PauseConfiguration::*;
match self
{
Disabled => (0, 0, 0),
AutoNegotiated => (1, 0, 0),
TransmitOnly => (0, 1, 0),
ReceiveOnly => (0, 0, 1),
TransmitAndReceive => (0, 1, 1),
}
}
}