The Programming Interfaces Guide describes the SunOSTM 5.10 network and system interfaces used by application developers.
SunOS 5.10 is the core of the SolarisTM 10 Operating System (Solaris OS), and conforms to the third edition of the System V Interface Description (SVID) and to the Single UNIX Specification, version 3 (SUSv3). SunOS 5.10 is fully compatible with UNIX System V, Release 4 (SVR4), and supports all System V network services.
This Solaris release supports systems that use the SPARC® and x86 families of processor architectures: UltraSPARC®, SPARC64, AMD64, Pentium, Xeon, and Intel® 64. The supported systems appear in the Solaris OS: Hardware Compatibility Lists at http://www.sun.com/bigadmin/hcl/. This document cites any implementation differences between the platform types.
In this document these x86 related terms mean the following:
“x86” refers to the larger family of 64-bit and 32-bit x86 compatible products.
“x64” points out specific 64-bit information about AMD64 or EM64T systems.
“32-bit x86” points out specific 32-bit information about x86 based systems.
For supported systems, see the Solaris OS: Hardware Compatibility Lists.
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.
The services and capabilities of the basic system interfaces and basic network interfaces of the Solaris OS platform are described in the following chapters.
Chapter 1, Memory and CPU 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, Session Description Protocol API describes the API framework and library functions for the Solaris implementation of the Session Description Protocol (SDP).
Chapter 4, Process Scheduler describes the operation of the SunOS process scheduler, modification of the scheduler's behavior, the scheduler's interactions with process management interfaces, and performance effects.
Chapter 5, Locality Group APIs describes the interfaces used to control the behavior and structure of locality groups and resource priority for threads within those groups.
Chapter 6, Input/Output Interfaces describes basic and old-style buffered file I/O and other elements of I/O.
Chapter 7, Interprocess Communication describes older forms of non-networked interprocess communication.
Chapter 8, Socket Interfaces describes the use of sockets, which are the basic mode of networked communication.
Chapter 9, Programming With XTI and TLI describes the use of XTI and TLI to do transport-independent networked communication.
Chapter 10, Packet Filtering Hooks describes interfaces for developing network solutions at the kernel level such as security (packet filtering and firewall) solutions and network address translation (NAT) solutions.
Chapter 11, Transport Selection and Name-to-Address Mapping describes the network selection mechanisms used by applications to select a network transport and its configuration.
Chapter 12, Real-time Programming and Administration describes real-time programming facilities in the SunOS environment and their use.
Chapter 13, 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.
The Sun web site provides information about the following additional resources:
Sun is interested in improving its documentation and welcomes your comments and suggestions. To share your comments, go to http://docs.sun.com and click Feedback.
The following table describes the typographic conventions that are used in this book.
Table P–1 Typographic Conventions
Typeface |
Meaning |
Example |
---|---|---|
AaBbCc123 |
The names of commands, files, and directories, and onscreen computer output |
Edit your .login file. Use ls -a to list all files. machine_name% you have mail. |
AaBbCc123 |
What you type, contrasted with onscreen computer output |
machine_name% su Password: |
aabbcc123 |
Placeholder: replace with a real name or value |
The command to remove a file is rm filename. |
AaBbCc123 |
Book titles, new terms, and terms to be emphasized |
Read Chapter 6 in the User's Guide. A cache is a copy that is stored locally. Do not save the file. Note: Some emphasized items appear bold online. |
The following table shows the default UNIX® system prompt and superuser prompt for the C shell, Bourne shell, and Korn shell.
Table P–2 Shell Prompts
Shell |
Prompt |
---|---|
C shell |
machine_name% |
C shell for superuser |
machine_name# |
Bourne shell and Korn shell |
$ |
Bourne shell and Korn shell for superuser |
# |