pub struct FuzzChipset { /* private fields */ }
Expand description
A chipset for fuzz-testing devices.
Intelligently generates MMIO/PIO/PCI accesses based on what interfaces the device supports, and what intercepts the device has configured.
Resilient against runtime remapping of intercept regions.
Implementations§
Source§impl FuzzChipset
impl FuzzChipset
Sourcepub fn new(max_poll_count: usize) -> Self
pub fn new(max_poll_count: usize) -> Self
Construct a new FuzzChipset
. Any asynchronous operations will be polled
at most max_poll_count
times before panicking.
Sourcepub fn device_builder<T: ChipsetDevice>(
&mut self,
name: &'static str,
) -> ArcMutexChipsetDeviceBuilder<FuzzChipsetServicesImpl<'_>, T>
pub fn device_builder<T: ChipsetDevice>( &mut self, name: &'static str, ) -> ArcMutexChipsetDeviceBuilder<FuzzChipsetServicesImpl<'_>, T>
Return a device builder associated with the chipset
Sourcepub fn get_arbitrary_action(
&self,
u: &mut Unstructured<'_>,
) -> Result<ChipsetAction>
pub fn get_arbitrary_action( &self, u: &mut Unstructured<'_>, ) -> Result<ChipsetAction>
Intelligently suggest a random ChipsetAction
, based on the currently
registered devices, intercept regions, etc…
Sourcepub fn exec_action(&self, action: ChipsetAction) -> Option<()>
pub fn exec_action(&self, action: ChipsetAction) -> Option<()>
Execute the provided ChipsetAction
Trait Implementations§
Source§impl Default for FuzzChipset
impl Default for FuzzChipset
Source§fn default() -> FuzzChipset
fn default() -> FuzzChipset
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for FuzzChipset
impl !RefUnwindSafe for FuzzChipset
impl Send for FuzzChipset
impl Sync for FuzzChipset
impl Unpin for FuzzChipset
impl !UnwindSafe for FuzzChipset
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more