dsmGetBufferData

The dsmGetBufferData function call receives a byte stream of data from IBM® Storage Protect through a buffer. After each call the application needs to copy the data and release the buffer through a call to dsmReleaseBuffer. If the number of buffers held by the application equals the numTsmBuffers specified in the dsmInitEx call, the dsmGetBufferData function blocks until a dsmReleaseBuffer is called.

Syntax

dsInt16_t  dsmGetBufferData   (getDatatExIn_t        *dsmGetBufferDataExInP,
                               getDataExOut_t        *dsmGetBufferDataExOutP) ;

Parameters

getDataExIn_t * dsmGetBufferDataExInP (I)
This structure contains the following input parameter.
dsUint32_t dsmHandle
The handle that identifies the session and associates it with a previous dsmInitEx call.
getDataExOut_t * dsmGetBufferDataExOutP (0)
This structure contains the following output parameters.
dsUint8_t tsmBufferHandle(0)
The handle that identifies the buffer received.
char *dataPtr(0)
The address to which the data was written.
dsUint32_t numBytes(0)
Actual number of bytes written by IBM Storage Protect.

Return codes

The return code numbers are provided in parentheses ( ).

Table 1. Return codes for dsmGetBufferData
Return code Explanation
DSM_RC_BAD_CALL_SEQUENCE (2041) The call was not issued in the proper state.
DSM_RC_OBJ_ENCRYPTED (2049) This function cannot be used for encrypted objects.
DSM_RC_OBJ_COMPRESSED (2048) This function cannot be used for compressed objects.
DSM_RC_BUFF_ARRAY_ERROR (2045) A buffer array error occurred.