gtpc2mem | C/C++ Language Support User's Guide |
This function allows an application program to replace the contents of a binary large object (BLOB) with an updated copy of the contents. The size of the BLOB will be made either smaller or larger depending on the content size passed as a parameter.
Format
#include <c$to2.h> long TO2_replaceBLOB (const TO2_PID_PTR pid_ptr, TO2_ENV_PTR env_ptr, const void *data, const long *dataLgh, const long *sequenceCounter);
Normal Return
The normal return is a positive value.
Error Return
An error return is indicated by a zero. When zero is returned, use the TO2_getErrorCode function to determine the specific error code. For more information, see Error Handling.
The following error codes are common for this function:
TO2_ERROR_DATA_LGH
TO2_ERROR_ENV
TO2_ERROR_METHOD
TO2_ERROR_NOT_INIT
TO2_ERROR_PID
TO2_ERROR_SEQCTR
TO2_ERROR_UPDATE_NOT_ALLOWED
TO2_ERROR_ZERO_PID
Programming Considerations
Examples
The following example replaces the contents of a BLOB with a single byte.
#include <c$to2.h> /* TO2 API function prototypes */ #include <stdio.h> /* APIs for standard I/O functions */ TO2_ENV_PTR env_ptr; /* Pointer to TO2 Environment */ TO2_PID blob; long seqCtr; /* field to hold sequence counter */ long dataLgh; /* field to hold length of BLOB */ char * bufPtr;
·
·
·
if (bufPtr = (TO2_getBLOB(&blob, env_ptr, &dataLgh, &seqCtr)) == TO2_ERROR) { printf("TO2_getBLOB failed!\n"); process_error(env_ptr); } *bufPtr = 'A'; datalgh=1; if (TO2_replaceBLOB(&blob, env_ptr, bufPtr, &dataLgh, &seqctr) == TO2_ERROR) { printf("TO2_replaceBLOB failed!\n"); process_error(env_ptr); } else { printf("TO2_replaceBLOB successful!\n"); }
Related Information