[−][src]Struct sunrise_ahci::disk::IDisk
Interface to a disk.
Implementations
impl IDisk
[src]
Trait Implementations
impl Clone for IDisk
[src]
impl Debug for IDisk
[src]
impl IDisk for IDisk
[src]
fn sector_count(
&mut self,
_work_queue: WorkQueue<'static>
) -> Result<u64, Error>
[src]
&mut self,
_work_queue: WorkQueue<'static>
) -> Result<u64, Error>
Returns the number of addressable 512-octet sectors for this disk.
fn read_dma(
&mut self,
_manager: WorkQueue<'static>,
address: u64,
out_blocks: &mut [Block]
) -> Result<(), Error>
[src]
&mut self,
_manager: WorkQueue<'static>,
address: u64,
out_blocks: &mut [Block]
) -> Result<(), Error>
Reads sectors from disk.
Reads sector_count
sectors starting from lba
.
Error
- InvalidArg:
mapping_size
does not reflect the passed handle's size, or mapping it failed,lba
,sector_count
, orlba + sector_count
is higher than the number of addressable sectors on this disk,sector_count
== 0.
- BufferTooScattered:
- The passed handle points to memory that is so physically scattered it overflows
the PRDT. This can only happen for read/writes of 1985 sectors or more.
You should consider retrying with a smaller
sector_count
.
- The passed handle points to memory that is so physically scattered it overflows
the PRDT. This can only happen for read/writes of 1985 sectors or more.
You should consider retrying with a smaller
fn write_dma(
&mut self,
_manager: WorkQueue<'static>,
address: u64,
in_blocks: &[Block]
) -> Result<(), Error>
[src]
&mut self,
_manager: WorkQueue<'static>,
address: u64,
in_blocks: &[Block]
) -> Result<(), Error>
Writes sectors to disk.
Writes sector_count
sectors starting from lba
.
Error
- InvalidArg:
mapping_size
does not reflect the passed handle's size, or mapping it failed,lba
,sector_count
, orlba + sector_count
is higher than the number of addressable sectors on this disk,sector_count
== 0.
- BufferTooScattered:
- The passed handle points to memory that is so physically scattered it overflows
the PRDT. This can only happen for read/writes of 1985 sectors or more.
You should consider retrying with a smaller
sector_count
.
- The passed handle points to memory that is so physically scattered it overflows
the PRDT. This can only happen for read/writes of 1985 sectors or more.
You should consider retrying with a smaller
fn dispatch(
&'a mut self,
manager: WorkQueue<'static>,
cmdid: u32,
buf: &'a mut [u8]
) -> FutureObj<'a, Result<(), Error>>
[src]
&'a mut self,
manager: WorkQueue<'static>,
cmdid: u32,
buf: &'a mut [u8]
) -> FutureObj<'a, Result<(), Error>>
Auto Trait Implementations
impl !RefUnwindSafe for IDisk
impl Send for IDisk
impl Sync for IDisk
impl Unpin for IDisk
impl !UnwindSafe for IDisk
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SizedIPCBuffer for T
[src]
fn size(&self) -> usize
[src]
fn is_cool(addr: usize, size: usize) -> bool
[src]
unsafe fn from_raw_parts<'a>(addr: usize, _size: usize) -> &'a T
[src]
unsafe fn from_raw_parts_mut<'a>(addr: usize, _size: usize) -> &'a mut T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,