template <>

class WireSyncClientImpl

Defined at line 2010 of file fidling/gen/sdk/fidl/fuchsia.hardware.clock/fuchsia.hardware.clock/cpp/fidl/fuchsia.hardware.clock/cpp/wire_messaging.h

Methods to make a sync FIDL call directly on an unowned handle or a

const reference to a |::fidl::ClientEnd

<

::fuchsia_hardware_clock::Clock>|,

avoiding setting up a client.

Public Methods

::fidl::WireResult< ::fuchsia_hardware_clock::Clock::Enable> Enable ()

Enables (ungates) this clock.

Drivers *must* call enable on all clocks they depend upon.

Returns `ZX_ERR_NOT_SUPPORTED` if this clock type does not support `Enable`.

Returns `ZX_ERR_TIMED_OUT` if an operation timed out (for instance, a PLL was unable to lock).

Returns `ZX_ERR_INTERNAL` if the operation failed for any other reason.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_clock::Clock::Disable> Disable ()

Disables (gates) this clock.

Drivers should call this method to indicate to the clock subsystem that

a particular clock signal is no longer necessary.

Returns `ZX_ERR_NOT_SUPPORTED` if this clock type does not support `Disable`

Returns `ZX_ERR_INTERNAL` if the operation failed for any other reason.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_clock::Clock::IsEnabled> IsEnabled ()

Returns `true` if a given clock is running.

May query the hardware or return a cached value.

IsEnabled shall not alter the state of the clock tree in any way.

Returns `ZX_ERR_NOT_SUPPORTED` if this clock type does not support `IsEnabled`.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_clock::Clock::SetRate> SetRate (uint64_t hz)

Attempt to set the rate of the clock provider.

Returns `ZX_ERR_NOT_SUPPORTED` if this clock type does not support `SetRate`

Returns `ZX_ERR_INVALID_ARGS` if the requested rate is not one that is reported as supported by `QuerySupportedRate`.

Returns `ZX_ERR_TIMED_OUT` if an operation timed out (for instance, a PLL was unable to lock).

Returns `ZX_ERR_INTERNAL` if the operation failed for any other reason.

Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_clock::Clock::QuerySupportedRate> QuerySupportedRate (uint64_t hz_in)

Query the hardware for the highest supported rate that does not

exceed hz_in.

`QuerySupportedRate` shall not alter the state of the clock tree in any way.

Returns `ZX_ERR_NOT_SUPPORTED` if this clock type does not support `QuerySupportedRate`.

Returns `ZX_ERR_OUT_OF_RANGE` if a suitable rate could not be found.

Allocates 64 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_clock::Clock::GetRate> GetRate ()

Returns the current rate that a given clock is running at.

GetRate shall not alter the state of the clock tree in any way.

Returns `ZX_ERR_NOT_SUPPORTED` if this clock type does not support `GetRate `.

Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_clock::Clock::SetInput> SetInput (uint32_t idx)

Sets the input of this clock by index. I.e. by selecting a mux.

This clock has N inputs defined 0 through N-1, which are valid arguemts

as the index to SetInput.

Returns `ZX_ERR_NOT_SUPPORTED` if this clock type does not support `SetInput`

Returns `ZX_ERR_OUT_OF_RANGE` if `idx` is outside of the range supplied by `GetNumInputs`.

Returns `ZX_ERR_INTERNAL` if the operation failed for any other reason.

Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_clock::Clock::GetNumInputs> GetNumInputs ()

Returns the number of inputs this clock has.

Any value between 0 and UINT32_MAX is a valid return for this method.

A Root Oscillator may return 0 for instance, if it has no inputs.

GetNumInputs shall not alter the state of the clock tree in any way.

Returns `ZX_ERR_NOT_SUPPORTED` if this clock type does not support `GetNumInputs`.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_clock::Clock::GetInput> GetInput ()

Returns the index of the current input of this clock.

GetInput shall not alter the state of the clock tree in any way.

Returns `ZX_ERR_NOT_SUPPORTED` if this clock type does not support `GetInput`.

Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_hardware_clock::Clock::GetProperties> GetProperties ()

Returns the static properties of a clock.

Allocates 328 bytes of message buffer on the stack. No heap allocation necessary.