This section describes all the extensions and special features of CPI-C with the UPIC carrier system compared to the X/Open CPI-C interface.
Extensions compared to CPI-C
The following additional UPIC-specific functions are offered. These are:
Enable_UTM_UPIC
Extract_Client_Context
Extract_Conversation_Encryption_Level
Extract_Cursor_Offset
Extract_Convertion
Extract_Max_Partner_Index
Extract_Partner_LU_Name_Ex
Extract_Secondary_Return_Code
Extract_Shutdown_State
Extract_Shutdown_Time
Extract_Transaction_State
Disable_UTM_UPIC
Set_Allocate_Timer
Set_Client_Context
Set_Conversation_Encryption_Level
Set_Conversation_New_Password
Set_Convertion
Set_Function_Key
Set_Partner_Host_Name
Set_Partner_Index
Set_Partner_IP_Address
Set_Partner_Port
Set_Partner_Tsel
Set_Partner_Tsel_Format
Set_Receive_Timer
Specify_Local_Port
Specify_Local_Tsel
Specify_Local_Tsel_Format
Specify_Secondary_Return_CodeThe Enable_UTM_UPIC and Disable_UTM_UPIC functions regulate the signing on and signing off of CPI-C programs with the UPIC carrier system. If these two calls are not used, it is not possible to connect to a UTM application. For further details, see section “CPI-C calls in UPIC” and chapter “Configuration”.
With UPIC the Send_Mapped_Data and Receive_Mapped_Data calls are used to send and receive format names.
Automatic conversion of user data by configuration
This also allows for the possibility of automatic code conversion of user data between ASCII and EBCDIC code; see also section “Code conversion”. On the one hand, this reduces the effort involved in creating an application, while on the other hand it enables a single CPI-C program to communicate both with a UTM application on a Unix or Linux system based on ASCII code and with a UTM application on a BS2000 system based on EBCDIC code (if the user data does not contain any binary information that would be corrupted in the code conversion process).
Special features of CPI-C implementation
The name for partner_LU_name can be up to 73 characters long; for a local connection via UPIC local (Unix, Linux and Windows system) it can only be up to 8 characters.
The name for TP_name can be up to 8 characters long.
The prototypes, parameter types, and constants are described in detail in the header file upic.h.