STREAMS Programming Guide
    
A
 
 allocb, example use of ( Index Term Link )
 
 anchors ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
 
 assembly programming ( Index Term Link )
 
 asynchronous input/output, in polling ( Index Term Link )
    
B
 
 b_band ( Index Term Link )
  placement ( Index Term Link )
 
 b_next ( Index Term Link )
 
 back-enable of a queue ( Index Term Link )
 
 back-enabling ( Index Term Link ) ( Index Term Link )
 
 background job, in job control ( Index Term Link )
 
 bidirectional transfer
  example ( Index Term Link ) ( Index Term Link )
    
C
 
 cloning (STREAMS) ( Index Term Link )
 
 close, dismantling the stream ( Index Term Link )
 
 connld(7) ( Index Term Link )
 
 controlling terminal ( Index Term Link )
    
D
 
 datab structure ( Index Term Link )
 
 db_base ( Index Term Link )
 
 difference between driver & module ( Index Term Link )
 
 driver
  ioctl control ( Index Term Link )
  overview ( Index Term Link )
  STREAMS ( Index Term Link )
 
 driver STREAMS ( Index Term Link )
    
E
 
 ECHOCTL ( Index Term Link )
 
 esballoc ( Index Term Link )
 
 EUC handling in ldterm(7) ( Index Term Link )
 
 extended STREAMS buffers ( Index Term Link ) ( Index Term Link )
  allocation ( Index Term Link )
  freeing ( Index Term Link )
    
F
 
 FIFO (STREAMS) ( Index Term Link )
  basic operations ( Index Term Link )
  flush ( Index Term Link ) ( Index Term Link )
 
 file descriptor passing ( Index Term Link )
 
 flow control ( Index Term Link ) ( Index Term Link )
  expedited data ( Index Term Link )
  in line discipline module ( Index Term Link )
  in module ( Index Term Link ) ( Index Term Link )
  routines ( Index Term Link ) ( Index Term Link )
 
 flush handling
  description ( Index Term Link ) ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
  flags ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
  in driver ( Index Term Link )
  in line discipline ( Index Term Link )
  in pipes and FIFOs ( Index Term Link )
  read-side example ( Index Term Link )
  write-side example ( Index Term Link )
 
 foreground job, in job control ( Index Term Link )
 
 free routine ( Index Term Link )
 
 full-duplex processing ( Index Term Link )
    
G
 
 grantpt(3C) ( Index Term Link )
  with pseudo-tty driver ( Index Term Link )
    
H
 
 hardware emulation module ( Index Term Link ) ( Index Term Link )
 
 high-priority messages ( Index Term Link )
    
I
 
 I_ANCHOR ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
 
 I_SWROPT ( Index Term Link )
 
 infinite loop, service procedure ( Index Term Link )
 
 input/output polling ( Index Term Link ) ( Index Term Link )
 
 iocblk structure, with M_IOCTL ( Index Term Link )
 
 ioctl(2)
  general processing ( Index Term Link ) ( Index Term Link )
 
 ioctl(2)
  handled by ptem(7) ( Index Term Link )
 
 ioctl(2)
  hardware emulation module ( Index Term Link )
 
 ioctl(2)
  I_ANCHOR ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
 
 ioctl(2)
  I_ATMARK ( Index Term Link )
  I_CANPUT ( Index Term Link )
  I_CKBAND ( Index Term Link )
  I_GETBAND ( Index Term Link )
 
 ioctl(2)
  I_LINK ( Index Term Link ) ( Index Term Link )
 
 ioctl(2)
  I_LIST ( Index Term Link )
 
 ioctl(2)
  I_PLINK ( Index Term Link )
  I_POP ( Index Term Link )
  I_PUNLINK ( Index Term Link )
  I_RECVFD ( Index Term Link )
 
 ioctl(2)
  I_SENDFD ( Index Term Link )
 
 ioctl(2)
  I_SENDFD ( Index Term Link )
 
 ioctl(2)
  I_SETSIG events ( Index Term Link )
  I_STR ( Index Term Link )
 
 ioctl(2), I_STR processing ( Index Term Link )
 
 ioctl(2)
  I_STR processing ( Index Term Link )
  I_UNLINK ( Index Term Link )
 
 ioctl(2)
  I_UNLINK ( Index Term Link )
  _RECVFD ( Index Term Link )
  supported by ldterm(7) ( Index Term Link )
 
 ioctl(2)
  supported by master driver ( Index Term Link )
  TIOCREMOTE ( Index Term Link )
  TIOCSIGNAL ( Index Term Link )
  transparent ( Index Term Link ) ( Index Term Link )
 
 ioctl I_SWROPT ( Index Term Link )
    
J
 
 job control ( Index Term Link ) ( Index Term Link )
  terminology ( Index Term Link ) ( Index Term Link )
    
L
 
 ldterm(7) ( Index Term Link )
 
 LIFO, module add/remove ( Index Term Link )
 
 line discipline module
  close ( Index Term Link )
  description ( Index Term Link ) ( Index Term Link )
  in job control ( Index Term Link )
  in pseudo-tty subsystem ( Index Term Link )
  ioctl(2) ( Index Term Link )
  open ( Index Term Link )
 
 link editing ( Index Term Link )
 
 linking messages ( Index Term Link )
    
M
 
 M_BREAK ( Index Term Link )
 
 M_COPYIN ( Index Term Link )
 
 M_COPYIN, transparent ioctl example ( Index Term Link )
 
 M_COPYOUT ( Index Term Link )
  transparent ioctl example ( Index Term Link )
 
 M_COPYOUT, transparent ioctl example ( Index Term Link )
 
 M_COPYOUT
  with M_IOCTL ( Index Term Link )
 
 M_CTL ( Index Term Link )
 
 M_CTL, with line discipline module ( Index Term Link )
 
 M_DATA ( Index Term Link )
 
 M_DELAY ( Index Term Link )
 
 M_ERROR ( Index Term Link )
 
 M_FLUSH ( Index Term Link )
  flags ( Index Term Link )
 
 M_FLUSH, in module example ( Index Term Link )
 
 M_FLUSH, packet mode ( Index Term Link )
 
 M_HANGUP ( Index Term Link )
 
 M_IOCACK ( Index Term Link )
  with M_COPYOUT ( Index Term Link )
  with M_IOCTL ( Index Term Link )
 
 M_IOCDATA ( Index Term Link )
 
 M_IOCNAK ( Index Term Link )
  with M_COPYOUT ( Index Term Link )
  with M_IOCTL ( Index Term Link )
 
 M_IOCTL ( Index Term Link ) ( Index Term Link )
  transparent ( Index Term Link )
  with M_COPYOUT ( Index Term Link )
 
 M_PASSFP ( Index Term Link )
 
 M_PCPROTO ( Index Term Link )
 
 M_PCRSE ( Index Term Link )
 
 M_PCSIG ( Index Term Link )
 
 M_PROTO ( Index Term Link ) ( Index Term Link )
 
 M_READ ( Index Term Link )
 
 M_RSE ( Index Term Link )
 
 M_SETOPTS ( Index Term Link ) ( Index Term Link )
  SO_FLAG ( Index Term Link )
 
 M_SETOPTS
  SO_FLAG ( Index Term Link )
  SO_READOPT options ( Index Term Link )
  with ldterm(7) ( Index Term Link )
 
 M_SIG ( Index Term Link )
 
 M_SIG, in signaling ( Index Term Link )
 
 M_STOP ( Index Term Link )
 
 M_STOPI ( Index Term Link )
 
 manipulating modules ( Index Term Link )
 
 master driver
  in pseudo-tty subsystem ( Index Term Link )
  open ( Index Term Link )
 
 memory-mapped I/O ( Index Term Link )
 
 message
  priorities ( Index Term Link )
  queues ( Index Term Link )
 
 message (STREAMS)
  allocation ( Index Term Link )
  direction ( Index Term Link )
  flow ( Index Term Link )
  freeing ( Index Term Link )
  handled by pckt(7) ( Index Term Link )
  handled by ptem(7) ( Index Term Link )
  high priority ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
  ldterm(7) read side ( Index Term Link )
  ldterm(7) write side ( Index Term Link )
  linking into queues ( Index Term Link )
  M_DATA ( Index Term Link )
  M_PCPROTO ( Index Term Link )
  M_PROTO ( Index Term Link )
  ordinary ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
  processing ( Index Term Link )
  recovering from allocation failure ( Index Term Link )
  sending/receiving ( Index Term Link )
  service interface ( Index Term Link )
  structures ( Index Term Link )
  types ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
 
 message ordering ( Index Term Link )
 
 message priorities ( Index Term Link )
 
 message queue (STREAMS)
  priority ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
 
 messages, high-priority ( Index Term Link )
 
 module
  difference with driver ( Index Term Link )
  draining ( Index Term Link )
  inserting ( Index Term Link )
  ioctl control ( Index Term Link )
  manipulation ( Index Term Link )
  reusability ( Index Term Link )
 
 multiplexer
  building ( Index Term Link ) ( Index Term Link )
  controlling stream ( Index Term Link )
  data routing ( Index Term Link )
  declarations ( Index Term Link )
  definition ( Index Term Link )
  design guidelines ( Index Term Link )
  driver ( Index Term Link ) ( Index Term Link )
  example ( Index Term Link ) ( Index Term Link )
  lower ( Index Term Link )
  lower connection ( Index Term Link ) ( Index Term Link )
  lower disconnection ( Index Term Link )
  lower read put procedure ( Index Term Link ) ( Index Term Link )
  lower write service procedure ( Index Term Link ) ( Index Term Link )
  upper ( Index Term Link )
  upper write put procedure ( Index Term Link ) ( Index Term Link )
  upper write service procedure ( Index Term Link )
 
 multiplexer ID
  in multiplexer building ( Index Term Link )
  in multiplexer dismantling ( Index Term Link )
 
 multiplexing STREAMS ( Index Term Link )
    
N
 
 named pipe (see FIFO) ( Index Term Link )
 
 named stream
  description ( Index Term Link )
  file descriptor passing ( Index Term Link )
 
 NSTRPUSH ( Index Term Link )
    
O
 
 O_NDELAY, with M_SETOPTS ( Index Term Link )
 
 O_NONBLOCK, with M_SETOPTS ( Index Term Link )
 
 open, device file ( Index Term Link )
    
P
 
 packet mode
  description ( Index Term Link )
  messages ( Index Term Link )
 
 panic ( Index Term Link )
 
 pckt(7M) ( Index Term Link )
 
 PIPE_BUF ( Index Term Link )
 
 pipemod STREAMS module ( Index Term Link )
 
 pipes, STREAMS (see STREAMS-based pipe) ( Index Term Link )
 
 pollfd structure ( Index Term Link )
 
 polling
  error events ( Index Term Link )
  events ( Index Term Link )
  example ( Index Term Link ) ( Index Term Link )
 
 priority band data
  flush handling example ( Index Term Link )
  ioctl(2) ( Index Term Link )
  routines ( Index Term Link )
 
 priority bands ( Index Term Link )
 
 protcol, migration ( Index Term Link )
 
 protocol
  portability ( Index Term Link )
  substitution ( Index Term Link )
 
 pseudo-device driver ( Index Term Link )
 
 pseudo-tty emulation module ( Index Term Link ) ( Index Term Link )
 
 pseudo-tty subsystem ( Index Term Link )
  description ( Index Term Link ) ( Index Term Link )
  drivers ( Index Term Link ) ( Index Term Link )
  ldterm(7) ( Index Term Link )
  messages ( Index Term Link )
  packet mode ( Index Term Link )
  remote mode ( Index Term Link )
 
 ptem(7) ( Index Term Link ) ( Index Term Link )
 
 ptemstructure ( Index Term Link )
 
 ptm (see master driver) ( Index Term Link )
 
 pts (see slave driver) ( Index Term Link )
 
 ptsname(3C) ( Index Term Link )
  with pseudo-tty driver ( Index Term Link )
 
 put procedure ( Index Term Link ) ( Index Term Link )
    
Q
 
 qband structure ( Index Term Link )
 
 queue ( Index Term Link )
  flags ( Index Term Link )
  usingqband information ( Index Term Link )
    
R
 
 read side
  ldterm(7) messages ( Index Term Link )
  ldterm(7) processing ( Index Term Link )
  put procedure ( Index Term Link )
 
 releasing callback requests ( Index Term Link )
    
S
 
 SAD (see STREAMS Administrative Driver) ( Index Term Link ) ( Index Term Link )
 
 scheduler delay ( Index Term Link )
 
 service interface ( Index Term Link ) ( Index Term Link )
  definition ( Index Term Link )
  library example ( Index Term Link )
  rules ( Index Term Link )
 
 service primitive ( Index Term Link )
  in service procedure ( Index Term Link )
 
 service procedure ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
 
 service provider ( Index Term Link )
  accessing ( Index Term Link )
  closing ( Index Term Link )
  receiving data ( Index Term Link )
  sending data ( Index Term Link )
 
 signals ( Index Term Link )
  extended ( Index Term Link )
  in job control management ( Index Term Link )
  in STREAMS ( Index Term Link ) ( Index Term Link )
 
 slave driver
  in pseudo-tty subsystem ( Index Term Link )
  open ( Index Term Link )
 
 SO_FLAG
  in M_SETOPTS ( Index Term Link )
  in M_SETOPTS ( Index Term Link )
 
 SO_MREADOFF ( Index Term Link )
 
 SO_MREADOFFI ( Index Term Link )
 
 strapush structure ( Index Term Link ) ( Index Term Link )
 
 strchg(1) ( Index Term Link )
 
 strconf command ( Index Term Link )
 
 STRCTLSZ parameter ( Index Term Link )
 
 stream
  controlling terminal ( Index Term Link )
  hung-up ( Index Term Link )
 
 stream construction
  add/remove modules ( Index Term Link )
  close a stream ( Index Term Link )
  example ( Index Term Link ) ( Index Term Link )
  open a stream ( Index Term Link )
 
 stream head
  definition ( Index Term Link )
  intercepting I_STR ( Index Term Link )
 
 STREAMS
  configuration ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
  mechanisms ( Index Term Link )
  tunable parameters ( Index Term Link )
 
 STREAMS Administrative Driver ( Index Term Link ) ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
 
 STREAMS-based pipe
  atomic write ( Index Term Link )
  basic operations ( Index Term Link )
  definition ( Index Term Link )
  PIPE_BUF ( Index Term Link )
 
 STREAMS-based pseudo-terminal subsystem (see pseudo-tty subsystem) ( Index Term Link )
 
 STREAMS-based terminal subsystem (see tty subsystem) ( Index Term Link )
 
 STREAMS debugging ( Index Term Link ) ( Index Term Link )
  error and trace logging ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
 
 STREAMS definition ( Index Term Link )
 
 STREAMS driver ( Index Term Link ) ( Index Term Link )
  cloning ( Index Term Link )
  design guidelines ( Index Term Link )
  flush handling ( Index Term Link )
  ioctl(2) ( Index Term Link )
  ioctl(2) ( Index Term Link )
  loop-around ( Index Term Link )
  printer driver example ( Index Term Link )
  pseudo-tty ( Index Term Link ) ( Index Term Link )
  pseudo-tty subsystem master ( Index Term Link )
  pseudo-tty subsystem slave ( Index Term Link )
 
 STREAMS message queues
  priority ( Index Term Link ) ( Index Term Link )
 
 STREAMS module ( Index Term Link ) ( Index Term Link )
  autopush facility ( Index Term Link ) ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
  connld(7) ( Index Term Link )
  design guidelines ( Index Term Link )
  filter ( Index Term Link )
  flow control ( Index Term Link ) ( Index Term Link )
  ioctl(2) ( Index Term Link )
  line discipline ( Index Term Link )
  ptem(7) ( Index Term Link )
  read side put procedure ( Index Term Link )
  routines ( Index Term Link ) ( Index Term Link )
  service interface example ( Index Term Link ) ( Index Term Link )
  service procedure ( Index Term Link )
  write side put procedure ( Index Term Link )
 
 STREAMS multiplexing ( Index Term Link )
 
 STREAMS queue
  flags ( Index Term Link )
  overview ( Index Term Link )
  qband structure ( Index Term Link )
  using equeue information ( Index Term Link )
  using qband information ( Index Term Link )
 
 strioctl structure ( Index Term Link )
 
 STRMSGSZ parameter ( Index Term Link )
 
 strqget ( Index Term Link )
 
 strqset ( Index Term Link )
 
 synchronous input/output, in polling ( Index Term Link )
 
 system crash ( Index Term Link )
    
T
 
 termio(7) ( Index Term Link )
  default flag values ( Index Term Link )
 
 transparent ioctl
  M_COPYIN example ( Index Term Link )
  M_COPYOUT example ( Index Term Link ) ( Index Term Link )
  messages ( Index Term Link )
  processing ( Index Term Link ) ( Index Term Link )
 
 tty subsystem
  benefits ( Index Term Link )
  description ( Index Term Link ) ( Index Term Link )
  hardware emulation module ( Index Term Link ) ( Index Term Link )
  ldterm(7) ( Index Term Link )
  setup ( Index Term Link )
    
U
 
 unique connection (STREAMS) ( Index Term Link ) ( Index Term Link )
 
 unlockpt(3C) ( Index Term Link )
  with pseudo-tty driver ( Index Term Link )
 
 upper stream ( Index Term Link )
    
W
 
 write side
  ldterm(7) ( Index Term Link ) ( Index Term Link )
  put procedure ( Index Term Link )