Callback Structures
SEFWriteWithoutPhysicalAddressIOCB
Members of SEFWriteWithoutPhysicalAddressIOCB
Type | Name | Direction | Description |
---|---|---|---|
struct SEFStatus | status | In | Library sets error field to a non-zero value to indicate any error when a command completes |
int16_t | opcode | In | Should never be accessed - for internal use by library |
int16_t | done | In | Flag for polled I/O - library sets this field to a non-zero value once the command completes |
void * | param1 | In | Ignored by the library; the caller can store context information that may be accessed from the completion function |
void()(struct SEFWriteWithoutPhysicalAddressIOCB ) | complete_func | In | If non-zero, treated as the address of a function to be called when a command completes |
struct SEFFlashAddress * | tentativeAddresses | In | List of tentative addresses return |
const struct SEFWriteOverrides * | overrides | In | Override parameters for scheduling purposes, may be NULL |
struct SEFFlashAddress | flashAddress | In | Address of the superblock for this write; -1 for auto-allocate, or can use value from previous superblock allocation call |
struct SEFUserAddress | userAddress | In | Contains LBA information |
const struct iovec * | iov | In | A pointer to the scatter gather list |
uint16_t | iovcnt | In | number of elements in the scatter gather list |
struct SEFPlacementID | placementID | In | Only valid if the flashAddress is auto allocated. A value from 0 to numPlacementIds – 1 indicating what logical data group to place this data in |
uint32_t | numADU | In | Length in ADUs, maximum is 64k ADUs |
uint32_t | distanceToEndOfSuperBlock | In | Return value in units of ADUs |
SEFReadWithPhysicalAddressIOCB
Members of SEFReadWithPhysicalAddressIOCB
Type | Name | Direction | Description |
---|---|---|---|
struct SEFStatus | status | In | Library sets error field to a non-zero value to indicate any error when a command completes |
int16_t | opcode | In | Should never be accessed - for internal use by library |
int16_t | done | In | Flag for polled I/O - library sets this field to a non-zero value once the command completes |
void * | param1 | In | Ignored by the library; the caller can store context information that may be accessed from the completion function |
void()(struct SEFReadWithPhysicalAddressIOCB ) | complete_func | In | If non-zero, treated as the address of a function to be called when a command completes |
const struct SEFReadOverrides * | overrides | In | Override parameters for scheduling purposes, may be NULL |
struct SEFFlashAddress | flashAddress | In | Physical address for the read command; When the QoS domain ID and block number are 0, the ADU offset is the root pointer index for the flash address to read. |
struct SEFUserAddress | userAddress | In | Contains LBA information |
const struct iovec * | iov | In | A pointer to the scatter gather list |
uint32_t | iovOffset | In | Starting byte offset into iov array |
uint32_t | numADU | In | Number of ADUs to be read, maximum is superblockCapacity |
uint16_t | iovcnt | In | Number of elements in the scatter gather list |
SEFReleaseSuperBlockIOCB
Members of SEFReleaseSuperBlockIOCB
Type | Name | Direction | Description |
---|---|---|---|
struct SEFStatus | status | In | Library sets error field to a non-zero value to indicate any error when a command completes |
int16_t | opcode | In | Should never be accessed - for internal use by library |
int16_t | done | In | Flag for polled I/O - library sets this field to a non-zero value once the command completes |
void * | param1 | In | Ignored by the library; the caller can store context information that may be accessed from the completion function |
void()(struct SEFReleaseSuperBlockIOCB ) | complete_func | In | If non-zero, treated as the address of a function to be called when a command completes |
ALIGN_FOR_LONG | In | ||
struct SEFFlashAddress | flashAddress | In | Address of superblock |
SEFAllocateSuperBlockIOCB
IOCB for SEFAllocateSuperBlockAsync()
Members of SEFAllocateSuperBlockIOCB
Type | Name | Direction | Description |
---|---|---|---|
struct SEFStatus | status | In | Library sets error field to a non-zero value to indicate any error when a command completes |
int16_t | opcode | In | Should never be accessed - for internal use by library |
int16_t | done | In | Flag for polled I/O - library sets this field to a non-zero value once the command completes |
void * | param1 | In | Ignored by the library; the caller can store context information that may be accessed from the completion function |
void()(struct SEFAllocateSuperBlockIOCB ) | complete_func | In | If non-zero, treated as the address of a function to be called when a command completes |
const struct SEFAllocateOverrides * | overrides | In | Override parameters for scheduling purposes, may be NULL |
struct SEFFlashAddress | flashAddress | In | Address of superblock |
uint32_t | retention | In | Desired retention period in hours |
enum SEFSuperBlockType | type | In | kForWrite, kForCopy or kForDeviceMetadata |
SEFCloseSuperBlockIOCB
IOCB for SEFCloseSuperBlockAsync()
Members of SEFCloseSuperBlockIOCB
Type | Name | Direction | Description |
---|---|---|---|
struct SEFStatus | status | In | Library sets error field to a non-zero value to indicate any error when a command completes |
int16_t | opcode | In | Should never be accessed - for internal use by library |
int16_t | done | In | Flag for polled I/O - library sets this field to a non-zero value once the command completes |
void * | param1 | In | Ignored by the library; the caller can store context information that may be accessed from the completion function |
void()(struct SEFCloseSuperBlockIOCB ) | complete_func | In | If non-zero, treated as the address of a function to be called when a command completes |
struct SEFFlashAddress | flashAddress | In | Address of the superblock |
SEFNamelessCopyIOCB
Members of SEFNamelessCopyIOCB
Type | Name | Direction | Description |
---|---|---|---|
struct SEFStatus | status | In | Library sets error field to a non-zero value to indicate any error when a command completes. See SEFNamelessCopy() for details of the info field. |
int16_t | opcode | In | Should never be accessed - for internal use by library |
int16_t | done | In | Flag for polled I/O - library sets this field to a non-zero value once the command completes |
void * | param1 | In | Ignored by the library; the caller can store context information that may be accessed from the completion function |
void()(struct SEFNamelessCopyIOCB ) | complete_func | In | If non-zero, treated as the address of a function to be called when a command completes |
SEFQoSHandle | dstQosHandle | In | Handle to the destination QoS Domain |
struct SEFFlashAddress | copyDestination | In | Physical address of destination superblock |
struct SEFAddressChangeRequest * | addressChangeInfo | In | Information to record changed addresses |
uint32_t | numAddressChangeRecords | In | Maximum number of ADUs to copy (size of addressChangeRequest userAddress array) |
uint32_t | reserved_0 | In | |
struct SEFCopySource | copySource | In | Physical addresses to copy |
const struct SEFUserAddressFilter * | filter | In | Pointer to user address filter parameters, null for no filtering |
const struct SEFCopyOverrides * | overrides | In | Override parameters for scheduling purposes, may be NULL |
void * | copyContext | In | Working buffer returned by SEFPrepareBufferForNamelessCopy() |