MY_PROG: PROC OPTIONS(MAIN);
DCL CENTRY EXTERNAL ENTRY
RETURNS (FLOAT DEC(33));
DCL X FLOAT DEC(33);
DCL Y FLOAT DEC(33);
X = 12.5;
/* BY VALUE */
Y=CENTRY((X));
END MY_PROG;
#pragma linkage (centry,PLI)
#include <stdio.h>
long double centry(long double x)
{
printf("x is %Lf\n",x);
return(x);
}
Sample PL/I usage
C function
MY_PROG: PROC OPTIONS(MAIN);
DCL CENTRY EXTERNAL ENTRY
RETURNS (FLOAT DEC(33));
DCL X FLOAT DEC(33);
DCL Y FLOAT DEC(33);
X = 12.5;
/* BY REFERENCE */
Y=CENTRY(X);
END MY_PROG;
#pragma linkage (centry,PLI)
#include <stdio.h>
long double centry(long double *x)
{
printf("*x is %Lf\n",x);
return(*x);
}