timod(7) CLIX timod(7)
NAME
timod - Transport Interface cooperating STREAMS module
DESCRIPTION
The timod module is a STREAMS module for use with the Transport Interface
(TI) functions of the Network Services library. (See Section 3.) The
timod module converts a set of ioctl() calls into STREAMS messages that
may be consumed by a transport protocol provider which supports the
Transport Interface. This allows a user to initiate certain TI functions
as atomic operations.
The timod module must be pushed (see Streams Primer) onto only a stream
terminated by a transport protocol provider which supports the TI.
All STREAMS messages, with the exception of the message types generated
from the ioctl() functions described below, will be transparently passed
to the neighboring STREAMS module or driver. The messages generated from
the following ioctl() functions are recognized and processed by the timod
module. The format of the ioctl() call is as follows:
#include <sys/stropts.h>
...
struct strioctl strioctl;
...
strioctl.ic_cmd = cmd;
strioctl.ic_timeout = INFTIM;
strioctl.ic_len = size;
strioctl.ic_dp = (char *)buf;
ioctl(fildes, I_STR, &strioctl);
Where, on issuance, size is the size of the appropriate TI message to be
sent to the transport provider and on return size is the size of the
appropriate TI message from the transport provider in response to the
issued TI message. The buf parameter is a pointer to a buffer large
enough to hold the contents of the appropriate TI messages. The TI
message types are defined in <sys/tihdr.h>. The possible values for the
cmd field are:
TI_BIND
Bind an address to the underlying transport protocol provider. The
message issued to the TI_BIND ioctl() call is equivalent to the TI
message type T_BIND_REQ and the message returned by the successful
completion of the ioctl() function is equivalent to the TI message
type T_BIND_ACK.
TI_UNBIND
Unbinds an address from the underlying transport protocol provider.
The message issued to the TI_UNBIND ioctl() function is equivalent
to the TI message type T_UNBIND_REQ and the message returned by the
2/94 - Intergraph Corporation 1
timod(7) CLIX timod(7)
successful completion of the ioctl() function is equivalent to the
TI message type T_OK_ACK.
TI_GETINFO
Gets the TI protocol specific information from the transport
protocol provider. The message issued to the TI_GETINFO ioctl()
function is equivalent to the TI message type T_INFO_REQ and the
message returned by the successful completion of the ioctl()
function is equivalent to the TI message type T_INFO_ACK.
TI_OPTMGMT
Gets, sets or negotiates protocol specific options with the
transport protocol provider. The message issued to the TI_OPTMGMT
ioctl() function is equivalent to the TI message type T_OPTMGMT_REQ
and the message returned by the successful completion of the
ioctl() function is equivalent to the TI message type
T_OPTMGMT_ACK.
DIAGNOSTICS
If the ioctl() function returns with a value greater than 0, the lower 8
bits of the return value will be one of the TI error codes as defined in
<sys/tiuser.h>. If the TI error is of type TSYSERR, then the next 8 bits
of the return value will contain an error as defined in <sys/errno.h>.
(See intro(2).)
RELATED INFORMATION
Functions: ioctl(2), intro(2)
Files: tirdwr(7)
AT&T UNIX System V STREAMS Programmer's Guide, AT&T UNIX System V Network
Programmer's Guide
2 Intergraph Corporation - 2/94