Skip to main content
Version: 1.10

Callback Structures

SEFWriteWithoutPhysicalAddressIOCB

Members of SEFWriteWithoutPhysicalAddressIOCB

TypeNameDirectionDescription
struct SEFStatusstatusInLibrary sets error field to a non-zero value to indicate any error when a command completes
int16_topcodeInShould never be accessed - for internal use by library
int16_tdoneInFlag for polled I/O - library sets this field to a non-zero value once the command completes
void *param1InIgnored by the library; the caller can store context information that may be accessed from the completion function
void()(struct SEFWriteWithoutPhysicalAddressIOCB )complete_funcInIf non-zero, treated as the address of a function to be called when a command completes
struct SEFFlashAddress *tentativeAddressesInList of tentative addresses return
const struct SEFWriteOverrides *overridesInOverride parameters for scheduling purposes, may be NULL
struct SEFFlashAddressflashAddressInAddress of the superblock for this write; -1 for auto-allocate, or can use value from previous superblock allocation call
struct SEFUserAddressuserAddressInContains LBA information
const struct iovec *iovInA pointer to the scatter gather list
uint16_tiovcntInnumber of elements in the scatter gather list
struct SEFPlacementIDplacementIDInOnly 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_tnumADUInLength in ADUs, maximum is 64k ADUs
uint32_tdistanceToEndOfSuperBlockInReturn value in units of ADUs

SEFReadWithPhysicalAddressIOCB

Members of SEFReadWithPhysicalAddressIOCB

TypeNameDirectionDescription
struct SEFStatusstatusInLibrary sets error field to a non-zero value to indicate any error when a command completes
int16_topcodeInShould never be accessed - for internal use by library
int16_tdoneInFlag for polled I/O - library sets this field to a non-zero value once the command completes
void *param1InIgnored by the library; the caller can store context information that may be accessed from the completion function
void()(struct SEFReadWithPhysicalAddressIOCB )complete_funcInIf non-zero, treated as the address of a function to be called when a command completes
const struct SEFReadOverrides *overridesInOverride parameters for scheduling purposes, may be NULL
struct SEFFlashAddressflashAddressInPhysical 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 SEFUserAddressuserAddressInContains LBA information
const struct iovec *iovInA pointer to the scatter gather list
uint32_tiovOffsetInStarting byte offset into iov array
uint32_tnumADUInNumber of ADUs to be read, maximum is superblockCapacity
uint16_tiovcntInNumber of elements in the scatter gather list

SEFReleaseSuperBlockIOCB

Members of SEFReleaseSuperBlockIOCB

TypeNameDirectionDescription
struct SEFStatusstatusInLibrary sets error field to a non-zero value to indicate any error when a command completes
int16_topcodeInShould never be accessed - for internal use by library
int16_tdoneInFlag for polled I/O - library sets this field to a non-zero value once the command completes
void *param1InIgnored by the library; the caller can store context information that may be accessed from the completion function
void()(struct SEFReleaseSuperBlockIOCB )complete_funcInIf non-zero, treated as the address of a function to be called when a command completes
ALIGN_FOR_LONGIn
struct SEFFlashAddressflashAddressInAddress of superblock

SEFAllocateSuperBlockIOCB

IOCB for SEFAllocateSuperBlockAsync()

Members of SEFAllocateSuperBlockIOCB

TypeNameDirectionDescription
struct SEFStatusstatusInLibrary sets error field to a non-zero value to indicate any error when a command completes
int16_topcodeInShould never be accessed - for internal use by library
int16_tdoneInFlag for polled I/O - library sets this field to a non-zero value once the command completes
void *param1InIgnored by the library; the caller can store context information that may be accessed from the completion function
void()(struct SEFAllocateSuperBlockIOCB )complete_funcInIf non-zero, treated as the address of a function to be called when a command completes
const struct SEFAllocateOverrides *overridesInOverride parameters for scheduling purposes, may be NULL
struct SEFFlashAddressflashAddressInAddress of superblock
uint32_tretentionInDesired retention period in hours
enum SEFSuperBlockTypetypeInkForWrite, kForCopy or kForDeviceMetadata

SEFCloseSuperBlockIOCB

IOCB for SEFCloseSuperBlockAsync()

Members of SEFCloseSuperBlockIOCB

TypeNameDirectionDescription
struct SEFStatusstatusInLibrary sets error field to a non-zero value to indicate any error when a command completes
int16_topcodeInShould never be accessed - for internal use by library
int16_tdoneInFlag for polled I/O - library sets this field to a non-zero value once the command completes
void *param1InIgnored by the library; the caller can store context information that may be accessed from the completion function
void()(struct SEFCloseSuperBlockIOCB )complete_funcInIf non-zero, treated as the address of a function to be called when a command completes
struct SEFFlashAddressflashAddressInAddress of the superblock

SEFNamelessCopyIOCB

Members of SEFNamelessCopyIOCB

TypeNameDirectionDescription
struct SEFStatusstatusInLibrary 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_topcodeInShould never be accessed - for internal use by library
int16_tdoneInFlag for polled I/O - library sets this field to a non-zero value once the command completes
void *param1InIgnored by the library; the caller can store context information that may be accessed from the completion function
void()(struct SEFNamelessCopyIOCB )complete_funcInIf non-zero, treated as the address of a function to be called when a command completes
SEFQoSHandledstQosHandleInHandle to the destination QoS Domain
struct SEFFlashAddresscopyDestinationInPhysical address of destination superblock
struct SEFAddressChangeRequest *addressChangeInfoInInformation to record changed addresses
uint32_tnumAddressChangeRecordsInMaximum number of ADUs to copy (size of addressChangeRequest userAddress array)
uint32_treserved_0In
struct SEFCopySourcecopySourceInPhysical addresses to copy
const struct SEFUserAddressFilter *filterInPointer to user address filter parameters, null for no filtering
const struct SEFCopyOverrides *overridesInOverride parameters for scheduling purposes, may be NULL
void *copyContextInWorking buffer returned by SEFPrepareBufferForNamelessCopy()