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 Sun MicrosystemsTM, Inc.
In this guide, the terms SunOSTM and SolarisTM are used interchangeably because the interfaces described in this manual are common to both. Solaris 8 is Sun Microsystem's distributed computing operating environment. It is comprised of SunOS release 5.8 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 Sun Microsystems Inc. If you are using a previous version of Solaris system software, some utilities and library functions may function differently.
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 the UNIX® operating system. Previous experience in network programming is helpful, but is not required to use this manual.
Chapter 1, Introduction to ONC+ Technologies gives a high-level introduction to the ONC+ distributed computing platform and services.
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.
Chapter 5, NIS+ Programming Guide describes the NIS + applications programming interface.
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 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.
The following on-line System AnswerBook® products cover related network programming topics:
Solaris 8 Reference Manual Collection
Solaris 8 Software Developer Collection
For information on Sun Microsystem's NFS® distributed computing file system, see the following sources:
"NFS: Network File System Protocol Specification version 3," RFC 1813, (Mar), Sun Microsystems
"NFS: Network File System Version 3 Protocol Specification," Sun Microsystems, 1993. Postscript copies available via anonymous ftp:
ftp.uu.net:/networking/ip/nfs/NFS3.spec.ps.Z bcm.tmc.edu:/nfs/nfsv3.ps.Z gatekeeper.dec.com:/pub/standards/nfs/nfsv3.ps.Z
1094 NFS: Network File System Protocol specification (version 2)
1509 Generic Security Service API: C-bindings
1510 The Kerberos Network Authentication Service (V5)
1813 NFS Version 3 Protocol Specification
1831 RPC: Remote Procedure Call Protocol Specification Version 2
1832 XDR: External Data Representation Standard
1833 Binding Protocols for ONC RPC Version 2
2078 Generic Security Service Application Program Interface
2203 RPCSEC_GSS Protocol Specification
The following third-party books and articles are excellent sources on network programming topics:
UNIX Network Programming, W. Richard Stevens (Prentice Hall Software Series, 1990)
Power Programming with RPC, John Bloomer (O'Reilly & Associates, Inc, 1992)
Networking Applications on UNIX System V Release 4, Michael Padovano (Prentice Hall, Inc., 1993)
Distributed Computing: Implementation and Managment Strategies (Edited by Raman Khanna. Prentice Hall, 1993)
Using Encryption for Authentication in Large Networks of Computers, R.M. Needham and M.D. Schroeder in Communications of the ACM (Vol. 21, No. 12, pages 993-999, 1978)
Section E.2.1: Kerberos Authentication and Authorization System, S.P. Miller, B.C Neuman, J.I. Schiller and J.H. Saltzer (Project Athena Technical Plan, MIT Project Athena, December 1987)
Kerberos: An Authentication Service for Open Network Systems, J.G. Steiner, B.C. Neuman, and J.I.Schiller (Usenix Conference Proceedings, Dallas, TX, pages 191-202, February, 1988)
Fatbrain.com, an Internet professional bookstore, stocks select product documentation from Sun Microsystems, Inc.
For a list of documents and how to order them, visit the Sun Documentation Center on Fatbrain.com at http://www1.fatbrain.com/documentation/sun.
The docs.sun.comSM Web site enables you to access Sun technical documentation online. You can browse the docs.sun.com archive or search for a specific book title or subject. The URL is http://docs.sun.com.
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. |
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 | # |