PLI2C:
   PROCEDURE  OPTIONS(MAIN);
 /*-------------------------------------------------------------------*/
 /*                Copyright (c) 1995, SAS Institute Inc.             */
 /*                  Unpublished - All Rights Reserved                */
 /*                    S A S / C   S A M P L E                        */
 /*                                                                   */
 /*       NAME: PLI2CP                                                */
 /*   LANGUAGE: PLI                                                   */
 /*    PURPOSE: THIS EXAMPLE DEMONSTRATES A PLI PROGRAM CALLING       */
 /*             A C FUNCTION.                                         */
 /*             IT CONSISTS OF SAMPLE LIBRARY MEMBERS                 */
 /*             PLI2CC, PLI2CP, AND PLI2C.                            */
 /* MVS -                                                             */
 /*    COMPILE: USE JCL PROVIDED IN SAMPLE.AUX(PLI2C).                */
 /*       LINK: USE JCL PROVIDED IN SAMPLE.AUX(PLI2C).                */
 /*    EXECUTE: USE JCL PROVIDED IN SAMPLE.AUX(PLI2C).                */
 /* TSO -                                                             */
 /*    COMPILE: PLI - USE PLI COMPILER.                               */
 /*             C - LC370C PLI2CC USING INDEP OPTION.                 */
 /*       LINK: ILCLINK, USING CONTROL CARDS IN SAMPLE.AUX(PLI2C).    */
 /*    EXECUTE: CALL .LOAD(PLI2C)                             */
 /* CMS -                                                             */
 /*    COMPILE: PLI - USE PLI COMPILER.                               */
 /*             C - LC370 PLI2CC USING INDEP OPTION.                  */
 /*        LINK: ILCLINK, USING CONTROL CARDS IN SAMPLE.AUX(PLI2C).   */
 /*     EXECUTE: CALL PLI2C                                           */
 /*-------------------------------------------------------------------*/

 DCL CPROG       ENTRY EXTERNAL OPTIONS(ASM,INTER);

 DCL CFMWK       ENTRY EXTERNAL OPTIONS(ASM,INTER); /* create frmk */
 DCL DCFMWK      ENTRY EXTERNAL OPTIONS(ASM,INTER);
 DCL C_TOKEN     FIXED BIN(31);
 DCL ILC_OPTS    FIXED BIN(31);
 DCL C_ERR       FIXED BIN(31);

     ILC_OPTS = 0;
     CALL CFMWK('PLI.','.',ILC_OPTS,C_TOKEN);

     CALL CPROG();

     CALL DCFMWK(C_TOKEN,C_ERR);
 END PLI2C;