gtpc2mibC/C++ Language Support User's Guide

TO2_convertEBCDICtoBinPID-Convert EBCDIC String to PID

This function converts an EBCDIC string persistent identifier (PID) to a binary PID.

Format

#include <c$to2.h>
long TO2_convertEBCDICtoBinPID(const char        EBCDIC_pid_ptr[64],
                                     TO2_ENV_PTR env_ptr,
                                     TO2_PID_PTR binary_pid_output,
                                     long       *pid_output_length);

EBCDIC_pid_ptr
The pointer to a field that contains 64 EBCDIC characters that will be converted to a binary PID.

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

binary_pid_output
The pointer to a field that is 32 characters long in which the converted binary PID will be stored.

pid_input_length
The pointer to the length of the EBCDIC PID to be converted. On return, this field will be overlaid with the binary length of the converted PID.

Normal Return

The normal return is a positive value.

Error Return

An error return is indicated by a zero return code. 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_PID

TO2_ERROR_ZERO_PID

Programming Considerations

This function does not use TPF transaction services on behalf of the caller.

Examples

The following example converts an EBCDIC string PID to a binary PID.

#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        outputPID;
char           input_PID[64];
long           pid_length;

  ·
  ·
  ·
/**********************************************************************/ /* Make sure that input_PID is set to the EBCDIC string PID you want */ /* to convert before this code. */ /**********************************************************************/ pid_length = sizeof(input_PID); if (TO2_convertEBCDICtoBinPID(inputPID, env_ptr, &output_PID, &pid_length) == TO2_ERROR) { printf("TO2_convertEBCDICtoBinPID failed!\n"); process_error(env_ptr); } else { printf("TO2_convertEBCDICtoBinPID successful!\n"); }

Related Information

TO2_convertBinPIDtoEBCDIC-Make a PID Printable.