Struct ata::IdeController
source · pub struct IdeController {
pub primary_master: Option<AtaDriveRef>,
pub primary_slave: Option<AtaDriveRef>,
pub secondary_master: Option<AtaDriveRef>,
pub secondary_slave: Option<AtaDriveRef>,
}Expand description
A single IDE controller has two buses with up to two drives attached to each bus, for a total of up to four drives.
Fields§
§primary_master: Option<AtaDriveRef>§primary_slave: Option<AtaDriveRef>§secondary_master: Option<AtaDriveRef>§secondary_slave: Option<AtaDriveRef>Implementations§
source§impl IdeController
impl IdeController
sourcepub fn new(pci_device: &PciDevice) -> Result<IdeController, &'static str>
pub fn new(pci_device: &PciDevice) -> Result<IdeController, &'static str>
Creates a new instance of an IDE controller based on the given PCI device.
sourcepub fn iter(&self) -> IdeControllerIter<'_> ⓘ
pub fn iter(&self) -> IdeControllerIter<'_> ⓘ
Returns an Iterator over all of the AtaDrives
that exist (and are supported) in this IdeController.
The order of iteration is:
primary master, primary slave, secondary master, and secondary slave;
any devices that do not exist are skipped.
Trait Implementations§
source§impl Debug for IdeController
impl Debug for IdeController
source§impl StorageController for IdeController
impl StorageController for IdeController
source§fn devices<'c>(&'c self) -> Box<dyn Iterator<Item = StorageDeviceRef> + 'c>
fn devices<'c>(&'c self) -> Box<dyn Iterator<Item = StorageDeviceRef> + 'c>
Returns an iterator of references to all
StorageDevices attached to this controller.
The lifetime of the iterator and the device references it returns are both bound
by the lifetime of this StorageController. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for IdeController
impl Send for IdeController
impl Sync for IdeController
impl Unpin for IdeController
impl !UnwindSafe for IdeController
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.