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:

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 manual 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 manual page in section 3 of the IRIX manual pages (which is divided up into subsections such as 3N and 3R). To look at that manual page, enter the command:

% man 3 rpc

In syntax descriptions and examples, you will see these type conventions:

Bold 

is used for function names, system calls, options to commands, and for chapter, section, and table headings.

Fixed-width 

indicates sample code and system output.

Fixed-width Bold 


indicates user input.

Italic 

indicates IRIX filenames, command names, and arguments to be replaced with a value. Also used to indicate a new term used for the first time.

Chapter Summaries

This guide contains the following chapters:

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 manual pages and these documents:

  • IRIX Admin manual set (available from SGI as an option).

  • 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.