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() |