dsmSendBufferData

The dsmSendBufferData function call sends a byte stream of data to IBM® Storage Protect through a buffer that was provided in a previous dsmReleaseBuffer call. The application client can pass any type of data for storage on the server. Usually this data are file data, but it is not limited to file data. You can call dsmSendBufferData several times, if the byte stream of data that you are sending is large. Regardless of whether the call succeeds or fails, the buffer is released.

Restriction: When you use the useTsmBuffers option, even if an object is included for compression, the object is not compressed.

Syntax

dsInt16_t  dsmSendBufferData   (sendBufferDataIn_t        *dsmSendBufferDataExInP,
                                sendBufferDataOut_t       *dsmSendBufferDataOutP) ;

Parameters

sendBufferDataIn_t * dsmSendBufferDataInP (I)
This structure contains the following input parameters.
dsUint32_t dsmHandle (I)
The handle that associates this call with a previous dsmInitEx call.
dsUint8_t tsmBufferHandle(I)
The handle that identifies the buffer to send.
char *dataPtr(I)
The address to which application data was written.
dsUint32_t numBytes(I)
The actual number of bytes written by the application (should always be less than the value provided in dsmReleaseBuffer).

Return codes

The return code numbers are provided in parentheses ( ).

Table 1. Return codes for dsmSendBufferData
Return code Explanation
DSM_RC_BAD_CALL_SEQUENCE (2041) The call was not issued in the proper state.
DSM_RC_INVALID_TSMBUFFER (2042) The handle or the value of dataPtr are invalid.
DSM_RC_BUFF_ARRAY_ERROR (2045) A buffer array error occurred.
DSM_RC_TOO_MANY_BYTES (2043) The value of numBytes is bigger than the size of the buffer provided in the dsmReleaseBuffer call.