template <>

class WireWeakAsyncBufferClientImpl

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

Public Methods

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::GetBusId> GetBusId ()

If ACPI has determined this device is a bus, returns the bus ID.

Errors:

* ZX_ERR_BAD_STATE - the device is not a bus as far as ACPI is aware.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::MapInterrupt> MapInterrupt (uint64_t index)

Get the interrupt at `index` for this device.

Errors:

* ZX_ERR_OUT_OF_RANGE - `index` is out of range.

* ZX_ERR_INVALID_ARGS - the interrupt type described by ACPI is unrecognised.

* ZX_ERR_INTERNAL - an internal error occured (e.g. failure to evaluate ACPI tables).

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::GetPio> GetPio (uint32_t index)

Get the I/O port at `index` for this device.

Errors:

* ZX_ERR_OUT_OF_RANGE - `index` is out of range.

* ZX_ERR_INTERNAL - an internal error occured (e.g. failure to evaluate ACPI tables).

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::GetMmio> GetMmio (uint32_t index)

Get the MMIO region at `index` for this device.

Errors:

* ZX_ERR_OUT_OF_RANGE - `index` is out of range.

* ZX_ERR_INTERNAL - an internal error occured (e.g. failure to evaluate ACPI tables).

* ZX_ERR_INVALID_ARGS - the MMIO region described by ACPI is not page-aligned.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::GetBti> GetBti (uint32_t index)

Get the BTI at `index` for this device.

This operation is not supported on devices that exist on another bus (e.g. PCI) --

they should use their bus's GetBti() equivalent to access a BTI.

Errors:

* ZX_ERR_NOT_SUPPORTED - the device is not a pure ACPI device.

* ZX_ERR_OUT_OF_RANGE - `index` is out of range for the device.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::EvaluateObject> EvaluateObject (::fidl::StringView path, ::fuchsia_hardware_acpi::wire::EvaluateObjectMode mode, ::fidl::VectorView< ::fuchsia_hardware_acpi::wire::Object> parameters)

Evaluate the object at the given |path|, relative to this device, with |parameters| as

arguments.

|mode| determines how the return value is treated, see

|fuchsia.hardware.acpi/EvaluateObjectMode|.

Paths cannot be absolute, and must only refer to children of this

device.

|result| is the result of the evaluation. See |fuchsia.hardware.acpi/EncodedObject| for more

information.

Errors:

* ACCESS - |path| does not refer to a child of this device.

* AML_* - internal errors while evaluating the AML bytecode.

* BAD_CHARACTER - an invalid character was found in the path.

* BAD_PATHNAME - the path contained at least one ill-formated entry.

* ERROR - An internal error occurred.

* NOT_FOUND - There is no object at the specified path.

* NOT_IMPLEMENTED - An unsupported |mode| or |parameters| was supplied, or evaluation

returned an unsupported Object type.

* TYPE - The object is of a type that cannot be evaluated.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::InstallNotifyHandler> InstallNotifyHandler (::fuchsia_hardware_acpi::wire::NotificationMode mode, ::fidl::ClientEnd< ::fuchsia_hardware_acpi::NotifyHandler> && handler)

Install a Device Object Notification handler for the given notification

type. A device can only have a single notification handler at a time.

Errors:

* BAD_PARAMETER - if "mode" is invalid.

* ALREADY_EXISTS - if a handler is already installed.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::RemoveNotifyHandler> RemoveNotifyHandler ()

Remove a Device Object Notification handler. Returns AE_OK if either the handler was

successfully removed, or if the device has no handler. Otherwise returns failure.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::AcquireGlobalLock> AcquireGlobalLock ()

Acquire the ACPI global lock. This is only permitted for devices which

have a _GLK entry in their namespace. See ACPI v6.4, Section 6.5.7 "_GLK

(Global Lock)".

This method will not return until the global lock has been acquired.

Errors:

* ACCESS - if "_GLK" is not present, or if "_GLK" does not evaluate to 1.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::InstallAddressSpaceHandler> InstallAddressSpaceHandler (::fuchsia_hardware_acpi::wire::AddressSpace space, ::fidl::ClientEnd< ::fuchsia_hardware_acpi::AddressSpaceHandler> && handler)

Install an address space handler for this device.

Errors:

* ALREADY_EXISTS - if a handler is already installed.

* NOT_SUPPORTED - the AddressSpace supplied is not supported.

Caller provides the backing storage for FIDL message.

::fidl::internal::WireBufferThenable< ::fuchsia_hardware_acpi::Device::SetWakeDevice> SetWakeDevice (uint8_t requested_state)

Set a device to be able to wake the system from suspend. The device must have a _PRW

(Power Resource for Wake) method. This method should be called from the driver suspend

hook, using the |requested_state| provided by the driver framework. If the device is unable

to wake the system from the requested sleep state, then the device will not be set as a

wake source.

Errors:

NOT_SUPPORTED - requested sleep state is deeper than the deepest sleep that the device can

wake the system from.

BAD_DATA - unable to get wake GPE information.

BAD_PARAMETER - could not get GPE information.

TYPE - GPE is not marked as a wake GPE.

NOT_EXIST - GPE register could not be found.

Caller provides the backing storage for FIDL message.