gtpc2met | C/C++ Language Support User's Guide |
This function sets the size of an existing binary large object (BLOB). The size of the BLOB can be made either smaller or larger. If the size is made smaller, the associated backing store will be released and cannot be reclaimed at a later date. If the BLOB is made larger, all of the bytes from the old end of BLOB to the new end of BLOB will be read as zero bytes.
Format
#include <c$to2.h> long TO2_setSize (const TO2_PID_PTR pid_ptr, TO2_ENV_PTR env_ptr, const long *newSize);
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_UPDATE_NOT_ALLOWED
TO2_ERROR_ZERO_PID
Programming Considerations
A commit scope will be created for the TO2_setSize function. If the request is successful, the scope will be committed. If an error occurs while processing the TO2_setSize request, the scope will be rolled back.
Examples
The following example sets the size of a BLOB to be 64 bytes.
#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 size = 64;
·
·
·
if (TO2_setSize(&blob, env_ptr, &size) == TO2_ERROR) { printf("TO2_setSize failed!\n"); process_error(env_ptr); } else { printf("TO2_setSize successful!\n"); }
Related Information