Namespaces

Enumerations

enum class BlockOpcode : uint8_t
Name Value Comments
READ 1u

Performs a regular data read or write from the device. The operation may
be cached internally.

WRITE 2u

Performs a regular data read or write from the device. The operation may
be cached internally.

FLUSH 3u

Write any controller or device cached data to nonvolatile storage.

TRIM 4u

Instructs the device to invalidate a number of blocks, making them usable
for storing something else. This is basically a "delete" optimization,
where the device is in charge of discarding the old content without
clients having to write a given pattern. The operation may be cached
internally.

CLOSE_VMO 5u

Detaches the VMO from the block device.

The opcode used in FIFO requests.

Defined at line 17 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

enum class BlockIoFlag : uint32_t
Name Value Comments
GROUP_ITEM 1u

Associate the following request with `group`.

GROUP_LAST 2u

Only respond after this request (and all previous within group) have
completed. Only valid with `GROUP_ITEM`.

FORCE_ACCESS 4u

Mark this operation as "Force Unit Access" (FUA), indicating that
it should not complete until the data is written to the non-volatile
medium (write), and that reads should bypass any on-device caches.

PRE_BARRIER 8u

Attaches a pre-barrier to a request. This will ensure that no request which was
executed before this request will be re-ordered to execute after this request.

NOTE: Barriers do NOT guarantee ordering of in-flight requests. Any request which the
client has not yet received a response for is considered in-flight, and no guarantees
are made about relative ordering with this request. This has important implications for
grouped requests: A request in the middle of a group with PRE_BARRIER set will NOT have
ordering guarantees relative to the other requests in the same group.

DECOMPRESS_WITH_ZSTD 16u

If set, the request is to be decompressed.

INLINE_ENCRYPTION_ENABLED 32u

Use the `slot` and `dun` inline encryption (write) or decryption (read) parameters.
Can only be used if the underlying hardware supports inline encryption.

Flags which may be attached to FIFO requests.

Defined at line 46 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

enum class DeviceFlag : uint32_t
Name Value Comments
READONLY 1u

All writes to the block device will fail.

REMOVABLE 2u

The block device may be removed from the device during operation.

TRIM_SUPPORT 8u

The device provides trim support.

FUA_SUPPORT 16u

The device provides Force Unit Access (FUA) support.

If this bit is unset, and a request is sent with the FORCE_ACCESS option set, the device
will simulate a FUA by executing a device flush after the request completes (but before
responding to the client). Clients are strongly encouraged to probe for FUA support and
avoid usage of FORCE_ACCESS without device support, since this is expensive.

ZSTD_DECOMPRESSION_SUPPORT 32u

The device provides zstd decompression support.

BARRIER_SUPPORT 64u

The device provides Barrier support.

If this bit is unset, and a request is sent with the PRE_BARRIER option set, the device
will simulate a barrier by executing a device flush before the request is submitted.
Clients are strongly encouraged to probe for barrier support and avoid usage of
PRE_BARRIER without device support, since this is expensive.

Defined at line 154 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

Records

Functions

  • zx_status_t Clone (::fuchsia::storage::block::BlockOpcode value, ::fuchsia::storage::block::BlockOpcode * result)

    Defined at line 39 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::BlockIoFlag operator| (::fuchsia::storage::block::BlockIoFlag _lhs, ::fuchsia::storage::block::BlockIoFlag _rhs)

    Defined at line 80 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::BlockIoFlag & operator|= (::fuchsia::storage::block::BlockIoFlag & _lhs, ::fuchsia::storage::block::BlockIoFlag _rhs)

    Defined at line 85 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::BlockIoFlag operator& (::fuchsia::storage::block::BlockIoFlag _lhs, ::fuchsia::storage::block::BlockIoFlag _rhs)

    Defined at line 91 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::BlockIoFlag & operator&= (::fuchsia::storage::block::BlockIoFlag & _lhs, ::fuchsia::storage::block::BlockIoFlag _rhs)

    Defined at line 97 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::BlockIoFlag operator^ (::fuchsia::storage::block::BlockIoFlag _lhs, ::fuchsia::storage::block::BlockIoFlag _rhs)

    Defined at line 103 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::BlockIoFlag & operator^= (::fuchsia::storage::block::BlockIoFlag & _lhs, ::fuchsia::storage::block::BlockIoFlag _rhs)

    Defined at line 109 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::BlockIoFlag operator~ (::fuchsia::storage::block::BlockIoFlag _value)

    Defined at line 115 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (::fuchsia::storage::block::BlockIoFlag value, ::fuchsia::storage::block::BlockIoFlag * result)

    Defined at line 120 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::DeviceFlag operator| (::fuchsia::storage::block::DeviceFlag _lhs, ::fuchsia::storage::block::DeviceFlag _rhs)

    Defined at line 187 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::DeviceFlag & operator|= (::fuchsia::storage::block::DeviceFlag & _lhs, ::fuchsia::storage::block::DeviceFlag _rhs)

    Defined at line 192 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::DeviceFlag operator& (::fuchsia::storage::block::DeviceFlag _lhs, ::fuchsia::storage::block::DeviceFlag _rhs)

    Defined at line 198 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::DeviceFlag & operator&= (::fuchsia::storage::block::DeviceFlag & _lhs, ::fuchsia::storage::block::DeviceFlag _rhs)

    Defined at line 204 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::DeviceFlag operator^ (::fuchsia::storage::block::DeviceFlag _lhs, ::fuchsia::storage::block::DeviceFlag _rhs)

    Defined at line 210 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::DeviceFlag & operator^= (::fuchsia::storage::block::DeviceFlag & _lhs, ::fuchsia::storage::block::DeviceFlag _rhs)

    Defined at line 216 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • ::fuchsia::storage::block::DeviceFlag operator~ (::fuchsia::storage::block::DeviceFlag _value)

    Defined at line 222 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (::fuchsia::storage::block::DeviceFlag value, ::fuchsia::storage::block::DeviceFlag * result)

    Defined at line 227 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::Session_GetFifo_Response & _value, ::fuchsia::storage::block::Session_GetFifo_Response * _result)

    Defined at line 416 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::Session_GetFifo_Result & value, ::fuchsia::storage::block::Session_GetFifo_Result * result)

    Defined at line 526 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::SessionAttachVmoRequest & _value, ::fuchsia::storage::block::SessionAttachVmoRequest * _result)

    Defined at line 547 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VmoId & _value, ::fuchsia::storage::block::VmoId * _result)

    Defined at line 570 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::Session_AttachVmo_Response & _value, ::fuchsia::storage::block::Session_AttachVmo_Response * _result)

    Defined at line 601 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::Session_AttachVmo_Result & value, ::fuchsia::storage::block::Session_AttachVmo_Result * result)

    Defined at line 711 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockInfo & _value, ::fuchsia::storage::block::BlockInfo * _result)

    Defined at line 803 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockOffsetMapping & _value, ::fuchsia::storage::block::BlockOffsetMapping * _result)

    Defined at line 830 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::Guid & _value, ::fuchsia::storage::block::Guid * _result)

    Defined at line 857 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerInfo & _value, ::fuchsia::storage::block::VolumeManagerInfo * _result)

    Defined at line 897 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeInfo & _value, ::fuchsia::storage::block::VolumeInfo * _result)

    Defined at line 930 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerAllocatePartitionRequest & _value, ::fuchsia::storage::block::VolumeManagerAllocatePartitionRequest * _result)

    Defined at line 963 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerAllocatePartitionResponse & _value, ::fuchsia::storage::block::VolumeManagerAllocatePartitionResponse * _result)

    Defined at line 984 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerGetInfoResponse & _value, ::fuchsia::storage::block::VolumeManagerGetInfoResponse * _result)

    Defined at line 1007 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerActivateRequest & _value, ::fuchsia::storage::block::VolumeManagerActivateRequest * _result)

    Defined at line 1030 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerActivateResponse & _value, ::fuchsia::storage::block::VolumeManagerActivateResponse * _result)

    Defined at line 1051 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerGetPartitionLimitRequest & _value, ::fuchsia::storage::block::VolumeManagerGetPartitionLimitRequest * _result)

    Defined at line 1072 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerGetPartitionLimitResponse & _value, ::fuchsia::storage::block::VolumeManagerGetPartitionLimitResponse * _result)

    Defined at line 1095 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerSetPartitionLimitRequest & _value, ::fuchsia::storage::block::VolumeManagerSetPartitionLimitRequest * _result)

    Defined at line 1118 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerSetPartitionLimitResponse & _value, ::fuchsia::storage::block::VolumeManagerSetPartitionLimitResponse * _result)

    Defined at line 1139 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManagerSetPartitionNameRequest & _value, ::fuchsia::storage::block::VolumeManagerSetPartitionNameRequest * _result)

    Defined at line 1162 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManager_SetPartitionName_Response & _value, ::fuchsia::storage::block::VolumeManager_SetPartitionName_Response * _result)

    Defined at line 1192 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VolumeManager_SetPartitionName_Result & value, ::fuchsia::storage::block::VolumeManager_SetPartitionName_Result * result)

    Defined at line 1301 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::VsliceRange & _value, ::fuchsia::storage::block::VsliceRange * _result)

    Defined at line 1461 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::Block_GetInfo_Response & _value, ::fuchsia::storage::block::Block_GetInfo_Response * _result)

    Defined at line 1492 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::Block_GetInfo_Result & value, ::fuchsia::storage::block::Block_GetInfo_Result * result)

    Defined at line 1602 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockOpenSessionRequest & _value, ::fuchsia::storage::block::BlockOpenSessionRequest * _result)

    Defined at line 1625 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockOpenSessionWithOffsetMapRequest & _value, ::fuchsia::storage::block::BlockOpenSessionWithOffsetMapRequest * _result)

    Defined at line 1648 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockGetTypeGuidResponse & _value, ::fuchsia::storage::block::BlockGetTypeGuidResponse * _result)

    Defined at line 1673 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockGetInstanceGuidResponse & _value, ::fuchsia::storage::block::BlockGetInstanceGuidResponse * _result)

    Defined at line 1696 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockGetNameResponse & _value, ::fuchsia::storage::block::BlockGetNameResponse * _result)

    Defined at line 1719 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::Block_GetMetadata_Result & value, ::fuchsia::storage::block::Block_GetMetadata_Result * result)

    Defined at line 2072 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockQuerySlicesRequest & _value, ::fuchsia::storage::block::BlockQuerySlicesRequest * _result)

    Defined at line 2093 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockQuerySlicesResponse & _value, ::fuchsia::storage::block::BlockQuerySlicesResponse * _result)

    Defined at line 2118 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockGetVolumeInfoResponse & _value, ::fuchsia::storage::block::BlockGetVolumeInfoResponse * _result)

    Defined at line 2143 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockExtendRequest & _value, ::fuchsia::storage::block::BlockExtendRequest * _result)

    Defined at line 2166 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockExtendResponse & _value, ::fuchsia::storage::block::BlockExtendResponse * _result)

    Defined at line 2187 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockShrinkRequest & _value, ::fuchsia::storage::block::BlockShrinkRequest * _result)

    Defined at line 2210 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockShrinkResponse & _value, ::fuchsia::storage::block::BlockShrinkResponse * _result)

    Defined at line 2231 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h

  • zx_status_t Clone (const ::fuchsia::storage::block::BlockDestroyResponse & _value, ::fuchsia::storage::block::BlockDestroyResponse * _result)

    Defined at line 2252 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/hlcpp/fuchsia/storage/block/cpp/fidl.h