XPLINK compatibility support
XPLINK Compatibility Support is defined as the ability for routines (functions) compiled with NOXPLINK (these may be non-XPLINK C or C++, COBOL, PL/I, or OS Linkage Assembler) to "transparently" call routines that are compiled with XPLINK, and vice versa.
This transparent compatibility is provided at the Program Object (or Load Module, for compatibility with prelinker-built executables) boundary. That is, a Program Object (or Load Module) containing a caller of one linkage type (XPLINK or NOXPLINK) may call a routine compiled with the opposite linkage type as long as the called routine resides in a different Program Object (or Load Module). Program Objects can reside in either a PDSE or the HFS, while Load Modules must reside in a PDS.
The main "call linkage" supporting XPLINK Compatibility is the DLL call mechanism, but C's fetch() and Language Environment's CEEFETCH assembler macro are also supported.
- COBOL dynamic call of an XPLINK function
- PL/I fetch
- Language Environment's CEELOAD assembler macro (traditional LOAD/BALR)