template <>

class NaturalClientImpl

Defined at line 409 of file fidling/gen/sdk/fidl/fuchsia.hardware.spiimpl/fuchsia.hardware.spiimpl/cpp/fidl/fuchsia.hardware.spiimpl/cpp/driver/natural_messaging.h

Public Methods

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::GetChipSelectCount> GetChipSelectCount ()

Returns the number of chip select lines available or provided by the driver instance.

To be used as a limit on the acceptable values for the `chip_select' field in the Exchange()

and ExchangeVmo() methods.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::TransmitVector> TransmitVector (const ::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::TransmitVector> & request)

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

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::ReceiveVector> ReceiveVector (const ::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::ReceiveVector> & request)

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

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::ExchangeVector> ExchangeVector (const ::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::ExchangeVector> & request)

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

buffer.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::LockBus> LockBus (const ::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::LockBus> & request)

Lock the bus.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::UnlockBus> UnlockBus (const ::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::UnlockBus> & request)

Unlock the bus.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::RegisterVmo> RegisterVmo (::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::RegisterVmo> request)

rights is a bit field containing SpiVmoRight values, and determines the read/write

permissions used by the implementation when pinning or mapping the VMO.

::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::UnregisterVmo> UnregisterVmo (const ::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::UnregisterVmo> & request)
::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::TransmitVmo> TransmitVmo (const ::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::TransmitVmo> & request)
::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::ReceiveVmo> ReceiveVmo (const ::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::ReceiveVmo> & request)
::fidl::internal::NaturalThenable< ::fuchsia_hardware_spiimpl::SpiImpl::ExchangeVmo> ExchangeVmo (const ::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::ExchangeVmo> & request)
::fit::result< ::fidl::OneWayError> ReleaseRegisteredVmos (const ::fidl::Request< ::fuchsia_hardware_spiimpl::SpiImpl::ReleaseRegisteredVmos> & request)

Release all VMOs registered to this chip_select. Called by the core driver after the client

has disconnected and the VMOs are no longer needed.