ONC+ Developer's Guide

Preface

The ONC+ Developer's Guide describes the programming interfaces to remote procedure call (RPC) and NIS+, a network name service, which belong to the ONC+TM distributed services developed at SunSoftTM, Inc.

In this guide, the terms SunOSTM and SolarisTM are used interchangeably because the interfaces described in this manual are common to both. Solaris 2.5 is SunSoft's distributed computing operating environment. It is comprised of SunOS release 5.5 with the ONC+ technologies, OpenWindowsTM, ToolTalkTM, DeskSetTM, and OPEN LOOK® as well as other utilities.

All utilities, their options, and library functions in this manual reflect the current Solaris system software developed by SunSoft Inc. If you are using a previous version of Solaris system software, some utilities and library functions may function differently.

Who Should Use This Book

The guide assists you in converting an existing single-computer application to a networked, distributed application, or devloping and implementing distributed applications.

Use of this guide assumes basic competence in programming, a working familiarity with the C programming language, and a working familiarity with theUNIX® operating system. Previous experience in network programming is helpful, but is not required to use this manual.

How This Book Is Organized

Part One--Introduction

Chapter 1, Introduction to ONC+ Technologies, gives a high-level introduction to the ONC+ distributed computing platform and services.

Part Two--Remote Procedure Call (RPC)

Chapter 2, Introduction to TI-RPC, introduces TI-RPC.

Chapter 3, rpcgen Programming Guide , describes how the rpcgen tool generates client and server stubs.

Chapter 4, The Programmer's Interface to RPC, describes the use of RPC in the programming environment.

Part Three--NIS+ Applications Programming Interface

Chapter 5, NIS+ Programming Guide, describes the NIS + applications programming interface.

Appedixes

Appendix A, XDR Technical Note, describes XDR and how it is used in data formatting and type conversion.

Appendix B, RPC Protocol and Language Specification, describes the protocol of RPC usage, both syntax and limitations.

Appendix C, XDR Protocol Specification, describes the XDR protocol and language.

Appendix D, Live RPC Code Examples, contains complete functional listings of some of the code included in the document as examples.

Appendix E, The portmap Utility, describes the portmap utility and its function. This appendix is included in this document to aid migrating applications written to run on earlier releases of SunOS.

Appendix F, Writing a Port Monitor With the Service Access Facility (SAF), describes the process of writing a port monitor application under the SAF and is included as a reference for applications development.

Related Books

The following on-line System AnswerBook® products cover related network programming topics:

For information on SunSoft's NFS® distributed computing file system, see the following sources:

The following third-party books and articles are excellent sources on network programming topics:

What Typographic Changes and Symbols Mean

The following table describes the typographic changes used in this book.

Table P-1 Typographic Conventions

Typeface or Symbol 

Meaning 

Example 

AaBbCc123

The names of commands, files, and directories; on-screen computer output 

Edit your .login file.

Use ls -a to list all files.

machine_name% You have mail.

AaBbCc123

What you type, contrasted with on-screen computer output 

machine_name% su
Password:

AaBbCc123

Command-line placeholder: 

replace with a real name or value 

To delete a file, type rm filename.

AaBbCc123

Book titles, new words or terms, or words to be emphasized 

Read Chapter 6 in User's Guide. These are called class options.

You must be root to do this.

Shell Prompts in Command Examples

The following table shows the default system prompt and superuser prompt for the C shell, Bourne shell, and Korn shell.

Table P-2 Shell Prompts

Shell 

Prompt 

C shell prompt 

machine_name% 

C shell superuser prompt 

machine_name# 

Bourne shell and Korn shell prompt 

Bourne shell and Korn shell superuser prompt