CICS ONC RPC supported XDR library functions

Stabilized feature: CICS® support for Open Network Computing Remote Procedure Call (ONC RPC) is stabilized. Consider exposing and orchestrating applications as API services by using z/OS Connect Enterprise Edition or CICS web services, or by writing web applications in Java or Node.js. See also Stabilization notices and discontinued functions.

If you write your own XDR routine, you need to use the XDR library functions. CICS ONC RPC supports only the functions listed in this topic. You should use only these functions in your own XDR routines. These functions convert C data types to XDR formats, and XDR formats to C data types.

Some of these function names cannot be used in the connection manager when specifying XDR library functions for the inbound and outbound XDR routines for a 4-tuple. In the column headed CM, an asterisk means that the XDR library routine can be specified in the connection manager, while a blank means that it cannot.
Table 1. Supported XDR library functions
XDR library function CM C type
xdr_int * int
xdr_u_int * unsigned int
xdr_long * long
xdr_u_long * unsigned long
xdr_short * short int
xdr_u_short * unsigned short int
xdr_float * float
xdr_bool * bool_t (see note)
xdr_double * double
xdr_enum   enum
xdr_void * void
xdr_array   variable-length array
xdr_opaque   fixed-length uninterrupted data
xdr_bytes   variable-length array of bytes
xdr_pointer   object references, including null pointers
xdr_reference   object references
xdr_char * character
xdr_u_char * unsigned character
xdr_text_char * text character
xdr_string   null-terminated character arrays
xdr_vector   fixed-length array with arbitrary element size
xdr_wrapstring * variable-length null-terminated character arrays
xdr_union   discriminated union
Note: bool_t is not a built-in C data type; it is defined in an ONC RPC header (as a C int).

The full C definitions of these functions are documented in z/OS Communications Server: IP Programmer's Guide and Reference.