[][src]Trait sunrise_libuser::ahci::AhciInterface

pub trait AhciInterface {
    fn discovered_disks_count(
        &mut self,
        manager: WorkQueue<'static>
    ) -> Result<u32, Error>;
fn get_disk(
        &mut self,
        manager: WorkQueue<'static>,
        disk_id: u32
    ) -> Result<IDiskProxy, Error>; fn dispatch<'a>(
        &'a mut self,
        manager: 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(
    &mut self,
    manager: WorkQueue<'static>
) -> 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(
    &mut self,
    manager: WorkQueue<'static>,
    disk_id: u32
) -> 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,
    manager: WorkQueue<'static>,
    cmdid: u32,
    buf: &'a mut [u8]
) -> FutureObj<Result<(), Error>>

Handle an incoming IPC request.

Loading content...

Implementors

Loading content...