gtpc2mgj | C/C++ Language Support User's Guide |
This function locates the entry represented by the specified key and replaces its contents with the passed data values. The passed key string is assumed to be 64 bytes long.
Format
#include <c$to2.h> long TO2_atBrowseKeyPut ( TO2_ENV_PTR env_ptr, const void *key, const long *dataLength, const void *data, const long *updateSeqCtr);
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_LOCATOR_NOT_FOUND
TO2_ERROR_METHOD
TO2_ERROR_NOT_INIT
TO2_ERROR_PID
TO2_ERROR_SEQCTR
TO2_ERROR_UPDATE_NOT_ALLOWED
TO2_ERROR_ZERO_PID
Programming Considerations
A commit scope will be created for the TO2_atBrowseKeyPut function. If the request is successful, the scope will be committed. If an error occurs while processing the TO2_atBrowseKeyPut request, the scope will be rolled back.
Examples
The following example replaces the data in the dictionary with the passed data values.
#include <c$to2.h> /* Needed for TO2 API functions */ #include <stdio.h> /* APIs for standard I/O functions */ #define UNDEF -1 /* Error return indication */ long err_code; char *key; char *data; TO2_ENV_PTR env_ptr; /* Pointer to TO2 environment */ long updateSeqCtr; long dataLength;
·
·
·
err_code = TO2_atBrowseKeyPut (env_ptr, key, &dataLength, data, &updateSeqCtr); if (err_code == TO2_ERROR) { err_code = TO2_getErrorCode(env_ptr); if (err_code == TO2_ERROR_LOCATOR_NOT_FOUND) return UNDEF; { printf("TO2_atBrowseKeyPut failed!\n"); process_error(env_ptr); } else { printf("TO2_atBrowseKeyPut successful!\n"); } }
Related Information