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
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.
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 |
| |
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. |
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, “Introduction to RPC Programming,” provides background information about the RPC interface.
Chapter 4, “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 5, “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 6, “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 7, “XDR Programming Notes,” contains technical notes about the XDR standard.
Chapter 8, “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.
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.
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.