gtpc2md3C/C++ Language Support User's Guide

TO2_createLog-Create an Empty Persistent Log Collection

This function creates an empty persistent log collection using the default data definition (DD) and assigns a persistent identifier (PID) to the collection.

Format

#include <c$to2.h>
long  TO2_createLog (      TO2_PID_PTR   pid_ptr,
                           TO2_ENV_PTR   env_ptr,
                     const long         *entryLength,
                     const long         *numberEntries);

pid_ptr
The pointer to the location where the PID assigned to the new collection will be returned.

env_ptr
The pointer to the environment as returned by the TO2_createEnv function.

entryLength
The pointer to the length of an element in the collection. The maximum length is 4000 bytes.

numberEntries
The pointer to the value that is the number of log entries to be maintained in the log. Once the log contains this number of entries, the log will wrap and start overlaying the oldest entry with each new entry.

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

Programming Considerations

A commit scope will be created for the TO2_createLog request. If the request is successful, the scope will be committed. If an error occurs while processing the TO2_createLog request, the scope will be rolled back.

Examples

The following example creates a persistent log collection.

#include <c$to2.h>            /* Needed for TO2 API functions    */
#include <stdio.h>            /* APIs for standard I/O functions */
 
TO2_ENV_PTR    env_ptr;       /* PTR to the TO2 environment      */
TO2_PID        collect;       /* will hold collection's PID      */
long           entryLength;   /* Max Entry Length                */
long           numberEntries; /* Number Entry                    */

  ·
  ·
  ·
if (TO2_createLog(&collect, env_ptr, &entryLength, &numberEntries) == TO2_ERROR) { printf("TO2_createLog failed!\n"); process_error(env_ptr); } else { printf("TO2_createLog successful!\n"); }

Related Information