[][src]Trait sunrise_libuser::ahci::AhciInterfaceAsync

pub trait AhciInterfaceAsync {
    fn discovered_disks_count<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>
    ) -> FutureObj<'a, Result<u32, Error>>;
fn get_disk<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>,
        disk_id: u32
    ) -> FutureObj<'a, Result<IDiskProxy, Error>>; fn dispatch<'a>(
        &'a mut self,
        work_queue: WorkQueue<'static>,
        cmdid: u32,
        buf: &'a mut [u8]
    ) -> FutureObj<Result<(), Error>> { ... } }

Main ahci interface.

Can communicate the number of discovered devices, and get an interface to a specific device.

Required methods

fn discovered_disks_count<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>
) -> FutureObj<'a, Result<u32, Error>>

Asks to the ahci service how many disks it has discovered.

get_disk accepts disk ids in 0..discovered_disks_count().

fn get_disk<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>,
    disk_id: u32
) -> FutureObj<'a, Result<IDiskProxy, Error>>

Gets the interface to a disk.

This creates a session connected to an IDisk.

disk_id should be in 0..discovered_disk_count().

Loading content...

Provided methods

fn dispatch<'a>(
    &'a mut self,
    work_queue: WorkQueue<'static>,
    cmdid: u32,
    buf: &'a mut [u8]
) -> FutureObj<Result<(), Error>>

Handle an incoming IPC request.

Loading content...

Implementors

Loading content...