JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
STREAMS Programming Guide     Oracle Solaris 11.1 Information Library
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

M

M_BREAK, index iconM_BREAK
M_COPYIN, index iconM_COPYIN
M_COPYOUT, index iconM_COPYOUT
transparent ioctl example, index iconBidirectional Data Transfer Example
with M_IOCTL, index iconM_IOCTL
M_COPYOUT using transparent ioctl, example, index iconM_COPYOUT Example
M_CTL, index iconM_CTL
M_STOP, index iconSO_MREADOFF and M_STOP
SO_MREADOFF, index iconSO_MREADOFF and M_STOP
with line discipline module, index iconLine-Discipline Module
M_DATA, index iconM_DATA
M_DELAY, index iconM_DELAY
M_ERROR, index iconM_ERROR
M_FLUSH, index iconM_FLUSH
flags, index iconM_FLUSH
flush read and write queues, index iconFlush Handling
flush read side of stream, index iconFlush Handling
flush write side of stream, index iconFlush Handling
FLUSHR, index iconFlush Handling
FLUSHRW, index iconFlush Handling
FLUSHW, index iconFlush Handling
in module example, index iconFilter Module Example
packet mode, index iconPacket Mode
M_FLUSH message handling, description, index iconM_FLUSH Message Handling
M_HANGUP, index iconM_HANGUP
M_IOCACK, index iconM_IOCACK
with M_COPYOUT, index iconM_COPYOUT
with M_IOCTL, index iconM_IOCTL
M_IOCDATA, index iconM_IOCDATA
M_IOCDATA processing
example
index iconM_COPYIN Example
index iconBidirectional Data Transfer Example
M_IOCNAK, index iconM_IOCNAK
with M_COPYOUT, index iconM_COPYOUT
with M_IOCTL, index iconM_IOCTL
M_IOCTL
index iconM_IOCTL
index iconM_IOCTL
transparent, index iconM_IOCTL
with M_COPYOUT, index iconM_COPYOUT
M_PASSFP, index iconM_PASSFP
M_PCPROTO, index iconM_PCPROTO
M_PCRSE, index iconM_PCRSE
M_PCSIG, index iconM_PCSIG
M_PROTO
index iconM_PROTO
index iconM_PROTO
M_READ, index iconM_READ
M_RSE, index iconM_RSE
M_SETOPTS, index iconM_SETOPTS
SO_FLAG, index iconM_SETOPTS
SO_ISTTY, index iconM_SIG
so_readopt options, index iconRead Options
M_SIG, index iconM_SIG
in signaling, index iconsignal Message
M_STOP, index iconSO_MREADOFF and M_STOP
M_STOPI, index iconSO_MREADOFFI and M_STOPI
M_UNHANGUP, index iconM_UNHANGUP
managing extended buffers in multithreaded environment, example, index iconesballoc(9F) Example
manipulating modules, index iconManipulating Modules
master driver
in pseudo-tty subsystem, index iconSTREAMS-based Pseudo-Terminal Subsystem
open, index iconPseudo-TTY Drivers: ptm and pts
mdb, index iconadb Command
memory-mapped I/O, index iconExtended STREAMS Buffers
message, index iconMessage Processing
accessing queue information, index iconUsing Queue Information
allocation, index iconMessage Allocation and Freeing
container for data and control information, index iconOverview of Streams in Kernel Space
create priority band message, index iconMessage Direction
data alignment, index iconData Alignment
definitions of priority band fields, index iconUsing Queue Information
flow control, index iconControlling Data Flow and Priorities
freeing, index iconMessage Allocation and Freeing
getmsg, index iconMessage Direction
getpmsg, index iconMessage Direction
high-priority
index iconMessage Queues and Message Priority
index iconFlow Control in Service Procedures
linking, index iconMessage Linkage
M_BREAK
index iconMessage Types
index iconM_BREAK
M_COPYIN
index iconMessage Types
index iconM_COPYIN
M_COPYOUT
index iconMessage Types
index iconM_COPYOUT
M_CTL
index iconMessage Types
index iconM_CTL
index iconSO_MREADOFF and M_STOP
M_DATA
index iconMessage Types
index iconM_DATA
M_DELAY
index iconMessage Types
index iconM_DELAY
M_ERROR
index iconMessage Types
index iconM_ERROR
M_FLUSH
index iconMessage Types
index iconM_FLUSH
M_HANGUP
index iconMessage Types
index iconM_HANGUP
M_IOCACK
index iconMessage Types
index iconM_IOCACK
M_IOCDATA
index iconMessage Types
index iconM_IOCDATA
M_IOCNAK
index iconMessage Types
index iconM_IOCNAK
M_IOCTL
index iconMessage Types
index iconM_IOCTL
M_PASSFP
index iconMessage Types
index iconM_PASSFP
M_PCPROTO
index iconMessage Types
index iconM_PCPROTO
M_PCRSE, index iconM_PCRSE
M_PCSIG
index iconMessage Types
index iconM_PCSIG
M_PROTO
index iconMessage Types
index iconM_PROTO
M_READ
index iconMessage Types
index iconM_READ
M_RSE, index iconM_RSE
M_SETOPTS
index iconMessage Types
index iconM_SETOPTS
M_SIG, index iconMessage Types
M_START, index iconMessage Types
M_STARTI, index iconMessage Types
M_STOP, index iconMessage Types
M_STOPI
index iconMessage Types
index iconSO_MREADOFFI and M_STOPI
M_UNHANGUP
index iconMessage Types
index iconM_UNHANGUP
msgb structure
index iconMessage Structure
index iconMessage Structure
priority, index iconMessage Queues and Message Priority
putmsg, index iconMessage Direction
putpmsg, index iconMessage Direction
qband structure, index iconqband Structure
qinit structure, index iconEntry Points
queue
index iconMessage Queues and Message Priority
index iconMessage Queues
queue priority, index iconMessage Queueing and Priorities
queue structure, index iconqueue() Structure
queues
index iconMessage Queueing and Priorities
index iconQueued Messages
read options, index iconRead Options
recovering from allocation failure, index iconRecovering From No Buffers
recovering from no buffers, index iconRecovering From No Buffers
retrieve priority band message, index iconMessage Direction
service interface, index iconDriver and Module Service Interfaces
shared data, index iconShared Data
SO_MREADOFI, index iconSO_MREADOFFI and M_STOPI
translation between user application and kernel, index iconOverview of Streams in Kernel Space
types, index iconMessage Types
using qband information, index iconUsing qband Information
write option, index iconWrite Options
message (STREAMS)
direction, index iconSending and Receiving Messages
flow, index iconMessage Processing Procedures
handled by pckt, index iconPacket Mode
handled by ptem, index iconPseudo-TTY Emulation Module: ptem
high-priority
index iconMessage Types
index iconHigh-Priority Messages
ldterm read side, index iconRead-Side Processing
ldterm write side, index iconWrite-Side Processing
linking into queues, index iconMessage Structure
M_DATA, index iconSending and Receiving Messages
M_PCPROTO, index iconSending and Receiving Messages
M_PROTO, index iconSending and Receiving Messages
ordinary
index iconMessage Types
index iconOrdinary Messages
index iconM_SIG
processing, index iconMessage Processing Procedures
sending/receiving, index iconSending and Receiving Messages
structures, index iconMessage Structure
types, index iconMessage Types
message block, index iconGlossary
message block structure, example, index iconMessage Structure
message ordering, index iconShared Data
message priorities, index iconMessage Queues and Message Priority
message queue, index iconGlossary
priority, index iconControlling Data Flow and Priorities
priority levels, index iconMessage Queueing Priority
message types, rules for changing, index iconMessage Type Change Rules
messages, kernel, index iconMessage Types
messages sent by driver to stream head
M_ERROR, index iconLoop-Around Driver
M_HANGUP, index iconLoop-Around Driver
M_SIG/M_PCSIG, index iconLoop-Around Driver
modldrv structure, driver operations and linkage information, index iconmodldrv
modlinkage structure
module link information, index iconmodlinkage
revision level of loadable modules, index iconmodlinkage
modlstrmod structure, module operations and linkage information, index iconmodlstrmod
module, index iconGlossary
difference with driver, index iconInserting Modules
draining, index iconClosing the Stream
ioctl control, index iconModule and Driver Control
line discipline, index iconGlossary
manipulation, index iconManipulating Modules
pushable, index iconGlossary
reusability, index iconModule Reusability
module entry point structure, example, index iconEntry Points
module_info structure, example, index iconEntry Points
module information structure, example, index iconEntry Points
module put, example, index iconput Procedure
module service procedure, example, index iconQueue service Procedure
module unloading, outstanding esballoc callback, index iconUnloading a Module that Uses esballoc
monitor streams events, index iconInput and Output Polling
msgb structure, index iconMessage Structure
msgdsize, index iconKernel Utility Interface Summary
MT SAFE
cb_flag for driver, index iconMT SAFE Driver
driver, index iconMT SAFE Driver
f_flag for module, index iconMT SAFE Module
module, index iconMT SAFE Module
multiple process write, same pipe, index iconWriting to a Pipe or FIFO
multiplexer, index iconGlossary
building
index iconBuilding a Multiplexer
index iconBuilding a Multiplexer
controlling stream, index iconBuilding a Multiplexer
data routing, index iconRouting Data Through a Multiplexer
declarations, index iconMultiplexing Driver Example
definition, index iconConfiguring Multiplexed Streams
design guidelines, index iconDesign Guidelines
dismantling, index iconDismantling a Multiplexer
driver
index iconMultiplexing Driver Example
index iconLower Read put Procedure
example
index iconMultiplexer Construction Example
index iconMultiplexer Construction Example
lower, index iconSTREAMS Multiplexers
lower connection
index iconConnecting Lower Streams
index iconConnecting Lower Streams
lower disconnection, index iconDisconnecting Lower Streams
lower read put procedure
index iconLower Read put Procedure
index iconLower Read put Procedure
lower stream
index iconConfiguring Multiplexed Streams
index iconGlossary
lower write service procedure, index iconLower Write service Procedure
lower write service procedure, index iconLower Write service Procedure
minor device connect, index iconConnecting And Disconnecting Lower Streams
minor device disconnect, index iconDisconnecting Lower Streams
pseudo-device driver, index iconConfiguring Multiplexed Streams
upper, index iconSTREAMS Multiplexers
upper-queue write put procedure, index iconUpper Write put Procedure Sample
upper stream
index iconConfiguring Multiplexed Streams
index iconGlossary
upper write service procedure, index iconUpper Write service Procedure Sample
multiplexer ID
in multiplexer building, index iconBuilding a Multiplexer
in multiplexer dismantling, index iconDismantling a Multiplexer
multiplexing STREAMS, index iconConfiguring Multiplexed Streams
multithread framework
MT SAFE, index iconMT SAFE Modules and Drivers
perimeters, index iconMT SAFE Modules and Drivers
multithreaded kernel, index iconMultithreading the Kernel
porting to, index iconPreparing to Port
multithreaded module
explicit locks, index iconMT SAFE Modules Using Explicit Locks
explicit locks, constraints, index iconConstraints When Using Locks
preserving message ordering, index iconPreserving Message Ordering
multithreaded perimeter
choosing a type, index iconChoosing a Perimeter Type
defining a type, index iconDefining Perimeter Types
description, index iconMT STREAMS Perimeters
exclusive/shared access flags, index iconChoosing a Perimeter Type
flags, index iconChoosing a Perimeter Type
fully-hot, index iconHot Perimeters
inner, index iconInner Perimeters
inner perimeter flags, index iconChoosing a Perimeter Type
outer, index iconOuter Perimeters
outer perimeter flags, index iconChoosing a Perimeter Type
PERMOD, index iconPERMOD Perimeter
routines used inside a perimeter, index iconRoutines Used Inside a Perimeter
multithreaded STREAMS, concepts and terminology, index iconMultithreaded (MT) STREAMS Overview
multithreaded STREAMS module with outer perimeter, example, index iconSample Multithreaded Module With Outer Perimeter
multithreaded STREAMS pseudo-driver using an inner perimeter, example, index iconSample Multithreaded Device Driver Using a Per Module Inner Perimeter
muxuwput, upper-queue write put procedure, index iconUpper Write put Procedure Sample