template <>

class NaturalClientImpl

Defined at line 356 of file fidling/gen/sdk/fidl/fuchsia.hardware.spi/fuchsia.hardware.spi/cpp/fidl/fuchsia.hardware.spi/cpp/natural_messaging.h

Public Methods

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spi::Device::Transmit> Transmit (const ::fidl::Request< ::fuchsia_hardware_spi::Device::Transmit> & request)

Sends the data in buffer to the device.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spi::Device::Receive> Receive (const ::fidl::Request< ::fuchsia_hardware_spi::Device::Receive> & request)

Receives data from the device into buffer.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spi::Device::Exchange> Exchange (const ::fidl::Request< ::fuchsia_hardware_spi::Device::Exchange> & request)

Simultaneously transmits and receives data. The size fields of tx_buffer and rx_buffer must

be the same.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spi::Device::RegisterVmo> RegisterVmo (::fidl::Request< ::fuchsia_hardware_spi::Device::RegisterVmo> request)

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.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spi::Device::UnregisterVmo> UnregisterVmo (const ::fidl::Request< ::fuchsia_hardware_spi::Device::UnregisterVmo> & request)

Unmaps and/or unpins the VMO and returns the handle to the caller.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spi::Device::TransmitVector> TransmitVector (const ::fidl::Request< ::fuchsia_hardware_spi::Device::TransmitVector> & request)

Half-duplex transmit data to a SPI device; always transmits the entire buffer on success.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spi::Device::ReceiveVector> ReceiveVector (const ::fidl::Request< ::fuchsia_hardware_spi::Device::ReceiveVector> & request)

Half-duplex receive data from a SPI device; always reads the full size requested.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spi::Device::ExchangeVector> ExchangeVector (const ::fidl::Request< ::fuchsia_hardware_spi::Device::ExchangeVector> & request)

Full-duplex SPI transaction. Received data will exactly equal the length of the transmit

buffer.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spi::Device::CanAssertCs> CanAssertCs ()

Returns true if the device can call |AssertCs()| and |DeassertCs()|.

::fidl::internal::NaturalThenable< ::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.

::fidl::internal::NaturalThenable< ::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.