This document is the "ULTRIX DECrpc Programming Guide," published in June 1990 for ULTRIX Version 4.0 or higher. It serves as a comprehensive technical manual for programmers developing distributed applications using Digital's Remote Procedure Call (DECrpc) Version 1.0, which is compatible with Apollo's Network Computing System (NCS) Version 1.5.
The guide covers:
- Concepts and Terminology: Explaining distributed applications, the DECrpc software components (RPC runtime library, Network Interface Definition Language (NIDL) Compiler, Location Brokers), object orientation (interfaces, objects, UUIDs, clients, servers), communication protocols (sockets, ports), and the remote procedure call paradigm (handles, binding states).
- DECrpc Software: A survey of daemons, utilities (like
uuid_gen and lb_admin), and various library routines (rpc_$, rrpc_$, socket_$, lb_$, uuid_$, error_$, pfm_$, pgm_$).
- Building Distributed Applications: Step-by-step instructions for creating client, server, and manager modules, including examples and discussions on managing RPC handles, handling errors, and using Location Broker lookups.
- NIDL (Network Interface Definition Language): Detailed guidance on writing interface definitions, generating UUIDs, and understanding NIDL C syntax, including interface, type, field, and operation attributes, as well as various data types.
- Special Programming Topics: Advanced subjects such as open arrays, data type conversion techniques, automatic binding, and developing applications with multiple interface versions or managers.
The manual aims to enable programmers to design, develop, and implement DECrpc-based distributed applications effectively on ULTRIX systems.