Documentation Home
> Programming Interfaces Guide
Programming Interfaces Guide
Book Information
Index
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
R
S
T
U
V
X
Z
Preface
Chapter 1 Memory Management
Memory Management Interfaces
Creating and Using Mappings
Removing Mappings
Cache Control
mincore
mlock and munlock
mlockall and munlockall
msync
Library-Level Dynamic Memory
Dynamic Memory Allocation
Dynamic Memory Debugging
check -access
check -leaks [-frames n] [-match m]
check -memuse [-frames n] [-match m]
check -all [-frames n] [-match m]
check [funcs] [files] [loadobjects]
Other Memory Control Interfaces
sysconf
mprotect
brk and sbrk
Chapter 2 Remote Shared Memory API for Solaris Clusters
Overview of the Shared Memory Model
API Framework
API Library Functions
Interconnect Controller Operations
rsm_get_controller
rsm_release_controller
rsm_get_controller_attr
Cluster Topology Operations
rsm_get_interconnect_topology
rsm_free_interconnect_topology
Data Structures
Administrative Operations
Memory Segment Operations
Export-Side Memory Segment Operations
Memory Segment Creation and Destruction
Memory Segment Publish, Republish, and Unpublish
Memory Segment Rebind
Import-Side Memory Segment Operations
Memory Segment Connection and Disconnection
Memory Access Primitives
Scatter-Gather Access
Segment Mapping
Barrier Operations
Event Operations
RSMAPI General Usage Notes
Segment Allocation and File Descriptor Usage
Export-Side Considerations
Import-Side Considerations
RSM Configurable Parameters
RSMAPI Usage Example
Chapter 3 Process Scheduler
Overview of the Scheduler
Time-Sharing Class
System Class
Real-time Class
Interactive Class
Fair-Share Class
Fixed-Priority Class
Commands and Interfaces
priocntl Usage
priocntl Interface
Interactions With Other Interfaces
Kernel Processes
fork and exec
nice
init(1M)
Performance
Process State Transition
Chapter 4 Input/Output Interfaces
Files and I/O Interfaces
Basic File I/O
Advanced File I/O
File System Control
Using File and Record Locking
Choosing a Lock Type
Selecting Advisory or Mandatory Locking
Cautions About Mandatory Locking
Supported File Systems
Opening a File for Locking
Setting a File Lock
Setting and Removing Record Locks
Getting Lock Information
Process Forking and Locks
Deadlock Handling
Terminal I/O Functions
Chapter 5 Interprocess Communication
Pipes Between Processes
Named Pipes
Sockets
POSIX Interprocess Communication
POSIX Messages
POSIX Semaphores
POSIX Shared Memory
System V IPC
Permissions for Messages, Semaphores, and Shared Memory
IPC Interfaces, Key Arguments, and Creation Flags
System V Messages
Initializing a Message Queue
Controlling Message Queues
Sending and Receiving Messages
System V Semaphores
Initializing a Semaphore Set
Controlling Semaphores
Semaphore Operations
System V Shared Memory
Accessing a Shared Memory Segment
Controlling a Shared Memory Segment
Attaching and Detaching a Shared Memory Segment
Chapter 6 Socket Interfaces
SunOS 4 Binary Compatibility
Overview of Sockets
Socket Libraries
Socket Types
Interface Sets
Socket Basics
Socket Creation
Binding Local Names
Connection Establishment
Connection Errors
Data Transfer
Closing Sockets
Connecting Stream Sockets
Input/Output Multiplexing
Datagram Sockets
Standard Routines
Host and Service Names
Host Names – hostent
Network Names – netent
Protocol Names – protoent
Service Names – servent
Other Routines
Client-Server Programs
Sockets and Servers
Sockets and Clients
Connectionless Servers
Advanced Socket Topics
Out-of-Band Data
Nonblocking Sockets
Asynchronous Socket I/O
Interrupt-Driven Socket I/O
Signals and Process Group ID
Selecting Specific Protocols
Address Binding
Zero Copy and Checksum Off-load
Socket Options
inetd Daemon
Broadcasting and Determining Network Configuration
Using Multicast
Sending IPv4 Multicast Datagrams
Receiving IPv4 Multicast Datagrams
Sending IPv6 Multicast Datagrams
Receiving IPv6 Multicast Datagrams
Chapter 7 Programming With XTI and TLI
What Are XTI and TLI?
XTI/TLI Read/Write Interface
Write Data
Read Data
Close Connection
Advanced XTI/TLI Topics
Asynchronous Execution Mode
Advanced XTI/TLI Programming Example
Asynchronous Networking
Networking Programming Models
Asynchronous Connectionless-Mode Service
Making the Endpoint Asynchronous
Asynchronous Network Transfers
Asynchronous Connection-Mode Service
Asynchronously Establishing a Connection
Asynchronous Use of a Connection
Asynchronous Open
Transferring a File Descriptor
State Transitions
XTI/TLI States
Outgoing Events
Incoming Events
State Tables
Guidelines to Protocol Independence
XTI/TLI Versus Socket Interfaces
Socket-to-XTI/TLI Equivalents
Additions to the XTI Interface
Chapter 8 Transport Selection and Name-to-Address Mapping
Transport Selection
Name-to-Address Mapping
straddr.so Library
Using the Name-to-Address Mapping Routines
Chapter 9 Real-time Programming and Administration
Basic Rules of Real-time Applications
Factors that degrading Response Time
Synchronous I/O Calls
Interrupt Servicing
Shared Libraries
Priority Inversion
Sticky Locks
Runaway Real-time Processes
Asynchronous I/O Behavior
Real-time Files
Scheduling
Dispatch Latency
Scheduling Classes
Dispatch Queue
Dispatching Processes
Process Pre-emption
Kernel Priority Inversion
User Priority Inversion
Interface Calls That Control Scheduling
priocntl
Other interface calls
Utilities That Control Scheduling
priocntl(1)
dispadmin(1M)
Configuring Scheduling
Dispatcher Parameter Table
Reconfiguring config_rt_dptbl
Memory Locking
Locking a Page
Unlocking a Page
Locking All Pages
Sticky Locks
High Performance I/O
POSIX Asynchronous I/O
Solaris Asynchronous I/O
Notification (SIGIO)
aioread
aiowrite
aiocancel
aiowait
poll
poll
close
Synchronized I/O
Synchronization Modes
Synchronizing a File
Interprocess Communication
Processing Signals
Pipes, Named Pipes, and Message Queues
Semaphores
Shared Memory
Asynchronous Networking
Modes of Networking
Timing Facilities
Timestamp Interfaces
Interval Timer Interfaces
Chapter 10 The Solaris ABI and ABI Tools
What is the Solaris ABI?
Defining the Solaris ABI
Symbol Versioning in Solaris Libraries
Using Symbol Versioning to Label the Solaris ABI
Solaris ABI Tools
appcert Utility
What appcert Checks
Private Symbol Usage
Static Linking
Unbound Symbols
What appcert Does Not Check
Working with appcert
appcert Options
Using appcert for Application Triage
appcert Results
Correcting Problems Reported by appcert
Using apptrace for Application Verification
Application Verification
Running apptrace
Interpreting apptrace Output
Appendix A UNIX Domain Sockets
Socket Creation
Binding Local Names
Connection Establishment
© 2010, Oracle Corporation and/or its affiliates