C/C++ Programmer's Guide (G06.25+)

Mixed-Language Programming for TNS/R and
TNS/E Native Programs
HP C/C++ Programmer’s Guide for NonStop Systems429301-008
8-28
Interfacing to Native COBOL
Example 8-2. COBOL Function Called by a C Program
================================================================
The COBOL program for OSS. testcob.cob
================================================================
?env common;innerlist
?SYMBOLS
IDENTIFICATION DIVISION.
PROGRAM-ID. XCOBFUNC.
AUTHOR. MOLLY.
DATE-WRITTEN. 7/25/00.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. TANDEM-K2006.
OBJECT-COMPUTER. TANDEM-K2006.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 D-RESULT PIC S9(09) COMP.
LINKAGE SECTION.
77 D-STRING PIC X(20).
77 D-SHORT NATIVE-2.
77 D-LARGE NATIVE-4.
PROCEDURE DIVISION USING D-STRING, D-SHORT, D-LARGE.
000-INIT.
DISPLAY "I AM DOING COBOL NOW".
COMPUTE D-RESULT = D-LARGE / D-SHORT.
DISPLAY "D-STRING = " D-STRING.
DISPLAY "D-LARGE = " D-LARGE.
DISPLAY "D-SHORT = " D-SHORT.
DISPLAY "D-RESULT = " D-RESULT.
DISPLAY "LEAVING COBOL PROGRAM NOW".
EXIT-PROGRAM.
Example 8-3. Include File (Prototype Function)
================================================================
The include file for OSS (cobincl.h)
================================================================
/* COBINCL */
void XCOBFUNC (char *, short *, long *);
#pragma FUNCTION XCOBFUNC (cobol)