pub trait Client<'a> {
// Required methods
fn enable(&'a self);
fn attach(&'a self);
fn bus_reset(&'a self);
fn ctrl_setup(&'a self, endpoint: usize) -> CtrlSetupResult;
fn ctrl_in(&'a self, endpoint: usize) -> CtrlInResult;
fn ctrl_out(&'a self, endpoint: usize, packet_bytes: u32) -> CtrlOutResult;
fn ctrl_status(&'a self, endpoint: usize);
fn ctrl_status_complete(&'a self, endpoint: usize);
fn packet_in(
&'a self,
transfer_type: TransferType,
endpoint: usize,
) -> InResult;
fn packet_out(
&'a self,
transfer_type: TransferType,
endpoint: usize,
packet_bytes: u32,
) -> OutResult;
fn packet_transmitted(&'a self, endpoint: usize);
}
Expand description
USB controller client interface