CPI-C (Common Programming Interface for Communication) is a program interface for distributed program-to-program communication, which has been standardized by X/Open and the CIW (CPI-C Implementor's Workshop).
openUTM provides the CPI-C program interface for the programming languages COBOL, C, and C++. Under openUTM, CPI-C can communicate not only on the basis of the X/Open OSI TP protocol, but also using the LU6.1 and UPIC protocols.
Since CPI-C only supports program-to-program communication, it does not offer any functions for communicating with terminals. As a result, CPI-C services in openUTM cannot be started directly from a terminal (by entering a transaction code). The CPI-C services of a UTM application can only be started by means of service requests from other programs, such as:
UTM-Client programs
other UTM applications (server-to-server communication)
remote applications (e.g. CICS applications in the case of server-to-server communication)
The following tables provide an overview of the CPI-C calls available in openUTM. The individual calls are described in detail in the X/Open CAE Specification on CPI-C (Version 2) of October 1994. All UTM-specific details are described in the openUTM manual “Creating Applications with X/Open Interfaces”. |
Overview: CPI-C calls in openUTM
(The call names are identical for C/C++ and COBOL.)
Calls from the starter set:
Function | Call | Description |
Accept_Conversation | CMACCP | Accept an incoming conversation |
Allocate | CMALLC | Set up an outgoing conversation |
Deallocate | CMDEAL | Terminate the conversation (normally) |
Initialize_Conversation | CMINIT | Establish an outgoing conversation, |
Receive | CMRCV | Receive data |
Send_Data | CMSEND | Send data |
Calls for error and acknowledgment handling:
Function | Call | Description |
Cancel_Conversation | CMCANC | Cancel a conversation |
Confirmed | CMCFMD | Send a positive acknowledgment to the partner |
Send_Error | CMSERR | Error message, send a negative acknowledgment |
Calls for data conversion:
Function | Call | Description |
Convert_Incoming | CMCNVI | Convert incoming data from EBCDIC into the |
Convert_Outgoing | CMCNVO | Convert outgoing data from the character set used on the local system into EBCDIC |