Data types passed using C pointers (by reference)

Table 1 identifies the data types that can be passed as parameters between C and PL/I applications with the use of explicit pointers, or by reference, under C. Conversely, reference parameters passed by PL/I to C are received as pointers to the equivalent data type.

Table 1. Supported data types between C and PL/I using C pointers (by reference)
C PL/I
signed short int REAL FIXED BINARY(15,0)
signed int REAL FIXED BINARY(31,0)
signed long int REAL FIXED BINARY(31,0)
float FLOAT BINARY(21) FLOAT DECIMAL(06)

FLOAT BINARY (21) is the preferred equivalent for float.

double FLOAT BINARY(53) FLOAT DECIMAL(16)

FLOAT BINARY (53) is the preferred equivalent for double.

long double FLOAT BINARY(109) FLOAT DECIMAL(33)

FLOAT BINARY (109) is the preferred equivalent for long double.

pointer to. . . POINTER
decimal(n,p) FIXED DECIMAL(n,p)
Note: Data storage alignment must match.