pub enum DeviceRequest {
Transfer {
transactions: Vec<Transaction>,
responder: DeviceTransferResponder,
},
GetName {
responder: DeviceGetNameResponder,
},
}
Variants§
Transfer
Issue one or more transactions to a particular I2C device.
Each Transaction
is performed in the order in which it appears in transactions
. Data for
read transfers (if there are any) is returned through read_data
, which has one entry for
each read transfer in transactions
. Transaction processing continues until all transfers
have been completed, an error occurs, or the target issues a NACK in response to a write
transfer.
The possible error values are:
ZX_ERR_INVALID_ARGS: transactions
has zero elements, data_transfer
was not specified
for a Transaction
, or there was a zero-length DataTransfer
.
ZX_ERR_OUT_OF_RANGE: A DataTransfer
was too large to be handled by this I2C controller.
ZX_ERR_IO_NOT_PRESENT: The device did not respond to its I2C address.
ZX_ERR_IO_REFUSED: The device issued a NACK before the end of a write transfer.
GetName
Get the name of this I2C Device. Returns ZX_ERR_NOT_SUPPORTED if the name is unspecified or the empty string.
Fields
responder: DeviceGetNameResponder
Implementations§
Source§impl DeviceRequest
impl DeviceRequest
pub fn into_transfer( self, ) -> Option<(Vec<Transaction>, DeviceTransferResponder)>
pub fn into_get_name(self) -> Option<DeviceGetNameResponder>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL