/*-------------------------------------------------------------------+ | Copyright (c) 1995, SAS Institute Inc. | | Unpublished - All Rights Reserved | | S A S / C S A M P L E | | | | NAME: C2PASCC | | LANGUAGE: C | | PURPOSE: THIS EXAMPLE DEMONSTRATES A C MAIN CALLING A | | PASCAL ROUTINE. | | IT CONSISTS OF SAMPLE LIBRARY MEMBERS | | C2PASCC, C2PASCP, AND C2PASCAL. | | MVS - | | COMPILE: USE JCL PROVIDED IN SAMPLE.AUX(C2PASCAL). | | LINK: USE JCL PROVIDED IN SAMPLE.AUX(C2PASCAL). | | EXECUTE: USE JCL PROVIDED IN SAMPLE.AUX(C2PASCAL). | | TSO - | | COMPILE: PASCAL - USE PASCAL COMPILER. | | C - LC370C C2PASCC | | LINK: ILCLINK, USING CONTROL CARDS IN SAMPLE.AUX(C2PASCAL). | | EXECUTE: CALL .LOAD(C2PASCAL) | | CMS - | | COMPILE: PASCAL - USE PASCAL COMPILER. | | C - LC370 C2PASCC | | LINK: ILCLINK, USING CONTROL CARDS IN SAMPLE.AUX(C2PASCAL). | | EXECUTE: CALL C2PASCAL | | MISC NOTES: THE FOLLOWING LSCL102 MESSAGES CAN BE IGNORED: | | WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(AMPXRETC) | | WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(AMPXHALT) | | WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(AMPXSEGE) | | WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(AMPXSTRT) | | WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(AMPXPARM) | | WARNING: CAN'T OPEN FILE DURING AUTOCALL: DDN:SYSLIB(PASCPROC) | +-------------------------------------------------------------------*/ #include #include void __pascal pascproc(); void main(void) { void *token; printf("Hello, from the C program!\n"); /* token = mkfmwk("PASCAL",""); */ token = mkfmwk("PASCAL","NOCHECK,NOSPIE"); if (!token) { printf("Can't create the Pascal framework!\n"); exit(12); } printf("Calling PASCAL routine!\n"); pascproc(); printf("Returned back from PASCAL fine!\n"); dlfmwk(token); }