C.1. Introduction

The correct syntax for the RPC language (XDR with the addition of the program and version types) can be obtained by tracing through the syntax diagrams [1] following the flow indicated by the arrows. In each diagram, the words or symbols that are listed in boxes with rounded corners should be entered exactly as shown. Items in boxes with square corners that contain entries that are not italicized reference further syntax diagrams. Italicized entries reference "common" items. These items consist of

[1] While I would like to be able to note that these syntax diagrams follow defined standards, they do not exactly. However, they are close enough in format and style that most readers should find no difficulty interpreting them.

  • identifiers (e.g., const-ident, type-ident, etc.), which adhere to standard syntax for C identifiers;
  • types, which reference standard C data types (e.g., int , double , etc.) with the addition of three special XDR language data types: bool (boolean), string (a sequence of characters terminated by a NULL), and opaque (untyped data); and
  • values, which reference standard C values (e.g., integer constants, literals, etc.).

The rpcgen compiler converts all RPC definitions into standard C. Statements that have a % in the first column are passed through without interpretation.

The RPC language consists of a series of RPC definitions delineated by semicolons:


The RPC definition is divided into six categories or definitions.

Programs and Processes

Processing Environment

Using Processes

Primitive Communications


Message Queues


Shared Memory

Remote Procedure Calls



Appendix A. Using Linux Manual Pages

Appendix B. UNIX Error Messages

Appendix C. RPC Syntax Diagrams

Appendix D. Profiling Programs

show all menu

Interprocess Communication in Linux
Interprocess Communications in Linux: The Nooks and Crannies
ISBN: 0130460427
EAN: 2147483647
Year: 2001
Pages: 136
Similar book on Amazon

Flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net