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.