Go to main content
Index
Numbers and Symbols
- /kernel/drv
- loading device driversKernel Loading
- /kernel/strmod
- loading moduleKernel Loading
A
- accessing queue information
- strqgetUsing Queue Information
- adbadb Command
- adjmsgKernel Utility Interfaces
- administration tools
- stracestrace Command
- strerrstrerr Daemon
- strlogstrlog Command
- strqgetstrqget Command
- strqsetstrqset Command
- allocate header for output message
- exampleWrite Service Procedure
- allocbKernel Utility Interfaces
- exampleMessage Allocation and Freeing
- anchoranchor
- anchors
- STREAMS Anchors
- Other ioctl Commands
- Adding and Removing Modules
- clientSTREAMS Anchors fd_server.c
- lockSTREAMS Anchors
- privilegeAnchors and Data Flow
- serverSTREAMS Anchors fd_server.c
- append a character to a message block
- exampleUse of allocb
- asynchronous callback functions
- perimeterAsynchronous Callback Functions
- asynchronous input/output
- in pollingAsynchronous Input and Output
- AT&T STREAMSWrite-Side Processing
- autopush
- STREAMS Administrative Driver
- Autopush Facility
- autopush configuration file
- exampleApplication Interface
B
- b_bandSimple Message Referencing
the Data Block
- placementSimple Message Referencing
the Data Block
- b_nextSimple Message Referencing
the Data Block
- b_prevSimple Message Referencing
the Data Block
- b_rptrSimple Message Referencing
the Data Block
- b_wptrSimple Message Referencing
the Data Block
- back-enable of a queueFlow Control Mechanism
- background job
- in job controlJob Control
- backqKernel Utility Interfaces
- bandinfo structure
- exampleM_FLUSH Arguments
and bi_flag values
- flush band priorityFlushing According to Priority Bands
- bcanputKernel Utility Interfaces
- bidirectional transfer
- example
- Bidirectional Data Transfer
- Bidirectional Data Transfer Example
- boundary
- data and messageRead Options
- bp->b_rptrFlow Control in Service Procedures
- bp->b_wptrFlow Control in Service Procedures
- bpFlow Control in Service Procedures
- breaking stream connections for loop-around device
- exampleUse of ioctl to Copy
Data From User Space to Kernel Space
- bufcall
- Kernel Utility Interfaces
- Recovering From No Buffers
- releasing callback requestsReleasing Callback Requests
C
- canputKernel Utility Interfaces
- cb_ops structure
- character and block device informationcb_ops Structure
- driver entry pointSTREAMS Driver Entry Points
- driver entry points for non-STREAMS driverscb_ops Structure
- check module type
- regular driver, module, or cloneable driverChecking the Module Type
- check/print module listI_LIST ioctl
- cloning (STREAMS)Cloning STREAMS Drivers
- close a module
- exampleExample of a Module Close
- close
- dismantling the streamClosing the Stream
- cmn_err
- message stringsKernel Debug Printing
- compile, assemble and link commands
- exampleDriver Compilation Lines
- configuration entry point
- STREAMS driver
- STREAMS Configuration Entry Points
- Kernel Contact Points
- connld
- Unique Connections
- Unique Connections
- controlling terminalAccessing the Controlling Terminal
- copy data from user space to kernel space
- exampleUse of ioctl to Copy
Data From User Space to Kernel Space
- copymsgKernel Utility Interfaces
- crashcrash Command
- dbfreecrash Command
- dblockcrash Command
- linkblkcrash Command
- mbfreecrash Command
- mblockcrash Command
- ptycrash Command
- qruncrash Command
- queuecrash Command
- streamcrash Command
- strstatcrash Command
- ttycrash Command
- create priority band messageMessage Direction
D
- DARAM
- allocationExtended STREAMS Buffers
- freeingExtended STREAMS Buffers
- memory shared by kernel and I/O cardExtended STREAMS Buffers
- data and message boundaries
- RMODEMASKRead Options
- RMSGDRead Options
- RMSGNRead Options
- RNORMRead Options
- Data Link Provider InterfacesSTREAMS FAQ
- datab structureMessage Structure
- exampleMessage Structure
- datamsgKernel Utility Interfaces
- db_baseMessage Structure
- DDI, Device Driver InterfaceBasic Driver
- ddi_copyinModule and Driver ioctl Calls
- ddi_copyoutModule and Driver ioctl Calls
- declarations for the loop-around driver
- exampleDeclarations for the Loop-Around Driver
- definitions of priority band fields
- exampleUsing Queue Information
- dev_ops structure
- driver entry pointSTREAMS Driver Entry Points
- represents a specific class or type of devicedev_ops Structure
- device driver
- character deviceBasic Driver
- definitionBasic Driver
- device typesBasic Driver
- STREAMS driver characteristicsBasic Driver
- device interrupt handler
- exampleDevice Interrupt Handler
- difference between driver and a modulePushing a Module
- DLPISTREAMS FAQ
- driver
- ioctl controlModule and Driver Control
- STREAMS
- STREAMS Configuration Entry Points
- Structure of a STREAMS Device Driver
- driver configuration entry points
- exampleSimple Line Printer Driver
- driver entry point
- cb_ops structureSTREAMS Driver Entry Points
- dev_ops structureSTREAMS Driver Entry Points
- load kernel moduleSTREAMS Driver Entry Points
- streamtabSTREAMS Driver Entry Points
- driver entry pointsSTREAMS Driver Entry Points
- driver flush handling
- exampleDriver Flush Handling
- driver interrupt
- STREAMS driverKernel Contact Points
- driver interrupt handling
- exampleDriver Interrupt Handling
- dupbKernel Utility Interfaces
- dupmsgKernel Utility Interfaces
E
- ECHOCTLDefault Settings
- empty pipe
- user process attempts readReading From a Pipe or FIFO
- user process attempts writeWriting to a Pipe or FIFO
- enableokKernel Utility Interfaces
- entry point
- closeStream in More Detail
- openStream in More Detail
- error event
- POLLERRpoll Error
Events
- POLLHUPpoll Error
Events
- POLLNVALpoll Error
Events
- error events
- pollingPolling an Event
- esballoc(9F)
- outstanding callbacks fromAsynchronous Callback Functions
- esballoc
- Kernel Utility Interfaces
- Extended STREAMS Buffers
- exampleesballoc Example
- EUC handling in ldtermEUC Handling in ldterm
- EUC header file
- exampleEUC Header File
- event pollingSynchronous Input and Output
- examplePolling an Event
- explicit locks
- message orderingPreserving Message Ordering
- moduleMT SAFE Modules Using Explicit Locks
- explicit locks, constraints
- moduleConstraints When Using Locks
- extended STREAMS buffers
- Extended STREAMS Buffers
- Extended STREAMS Buffers
- allocationExtended STREAMS Buffers
- freeingExtended STREAMS Buffers
F
- fattachNamed Streams
- fdetachNamed Streams
- FIFO (STREAMS)Overview of Pipes and FIFOs
- basic operationsClosing a Pipe or FIFO
- flush
- Flushing Pipes and FIFOs
- Flushing Pipes and FIFOs
- file descriptor passingNamed Streams
- filter module
- exampleFilter Module
- flow control
- flow control
- Flow Control Mechanism
- Flow Control in Service Procedures
- check existence of message of particular priorityControlling Data Flow and Priorities
- check if certain band is writableControlling Data Flow and Priorities
- check if message is markedControlling Data Flow and Priorities
- expedited dataFlow Control Mechanism
- get priority of first messageControlling Data Flow and Priorities
- in line discipline moduleData Flow Control
- in module
- Data Flow Control
- Data Flow Control
- processing of ordinary messageFlow Control Mechanism
- routines
- Flow Control Mechanism
- Flow Control in Service Procedures
- test forFlow Control Mechanism
- flush handling
- description
- Flushing the Read Side of a Stream
- M_FLUSH Message Handling
- flags
- M_FLUSH Message
- M_FLUSH Arguments
and bi_flag Values
- M_FLUSH Arguments
and bi_flag values
- in driverDriver Flush Handling
- line disciplineFlushing the Read Side of a Stream
- pipes and FIFOsFlushing Pipes and FIFOs
- flush handling, priority band data
- exampleFlushing Priority Band
- flush handling, read side
- exampleFlushing the Write Side of a Stream
- flush handling, write side
- exampleFlushing the Write Side of a Stream
- flushbandKernel Utility Interfaces
- flushing a queue, part 1
- exampleFlushing a Queue
- flushing priority band dataM_FLUSH Arguments
and bi_flag values
- descriptionM_FLUSH Arguments
and bi_flag values
- flushing stream data
- arguments passed to M_FLUSHFlush Handling
- descriptionFlush Handling
- flushq
- Kernel Utility Interfaces
- Flushing Pipes and FIFOs
- fmodsw structureMT SAFE Module
- foreground job
- in job controlJob Control
- free routineExtended STREAMS Buffers
- freebKernel Utility Interfaces
- freemsgKernel Utility Interfaces
- freezestrKernel Utility Interfaces
- frequently asked IP interface questionsSTREAMS FAQ
- full-duplex processingWhat Is STREAMS?
G
- get stream module list
- exampleI_LIST ioctl
- getqKernel Utility Interfaces
- grantptgrantpt Function
- with pseudo-tty driverPseudo-TTY Drivers: ptm and pts
H
- hardening advice
- canputnextFlow of put Procedure
- copybExample of a Module put Procedure
- copymsgExample of a Module put Procedure
- db_ref > 1Shared Data Block
- dupbExample of a Module put Procedure
- dupmsgExample of a Module put Procedure
- ensure uniform changing of pointersData Alignment
- incorrect user dataioctl Processing
- proper bit alignmentData Alignment
- putnext
- put Procedure
- Entry Points
- qprocsonMessages Flowing Around the Module Before qprocson
- removing an anchorAnchors and Data Flow
- retain db_base <= b_rptr <= b_wptr <= db_limM_COPYOUT Using Transparent ioctl
- strqgetUsing Queue Information
- strqsetUsing Queue Information
- hardware emulation module
- hardware emulation module
- Hardware Emulation Module
- Hardware Emulation Module
- high-priority message
- Flow Control Mechanism
- Message Ordering with One Priority Band
- M_COPYINM_COPYIN Message
- M_COPYOUTM_COPYOUT Message
- M_ERRORM_ERROR Message
- M_FLUSHM_FLUSH Message
- M_HANGUPM_HANGUP Message
- M_IOCACKM_IOCACK Message
- M_IOCDATAM_IOCDATA Message
- M_IOCNAKM_IOCNAK Message
- M_PCPROTOM_PCPROTO Message
- M_PCRSEM_PCRSE Message
- M_PCSIGM_PCSIG Message
- M_READM_READ Message
- M_STOPSO_MREADOFF and M_STOP Messages
- M_STOPISO_MREADOFFI and M_STOPI Messages
- M_UNHANGUPM_UNHANGUP Message
- SO_MREADOFFSO_MREADOFF and M_STOP Messages
- SO_MREADOFISO_MREADOFFI and M_STOPI Messages
I
- I_ANCHOR
- Using Anchors
- STREAMS Anchors
- Other ioctl Commands
- Adding and Removing Modules
- I_LIST ioctl
- exampleI_LIST ioctl2Example
- I_SETSIG event
- S_BANDURGI_SETSIG
ioctl
2
Events
- S_ERRORI_SETSIG
ioctl
2
Events
- S_HANGUPI_SETSIG
ioctl
2
Events
- S_HIPRII_SETSIG
ioctl
2
Events
- S_INPUTI_SETSIG
ioctl
2
Events
- S_MSGI_SETSIG
ioctl
2
Events
- S_OUTPUTI_SETSIG
ioctl
2
Events
- S_RDBANDI_SETSIG
ioctl
2
Events
- S_RDNORMI_SETSIG
ioctl
2
Events
- S_WRBANDI_SETSIG
ioctl
2
Events
- S_WRNORMI_SETSIG
ioctl
2
Events
- infinite loop
- service procedureMessage Ordering with One Priority Band
- initialization entry point
- STREAMS driverSTREAMS Initialization Entry Points
- initialization entry points
- exampleSimple Line Printer Driver
- initialization routines for the loop-around driver
- exampleDeclarations for the Loop-Around Driver
- input/output polling
- I_SETSIG
ioctl
2
Events
- Input and Output Polling
- insq
- insqKernel Utility Interfaces
- inter_rcv
- exampleReceiving Data
- inter_snd, send data to service provider
- exampleSending Data to the Service Provider
- interrupt handler
- STREAMS driverSTREAMS Interrupt Handlers
- iocblk structureSTREAMS ioctl Issues
- exampleGeneral ioctl Processing
- with M_IOCTLM_IOCTL Message
- ioctlI_STR ioctl2 Driver
- _RECVFDM_PASSFP Message
- command summaryOther ioctl Commands
- EUC_WSETEUC Handling in ldterm
- general processing
- General ioctl Processing
- General ioctl Processing
- handled by ptemPseudo-TTY Emulation Module: ptem
- hardware emulation moduleHardware Emulation Module
- I_ANCHOR
- Using Anchors
- STREAMS Anchors
- Other ioctl Commands
- Adding and Removing Modules
- I_ATMARK
- Other ioctl Commands
- Controlling Data Flow and Priorities
- I_CANPUT
- Other ioctl Commands
- Controlling Data Flow and Priorities
- I_CKBAND
- Other ioctl Commands
- Controlling Data Flow and Priorities
- I_FDINSERTOther ioctl Commands
- I_FINDOther ioctl Commands
- I_FLUSH
- Flush Handling
- Other ioctl Commands
- I_FLUSHBAND
- M_FLUSH Arguments
and bi_flag values
- Other ioctl Commands
- Controlling Data Flow and Priorities
- I_GETBAND
- Other ioctl Commands
- Controlling Data Flow and Priorities
- I_GETCLTIMEOther ioctl Commands
- I_GRDOPTOther ioctl Commands
- I_GWROPT
- Zero-Length Writes
- Other ioctl Commands
- I_LINK
- M_IOCTL Message
- bufcall Callback
Routine
- Streams Before
Link
- Other ioctl Commands
- I_LISTI_LIST ioctl
- I_LOOKOther ioctl Commands
- I_NREADOther ioctl Commands
- I_PEEKOther ioctl Commands
- I_PLINK
- M_IOCTL Message
- Persistent Links
- bufcall Callback
Routine
- Other ioctl Commands
- I_POP
- Module Overview
- Adding and Removing Modules
- Stream in More Detail
- I_PUNLINK
- M_IOCTL Message
- Persistent Links
- bufcall Callback
Routine
- Other ioctl Commands
- I_PUSH
- Module Overview
- Adding and Removing Modules
- Stream in More Detail
- I_RECVFD
- Named Streams
- Other ioctl Commands
- I_SENDFD
- M_PASSFP Message
- Named Streams
- Other ioctl Commands
- I_SETCLTIMEOther ioctl Commands
- I_SETSIGInput and Output Polling
- I_SETSIG eventsAsynchronous Input and Output
- I_SRDOPT
- Other ioctl Commands
- Read Options
- I_STRM_IOCTL Message
- I_STR processingI_STR ioctl Processing
- I_SWROPT
- Zero-Length Writes
- Other ioctl Commands
- I_UNLINK
- M_IOCTL Message
- bufcall Callback
Routine
- Dismantling a Multiplexer
- Other ioctl Commands
- ISPTMPseudo-TTY Drivers: ptm and pts
- SAD_GAPstrapush Structure
- SAD_SAPstrapush Structure
- SAP_ALLApplication Interface
- SAP_CLEARApplication Interface
- SAP_ONEApplication Interface
- SAP_RANGEApplication Interface
- SIOCSPGRPM_SIG Message
- supported by ldtermWrite-Side Processing
- supported by master driverPseudo-TTY Drivers: ptm and pts
- TIOCREMOTERemote Mode
- TIOCSIGNALPseudo-TTY Drivers: ptm and pts
- TIOCSPGRPM_SIG Message
- transparent
- M_IOCDATA Processing
- Transparent ioctl Examples
- Transparent ioctl
- transparent processingTransparent ioctl Processing
- UNLKPTPseudo-TTY Drivers: ptm and pts
- user contextSTREAMS ioctl Issues
- isastreamNamed Streams
J
- job control
- Job Control
- Job Control
- background process groupJob Control
- controlling processJob Control
- controlling terminalJob Control
- foreground process groupJob Control
- orphaned process groupJob Control
- process groupJob Control
- process group leaderJob Control
- process group lifetimeJob Control
- process IDJob Control
- process lifetimeJob Control
- sessionJob Control
- session IDJob Control
- session leaderJob Control
- session lifetimeJob Control
- SUSP characterJob Control
- terminology
- Job Control
- Job Control
- TOSTOP flagJob Control
K
- kadbkadb Command
- kernel data structures
- ch_opsKernel Data Structures
- dev_opsKernel Data Structures
- modldrvKernel Data Structures
- modlinkageKernel Data Structures
- modlstrmodKernel Data Structures
- qinitKernel Data Structures
- streamtabKernel Data Structures
- kernel utilitiesKernel Utility Interface Summary
- adjmsgKernel Utility Interfaces
- allocbKernel Utility Interfaces
- backqKernel Utility Interfaces
- bcanputKernel Utility Interfaces
- bufcallKernel Utility Interfaces
- canputKernel Utility Interfaces
- copymsgKernel Utility Interfaces
- datamsgKernel Utility Interfaces
- dupbKernel Utility Interfaces
- dupmsgKernel Utility Interfaces
- enableokKernel Utility Interfaces
- esballocKernel Utility Interfaces
- flushbandKernel Utility Interfaces
- flushqKernel Utility Interfaces
- freebKernel Utility Interfaces
- freemsgKernel Utility Interfaces
- freezestrKernel Utility Interfaces
- getqKernel Utility Interfaces
- linkbKernel Utility Interfaces
- msgdsizeKernel Utility Interfaces
- noenableKernel Utility Interfaces
- otherqKernel Utility Interfaces
- pullupmsgKernel Utility Interfaces
- putbqKernel Utility Interfaces
- putctl1Kernel Utility Interfaces
- putctlKernel Utility Interfaces
- putnextKernel Utility Interfaces
- putqKernel Utility Interfaces
- qbufcallKernel Utility Interfaces
- qprocsoffKernel Utility Interfaces
- qprocsonKernel Utility Interfaces
- qreplyKernel Utility Interfaces
- qsizeKernel Utility Interfaces
- qtimeoutKernel Utility Interfaces
- qunbufcallKernel Utility Interfaces
- quntimeoutKernel Utility Interfaces
- qwaitKernel Utility Interfaces
- qwait_sigKernel Utility Interfaces
- qwriterKernel Utility Interfaces
- RDKernel Utility Interfaces
- rmvbKernel Utility Interfaces
- rmvqKernel Utility Interfaces
- strlogKernel Utility Interfaces
- strqgetKernel Utility Interfaces
- strqsetKernel Utility Interfaces
- testbKernel Utility Interfaces
- unbufcallKernel Utility Interfaces
- unfreezestrKernel Utility Interfaces
- unlinkbKernel Utility Interfaces
- WRKernel Utility Interfaces
L
- ldterm
- Module open and close
Routines
- Line-Discipline Module
- Line-Discipline Module
- M_SETOPTSModule open and close
Routines
- read-side messagesRead-Side Processing
- write sideWrite-Side Processing
- LIFO
- module add/removePushing the Character Conversion
Module
- line discipline module
- closeModule open and close
Routines
- descriptionLine-Discipline Module
- in job controlJob Control
- in pseudo-tty subsystemLine-Discipline Module
- ioctlWrite-Side Processing
- line discipline module for flush handling
- exampleLine Discipline Module for Flush Handling
- line printer driver
- exampleSimple Line Printer Driver
- header file declarationsPrinter Driver Example
- linkbKernel Utility Interfaces
- linking messagesSimple Message Referencing
the Data Block
- list a stream's drivers and modules
- exampleI_LIST ioctl2Example
- load kernel module
- driver entry pointSTREAMS Driver Entry Points
- loop-around driver flow control
- exampleUse of ioctl to Copy
Data From User Space to Kernel Space
M
- M_BREAKM_BREAK Message
- M_COPYINM_COPYIN Message
- M_COPYOUTM_COPYOUT Message
- transparent ioctl exampleBidirectional Data Transfer Example
- with M_IOCTLM_IOCTL Message
- M_COPYOUT using transparent ioctl
- exampleM_COPYOUT Using Transparent ioctl
- M_CTLM_CTL Message
- M_STOPSO_MREADOFF and M_STOP Messages
- SO_MREADOFFSO_MREADOFF and M_STOP Messages
- with line discipline moduleLine-Discipline Module
- M_DATAM_DATA Message
- M_DELAYM_DELAY Message
- M_ERRORM_ERROR Message
- M_FLUSHM_FLUSH Message
- flagsM_FLUSH Message
- flush read and write queuesM_FLUSH Arguments
and bi_flag values
- flush read side of streamM_FLUSH Arguments
and bi_flag values
- flush write side of streamM_FLUSH Arguments
and bi_flag values
- FLUSHRM_FLUSH Arguments
and bi_flag values
- FLUSHRWM_FLUSH Arguments
and bi_flag values
- FLUSHWM_FLUSH Arguments
and bi_flag values
- in module exampleFlushing a Queue
- packet modePacket Mode
- M_FLUSH message handling
- descriptionM_FLUSH Message Handling
- M_HANGUPM_HANGUP Message
- M_IOCACKM_IOCACK Message
- with M_COPYOUTM_COPYOUT Message
- with M_IOCTLM_IOCTL Message
- M_IOCDATAM_IOCDATA Message
- M_IOCDATA processing
- example
- Bidirectional Data Transfer
- M_COPYIN: Copy the address Structure
- M_IOCNAKM_IOCNAK Message
- with M_COPYOUTM_COPYOUT Message
- with M_IOCTLM_IOCTL Message
- M_IOCTL
- M_IOCTL Message
- M_IOCTL Message
- transparentM_IOCTL Message
- with M_COPYOUTM_COPYOUT Message
- M_PASSFPM_PASSFP Message
- M_PCPROTOM_PCPROTO Message
- M_PCRSEM_PCRSE Message
- M_PCSIGM_PCSIG Message
- M_PROTO
- M_PROTO Message
- M_PROTO Message
- M_READM_READ Message
- M_RSEM_RSE Message
- M_SETOPTSM_SETOPTS Message
- SO_FLAGM_SETOPTS Message
- SO_ISTTYM_SIG Message
- so_readopt optionsRead Options
- M_SIGM_SIG Message
- in signalingsignal Message
- M_STOPSO_MREADOFF and M_STOP Messages
- M_STOPISO_MREADOFFI and M_STOPI Messages
- M_UNHANGUPM_UNHANGUP Message
- managing extended buffers in multithreaded environment
- exampleesballoc Example
- manipulating modulesManipulating Modules
- master driver
- in pseudo-tty subsystemSTREAMS-based Pseudo-Terminal Subsystem
- openPseudo-TTY Drivers: ptm and pts
- mdbadb Command
- memory-mapped I/OExtended STREAMS Buffers
- messageStream in More Detail
- accessing queue informationUsing Queue Information
- allocationMessage Allocation and Freeing
- container for data and control informationOverview of Streams in Kernel Space
- create priority band messageMessage Direction
- data alignmentData Alignment
- definitions of priority band fieldsUsing Queue Information
- flow controlControlling Data Flow and Priorities
- freeingMessage Allocation and Freeing
- getmsgMessage Direction
- getpmsgMessage Direction
- high-priority
- Flow Control Mechanism
- Message Ordering with One Priority Band
- linkingMessage Linkage
- M_BREAK
- M_BREAK Message
- Ordinary Messages, Description
of Communication Flow
- M_COPYIN
- M_COPYIN Message
- High-Priority Messages, Description
of Communication Flow
- M_COPYOUT
- M_COPYOUT Message
- High-Priority Messages, Description
of Communication Flow
- M_CTL
- SO_MREADOFF and M_STOP Messages
- M_CTL Message
- Ordinary Messages, Description
of Communication Flow
- M_DATA
- M_DATA Message
- Ordinary Messages, Description
of Communication Flow
- M_DELAY
- M_DELAY Message
- Ordinary Messages, Description
of Communication Flow
- M_ERROR
- M_ERROR Message
- High-Priority Messages, Description
of Communication Flow
- M_FLUSH High-Priority Messages, Description
of Communication Flow
- M_FLUSHM_FLUSH Message
- M_HANGUP
- M_HANGUP Message
- High-Priority Messages, Description
of Communication Flow
- M_IOCACK
- M_IOCACK Message
- High-Priority Messages, Description
of Communication Flow
- M_IOCDATA
- M_IOCDATA Message
- High-Priority Messages, Description
of Communication Flow
- M_IOCNAK
- M_IOCNAK Message
- High-Priority Messages, Description
of Communication Flow
- M_IOCTL
- M_IOCTL Message
- Ordinary Messages, Description
of Communication Flow
- M_PASSFP
- M_PASSFP Message
- Ordinary Messages, Description
of Communication Flow
- M_PCPROTO
- M_PCPROTO Message
- High-Priority Messages, Description
of Communication Flow
- M_PCRSEM_PCRSE Message
- M_PCSIG
- M_PCSIG Message
- High-Priority Messages, Description
of Communication Flow
- M_PROTO
- M_PROTO Message
- Ordinary Messages, Description
of Communication Flow
- M_READ
- M_READ Message
- High-Priority Messages, Description
of Communication Flow
- M_RSEM_RSE Message
- M_SETOPTS
- M_SETOPTS Message
- Ordinary Messages, Description
of Communication Flow
- M_SIGOrdinary Messages, Description
of Communication Flow
- M_STARTHigh-Priority Messages, Description
of Communication Flow
- M_STARTIHigh-Priority Messages, Description
of Communication Flow
- M_STOPHigh-Priority Messages, Description
of Communication Flow
- M_STOPI
- SO_MREADOFFI and M_STOPI Messages
- High-Priority Messages, Description
of Communication Flow
- M_UNHANGUP
- M_UNHANGUP Message
- High-Priority Messages, Description
of Communication Flow
- msgb structure
- Simple Message Referencing
the Data Block
- Message Structure
- priorityMessage Queues and Message Priority
- putmsgMessage Direction
- putpmsgMessage Direction
- qband structureqband Structure
- qinit structureEntry Points
- queue
- Message Queues
- Message Ordering in a Queue
- queue priorityMessage Ordering in a Queue
- queue structurequeue Structure
- queues
- Queued Messages
- Message Queueing and Priorities
- read optionsRead Options
- recovering from allocation failureRecovering From No Buffers
- recovering from no buffersRecovering From No Buffers
- retrieve priority band messageMessage Direction
- service interfaceDriver and Module Service Interfaces
- shared dataShared Data
- SO_MREADOFISO_MREADOFFI and M_STOPI Messages
- translation between user application and kernelOverview of Streams in Kernel Space
- typesMessage Types
- using qband informationUsing qband Information
- write optionWrite Options
- message (STREAMS)
- directionSending and Receiving Messages
- flowMessage Processing Procedures
- handled by ptemPseudo-TTY Emulation Module: ptem
- handled by pcktPacket Mode
- high-priority
- High-Priority Messages
- High-Priority Messages, Description
of Communication Flow
- ldterm read sideRead-Side Processing
- ldterm write sideWrite-Side Processing
- linking into queuesSimple Message Referencing
the Data Block
- M_DATASending and Receiving Messages
- M_PCPROTOSending and Receiving Messages
- M_PROTOSending and Receiving Messages
- ordinary
- M_SIG Message
- Ordinary Messages
- Ordinary Messages, Description
of Communication Flow
- processingMessage Processing Procedures
- sending/receivingSending and Receiving Messages
- structuresMessage Structure
- typesMessage Types
- message blockmessage block
- message block structure
- exampleSimple Message Referencing
the Data Block
- message orderingShared Data Block
- message prioritiesMessage Ordering in a Queue
- message queuemessage queue
- priorityControlling Data Flow and Priorities
- priority levelsMessage Queueing Priority
- message types
- rules for changingMessage Type Change Rules
- messages
- kernelMessage Types
- messages sent by driver to stream head
- M_ERROROpening the Loop-Around Driver
- M_HANGUPOpening the Loop-Around Driver
- M_SIG/M_PCSIGOpening the Loop-Around Driver
- modldrv structure
- driver operations and linkage informationmodldrv Structure
- modlinkage structure
- module link informationmodlinkage Structure
- revision level of loadable modulesmodlinkage Structure
- modlstrmod structure
- module operations and linkage informationmodlstrmod Structure
- modulemodule
- difference with driverPushing a Module
- drainingClosing the Stream
- ioctl controlModule and Driver Control
- line disciplineline discipline
- manipulationManipulating Modules
- pushablepushable module
- reusabilityModule Reusability
- module entry point structure
- exampleEntry Points
- module information structure
- exampleEntry Points
- module put
- exampleExample of a Module put Procedure
- module service procedure
- exampleModule service Procedure
- module unloading
- outstanding esballoc callbackUnloading a Module that Uses esballoc
- module_info structure
- exampleEntry Points
- monitor streams eventsInput and Output Polling
- msgb structureSimple Message Referencing
the Data Block
- msgdsizeKernel Utility Interfaces
- MT SAFE
- cb_flag for driverMT SAFE Driver
- driverMT SAFE Driver
- f_flag for moduleMT SAFE Module
- moduleMT SAFE Module
- multiple process write
- same pipeAtomic Writes
- multiplexermultiplexer
- building
- Streams Before
Link
- Building a Multiplexer
- controlling streamStreams Before
Link
- data routingRouting Data Through a Multiplexer
- declarationsMultiplexing Driver Example
- definitionConfiguring Multiplexed Streams
- design guidelinesDesign Guidelines
- dismantlingDismantling a Multiplexer
- driverLower Read put Procedure
- driver exampleMultiplexing Driver Example
- exampleMultiplexer Construction Example
- lowerSTREAMS Multiplexers
- lower connection
- Connecting Lower Streams
- Connecting Lower Streams
- lower disconnectionDisconnecting Lower Streams
- lower read put procedure
- Lower Read put Procedure
- Lower Read put Procedure
- lower stream
- lower stream
- Configuring Multiplexed Streams
- lower write service procedureLower Write service Procedure
- lower write service procedureLower Write service Procedure
- minor device connectConnecting And Disconnecting Lower Streams
- minor device disconnectDisconnecting Lower Streams
- pseudo-device driverConfiguring Multiplexed Streams
- upperSTREAMS Multiplexers
- upper stream
- upper stream
- Configuring Multiplexed Streams
- upper write service procedureUpper Write service Procedure
Sample
- upper-queue write put procedureUpper Write put Procedure
Sample
- multiplexer ID
- in multiplexer buildingStreams Before
Link
- in multiplexer dismantlingDismantling a Multiplexer
- multiplexing STREAMSConfiguring Multiplexed Streams
- multithread framework
- MT SAFEMT SAFE Modules and Drivers
- perimetersMT SAFE Modules and Drivers
- multithreaded kernelMultithreading the Kernel
- porting toPreparing to Port
- multithreaded module
- explicit locksMT SAFE Modules Using Explicit Locks
- explicit locks, constraintsConstraints When Using Locks
- preserving message orderingPreserving Message Ordering
- multithreaded perimeter
- choosing a typeChoosing a Perimeter Type
- defining a typeDefining Perimeter Types
- descriptionMT STREAMS Perimeters
- exclusive/shared access flagsOuter Perimeter Flag
- flagsChoosing a Perimeter Type
- fully-hotHot Perimeters
- innerInner Perimeters
- inner perimeter flagsChoosing a Perimeter Type
- outerOuter Perimeters
- outer perimeter flagsInner Perimeter Flags
- PERMODPERMOD Perimeter
- routines used inside a perimeterRoutines Used Inside a Perimeter
- multithreaded STREAMS
- concepts and terminologyMultithreaded (MT) STREAMS Overview
- multithreaded STREAMS module with outer perimeter
- exampleMultithread Module with Outer Perimeter
- multithreaded STREAMS pseudo-driver using an inner perimeter
- exampleMultithreaded, Loadable, STREAMS
Pseudo-Driver
- muxuwput
- upper-queue write put procedureUpper Write put Procedure
Sample
N
- named pipe (see FIFO)Overview of Pipes and FIFOs
- named stream
- descriptionNamed Streams
- file descriptor passingNamed Streams
- noenableKernel Utility Interfaces
- nontransparent ioctl using I_STR
- exampleTransparent ioctl Messages
- NSTRPUSH
- kernel parameterAdding and Removing Modules
- tunable parameterTunable Parameters
O
- O_NDELAY
- with M_SETOPTSM_SETOPTS Message
- O_NONBLOCK
- with M_SETOPTSM_SETOPTS Message
- open a module
- exampleA Simple open Routine
- open a streamOpening a STREAMS Device File
- open and request bind to the driver device
- example
inter_open Routine
- openPseudo-TTY Streams
- device fileOpening a STREAMS Device File
- opening a system clone device
- exampleOpening a System Clone Device
- opening the log driver
- exampleOpening a System Clone Device
- opening the loop-around driverDeclarations for the Loop-Around Driver
- ordinary message
- M_BREAKM_BREAK Message
- M_CTLM_CTL Message
- M_DATAM_DATA Message
- M_DELAYM_DELAY Message
- M_IOCTLM_IOCTL Message
- M_PASSFPM_PASSFP Message
- M_PROTOM_PROTO Message
- M_RSEM_RSE Message
- M_SETOPTSM_SETOPTS Message
- otherqKernel Utility Interfaces
P
- packet modepacket mode
- descriptionPacket Mode
- messagesPacket Mode
- panicShared Data Block
- pckt
- Packet Mode
- Packet Mode
- perimeter
- asynchronous accessMT STREAMS Perimeters
- asynchronous callback functionsAsynchronous Callback Functions
- choosing a typeChoosing a Perimeter Type
- defining a typeDefining Perimeter Types
- descriptionMT STREAMS Perimeters
- exclusive/shared access flagsOuter Perimeter Flag
- flagsChoosing a Perimeter Type
- fully-hotHot Perimeters
- innerInner Perimeters
- inner perimeter flagsChoosing a Perimeter Type
- outerOuter Perimeters
- outer perimeter flagsInner Perimeter Flags
- PERMODPERMOD Perimeter
- routinesRoutines Used Inside a Perimeter
- synchronous accessMT STREAMS Perimeters
- persistent link
- persistent link
- Persistent Links
- createPersistent Links
- dismantlePersistent Links
- pipe or FIFO
- read fromReading From a Pipe or FIFO
- write toWriting to a Pipe or FIFO
- PIPE_BUFAtomic Writes
- pipemod
- moduleFlushing Pipes and FIFOs
- pipemod STREAMS moduleFlushing Pipes and FIFOs
- pipes
- STREAMS (see STREAMS-based pipe)Overview of Pipes and FIFOs
- poll event
- POLLINSynchronous Input and Output
- POLLOUTSynchronous Input and Output
- POLLRDBANDSynchronous Input and Output
- POLLRDNORMSynchronous Input and Output
- POLLWRBANDSynchronous Input and Output
- POLLWRNORMSynchronous Input and Output
- pollPolling an Event
- pollfd structurePolling an Event
- polling
- asynchronous input/outputAsynchronous Input and Output
- error eventsPolling an Event
- eventSynchronous Input and Output
- example
- poll Error
Events
- Events That Can Be Polled
- porting from SunOS 4 to Oracle Solaris 11
- considerationsPorting to the Oracle Solaris System
- priority band data
- ioctlControlling Data Flow and Priorities
- routinesData Structure Linkage
- priority band data flush handling
- examplePriority Band Data Flush Handling
- private dataStream in More Detail
- private locks across calls
- moduleAsynchronous Callback Functions
- process incoming data
- examplePolling an Event
- process write message blocks
- exampleUse of allocb
- processing an ioctl
- exampleProcessing ioctl2
- processing an ioctl message
- exampleI_STR ioctl2 Driver
- processing input
- exampleProcess Input
- protocol
- migrationProtocol Migration
- portabilityProtocol Portability
- substitutionProtocol Substitution
- protocol daemon
- exampleProtocol Daemon
- protocol messages
- readRead Options
- pseudo-device
- driverpseudo-device driver
- pseudo-terminal
- subsystempseudo-terminal subsystem
- pseudo-terminal subsystem
- remote moderemote mode
- pseudo-tty emulation module
- open and close Routines
- Pseudo-TTY Emulation Module: ptem
- pseudo-tty subsystemSTREAMS-based Pseudo-Terminal Subsystem
- description
- ptsname Function
- STREAMS-based Pseudo-Terminal Subsystem
- drivers
- Pseudo-TTY Drivers: ptm and pts
- Master Driver and Slave Driver Characteristics
- ldtermLine-Discipline Module
- messagesPseudo-TTY Emulation Module: ptem
- packet modePacket Mode
- remote modeRemote Mode
- ptem
- open and close Routines
- Pseudo-TTY Emulation Module: ptem
- ptem structure
- exampleptem Data Structure
- ptm (see master driver)STREAMS-based Pseudo-Terminal Subsystem
- pts
- examplepts Example
- pts (see slave driver)STREAMS-based Pseudo-Terminal Subsystem
- ptsname
- ptsname Function
- ptsname Function
- with pseudo-tty driverPseudo-TTY Drivers: ptm and pts
- pullupmsgKernel Utility Interfaces
- push/pop modules on/off the streamI_LIST ioctl
- pushing a module
- exampleModule Header File Definition
- pushing modules on a STREAMS-based FIFOCreating and Opening Pipes and FIFOs
- pushing modules on a STREAMS-based pipePushing Modules on a STREAMS-based FIFO
- put procedure
- Queue service Procedure
- put Procedure
- Structure of a Message Queue
- putbqKernel Utility Interfaces
- putctl1Kernel Utility Interfaces
- putctlKernel Utility Interfaces
- putnext
- Kernel Utility Interfaces
- Flushing Pipes and FIFOs
- putqKernel Utility Interfaces
Q
- q_next fieldUse of the q_next Field
- qband structure
- exampleqband Structure
- qbufcall
- Kernel Utility Interfaces
- qtimeout/qunbufcall Routines
- qinit structure
- exampleEntry Points
- pointers to STREAMS entry pointsqinit Structure
- qprocsoff
- Kernel Utility Interfaces
- qprocson/qprocsoff Routines
- qprocson
- Kernel Utility Interfaces
- qprocson/qprocsoff Routines
- qreplyKernel Utility Interfaces
- qsizeKernel Utility Interfaces
- qtimeout
- Kernel Utility Interfaces
- qtimeout/qunbufcall Routines
- qtimeout/qunbufcall Routines
- queue
- queue
- Overview of Streams in Kernel Space
- Structure of a Message Queue
- flagsQueue Flags
- putput procedure
- read sideread side
- readread queue
- scheduleschedule
- using qband informationUsing qband Information
- water markwater mark
- write sidewrite side
- writewrite queue
- queue allocationQueue Allocation
- queue flags
- QENABQueue Flags
- QFULLQueue Flags
- QNOENBQueue Flags
- QREADRQueue Flags
- QUSEQueue Flags
- QWANTRQueue Flags
- QWANTWQueue Flags
- queue processing entry point
- STREAMS driver
- STREAMS Queue Processing Entry Points
- Kernel Contact Points
- queue processing entry points
- exampleSimple Line Printer Driver
- queue processing procedure
- putStream in More Detail
- serviceStream in More Detail
- queue structure
- examplequeue Structure
- qunbufcall
- Kernel Utility Interfaces
- qtimeout/qunbufcall Routines
- qtimeout/qunbufcall Routines
- quntimeout
- Kernel Utility Interfaces
- qtimeout/qunbufcall Routines
- qwait
- Kernel Utility Interfaces
- qwait Function
- qwait_sigKernel Utility Interfaces
- qwriter
- Kernel Utility Interfaces
- qwriter Function
R
- RDKernel Utility Interfaces
- read side
- ldterm processingRead-Side Processing
- read-side
- put procedureModule Procedures
- read-side line discipline module
- exampleRead-side Line Discipline Module
- read-side put procedure
- exampleRead-side put Procedure
- receive data from service provider
- example
- Receiving Data
- Receiving Data
- releasing callback requestsReleasing Callback Requests
- retrieve priority band messageMessage Direction
- revents
- bitmaskpoll Error
Events
- rmvbKernel Utility Interfaces
- rmvqKernel Utility Interfaces
- routines used inside a perimeterRoutines Used Inside a Perimeter
S
- sadSTREAMS Administrative Driver
- SAD (see STREAMS Administrative Driver)
- Application Interface
- Application Interface
- SAD (see STREAMS Administrative Driver)STREAMS Administrative Driver
- SAD_GAP ioctlstrapush Structure
- SAD_SAP ioctl
- SAP_ALL optionstrapush Structure
- SAP_CLEAR optionstrapush Structure
- SAP_ONE optionstrapush Structure
- SAP_RANGE optionstrapush Structure
- sap_lastminor devicestrapush Structure
- sap_major devicestrapush Structure
- sap_minor device
- strapush Structure
- strapush Structure
- send data to service provider
- exampleUsing the inter_snd Routine
- service
- interfaceservice interface
- procedureservice procedure
- providerservice provider
- userservice user
- service interfaceService Interface
- definitionDriver and Module Service Interfaces
- rulesModule Service Interface Example
- service interface library
- exampleService Interface Library Example
- primitivesService Interface Library Header File
- service interface library header file
- exampleService Interface Library Example
- service interface protoput procedure
- exampleService Interface Procedure
- service primitiveService Interface
- BIND_REQService Interface Library Header File
- ERROR_ACKService Interface Library Header File
- in service procedureService Interface Library Header File
- OK_ACKService Interface Library Header File
- UNITDATA_INDService Interface Library Header File
- UNITDATA_REQService Interface Library Header File
- service primitive declarations
- exampleService Primitive Declarations
- service procedure
- Flow Control Mechanism
- Queue service Procedure
- back-enableback-enable
- blockedblocked
- service providerService Interface
- accessingAccessing the Service Provider
- closingClosing the Service Provider
- receiving dataReceiving Data
- sending dataSending Data to the Service Provider
- service interfaceService Interfaces
- service procedureStructure of a Message Queue
- signalsignal Message
- extendedExtended Signals
- in job control managementJob Control
- in STREAMS
- signal Message
- signal Message
- M_SIGsignal Message
- SIGCONTJob Control
- SIGHUPHangup Signals
- SIGPOLLM_SIG Message
- SIGSTOPJob Control
- SIGTSTPJob Control
- SIGTTINJob Control
- SIGTTOUJob Control
- SIGPOLL
- signalM_SIG Message
- SIGTTINAccessing the Controlling Terminal
- SIGTTOUAccessing the Controlling Terminal
- simple stream
- exampleSimple Stream
- slave driverslave driver
- in pseudo-tty subsystemSTREAMS-based Pseudo-Terminal Subsystem
- openPseudo-TTY Drivers: ptm and pts
- slave driver open
- examplePseudo-TTY Drivers: ptm and pts
- SO_FLAG
- in M_SETOPTSM_SETOPTS Message
- SO_MREADOFFSO_MREADOFF and M_STOP Messages
- SO_MREADOFISO_MREADOFFI and M_STOPI Messages
- standard pipestandard pipe
- str_mlist structure
- exampleI_LIST ioctl
- stracestrace Command
- strapush structure
- exampleApplication Interface
- strchgI_LIST ioctl
- strconf commandI_LIST ioctl
- STRCTLSZ
- tunable parameterTunable Parameters
- stream
- controlling terminalAllocation and Deallocation of Streams
- general definitionWhat Is STREAMS?
- hung-upHungup Streams
- stream autopush structure
- exampleApplication Interface
- stream construction
- add/remove modulesAdding and Removing Modules
- close a streamClosing the Stream
- example
- Process Input
- Stream Construction Example
- open a streamOpening a STREAMS Device File
- stream head
- copy data between the user space and kernel spaceStream Head
- intercepting I_STRstrioctl Structure
- kernel space interactionStream Head
- stream pseudo terminal module
- exampleStream Pseudo Terminal Module
- streamio ioctl commands
- streams controlOther ioctl Commands
- STREAMSSTREAMS
- administration toolsAdministration Tools
- application interfaceHow STREAMS Works – Application Interface
- asynchronous callback functionsAsynchronous Callback Functions
- closing a deviceClosing a Stream
- configuration
- strapush Structure
- Application Interface
- considerations when porting from SunOS 4 to Oracle Solaris 11Porting to the Oracle Solaris System
- data pathStream as a Data Path
- data transferOpening a Stream
- definitionWhat Is STREAMS?
- definition of functionalityWhat Is STREAMS?
- determining when to useWhen to Use STREAMS
- device driverSTREAMS Device Driver
- driverStructure of a STREAMS Device Driver
- flow control
- Controlling Data Flow
- Message Transfer Flow Control
- frequently asked IP interface questionsSTREAMS FAQ
- hardened
- Multithread Module with Outer Perimeter
- Multithreaded, Loadable, STREAMS
Pseudo-Driver
- Simple Line Printer Driver
- hardening advice
- M_COPYOUT Using Transparent ioctl
- ioctl Processing
- head
- Creating the Stream Head
- Stream Head
- interfaceSTREAMS Application-Level Components
- kernel-levelHow STREAMS Works at the Kernel Level
- message componentsMessage Components
- message data structuresMessage Components
- message queue priorityMessage Queueing Priority
- message queuesMessage Queues
- message typesMessage Components
- messagesSTREAMS Data
- module
- Message Processing
- STREAMS Module
- module multiplexingConfiguring Multiplexed Streams
- multiplexing
- STREAMS Multiplexers
- STREAMS Multiplexing
- multithread frameworkMT STREAMS Framework
- multithread framework integritySTREAMS Framework Integrity
- opening a deviceOpening a Stream
- pollingSTREAMS Polling
- programming modelWhat Is STREAMS?
- queue overviewStructure of a Message Queue
- tunable parametersTunable Parameters
- STREAMS administration modulesApplication Interface
- autopush facilityApplication Interface
- STREAMS Administrative Driver
- strapush Structure
- Application Interface
- Application Interface
- Application Interface
- STREAMS anchors client
- exampleSTREAMS Anchors fd_server.c
- STREAMS anchors server
- exampleSTREAMS Anchors fd_server.c
- streams control
- streamio ioctl commandsOther ioctl Commands
- STREAMS debuggingSTREAMS Error and Trace Logging
- error and trace logging
- STREAMS Error and Trace Logging
- STREAMS Error and Trace Logging
- Administration Tool Description
- kernel debug printingKernel Debug Printing
- kernel examination toolsKernel Examination Tools
- STREAMS driver
- cloningCloning STREAMS Drivers
- configuration entry point
- STREAMS Configuration Entry Points
- Kernel Contact Points
- design guidelinesSummarizing STREAMS Device Drivers
- driver interruptKernel Contact Points
- Ethernet driversSTREAMS FAQ
- flush handlingDriver Flush Handling
- initialization entry pointSTREAMS Initialization Entry Points
- interrupt handlerSTREAMS Interrupt Handlers
- ioctl
- ioctl Processing
- Module and Driver ioctl Calls
- loop-aroundLoop-Around Driver
- porting to multithreaded kernelPreparing to Port
- pseudo-tty
- Pseudo-TTY Drivers: ptm and pts
- Master Driver and Slave Driver Characteristics
- pseudo-tty subsystem masterSTREAMS-based Pseudo-Terminal Subsystem
- pseudo-tty subsystem slaveSTREAMS-based Pseudo-Terminal Subsystem
- queue processing entry point
- STREAMS Queue Processing Entry Points
- Kernel Contact Points
- table-driven entry pointSTREAMS Table-Driven Entry Points
- STREAMS module
- Flushing a Queue
- Module Overview
- adding an anchorUsing Anchors
- anchor lockSTREAMS Anchors
- autopush facilityAutopush Facility
- autopush facility
- strapush Structure
- STREAMS Administrative Driver
- connldUnique Connections
- design guidelinesDesign Guidelines
- filterFilter Module Example
- flow control
- Design Guidelines
- Data Flow Control
- ioctlModule and Driver ioctl Calls
- line disciplineLine-Discipline Module
- ptemPseudo-TTY Emulation Module: ptem
- read-side put procedureModule Procedures
- routines
- STREAMS Module Service Procedure
- Module Procedures
- service interface example
- Service Interface protoput Procedure
- Module Service Interface Example
- service procedure exampleSTREAMS Module Service Procedure
- service procedureWrite-side put Procedure
- write-side put procedureRead-side put Procedure
- STREAMS queue
- qband structureqband Structure
- using qband informationUsing qband Information
- using queue informationUsing qband Information
- STREAMS-based pipeSTREAMS-based pipe
- atomic writeAtomic Writes
- basic operationsClosing a Pipe or FIFO
- definitionOverview of Pipes and FIFOs
- PIPE_BUFAtomic Writes
- 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
- streamtab structure
- driver entry pointSTREAMS Driver Entry Points
- exampleModule Structures
- pointers to structures for inititializing reading and writng a modulestreamtab Structure
- strerrstrerr Daemon
- strioctl structurestrioctl Structure
- exampleI_STR ioctl Processing
- ic_cmdstrioctl Structure
- ic_dpstrioctl Structure
- ic_lenstrioctl Structure
- ic_timoutstrioctl Structure
- strlog
- Kernel Utility Interfaces
- strace Command
- flag parameterstrlog Command
- STRMSGSZ
- tunable parameterTunable Parameters
- stropts.h
- strbufMessage Direction
- strqget
- Kernel Utility Interfaces
- Using Queue Information
- strqget Command
- strqset
- Kernel Utility Interfaces
- Using Queue Information
- strqset Command
- structure for M_IOCTL unrecognized message
- exampleGeneral ioctl Processing
- structure for nontransparent ioctl
- exampleI_STR ioctl Processing
- synchronous input/output
- in pollingSynchronous Input and Output
- system crashShared Data Block
T
- table-driven entry point
- STREAMS driverSTREAMS Table-Driven Entry Points
- termio
- default flag valuesDefault Settings
- TCSETAJob Control
- TCSETAFJob Control
- TCSETAWJob Control
- termios
- terminal control flagsLine-Discipline Module
- testbKernel Utility Interfaces
- transferring user buffer into the kernel
- exampleM_COPYIN: Copy the address Structure
- transparent ioctlTransparent ioctl Examples
- exampleTransparent ioctl Messages
- M_COPYOUT exampleBidirectional Data Transfer Example
- messagesTransparent ioctl Messages
- processingTransparent ioctl Processing
- transparent ioctl processingM_IOCDATA Processing
- treatment of protocol messages
- RPROTDATRead Options
- RPROTDISRead Options
- RPROTMASKRead Options
- RPROTNORMRead Options
- tty subsystem
- benefitsOverview of Terminal Subsystem
- description
- Hardware Emulation Module
- Overview of Terminal Subsystem
- hardware emulation module
- Hardware Emulation Module
- Hardware Emulation Module
- ldtermLine-Discipline Module
- setupSTREAMS-based Terminal Subsystem
- ttymonSTREAMS-based Terminal Subsystem
- tunable parameters
- STREAMSTunable Parameters
U
- unbufcallKernel Utility Interfaces
- unfreezestrKernel Utility Interfaces
- unique connection (STREAMS)
- Unique Connections
- Unique Connections
- unlinkbKernel Utility Interfaces
- unlockptunlockpt Function
- with pseudo-tty driverPseudo-TTY Drivers: ptm and pts
- upstreamupstream
- user process write
- 0 byte pipeZero-Length Writes
- user's options structure
- exampleM_COPYOUT Example
W
- wait for bind request acknowledgement
- example
inter_open Routine
- WRKernel Utility Interfaces
- write side
- ldtermWrite-Side Processing
- write-side
- put procedureRead-side put Procedure
- write-side put procedure
- exampleWrite-side put Procedure