Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ timod(7) — Macintosh Execution Environment 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ioctl(2)

t_open(3)

streamio(7)

tirdwr(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. 

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(2) and write(2) 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

<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. 

SEE ALSO

ioctl(2), t_open(3), streamio(7), tirdwr(7). 

Hewlett-Packard Company  —  HP-UX Release 9.0: October 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026