# RPC User Guide

See also: An introduction to Remote Procedure Call , RPC Project History

This manual describes how to build a distributed system using the Remote Procedure Call system developed in the Online Group of the CN Division of CERN, the European Particle Physics Laboratory (CERN). This hypertext version was derived from version 3.0.0 of the paper version. Copyright is held by CERN, but distribution in whole or part is allowed to academic non-profit institutions provided this notice is also distributed.

## Using this Manual

This manual aims to be a complete reference text, and the paper version is not intended to be read from cover to cover at one sitting. Most of it will not apply to you, so just read the sections on:

- Designing a distributed system
- Writing a definition file
- Writing Initialisation code
- Running the RPC compiler
- Building an example RPC application
- Defining RPC addresses
- Getting the code

and then select the parts specific to your chosen

- operating system and
- communication medium .

Detailed examples of the use of the compiler for different systems are provided. The internals, construction and maintenance of the compiler and run-time systems are not covered. These are covered in the Internals Guide .

For details of how the system works and for maintenance, see the RPC Internals Guide and our RTC87 paper. For information on how to run an RPC application which has already been written, skip to "Running an RPC system". Further details are in the sections on:

- Advanced features of the RPC system such as timeouts, special types of server, etc.
- Installation of the RPC tools and libraries: How to get the RPC product if you don't have it.

Reference sections:

- RPC Compiler command line options
- The RPCL language definition
- Definitions of supported data types
- The user callable RPC library routines
- Definitions of RPC system data types
- Acknowledgements
- Bibliography
- Sources of more information