template <>
class WireWeakSyncClientImpl
Defined at line 4598 of file fidling/gen/sdk/fidl/fuchsia.hardware.acpi/fuchsia.hardware.acpi/cpp/fidl/fuchsia.hardware.acpi/cpp/wire_messaging.h
Public Methods
::fidl::WireResult< ::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.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::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).
Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::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).
Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::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.
Allocates 80 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::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.
Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::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.
Request is heap-allocated. Response is heap-allocated.
::fidl::WireResult< ::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.
Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::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.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::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.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::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.
Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::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.
Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.