To obtain the address of an XPLINK C/C++ routine which can be called from a NON-XPLINK program, look at the fetch() function in the C/C++ run time library reference.
When calling "fetch()" from COBOL, the COBOL code will have to use the RETURNING facility of the CALL statement to get the address of the C/C++ program. The variable populated by RETURNING facility will need to be a FUNCTION POINTER or a redefinition of a FUNCTION POINTER. The COBOL code will then need to call the "returned program" via the FUNCTION POINTER variable. See COBOL language reference and COBOL program guide for additional details. On Mon, Sep 22, 2014 at 6:24 AM, Kirk Wolf <[email protected]> wrote: > We have a batch utility program that is built in C that uses the XPLINK > version of the C runtime. A customer would like to "dynamically" call > this from COBOL, but of course the LE runtimes are not compatible: > > IGZ0179S A dynamic call to COZBATCH failed because the load module contains > one > or more routines with XPLINK linkage. > > > Is it possible to do the equivalent of a Assembler "LINK" (separate RB and > LE runtime environment) from COBOL without writing an Assembler stub > routine? > > Thanks, > > Kirk Wolf > Dovetailed Technologies > http://dovetail.com > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
