class Device

Defined at line 44 of file ../../src/devices/block/drivers/zxcrypt/device.h

See ddk::Device in ddktl/device.h

Public Methods

void Device (zx_device_t * parent, DeviceInfo && info, inspect::Node inspect)

Defined at line 30 of file ../../src/devices/block/drivers/zxcrypt/device.cc

void ~Device ()

Defined at line 43 of file ../../src/devices/block/drivers/zxcrypt/device.cc

zx_status_t Init (const DdkVolume & volume)

The body of the |Init| thread. This method uses the unsealed |volume| to start cryptographic

workers for normal operation.

Defined at line 45 of file ../../src/devices/block/drivers/zxcrypt/device.cc

uint32_t block_size ()

Publish some constants for the workers

Defined at line 53 of file ../../src/devices/block/drivers/zxcrypt/device.h

size_t op_size ()

Defined at line 54 of file ../../src/devices/block/drivers/zxcrypt/device.h

zx_status_t DdkGetProtocol (uint32_t proto_id, void * out)

ddk::Device methods; see ddktl/device.h

Defined at line 80 of file ../../src/devices/block/drivers/zxcrypt/device.cc

void DdkUnbind (ddk::UnbindTxn txn)

TODO(aarongreen): See https://fxbug.dev/42106016. Currently, there's no good way to trigger

this on demand.

Defined at line 100 of file ../../src/devices/block/drivers/zxcrypt/device.cc

void DdkRelease ()

Defined at line 107 of file ../../src/devices/block/drivers/zxcrypt/device.cc

void BlockImplQuery (block_info_t * out_info, size_t * out_op_size)

ddk::BlockProtocol methods; see fuchsia/hardware/block/driver/cpp/banjo.h

Defined at line 126 of file ../../src/devices/block/drivers/zxcrypt/device.cc

void BlockImplQueue (block_op_t * block, block_impl_queue_callback completion_cb, void * cookie)

Defined at line 136 of file ../../src/devices/block/drivers/zxcrypt/device.cc

zx_status_t BlockPartitionGetGuid (guidtype_t guidtype, guid_t * out_guid)

ddk::PartitionProtocol methods; see fuchsia/hardware/block/partition/cpp/banjo.h

Defined at line 171 of file ../../src/devices/block/drivers/zxcrypt/device.cc

zx_status_t BlockPartitionGetName (char * out_name, size_t capacity)

Defined at line 178 of file ../../src/devices/block/drivers/zxcrypt/device.cc

zx_status_t BlockPartitionGetMetadata (partition_metadata_t * out_metadata)

Defined at line 185 of file ../../src/devices/block/drivers/zxcrypt/device.cc

zx_status_t BlockVolumeExtend (const slice_extent_t * extent)

ddk:::VolumeProtocol methods; see fuchsia/hardware/block/volume/cpp/banjo.h

Defined at line 194 of file ../../src/devices/block/drivers/zxcrypt/device.cc

zx_status_t BlockVolumeShrink (const slice_extent_t * extent)

Defined at line 204 of file ../../src/devices/block/drivers/zxcrypt/device.cc

zx_status_t BlockVolumeGetInfo (volume_manager_info_t * out_manager, volume_info_t * out_volume)

Defined at line 214 of file ../../src/devices/block/drivers/zxcrypt/device.cc

zx_status_t BlockVolumeQuerySlices (const uint64_t * start_list, size_t start_count, slice_region_t * out_responses_list, size_t responses_count, size_t * out_responses_actual)

Defined at line 239 of file ../../src/devices/block/drivers/zxcrypt/device.cc

zx_status_t BlockVolumeDestroy ()

Defined at line 255 of file ../../src/devices/block/drivers/zxcrypt/device.cc

void BlockForward (block_op_t * block, zx_status_t status)

If |status| is |ZX_OK|, sends |block| to the parent block device; otherwise calls

|BlockComplete| on the |block|. Uses the extra space following the |block| to save fields

which may be modified, including the |completion_cb|, which it sets to |BlockCallback|.

Defined at line 262 of file ../../src/devices/block/drivers/zxcrypt/device.cc

void BlockComplete (block_op_t * block, zx_status_t status)

Returns a completed |block| request to the caller of |BlockQueue|.

Defined at line 285 of file ../../src/devices/block/drivers/zxcrypt/device.cc