TIMOD(4M) STREAMS Modules TIMOD(4M)
NAME
timod - Transport Interface cooperating STREAMS module
SYNOPSIS
#include <sys/stropts.h>
ioctl(
fildes, I_STR, &
my_strioctl);
DESCRIPTION
timod is a STREAMS module for use with the Transport Interface ("
TI")
functions of the Network Services library. The
timod module converts
a set of
ioctl(2) calls into STREAMS messages that may be consumed
by a transport protocol provider that supports the Transport
Interface. This allows a user to initiate certain TI functions as
atomic operations.
The
timod module must be pushed onto only a stream terminated by a
transport protocol provider that supports the
TI.
All STREAMS messages, with the exception of the message types
generated from the
ioctl commands described below, will be
transparently passed to the neighboring module or driver. The
messages generated from the following
ioctl commands are recognized
and processed by the
timod module. The format of the
ioctl call is:
#include <sys/stropts.h> - - struct strioctl my_strioctl; - - strioctl.ic_cmd = cmd;
strioctl.ic_timout = INFTIM;
strioctl.ic_len =
size;
strioctl.ic_dp = (char *)
buf ioctl(
fildes, I_STR, &
my_strioctl);
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.
buf 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 is
equivalent to the
TI message type
T_BIND_REQ and the
message returned by the successful completion of the
ioctl is equivalent to the
TI message type
T_BIND_ACK. TI_UNBIND Unbind an address from the underlying transport
protocol provider. The message issued to the
TI_UNBIND ioctl is equivalent to the
TI message type
T_UNBIND_REQ and the message returned by the
successful completion of the
ioctl is equivalent to
the
TI message type
T_OK_ACK. TI_GETINFO Get the
TI protocol specific information from the
transport protocol provider. The message issued to the
TI_GETINFO ioctl is equivalent to the
TI message type
T_INFO_REQ and the message returned by the successful
completion of the
ioctl is equivalent to the
TI message type
T_INFO_ACK. TI_OPTMGMT Get, set, or negotiate protocol specific options with
the transport protocol provider. The message issued to
the
TI_OPTMGMT ioctl is equivalent to the TI message
type
T_OPTMGMT_REQ and the message returned by the
successful completion of the
ioctl is equivalent to
the
TI message type
T_OPTMGMT_ACK.FILES
<sys/timod.h>
ioctl definitions
<sys/tiuser.h>
TLI interface declaration and structure file
<sys/tihdr.h>
TPI declarations and user-level code
<sys/errno.h>
system error messages file. Please see
errno(3C).
SEE ALSO
ioctl(2),
Intro(3),
errno(3C),
tirdwr(4M) STREAMS Programming GuideDIAGNOSTICS
If the
ioctl 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(3)).
March 26, 1993 TIMOD(4M)