JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
STREAMS Programming Guide
search filter icon
search icon

Document Information

Preface

Part I Application Programming Interface

1.  Overview of STREAMS

2.  STREAMS Application-Level Components

3.  STREAMS Application-Level Mechanisms

4.  Application Access to the STREAMS Driver and Module Interfaces

5.  STREAMS Administration

6.  Pipes and Queues

Part II Kernel Interface

7.  STREAMS Framework - Kernel Level

8.  STREAMS Kernel-Level Mechanisms

9.  STREAMS Drivers

10.  STREAMS Modules

11.  Configuring STREAMS Drivers and Modules

12.  Multithreaded STREAMS

13.  STREAMS Multiplex Drivers

Part III Advanced Topics

14.  Debugging STREAMS-based Applications

Part IV Appendixes

A.  Message Types

B.  Kernel Utility Interface Summary

C.  STREAMS-Based Terminal Subsystem

D.  STREAMS FAQ

Glossary

Index

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

W

S

sad, STREAMS Administrative Driver
SAD (see STREAMS Administrative Driver)
Application Interface
STREAMS Administrative Driver
Application Interface
SAD_GAP ioctl, Application Interface
SAD_SAP ioctl
SAP_ALL option, Application Interface
SAP_CLEAR option, Application Interface
SAP_ONE option, Application Interface
SAP_RANGE option, Application Interface
sap_lastminor device, Application Interface
sap_major device, Application Interface
sap_minor device
Application Interface
Application Interface
send data to service provider, example, Sending Data to the Service Provider
service
interface, Glossary
procedure, Glossary
provider, Glossary
user, Glossary
service interface, Service Interfaces
service interface, Driver and Module Service Interfaces
definition, Driver and Module Service Interfaces
rules, Module Service Interface Example
service interface library
example, Service Interface Library Example
primitives, Service Interface Library Example
service interface library header file, example, Service Interface Library Example
service interface protoput procedure, example, Module Service Interface Example
service primitive, Driver and Module Service Interfaces
BIND_REQ, Service Interface Library Example
ERROR_ACK, Service Interface Library Example
in service procedure, Service Interface Library Example
OK_ACK, Service Interface Library Example
UNITDATA_IND, Service Interface Library Example
UNITDATA_REQ, Service Interface Library Example
service primitive declarations, example, Module Service Interface Example
service procedure, Structure of a Message Queue
service procedure
Queue service Procedure
Flow Control in Service Procedures
back-enable, Glossary
blocked, Glossary
service provider, Driver and Module Service Interfaces
accessing, Accessing the Service Provider
closing, Closing the Service Provider
receiving data, Receiving Data
sending data, Sending Data to the Service Provider
signal, signal Message
extended, Extended Signals
in job control management, Job Control
in STREAMS
signal Message
signal Message
M_SIG, signal Message
SIGCONT, Job Control
SIGHUP, Hangup Signals
SIGPOLL, M_SIG
SIGSTOP, Job Control
SIGTSTP, Job Control
SIGTTIN, Job Control
SIGTTOU, Job Control
SIGPOLL, signal, M_SIG
SIGTTIN, Accessing the Controlling Terminal
SIGTTOU, Accessing the Controlling Terminal
simple stream, example, Simple Stream Example
slave driver, Glossary
in pseudo-tty subsystem, STREAMS-based Pseudo-Terminal Subsystem
open, Pseudo-TTY Drivers: ptm and pts
slave driver open, example, Pseudo-TTY Drivers: ptm and pts
SO_FLAG, in M_SETOPTS, M_SETOPTS
SO_MREADOFF, SO_MREADOFF and M_STOP
SO_MREADOFI, SO_MREADOFFI and M_STOPI
standard pipe, Glossary
str_mlist structure, example, I_LIST ioctl
strace, strace Command
strapush structure, example, Application Interface
strchg, I_LIST ioctl
strconf command, I_LIST ioctl
STRCTLSZ, tunable parameter, Tunable Parameters
stream
controlling terminal, Allocation and Deallocation of Streams
general definition, What Is STREAMS?
hung-up, Hungup Streams
stream autopush structure, example, Application Interface
stream construction
add/remove modules, Adding and Removing Modules
close a stream, Closing the Stream
example
Stream Construction Example
Module and Driver Control
open a stream, Opening a STREAMS Device File
stream head
copy data between the user space and kernel space, Stream Head
intercepting I_STR, Module and Driver Control
kernel space interaction, Stream Head
stream pseudo terminal module, example, pts Example
streamio ioctl commands, streams control, Other ioctl Commands
STREAMS, Glossary
administration tools, Administration Tools
application interface, How STREAMS Works—Application Interface
asynchronous callback functions, Asynchronous Callback Functions
closing a device, Closing a Stream
configuration
Application Interface
Application Interface
considerations when porting from SunOS 4 to SunOS 5, Porting to the SunOS 5 System
data path, Stream as a Data Path
data transfer, Opening a Stream
definition, What Is STREAMS?
definition of functionality, What Is STREAMS?
determining when to use, When to Use STREAMS
device driver, STREAMS Device Driver
driver, Structure of a STREAMS Device Driver
flow control
Message Transfer Flow Control
Controlling Data Flow
frequently asked IP interface questions, STREAMS FAQ
hardened
Printer Driver Example
Sample Multithreaded Device Driver Using a Per Module Inner Perimeter
Sample Multithreaded Module With Outer Perimeter
hardening advice
ioctl Processing
M_COPYOUT Example
head
Stream Head
Creating the Stream Head
interface, STREAMS Application-Level Components
kernel-level, How STREAMS Works at the Kernel Level
message components, Message Components
message data structures, Message Components
message queue priority, Message Queueing Priority
message queues, Message Queues
message types, Message Components
messages, STREAMS Data
module
STREAMS Module
Message Processing
module multiplexing, Configuring Multiplexed Streams
multiplexing
STREAMS Multiplexing
STREAMS Multiplexers
multithread framework, MT STREAMS Framework
multithread framework integrity, STREAMS Framework Integrity
opening a device, Opening a Stream
polling, STREAMS Polling
programming model, What Is STREAMS?
queue overview, Structure of a Message Queue
tunable parameters, Tunable Parameters
STREAMS administration modules, Application Interface
autopush facility, Application Interface
STREAMS Administrative Driver
Application Interface
Application Interface
Application Interface
Application Interface
STREAMS anchors client, example, Using Anchors
STREAMS anchors server, example, Using Anchors
STREAMS-based pipe, Glossary
atomic write, Writing to a Pipe or FIFO
basic operations, Closing a Pipe or FIFO
definition, Overview of Pipes and FIFOs
PIPE_BUF, Writing to a Pipe or FIFO
STREAMS-based pseudo-terminal subsystem (see pseudo-tty subsystem), STREAMS-based Pseudo-Terminal Subsystem
STREAMS-based terminal subsystem (see tty subsystem), Overview of Terminal Subsystem
streams control, streamio ioctl commands, Other ioctl Commands
STREAMS debugging, STREAMS Error and Trace Logging
error and trace logging
Administration Tool Description
STREAMS Error and Trace Logging
STREAMS Error and Trace Logging
kernel debug printing, Kernel Debug Printing
kernel examination tools, Kernel Examination Tools
STREAMS driver
cloning, Cloning STREAMS Drivers
configuration, Configuring STREAMS Drivers and Modules
configuration entry point
STREAMS Driver Entry Points
STREAMS Configuration Entry Points
design guidelines, Summarizing STREAMS Device Drivers
driver interrupt, STREAMS Driver Entry Points
Ethernet drivers, STREAMS FAQ
flush handling, Driver Flush Handling
initialization entry point, STREAMS Initialization Entry Points
interrupt handler, STREAMS Interrupt Handlers
ioctl
Module and Driver ioctl Calls
ioctl Processing
loop-around, Loop-Around Driver
porting to multithreaded kernel, Preparing to Port
pseudo-tty
Master Driver and Slave Driver Characteristics
Pseudo-TTY Drivers: ptm and pts
pseudo-tty subsystem master, STREAMS-based Pseudo-Terminal Subsystem
pseudo-tty subsystem slave, STREAMS-based Pseudo-Terminal Subsystem
queue processing entry point
STREAMS Driver Entry Points
STREAMS Queue Processing Entry Points
table-driven entry point, STREAMS Table-Driven Entry Points
STREAMS module
Module Overview
Filter Module Example
adding an anchor, Using Anchors
anchor lock, STREAMS Anchors
autopush facility
STREAMS Administrative Driver
Application Interface
autopush facility, Autopush Facility
connld, Unique Connections
design guidelines, Design Guidelines
filter, Filter Module Example
flow control
Data Flow Control
Design Guidelines
ioctl, Module and Driver ioctl Calls
line discipline, Line-Discipline Module
ptem, Pseudo-TTY Emulation Module: ptem
read-side put procedure, Module Procedures
routines
Module Procedures
Module Procedures
service interface example
Module Service Interface Example
Module Service Interface Example
service procedure, Module Procedures
service procedure example, Module Procedures
write-side put procedure, Module Procedures
STREAMS queue
qband structure, qband Structure
using qband information, Using qband Information
using queue information, Using qband Information
streamtab structure
driver entry point, STREAMS Driver Entry Points
example, STREAMS Module Configuration
pointers to structures for inititializing reading and writng a module, streamtab
strerr, strerr Daemon
strioctl structure, Module and Driver Control
example, I_STR ioctl Processing
ic_cmd, Module and Driver Control
ic_dp, Module and Driver Control
ic_len, Module and Driver Control
ic_timout, Module and Driver Control
strlog
strlog Command
Kernel Utility Interface Summary
flag parameter, strlog Command
STRMSGSZ, tunable parameter, Tunable Parameters
stropts.h, strbuf, Message Direction
strqget
strqget Command
Using Queue Information
Kernel Utility Interface Summary
strqset
strqset Command
Using Queue Information
Kernel Utility Interface Summary
structure for M_IOCTL unrecognized message, example, General ioctl Processing
structure for nontransparent ioctl, example, I_STR ioctl Processing
synchronous input/output, in polling, Synchronous Input and Output
system crash, Shared Data