RPCGEN compiler

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.

To use RPCGEN, you write a program definition in RPCL, a language similar to a subset of C®, designed for the definition of ONC RPC distributed programs.

To use RPCGEN, you write a program definition in RPCL, a language similar to a subset of C, designed for the definition of ONC RPC distributed programs. The definition defines the data to be transferred and procedures to be used for both client and server. The client application source program is written as though the remote procedure call were a call to a local program. The code to send the call and get the reply are part of the client stub, which is generated by RPCGEN. Similarly the code the server needs to accept the call and send back the reply are part of the server stub, which is also generated by RPCGEN. Figure 1 illustrates the role of RPCGEN in application development.

Figure 1. Using the RPCGEN compiler
Diagram showing an RPCL program processed by RPCGEN to produce a client stub; XDR routines; header files; and a Server stub. The Client stub and header files are compiled to form the client stub object and the client application source is compiled to form the client object. These are then linked to form the client application. Similarly, the Server stub and XDR routines are compiled to form the Server stub object that is linked with the Server object to form the Server application.
CICS ONC RPC: RPCGEN may only be used for:
  • Generating pairs of XDR routines, as described in the previous section
  • Generating a client stub to be linked with the application for the client system
  • Generating header files

CICS ONC RPC does not use the server stub generated by RPCGEN.