*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> tirdwr (7)              
Title
Content
Arch
Section
 

tirdwr(7)

Contents


NAME    [Toc]    [Back]

       tirdwr  - STREAMS module for reads and writes by TI transport
 users

DESCRIPTION    [Toc]    [Back]

       The tirdwr module is a  STREAMS  module  that  provides  a
       transport  user  supporting  the  Transport Interface (TI)
       with  an  alternate  interface  to  a  transport  protocol
       provider  supporting  TI.  This alternate interface allows
       the transport user to communicate with the transport  protocol
  provider using the read() and write() functions. It
       can also continue  to  use  the  putmsg(),  putpmsg()  and
       getmsg(),  getpmsg()  functions,  but these functions will
       only transfer data messages between the user  process  and
       device stream.

       The  user  places  the tirdwr module on a device stream by
       calling the STREAMS I_PUSH ioctl() function. Once the module
  has been pushed on the device stream, the user cannot
       make further calls to TI functions. If the  user  attempts
       to do this, an error occurs on the stream. After the error
       is detected, subsequent  calls  fail  with  errno  set  to
       [EPROTO]. The user removes the tirdwr module from a device
       stream by calling the STREAMS I_POP ioctl() function.

   Module Behavior When Pushed and Popped    [Toc]    [Back]
       When the tirdwr module is pushed on a  device  stream,  it
       checks  any  existing  messages  that are destined for the
       user to determine their message type. If existing messages
       are regular data messages, it forwards the messages to the
       user. It ignores any messages related to  process  management,
  such as messages that generate signals to the user.
       If any other messages are present, it returns an error  to
       the user request with errno set to [EPROTO].

       When  the tirdwr module is popped from a device stream, it
       checks whether an orderly release indication has been previously
  received from the transport protocol provider. If
       an orderly release indication was received,  it  sends  an
       orderly  release  request to the remote side of the transport
 connection. The tirdwr module also acts this way when
       the device stream is closed.

   Module Behavior for Reads and Writes    [Toc]    [Back]
       When  the  tirdwr module receives messages from the transport
 protocol provider that do not contain a control  part
       (see  the putmsg(), putpmsg() and getmsg(), getpmsg() reference
 pages), it transparently passes the messages to its
       upstream  neighbor.  The exception is for zero-length data
       messages, where the module frees the message and does  not
       pass them to its upstream neighbor.

       When  the module receives messages from the transport protocol
 provider that contain a control part, it  takes  one
       of the following actions: For data messages with a control
       part, it removes this part, then passes the message to its
       upstream  neighbor.  For messages that represent expedited
       data, it generates an error.  Further  system  calls  will
       fail with errno set to [EPROTO].  For messages that represent
 expedited data, it generates an error. Further system
       calls  will fail with errno set to [EPROTO].  For messages
       that represent an  orderly  release  indication  from  the
       transport  protocol  provider,  it generates a zero-length
       data message, indicating the End-of-File (EOF), and  sends
       this message upstream to the reading process. The original
       message  containing  the  orderly  release  indication  is
       freed.  For messages that represent an abortive disconnect
       indication from the transport protocol provider, it causes
       all  further write() and putmsg(), putpmsg() calls to fail
       with errno set to [ENXIO]. Subsequent read() and getmsg(),
       getpmsg()  calls  will  return  zero-length  data messages
       indicating the End-of-File (EOF), once all  previous  data
       has  been  read.   For all other messages, it generates an
       error, and further calls  will  fail  with  errno  set  to
       [EPROTO].

SEE ALSO    [Toc]    [Back]

      
      
       Functions:  intro(2),  getmsg(2),  getpmsg(2),  putmsg(2),
       putpmsg(2), read(2), write(2)

       Interfaces: streamio(7)



                                                        tirdwr(7)
[ Back ]
 Similar pages
Name OS Title
tirdwr HP-UX STREAMS module for reads and writes by Transport Interface users
timod IRIX Transport Interface cooperating STREAMS module
timod HP-UX STREAMS module for converting ioctl() calls into Transport Interface messages
tirdwr IRIX Transport Interface read/write interface STREAMS module
ifnet Tru64 STREAMS ifnet module for bridging STREAMS device drivers to sockets
disklabel Tru64 Reads and writes a disk pack label and formats disk partitions
db_dump185 Tru64 Reads and writes the security databases (Enhanced Security)
db_dump Tru64 Reads and writes the security databases (Enhanced Security)
strace Tru64 Writes STREAMS event trace messages to standard output
atapicam FreeBSD CAM XPT (transport) module for ATAPI devices
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service