timod.7 (2010 09)
t
timod(7) timod(7)
NAME
timod - STREAMS module for converting ioctl() calls into Transport Interface messages
DESCRIPTION
The
timod module is a STREAMS module that converts
ioctl() calls from a transport user supporting
the Transport Interface (TI) into messages that a transport protocol provider supporting TI can consume.
This allows the user to initiate certain TI functions as atomic operations. This release of HP-UX no
longer automatically pushes
timod whenever a t_open (3) is performed. The TLI and XTI libraries have
been modified to no longer require this module to perform the atomic operations described within this
man page. Binary compatibility is not a problem since the module will still exist within the kernel. But,
any application which is recompiled and expects the module to be automatically pushed, may not work
without code modification.
The user places and removes the
timod
module on a device stream by calling the STREAMS I_PUSH
ioctl() and I_POP ioctl() functions. (The TLI function
t_open() pushes timod onto the device
stream for the user.) The
timod module should only be pushed onto streams which are terminated by
transport providers which conform to the Transport Interface. tirdwr(7) is an alternative interface to
timod which supports the read() and write() system calls. If
tirdwr has been pushed onto the
stream, the user should use the
I_POP ioctl
to remove the tirdwr module from the stream before
pushing
timod.
The
timod module transparently passes any STREAMS messages that are not generated by the
ioctl() commands described below to the neighboring module or driver. timod will act on an I_STR
ioctl() whose strioctl.ic_cmd
field is one of the values below. (See streamio (7) for a description
of the
I_STR ioctl and the strioctl structure.)
TI_BIND This TI command binds an address to the transport protocol provider. The STREAMS
message that the module issues to the
TI_BIND ioctl() call is equivalent to the TI
message type T_bind_req. The STREAMS message that the module returns in
response to the successful completion of the TI_BIND ioctl() call is equivalent to the
TI message type T_bind_ack.
TI_UNBIND This TI command unbinds an address from the transport protocol provider. The
STREAMS message that the module issues to the TI_UNBIND ioctl() call is
equivalent to the TI message type T_unbind_req. The STREAMS message that the
module returns in response to the successful completion of the TI_UNBIND ioctl()
call is equivalent to the TI message type T_ok_ack.
TI_GETINFO This TI command gets the TI protocol-specific information from the transport protocol
provider. The STREAMS message that the module issues to the TI_GETINFO ioctl()
call is equivalent to the TI message type T_info_req. The STREAMS message that the
module returns in response to the successful completion of the TI_GETINFO ioctl()
call is equivalent to the TI message type T_info_ack.
TI_OPTMGMT This TI command gets, sets, or negotiates TI protocol-specific options with the transport
protocol provider. The STREAMS message that the module issues to the TI_OPTMGMT
ioctl() call is equivalent to the TI message type T_optmgmt_req. The STREAMS
message that the module returns in response to the successful completion of the
TI_OPTMGMT ioctl() call is equivalent to the TI message type T_optmgmt_ack.
RETURN VALUES
If the
timod module returns an error for an ioctl() call, the lower 8 bits of the return value will be
one of the TI error codes defined in the <tiuser.h> header file. If the TI error is of the type TSYERR,
then the second 8 bits of the return value will contain an error as defined in the <errno.h> header file.
The STREAMS message that the module issues when an ioctl() call results in an error is equivalent
to the TI message type T_error_ack.
FILES
<xti.h> defines the error codes for XTI functions.
<tiuser.h> defines the error codes for TI functions.
<tihdr.h> defines the message types for TI functions.
<errno.h> defines the error codes for system errors.
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1