CPI-C Reference
CPI Communications is an evolving interface, embracing functions to
meet the growing demands from different application environments
and to achieve openness as an industry standard for communications
programming.
This section contains a brief history of each functional level of CPI Communications
and the additional function provided.
CPI Communications, introduced in 1987, provided the standard base for
conversational communications:
- Ability to start and end conversations
- Support for program synchronization through confirmation flows
- Error processing
- Ability to optimize conversation flow (using Flush and
Prepare_To_Receive calls)
CPI-C 1.0 was extended
in 1990 to include four areas of new function:
- Support for resource recovery
- Automatic parameter conversion
- Support for communication with non-CPI-C programs
- Local and remote transparency
Note: For more information about the CPI-C 1.1 architecture,
see
SAA Common Programming Interface Communications
Reference, SC26-4399-06.
X/Open adopted CPI-C at the 1.1 level (with the exception of
support for resource recovery) to allow X/Open-compliant systems
to communicate with systems implementing LU 6.2.
The X/Open Developer's Specification CPI-C,
published in 1990,
included several new functions
not found in CPI-C 1.1:
- Support for non-blocking calls
- Support for data conversion (beyond parameters)
- Support for security parameters
- Ability to accept multiple conversations
CPI-C 1.0 was designed to provide a consistent programming
interface for communications programming. However, each of
its derivatives, namely CPI-C 1.1 and X/Open CPI-C, provided
different levels of function.
CPI-C 1.2,
documented in the first edition of CPI Communications, SC31-6180-00,
consolidated CPI-C 1.1 and
the X/Open extensions,
providing function in four areas:
- Support for non-blocking calls--incorporation of X/Open calls
- Support for data conversion--incorporation of X/Open calls
- Support for specification of security
parameters--incorporation of X/Open calls
- Ability to accept multiple conversations--new calls to
accommodate both X/Open and CPI-C 1.1
CPI-C 2.0, completed by the CPI-C Implementers' Workshop (CIW) in 1994,
provides enhancements to some CPI-C 1.2 functions,
as well as offering several new functions:
- Support for full-duplex conversations and expedited
data
- Enhanced support for non-blocking processing with the addition of
queue-level processing and a callback function
- Support for OSI TP applications
-
Support for use of a distributed directory
-
Support for use of a distributed security service
-
Support for secondary information
to determine the cause of a return code
-
Definition of conformance classes
X/Open CPI-C 2.0 enhances and updates X/Open CPI-C to the CPI-C 2.0
level with the following exceptions:
- Supports only C and COBOL programming languages.
- Does not include distributed directory support.
Specifically, the Set_Partner_ID and Extract_Partner_ID calls are
not included.
- In the COBOL pseudonym file, X/Open uses COMP-5 for
integers--whereas, CIW CPI-C 2.0 uses COMP-4 for integers.
CPI-C 2.1, completed by the CPI-C Implementors' Workshop (CIW) in
1995, provides the following functions:
- Support for automatic data conversation
- Support for the ability to accept conversations with a specific
TP name
- Support for the specification of service TP names
- Support for additional return control options
- Enhancements to the Cancel_Conversations call to allow
determination of cancelled operations.
[ Top of Page | Previous Page | Next Page | Table of Contents ]