About This Guide
Prev |  | Next

## About This Guide

The IRIX Network Programming Guide describes the network programming facilities available with the IRIX operating system.

IRIX implements the Internet Protocol (IP) suite and UNIX domain sockets using the BSD sockets mechanism and supports access to the underlying network media using raw sockets. It also implements the Transport Layer Interface (TLI) defined in ISO-OSI, using SVR4 STREAMS modules. IRIX does not support the Xerox NS protocol suite.

| Note: SGI does not encourage use of the TLI model; its inclusion is for compatibility with interfaces used by other vendors.

The networking software described in this guide is derived from the BSD UNIX release from the University of California, Berkeley; from the Sun Microsystems Remote Procedure Call (RPC) programming interface; and from UNIX System V, Release 4 from UNIX System Laboratories, Inc.

The IRIX Network Programming Guide is for programmers who want to develop network applications using the sockets interface, Sun RPC, or TLI. It explains the fundamental elements of each interface - including the libraries, routines, and other programming tools offered by each interface - and explains how to use them to develop IRIX network applications.

This introduction contains background information that you should read before proceeding. Topics include:

- The audience for this guide

- Typographic conventions

- Chapter summaries

- Documentation sources

- Additional reading

## Audience for This Guide

This guide is for experienced programmers who intend to write applications that use network interfaces. Knowledge of the UNIX operating system, the C language, and general network theory is assumed.

## Typographic Conventions

IRIX man pages are referred to by name and section number, in this format:

name(sect)

where name is the name of a command, system call, or library routine, and sect is the section number where the entry resides. For example:

`rpc`(3R)

refers to the `rpc` man page in section 3 of the IRIX man pages (which is divided up into subsections such as 3N and 3R). To look at that man page, enter the command:

    % man 3 rpc

The following conventions are used throughout this document:

`command` |  | This fixed-space font denotes literal items such as commands, files, routines, path names, signals, messages, and programming language structures.
`manpage`(x) |  | Man page section identifiers appear in parentheses after man page names.
variable |  | Italic typeface denotes variable entries and words or concepts being defined.
`user input` |  | This bold, fixed-space font denotes literal items that the user enters in interactive sessions. (Output is shown in nonbold, fixed-space font.)
[ ] |  | Brackets enclose optional portions of a command or directive line.
... |  | Ellipses indicate that a preceding element can be repeated.

## Chapter Summaries

This guide contains the following chapters:

- Chapter 1, “Network Programming Overview”, provides general information about IRIX network programming.

- Chapter 2, “Sockets-based Communication”, describes the BSD sockets interface.

- Chapter 3, “Sockets-based Communication Using IPv6”, describes the sockets-based communication facilities that use IPv6.

- Chapter 4, “Introduction to RPC Programming”, provides background information about the RPC interface.

- Chapter 5, “Programming with rpcgen”, describes how to use the `rpcgen` compiler to write RPC applications. This chapter contains the complete source code for a working RPC service.

- Chapter 6, “RPC Programming Guide”, describes the details of the RPC programming interface. If you use `rpcgen`, it isn't necessary to understand most of the information in this chapter.

- Chapter 7, “XDR and RPC Language Structure”, describes the structure and syntax of the RPC and XDR languages; it shows you how to write program interface definitions using RPC language.

- Chapter 8, “XDR Programming Notes”, contains technical notes about the XDR standard.

- Chapter 9, “Transport Layer Interface”, describes USL's implementation of the ISO-OSI network interface to the transport layer.

- Appendix A, “RPC Protocol Specification” describes the underlying details of the RPC protocol specification.

- Appendix B, “XDR Protocol Specification” describes the underlying details of the XDR protocol specification.

- Appendix C, “IRIX Name Service Implementation” describes the underlying details of the Unified Name Service.

## Documentation Sources

This guide uses material from several sources:

- Deering, S. “Host Extensions for IP Multicasting.” Internet Request For Comment 1112. Menlo Park, California: Network Information Center, SRI International, August 1989.

- Karels, Michael J., Chris Torek, James M. Bloom, et al. 4.3BSD UNIX System Manager's Manual. Berkeley, California: University of California.

- Kirkpatrick, S., M. Stahl, and M. Recker. “Internet Numbers.” Internet Request For Comment 1166. Menlo Park, California: Network Information Center, SRI International, July 1990.

- Leffler, Samuel J., Robert S. Fabry, William N. Joy, et al. “An Advanced 4.3BSD Interprocess Communication Tutorial.” 4.3BSD UNIX Programmer's Supplementary Documents, Volume 1. Berkeley, California: University of California.

- Lottor, M. “TCP Port Service Multiplexer (TCPMUX).” Internet Request for Comment 1078. Menlo Park, California: Network Information Center, SRI International, November 1988.

- Reynolds, J., and J. Postel. “Assigned Numbers.” Internet Request for Comment 1060. Menlo Park, California: Network Information Center, SRI International, March 1990.

- Sechrest, Stuart. “An Introductory 4.3BSD Interprocess Communication Tutorial.” 4.3BSD UNIX Programmer's Supplementary Documents, Volume 1. Berkeley, California: University of California.

- Sun Microsystems. eXternal Data Representation: Sun Technical Notes (for RPC 4.0). Mountain View, California: Sun Microsystems, Inc.

- Sun Microsystems. eXternal Data Representation Standard: Protocol Specification (for RPC 4.0). Mountain View, California: Sun Microsystems, Inc.

- Sun Microsystems. Remote Procedure Calls: Protocol Specification (for RPC 4.0). Mountain View, California: Sun Microsystems, Inc.

- Sun Microsystems. rpcgen Programming Guide (for RPC 4.0). Mountain View, California: Sun Microsystems, Inc.

- UNIX System Laboratories. Programmer's Guide: Networking Interfaces (for SVR4.1). Englewood Cliffs, New Jersey: Prentice Hall, Inc.

## Additional Reading

For additional information, you can consult your online man pages and these documents:

- IRIX Admin manual set.

- Comer, Douglas E. Internetworking with TCP/IP, Volume I, Second Edition. Prentice Hall, Inc., Englewood Cliffs, New Jersey (1991).

- Corbin, John R. The Art of Distributed Applications. Springer-Verlag, New York (1991).

- Kockan, Stephen G., and Wood, Patrick H., editors. UNIX Networking. Hayden Books, Indiana (1989).

- Stevens, W. Richard. UNIX Network Programming, Prentice Hall, Inc., Englewood Cliffs, New Jersey (1990).

- Stevens, W. Richard. TCP/IP Illustrated, Addison-Wesley Publishing Co.

- Schneier, Bruce. Applied Cryptography, Second Edition, John Wiley and Sons, New York (1996).

You can also find related information in Internet Request For Comment documents, available by anonymous `ftp` from the `/rfc` directory at Government Systems, Inc. (IP number 192.112.36.5). For more information about using `ftp`, see IRIS Essentials.

## Obtaining Publications

To obtain SGI documentation, go to the SGI Technical Publications Library at:

`http://docs.sgi.com`

## Reader Comments

If you have comments about the technical accuracy, content, or organization of this document, please tell us. Be sure to include the title and document number of the manual with your comments. (Online, the document number is located in the front matter of the manual. In printed manuals, the document number is located at the bottom of each page.)

You can contact us in any of the following ways:

- Send e-mail to the following address:

      techpubs@sgi.com

- Use the Feedback option on the Technical Publications Library World Wide Web page:

      http://docs.sgi.com

- Contact your customer service representative and ask that an incident be filed in the SGI incident tracking system.

- Send mail to the following address:

  Technical Publications
  SGI
  1200 Crittenden Lane, M/S 3-535
  Mountain View, California 94043-1351

- Send a fax to the attention of “Technical Publications” at +1 650 932 0801.

We value your comments and will respond to them promptly.

Prev | Table of Contents | Next
New Features in This Manual |  | Chapter 1. Network Programming Overview