gtpc2mctC/C++ Language Support User's Guide

TO2_createKeyedLogWithOptions-Create an Empty Keyed Log Collection with Options

This function creates an empty log collection using the specified options and assigns a persistent identifier (PID) to the collection.

Format

#include <c$to2.h>
long  TO2_createKeyedLogWithOptions (TO2_PID_PTR    pid_ptr,
                                     TO2_ENV_PTR    env_ptr,
                               const TO2_OPTION_PTR optionListPtr,
                               const long          *entryLength,
                               const long          *numberEntries,
                               const long          *keyFieldLength,
                               const long          *keyFieldDisplacement);

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.

optionListPtr
The pointer to a returned options list from a TO2_createOptionList function call or NULL if no options are required.

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 that will 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.

keyFieldLength
The pointer to a value that contains the length of the field in the element that will be used as the key. The maximum length is 256 bytes.

keyFieldDisplacement
The pointer to a value that contains the displacement of the field in the element that will be used as the key.

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_DDNAME

TO2_ERROR_ENV

TO2_ERROR_LOCATOR_LGH

Programming Considerations

Examples

The following example creates a persistent keyed 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;        /* Pointer to the TO2 environment              */
TO2_PID        collect;        /* will hold collection's PID                  */
u_char         ddname[] = "NAME_OF_USER_DD_DEFINITION    ";
long           entryLength;    /* Max Entry Length                            */
long           numberEntries;  /* Nbr Entry                                   */
long           keyFieldLen;    /* Key field length                            */
long           keyFieldDisp;   /* Key field displacement                      */
TO2_OPTION_PTR optionListPtr;
char          recoupname[] = "HOSP0001";
 

  ·
  ·
  ·
/* invoke TO2 to create option list */ optionListPtr=TO2_createOptionList(env_ptr, TO2_OPTION_LIST_CREATE, /* create options */ TO2_CREATE_SHADOW, /* use shadowing */ TO2_CREATE_DD, /* use provided dd name*/ TO2_CREATE_RECOUP, /* use provided recoup */ TO2_OPTION_LIST_END, /* end of options */ dd_name, /* address of ddname */ recoupname); /* addr of recoup key */ if (optionListPtr == TO2_ERROR) process_error(env_ptr); if (TO2_createKeyedLogWithOptions(&collect, env_ptr, optionListPtr, &numberEntries, &keyFieldLen, &keyFieldDisp) == TO2_ERROR) { printf("TO2_createKeyedLogWithOptions failed!\n"); process_error(env_ptr); } printf("TO2_createKeyedLogWithOptions successful!\n");

Related Information