Programming Interfaces Guide

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). SunOS 5.9 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 interfaces and basic 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, modification of the scheduler's behavior, the scheduler's interactions with process management interfaces, and performance effects.

Chapter 5, Input/Output Interfaces describes basic and old-style buffered file I/O and other elements of I/O.

Chapter 6, Interprocess Communication describes older forms of non-networked interprocess communication.

Chapter 7, Socket Interfaces describes the use of sockets, which are the basic mode of networked communication.

Chapter 8, Programming With XTI and TLI describes the use of XTI and TLI to do transport-independent networked communication.

Chapter 9, Transport Selection and Name-to-Address Mapping describes the network selection mechanisms used by applications to select a network transport and its configuration.

Chapter 10, Real-time Programming and Administration describes real-time programming facilities in the SunOS environment and their use.

Chapter 11, 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.

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.

Ordering Sun Documentation

Sun Microsystems offers select product documentation in print. For a list of documents and how to order them, see “Buy printed documentation” at 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 promptmachine_name%
 C shell superuser promptmachine_name#
 Bourne shell and Korn shell prompt$
 Bourne shell and Korn shell superuser prompt#