Preface
This book describes the SunOS 5.9 network and system interfaces used by application developers.
SunOS 5.9 is fully compatible with UNIX® System V, Release 4 (SVR4) and conforms to the third edition of the System V Interface Description (SVID). It supports all System V network services.
All utilities, their options, and library functions in this manual reflect SunOS Release 5.8.
Audience
This book is intended for programmers who are new to the SunOS platform or want more familiarity with some portion of the interfaces provided. Additional interfaces and facilities for networked applications are described in the ONC+ Developer's Guide.
This manual assumes basic competence in programming, a working familiarity with the C programming language, and familiarity with the UNIX operating system, particularly networking concepts. For more information on UNIX networking basics, see W. Richard Stevens' UNIX Network Programming, second edition, Upper Saddle River, Prentice Hall, 1998.
Organization of the Manual
The services and capabilities of the basic system and network interfaces of the SunOS 5.9 platform are described in the following chapters.
Chapter 1, Memory Management describes the interfaces that create and manage memory mappings, do high performance file I/O, and control other aspects of memory management.
Chapter 2, Remote Shared Memory API for Solaris Clusters describes the Application Programming Interface (API) framework and library functions for remote shared memory.
Chapter 3, Process Scheduler describes the operation of the SunOS process scheduler, the interfaces that can be used to modify the behavior of the scheduler, interactions with process management interfaces, and performance effects.
Chapter 4, Input/Output Interfaces describes basic and old-style buffered file I/O and other elements of I/O.
Chapter 5, Interprocess Communication describes older forms of non-networked interprocess communication.
Chapter 6, Socket Interfaces describes the use of sockets, which are the basic mode of networked communication.
Chapter 7, Programming With XTI and TLI describes the use of XTI and TLI to do transport-independent networked communication.
Chapter 8, Transport Selection and Name-to-Address Mapping describes the network selection mechanisms used by applications to select a network transport and its configuration.
Chapter 9, Real-time Programming and Administration describes real-time programming facilities in the SunOS environment and their use.
Chapter 10, The Solaris ABI and ABI Tools describes the Solaris Application Binary Interface (ABI) and the tools used to verify an application's compliance with the Solaris ABI, appcert and apptrace.
Appendix A, UNIX Domain Sockets describes UNIX domain sockets (not used in networking).
Accessing Sun Documentation Online
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.
Typographic Conventions
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 | # |