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