template <>

class WireWeakAsyncClientImpl

Defined at line 1130 of file fidling/gen/sdk/fidl/fuchsia.hardware.block.encrypted/fuchsia.hardware.block.encrypted/cpp/fidl/fuchsia.hardware.block.encrypted/cpp/wire_messaging.h

Public Methods

::fidl::internal::WireThenable< ::fuchsia_hardware_block_encrypted::DeviceManager::Format> Format (::fidl::VectorView<uint8_t> key, uint8_t slot)

Formats the device, destroying any previously-secured data. A new data

key is generated and wrapped with the provided `key` into key slot `slot`,

Returns `ZX_ERR_BAD_STATE` if the device is not currently sealed.

Returns `ZX_OK` on success.

Allocates 296 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_block_encrypted::DeviceManager::Unseal> Unseal (::fidl::VectorView<uint8_t> key, uint8_t slot)

Attempts to unseal the device by using the provided master key to unwrap

the data key wrapped in the specified key slot. If the key provided was

the correct key for this slot, then the device node responding to this

protocol will create an unsealed zxcrypt device as a child of itself in

the device tree before returning success.

Returns `ZX_ERR_INVALID_ARGS` if `slot` is invalid.

Returns `ZX_ERR_BAD_STATE` and keeps the device open if the device is already unsealed.

Returns other errors if operations on the underlying block device return errors.

Returns `ZX_OK` on success.

Allocates 296 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_block_encrypted::DeviceManager::Seal> Seal ()

Seals the device, causing any previously-created child zxcrypt Device to

be removed some time later. (Someday we'd like this to only return once

the unsealed child device is removed, but that's not straightforward today.)

Returns `ZX_ERR_BAD_STATE` if the device is already sealed.

Returns `ZX_OK` on success.

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.

::fidl::internal::WireThenable< ::fuchsia_hardware_block_encrypted::DeviceManager::Shred> Shred ()

Shreds the device, permanently overwriting the keys that would allow

`Unseal()`ing the device again in the future. This call does *not*

impact the current sealed/unsealed state of the device -- if currently

unsealed, the device will remain in that state until `Seal()` is called

or the device is unbound.

Returns `ZX_OK` on success.

Returns other errors if operations on the underlying block device return errors.

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.