#[derive(Debug)]
pub enum FindDriverProfileError
{
FailedToRetrieveLinuxKernelVersion(io::Error),
FailedToObtainAllNetworkInterfaceNames(String),
CouldNotCreateNetworkDeviceInputOutputControl
{
error: CreationError,
network_interface_name: NetworkInterfaceName,
},
CouldNotGetDriverAndDeviceInformation
{
error: NetworkDeviceInputOutputControlError<ObjectNameFromBytesError>,
network_interface_name: NetworkInterfaceName,
},
CouldNotGetPciDevice
{
error: NetworkDeviceInputOutputControlError<ObjectNameFromBytesError>,
network_interface_name: NetworkInterfaceName,
},
NoSuchNetworkInterface
{
network_interface_name: NetworkInterfaceName,
},
}
impl Display for FindDriverProfileError
{
#[inline(always)]
fn fmt(&self, f: &mut Formatter) -> fmt::Result
{
Debug::fmt(self, f)
}
}
impl error::Error for FindDriverProfileError
{
#[inline(always)]
fn source(&self) -> Option<&(dyn Error + 'static)>
{
match self
{
&FailedToRetrieveLinuxKernelVersion(ref error) => Some(error),
&FailedToObtainAllNetworkInterfaceNames(..) => None,
&CouldNotCreateNetworkDeviceInputOutputControl { ref error, .. } => Some(error),
&CouldNotGetDriverAndDeviceInformation { ref error, .. } => Some(error),
&CouldNotGetPciDevice { ref error, .. } => Some(error),
&NoSuchNetworkInterface { .. } => None,
}
}
}