RPCGEN

From HandWiki

RPCGEN is an interface generator pre-compiler for Sun Microsystems ONC RPC. It uses an interface definition file to create client and server stubs in C.

RPC Language

RPCGEN creates stubs based on information contained within an IDL file. This file is written in a language called RPCL - remote procedure call language. This language closely mimics C in style, and is designed purely for defining specification to be used for ONC RPC.

An RPC specification contains a number of definitions. These definitions are used by RPCGEN to create a header file for use by both the client and server, and client and server stubs.

RPCL Definitions

  • Constant
  • Enumeration
  • Struct
  • Union (Note that this is not like a C union — it behaves more like a discriminated record)
  • Typedef
  • Program

References

NOTE: There is an error in the first example, to properly compile and link msg_proc.c, the declaration "printmessage_1(msg)" must be = "printmessage_1_svc(msg, req)" Otherwise the command: example% cc msg_proc.c msg_svc.c -o msg_server fails due to a naming discrepancy with the rpcgen generated code.

NOTE: The same error appears in the second example. The example is also missing "#include <errno.h>" in rls.c and dir_proc.c.