DIGITAL TCP/IP Services for OpenVMS
ONC RPC Programming


Begin Index

Contents (summary)
Preface Preface
Chapter 1 Introduction to Remote Procedure Calls
Chapter 2 Writing RPC Applications with the RPCGEN Protocol Compiler
Chapter 3 RPC Application Programming Interface
Chapter 4 External Data Representation
Chapter 5 ONC RPC Client Routines
Chapter 6 ONC RPC Portmapper Routines
Chapter 7 ONC RPC Server Routines
Chapter 8 XDR Routine Reference
Appendix A Acronyms
  Index
  Figures
  Examples
  Tables


Contents


Preface
Preface Preface
Chapter 1
1 Introduction to Remote Procedure Calls
     1.1     Overview
     1.2     The RPC Model
     1.3     RPC Procedure Versions
     1.4     Using Portmapper to Determine the Destination Port Number of RPC Packets
         1.4.1         Portmapper Notes for TCP/IP Services
         1.4.2         Displaying Registered RPC Servers
     1.5     RPC Independence from Transport Protocol
     1.6     External Data Representation (XDR)
     1.7     Assigning Program Numbers
Chapter 2
2 Writing RPC Applications with the RPCGEN Protocol Compiler
     2.1     The RPCGEN Protocol Compiler
     2.2     Simple Example: Using RPCGEN to Generate Client and Server RPC Code
         2.2.1         RPC Protocol Specification File Describing Remote Procedure
         2.2.2         Implementing the Procedure Declared in the Protocol Specification
         2.2.3         The Client Program That Calls the Remote Procedure
         2.2.4         Running RPCGEN
         2.2.5         Compiling the Client and Server Programs
         2.2.6         Copying the Server to a Remote System and Running It
     2.3     Advanced Example: Using RPCGEN to Generate XDR Routines
         2.3.1         The RPC Protocol Specification
         2.3.2         Implementing the Procedure Declared in the Protocol Specification
         2.3.3         The Client Program that Calls the Remote Procedure
         2.3.4         Running RPCGEN
         2.3.5         Compiling the File of XDR Routines
         2.3.6         Compiling the Client and Server Programs
         2.3.7         Copying the Server to a Remote System and Running It
     2.4     Debugging Applications
     2.5     The C Preprocessor
     2.6     RPCGEN Programming
         2.6.1         Network Types
         2.6.2         User-Provided Define Statements
         2.6.3         INETd Support
         2.6.4         Dispatch Tables
     2.7     Client Programming
         2.7.1         Timeout Changes
         2.7.2         Client Authentication
     2.8     Server Programming
         2.8.1         Handling Broadcasts
         2.8.2         Passing Data to Server Procedures
     2.9     RPC and XDR Languages
         2.9.1         Definitions
         2.9.2         Enumerations
         2.9.3         Typedefs
         2.9.4         Constants
         2.9.5         Declarations
         2.9.6         Structures
         2.9.7         Unions
         2.9.8         Programs
         2.9.9         Special Cases
    Command 1     RPCGEN
Chapter 3
3 RPC Application Programming Interface
     3.1     RPC Layers
     3.2     Middle Layer of RPC
         3.2.1         Using callrpc
         3.2.2         Using registerrpc and svc_run
         3.2.3         Using XDR Routines to Pass Arbitrary Data Types
         3.2.4         User-Defined XDR Routines
         3.2.5         XDR Serializing Defaults
     3.3     Lowest Layer of RPC
         3.3.1         The Server Side and the Lowest RPC Layer
         3.3.2         The Client Side and the Lowest RPC Layer
         3.3.3         Memory Allocation with XDR
     3.4     Raw RPC
     3.5     Miscellaneous RPC Features
         3.5.1         Using Select on the Server Side
         3.5.2         Broadcast RPC
         3.5.3         Batching
     3.6     Authentication of RPC Calls
         3.6.1         The Client Side
         3.6.2         The Server Side
     3.7     Using the Internet Service Daemon (INETd)
     3.8     Additional Examples
         3.8.1         Program Versions on the Server Side
         3.8.2         Program Versions on the Client Side
         3.8.3         Using the TCP Transport
         3.8.4         Callback Procedures
Chapter 4
4 External Data Representation
     4.1     Usefulness of XDR
         4.1.1         A Canonical Standard
         4.1.2         The XDR Library
     4.2     XDR Library Primitives
         4.2.1         Number and Single-Character Filters
         4.2.2         Floating-Point Filters
         4.2.3         Enumeration Filters
         4.2.4         Possibility of No Data
         4.2.5         Constructed Data Type Filters
             4.2.5.1             Strings
             4.2.5.2             Variable-Length Byte Arrays
             4.2.5.3             Variable-Length Arrays of Arbitrary Data Elements
             4.2.5.4             Fixed-Length Arrays of Arbitrary Data Elements
             4.2.5.5             Opaque Data
             4.2.5.6             Discriminated Unions
             4.2.5.7             Pointers
         4.2.6         Non-filter Primitives
     4.3     XDR Operation Directions
     4.4     XDR Stream Access
         4.4.1         Standard I/O Streams
         4.4.2         Memory Streams
         4.4.3         Record (TCP/IP) Streams
         4.4.4         XDR Stream Implementation
     4.5     Advanced Topics


Previous Next Contents Index