pub trait DeviceProxyInterface: Send + Sync {
Show 34 associated items
type GetDeviceInfoResponseFut: Future<Output = Result<DeviceInfo, Error>> + Send;
type GetBarResponseFut: Future<Output = Result<DeviceGetBarResult, Error>> + Send;
type SetBusMasteringResponseFut: Future<Output = Result<DeviceSetBusMasteringResult, Error>> + Send;
type ResetDeviceResponseFut: Future<Output = Result<DeviceResetDeviceResult, Error>> + Send;
type AckInterruptResponseFut: Future<Output = Result<DeviceAckInterruptResult, Error>> + Send;
type MapInterruptResponseFut: Future<Output = Result<DeviceMapInterruptResult, Error>> + Send;
type GetInterruptModesResponseFut: Future<Output = Result<InterruptModes, Error>> + Send;
type SetInterruptModeResponseFut: Future<Output = Result<DeviceSetInterruptModeResult, Error>> + Send;
type ReadConfig8ResponseFut: Future<Output = Result<DeviceReadConfig8Result, Error>> + Send;
type ReadConfig16ResponseFut: Future<Output = Result<DeviceReadConfig16Result, Error>> + Send;
type ReadConfig32ResponseFut: Future<Output = Result<DeviceReadConfig32Result, Error>> + Send;
type WriteConfig8ResponseFut: Future<Output = Result<DeviceWriteConfig8Result, Error>> + Send;
type WriteConfig16ResponseFut: Future<Output = Result<DeviceWriteConfig16Result, Error>> + Send;
type WriteConfig32ResponseFut: Future<Output = Result<DeviceWriteConfig32Result, Error>> + Send;
type GetCapabilitiesResponseFut: Future<Output = Result<Vec<u8>, Error>> + Send;
type GetExtendedCapabilitiesResponseFut: Future<Output = Result<Vec<u16>, Error>> + Send;
type GetBtiResponseFut: Future<Output = Result<DeviceGetBtiResult, Error>> + Send;
// Required methods
fn get_device_info(&self) -> Self::GetDeviceInfoResponseFut;
fn get_bar(&self, bar_id: u32) -> Self::GetBarResponseFut;
fn set_bus_mastering(
&self,
enabled: bool,
) -> Self::SetBusMasteringResponseFut;
fn reset_device(&self) -> Self::ResetDeviceResponseFut;
fn ack_interrupt(&self) -> Self::AckInterruptResponseFut;
fn map_interrupt(&self, which_irq: u32) -> Self::MapInterruptResponseFut;
fn get_interrupt_modes(&self) -> Self::GetInterruptModesResponseFut;
fn set_interrupt_mode(
&self,
mode: InterruptMode,
requested_irq_count: u32,
) -> Self::SetInterruptModeResponseFut;
fn read_config8(&self, offset: u16) -> Self::ReadConfig8ResponseFut;
fn read_config16(&self, offset: u16) -> Self::ReadConfig16ResponseFut;
fn read_config32(&self, offset: u16) -> Self::ReadConfig32ResponseFut;
fn write_config8(
&self,
offset: u16,
value: u8,
) -> Self::WriteConfig8ResponseFut;
fn write_config16(
&self,
offset: u16,
value: u16,
) -> Self::WriteConfig16ResponseFut;
fn write_config32(
&self,
offset: u16,
value: u32,
) -> Self::WriteConfig32ResponseFut;
fn get_capabilities(
&self,
id: CapabilityId,
) -> Self::GetCapabilitiesResponseFut;
fn get_extended_capabilities(
&self,
id: ExtendedCapabilityId,
) -> Self::GetExtendedCapabilitiesResponseFut;
fn get_bti(&self, index: u32) -> Self::GetBtiResponseFut;
}Required Associated Types§
type GetDeviceInfoResponseFut: Future<Output = Result<DeviceInfo, Error>> + Send
type GetBarResponseFut: Future<Output = Result<DeviceGetBarResult, Error>> + Send
type SetBusMasteringResponseFut: Future<Output = Result<DeviceSetBusMasteringResult, Error>> + Send
type ResetDeviceResponseFut: Future<Output = Result<DeviceResetDeviceResult, Error>> + Send
type AckInterruptResponseFut: Future<Output = Result<DeviceAckInterruptResult, Error>> + Send
type MapInterruptResponseFut: Future<Output = Result<DeviceMapInterruptResult, Error>> + Send
type GetInterruptModesResponseFut: Future<Output = Result<InterruptModes, Error>> + Send
type SetInterruptModeResponseFut: Future<Output = Result<DeviceSetInterruptModeResult, Error>> + Send
type ReadConfig8ResponseFut: Future<Output = Result<DeviceReadConfig8Result, Error>> + Send
type ReadConfig16ResponseFut: Future<Output = Result<DeviceReadConfig16Result, Error>> + Send
type ReadConfig32ResponseFut: Future<Output = Result<DeviceReadConfig32Result, Error>> + Send
type WriteConfig8ResponseFut: Future<Output = Result<DeviceWriteConfig8Result, Error>> + Send
type WriteConfig16ResponseFut: Future<Output = Result<DeviceWriteConfig16Result, Error>> + Send
type WriteConfig32ResponseFut: Future<Output = Result<DeviceWriteConfig32Result, Error>> + Send
type GetCapabilitiesResponseFut: Future<Output = Result<Vec<u8>, Error>> + Send
type GetExtendedCapabilitiesResponseFut: Future<Output = Result<Vec<u16>, Error>> + Send
type GetBtiResponseFut: Future<Output = Result<DeviceGetBtiResult, Error>> + Send
Required Methods§
fn get_device_info(&self) -> Self::GetDeviceInfoResponseFut
fn get_bar(&self, bar_id: u32) -> Self::GetBarResponseFut
fn set_bus_mastering(&self, enabled: bool) -> Self::SetBusMasteringResponseFut
fn reset_device(&self) -> Self::ResetDeviceResponseFut
fn ack_interrupt(&self) -> Self::AckInterruptResponseFut
fn map_interrupt(&self, which_irq: u32) -> Self::MapInterruptResponseFut
fn get_interrupt_modes(&self) -> Self::GetInterruptModesResponseFut
fn set_interrupt_mode( &self, mode: InterruptMode, requested_irq_count: u32, ) -> Self::SetInterruptModeResponseFut
fn read_config8(&self, offset: u16) -> Self::ReadConfig8ResponseFut
fn read_config16(&self, offset: u16) -> Self::ReadConfig16ResponseFut
fn read_config32(&self, offset: u16) -> Self::ReadConfig32ResponseFut
fn write_config8(&self, offset: u16, value: u8) -> Self::WriteConfig8ResponseFut
fn write_config16( &self, offset: u16, value: u16, ) -> Self::WriteConfig16ResponseFut
fn write_config32( &self, offset: u16, value: u32, ) -> Self::WriteConfig32ResponseFut
fn get_capabilities(&self, id: CapabilityId) -> Self::GetCapabilitiesResponseFut
fn get_extended_capabilities( &self, id: ExtendedCapabilityId, ) -> Self::GetExtendedCapabilitiesResponseFut
fn get_bti(&self, index: u32) -> Self::GetBtiResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".