[ Previous | Next | Table of Contents | Index | Library Home |
Legal |
Search ]
Technical Reference: Communications, Volume 2
Establishes a transport end
point.
Transport Layer Interface Library
(libtli.a)
#include <tiuser.h>
int t_open(path, oflag, info)
char * path;
int oflag;
struct t_info * info;
The t_open subroutine
must be called as the first step in the initialization of a transport end
point. This subroutine establishes a transport end point, first, by
opening a UNIX system file that identifies a particular transport provider
(that is, transport protocol) and then returning a file descriptor that
identifies that end point. For example, opening the
/dev/dlpi/tr file identifies an 802.5 data link
provider.
path
| Points to the path name of the file to open.
|
oflag
| Specifies the open routine flags.
|
info
| Points to a t_info structure.
The info parameter
points to a t_info structure that contains the following
elements:
long addr;
long options;
long tsdu;
long etsdu;
long connect;
long discon;
long servtype;
The values of the elements have
the following meanings:
- addr
- A value greater than or equal to 0 indicates the maximum size of a
transport protocol address; a value of -1 specifies that there is no
limit on the address size; and a value of -2 specifies that the transport
provider does not provide user access to transport protocol addresses.
- options
- A value greater than or equal to 0 indicates the maximum number of bytes
of protocol-specific options supported by the provider; a value of -1
specifies that there is no limit on the option size; and a value of -2
specifies that the transport provider does not support user-settable
options.
- tsdu
- A value greater than 0 specifies the maximum size of a transport service
data unit (TSDU); a value of 0 specifies that the transport provider does
not support the concept of TSDU, although it does support the sending of a
data stream having no logical boundaries preserved across a connection; a
value of -1 specifies that there is no limit on the size of a TSDU; and a
value of -2 specifies that the transfer of normal data is not supported by the
transport provider.
- etsdu
- A value greater than 0 specifies the maximum size of a expedited transport
service data unit (ETSDU); a value of 0 specifies that the transport
provider does not support the concept of ETSDU, although it does support the
sending of an expedited data stream having no logical boundaries preserved
across a connection; a value of -1 specifies that there is no limit on
the size of an ETSDU; and a value of -2 specifies that the transfer of
expedited data is not supported by the transport provider.
- connect
- A value greater than or equal to 0 specifies the maximum amount of data
that may be associated with connection establishment functions; a value
of -1 specifies that there is no limit on the amount of data sent during
connection establishment; and a value of -2 specifies that the transport
provider does not allow data to be sent with connection establishment
functions.
- discon
- A value greater than or equal to 0 specifies the maximum amount of data
that may be associated with the t_snddis
and t_rcvdis functions; a value of
-1 specifies that there is no limit on the amount of data sent with these
abortive release functions; and a value of -2 specifies that the
transport provider does not allow data to be sent with the abortive release
functions.
- servtype
- This field specifies the service type supported by the transport provider,
as described in the Return Values section.
|
|
If a transport user is concerned
with protocol independence, these sizes may be accessed to determine how large
the buffers must be to hold each piece of information. Alternatively,
the t_alloc subroutine can be used to
allocate these buffers. An error results if a transport user exceeds
the allowed data size on any function.
|
On successful completion, the
t_open subroutine returns a valid file descriptor.
Otherwise, it returns a value of -1, and the t_errno variable is
set to indicate the error.
The servtype field of
the info parameter can specify one of the following values on
return:
T_COTS
| The transport provider supports a connection-mode service but does not
support the optional orderly release facility.
|
T_COTS_ORD
| The transport provider supports a connection-mode service with the
optional orderly release facility.
|
T_CLTS
| The transport provider supports a connectionless-mode service. For
this service type, the t_open subroutine returns -2 for the values
in the etsdu, connect, and discon
fields.
|
A single transport end point can
support only one of the above services at one time.
If the info parameter
is set to null by the transport user, no protocol information is returned by
the t_open subroutine.
If unsuccessful, the
t_errno variable is set to the following:
TSYSERR
| A system error has occurred during the startup of this function.
|
This subroutine is part of Base
Operating System (BOS) Runtime.
The open subroutine, t_close subroutine.
List of Streams
Programming References and STREAMS Overview in
AIX 5L Version 5.1 Communications Programming
Concepts.
[ Previous | Next | Table of Contents | Index |
Library Home |
Legal |
Search ]