Skip to Content
Sun and Oracle
Channel Sun
How to Buy
Log In
English
docs.sun.com Home
>
Solaris 10 Software Developer Collection
> STREAMS Programming Guide
STREAMS Programming Guide
Search only this book
Search Help
Contained Within
Solaris 10 Software Developer Collection
Find More Documentation
Browse Documentation Titles
Browse Product Documentation
Featured Support Resources
Sun Training Courses
BigAdmin System Admininstration Portal
Sun Support Center
Sun Solve
Download this book in PDF (1566 KB)
STREAMS Programming Guide
Index
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
W
Book Information
Preface
Who Should Use This Book
How This Book Is Organized
Related Books
Accessing Sun Documentation Online
Typographic Conventions
Shell Prompts in Command Examples
Application Programming Interface
1. Overview of STREAMS
What Is STREAMS?
STREAMS Definitions
When to Use STREAMS
How STREAMS Works—Application Interface
How STREAMS Works at the Kernel Level
Service Interfaces
Manipulating Modules
2. STREAMS Application-Level Components
STREAMS Interfaces
Opening a STREAMS Device File
Queue Allocation
Adding and Removing Modules
Closing the Stream
Stream Construction Example
3. STREAMS Application-Level Mechanisms
Message Handling
Message Queueing and Priorities
Input and Output Polling
Stream as a Controlling Terminal
4. Application Access to the STREAMS Driver and Module Interfaces
System Calls Used
Module and Driver ioctl Calls
Flush Handling
5. STREAMS Administration
Administration Tools
Autopush Facility
Administration Tool Description
6. Pipes and Queues
Overview of Pipes and FIFOs
Creating and Opening Pipes and FIFOs
Kernel Interface
7. STREAMS Framework – Kernel Level
Overview of Streams in Kernel Space
Stream Head
Kernel–Level Messages
Message Queues
Entry Points
Flow Control in Service Procedures
8. STREAMS Kernel-Level Mechanisms
ioctl Processing
Message Allocation and Freeing
Extended STREAMS Buffers
General ioctl Processing
M_FLUSH Message Handling
Driver and Module Service Interfaces
Common ioctl Interfaces
signal Message
9. STREAMS Drivers
STREAMS Device Drivers
STREAMS Driver Entry Points
STREAMS Driver Code Samples
Summarizing STREAMS Device Drivers
10. STREAMS Modules
Module Overview
Data Flow Control
Design Guidelines
11. Configuring STREAMS Drivers and Modules
Kernel Data Structures
STREAMS Driver Entry Points
STREAMS Module Configuration
Compilation
Kernel Loading
Checking the Module Type
Tunable Parameters
STREAMS Administrative Driver
STREAMS Anchors
12. Multithreaded STREAMS
Multithreaded (MT) STREAMS Overview
MT STREAMS Framework
MT STREAMS Perimeters
MT SAFE Modules and Drivers
Routines Used Inside a Perimeter
MT SAFE Modules Using Explicit Locks
Preparing to Port
Sample Multithreaded Device Driver Using a Per Module Inner Perimeter
Sample Multithreaded Module With Outer Perimeter
13. STREAMS Multiplex Drivers
STREAMS Multiplexers
Connecting And Disconnecting Lower Streams
Multiplexer Construction Example
Multiplexing Driver Example
Persistent Links
Design Guidelines
Advanced Topics
14. Debugging STREAMS-based Applications
Kernel Debug Printing
STREAMS Error and Trace Logging
Kernel Examination Tools
Appendixes
A. Message Types
Ordinary Messages
High-Priority Messages
B. Kernel Utility Interface Summary
C. STREAMS-Based Terminal Subsystem
Overview of Terminal Subsystem
STREAMS-based Pseudo-Terminal Subsystem
D. STREAMS FAQ
Glossary
News Center
About Sun
Contact Sun
Terms of Use
Privacy
Copyright
1994-2009
Sun Microsystems, Inc.