Supports the Transport Interface functions of the Network Services library.
The tirdwr module is a STREAMS module that provides an alternate interface to a transport provider that supports the Transport Interface (TI) functions of the Network Services library. This alternate interface allows a user to communicate with the transport protocol provider by using the read and write subroutines. The putmsg and getmsg system calls can also be used. However, the putmsg and getmsg system calls can only transfer data messages between user and stream.
The tirdwr module must only be pushed (see the I_PUSH operation) onto a stream terminated by a transport protocol provider that supports the TI. After the tirdwr module has been pushed onto a stream, none of the TI functions can be used. Subsequent calls to TI functions will cause an error on the stream. Once the error is detected, subsequent system calls on the stream will return an error with the errno global variable set to EPROTO.
The following list describes
actions taken by the tirdwr module when it is pushed or popped or
when data passes through it:
|push||Checks any existing data to ensure that only regular data messages are present. It ignores any messages on the stream that relate to process management. If any other messages are present, the I_PUSH operation returns an error and sets the errno global variable to EPROTO.|
|write||Takes the following actions on data that originated from a write subroutine:|
|read||Takes the following actions on data that originated from the transport
|pop||Sends an orderly release request to the remote side of the transport connection if an orderly release indication has been previously received.|
This module is part of STREAMS Kernel Extensions.
The timod module.
The streamio operations.
The read subroutine, write subroutine.
The getmsg system call, putmsg system call.
Benefits and Features of STREAMS, Building STREAMS, Pushable Modules, STREAMS Overview, Understanding STREAMS Drivers and Modules, Understanding STREAMS Messages, Using STREAMS in AIX 5L Version 5.1 Communications Programming Concepts.