template <>
class WireWeakSyncClientImpl
Defined at line 3439 of file fidling/gen/sdk/fidl/fuchsia.hardware.spi/fuchsia.hardware.spi/cpp/fidl/fuchsia.hardware.spi/cpp/wire_messaging.h
Public Methods
::fidl::WireResult< ::fuchsia_hardware_spi::Device::Transmit> Transmit (const ::fuchsia_hardware_sharedmemory::wire::SharedVmoBuffer & buffer)
Sends the data in buffer to the device.
Allocates 72 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_spi::Device::Receive> Receive (const ::fuchsia_hardware_sharedmemory::wire::SharedVmoBuffer & buffer)
Receives data from the device into buffer.
Allocates 72 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_spi::Device::Exchange> Exchange (const ::fuchsia_hardware_sharedmemory::wire::SharedVmoBuffer & tx_buffer, const ::fuchsia_hardware_sharedmemory::wire::SharedVmoBuffer & rx_buffer)
Simultaneously transmits and receives data. The size fields of tx_buffer and rx_buffer must
be the same.
Allocates 96 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_spi::Device::RegisterVmo> RegisterVmo (uint32_t vmo_id, ::fuchsia_mem::wire::Range && vmo, ::fuchsia_hardware_sharedmemory::wire::SharedVmoRight rights)
Registers a VMO and transfers ownership to the driver.
vmo_id: The ID chosen by the client that will be used in operations on this VMO.
vmo: The handle, offset, and size of this VMO. IO operations on this VMO will be relative to
the offset and size specified here.
rights: A bit field of SharedVmoRight values indicating how this VMO may be used. Callers
should assume that the driver will map and/or pin the VMO using these rights.
Allocates 88 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_spi::Device::UnregisterVmo> UnregisterVmo (uint32_t vmo_id)
Unmaps and/or unpins the VMO and returns the handle to the caller.
Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_spi::Device::TransmitVector> TransmitVector (::fidl::VectorView<uint8_t> data)
Half-duplex transmit data to a SPI device; always transmits the entire buffer on success.
Allocates 24 bytes of response buffer on the stack. Request is heap-allocated.
::fidl::WireResult< ::fuchsia_hardware_spi::Device::ReceiveVector> ReceiveVector (uint32_t size)
Half-duplex receive data from a SPI device; always reads the full size requested.
Allocates 24 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::WireResult< ::fuchsia_hardware_spi::Device::ExchangeVector> ExchangeVector (::fidl::VectorView<uint8_t> txdata)
Full-duplex SPI transaction. Received data will exactly equal the length of the transmit
buffer.
Request is heap-allocated. Response is heap-allocated.
::fidl::WireResult< ::fuchsia_hardware_spi::Device::CanAssertCs> CanAssertCs ()
Returns true if the device can call |AssertCs()| and |DeassertCs()|.
Allocates 40 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_spi::Device::AssertCs> AssertCs ()
Assert CS for this device.
Returns ZX_ERR_NOT_SUPPORTED if there is more than one device on the bus.
Allocates 40 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_spi::Device::DeassertCs> DeassertCs ()
Deassert CS for this device.
Returns ZX_ERR_BAD_STATE if CS is already deasserted.
Returns ZX_ERR_NOT_SUPPORTED if there is more than one device on the bus.
Allocates 40 bytes of message buffer on the stack. No heap allocation necessary.