class DeviceManager

Defined at line 36 of file ../../src/devices/block/drivers/zxcrypt/device-manager.h

|zxcrypt::DeviceManager| is a "wrapper" driver for zxcrypt volumes. Each block device with valid

zxcrypt metadata will result in a wrapper being created, but the wrapper cannot perform any block

operations. To perform block operations, |Unseal| must first be called with a valid key and

slot, which will cause an unsealed |zxcrypt::Device| to be added to the device tree.

Public Methods

zx_status_t Create (void * ctx, zx_device_t * parent)

Defined at line 31 of file ../../src/devices/block/drivers/zxcrypt/device-manager.cc

void DeviceManager (zx_device_t * parent)

Defined at line 38 of file ../../src/devices/block/drivers/zxcrypt/device-manager.h

void ~DeviceManager ()

Defined at line 39 of file ../../src/devices/block/drivers/zxcrypt/device-manager.h

void DeviceManager (const DeviceManager & )

Defined at line 40 of file ../../src/devices/block/drivers/zxcrypt/device-manager.h

void DeviceManager (DeviceManager && )

Defined at line 40 of file ../../src/devices/block/drivers/zxcrypt/device-manager.h

DeviceManager & operator= (const DeviceManager & )

Defined at line 40 of file ../../src/devices/block/drivers/zxcrypt/device-manager.h

DeviceManager & operator= (DeviceManager && )

Defined at line 40 of file ../../src/devices/block/drivers/zxcrypt/device-manager.h

zx_status_t Bind ()

Adds the device

Defined at line 52 of file ../../src/devices/block/drivers/zxcrypt/device-manager.cc

void DdkUnbind (ddk::UnbindTxn txn)

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

Defined at line 69 of file ../../src/devices/block/drivers/zxcrypt/device-manager.cc

void DdkRelease ()

Defined at line 88 of file ../../src/devices/block/drivers/zxcrypt/device-manager.cc

void DdkChildPreRelease (void * child_ctx)

ddk::ChildPreRelease methods

Defined at line 90 of file ../../src/devices/block/drivers/zxcrypt/device-manager.cc

void Format (FormatRequestView request, FormatCompleter::Sync & completer)

Formats the zxcrypt volume, destroying any data contained therein, and

enrolls the given key in the requested key slot. Leaves the device sealed.

Defined at line 122 of file ../../src/devices/block/drivers/zxcrypt/device-manager.cc

void Unseal (UnsealRequestView request, UnsealCompleter::Sync & completer)

Unseals the zxcrypt volume and adds it as a |zxcrypt::Device| to the device tree.

Defined at line 132 of file ../../src/devices/block/drivers/zxcrypt/device-manager.cc

void Seal (SealCompleter::Sync & completer)

Removes the unsealed |zxcrypt::Device|, if present.

Defined at line 142 of file ../../src/devices/block/drivers/zxcrypt/device-manager.cc

void Shred (ShredCompleter::Sync & completer)

Clobbers the superblock (and any backup superblocks), preventing future

Unseal operations from succeeding (provided no other program is

manipulating the underlying block device).

Defined at line 157 of file ../../src/devices/block/drivers/zxcrypt/device-manager.cc