t_open(3)t_open(3)NAMEt_open() - establish a transport endpoint
SYNOPSISDESCRIPTION
The function must be called as the first step in the initialization of
a transport endpoint. This function establishes a transport endpoint
by opening a file that identifies a particular transport provider and
returning a file descriptor that identifies that endpoint.
The argument name points to a file name that identifies a transport
provider. When using HP XTI to connect to the OSI protocol stack, name
must be for the connection-mode service, or for the connectionless ser‐
vice. When using HP XTI to connect to the TCP protocol stack, name
should be For UDP, name should be (See also the section.) For TLI, use
the device file name of the transport provider desired. Note that HP
TCP/UDP/IP and HP OSI COTS and CLTS only support XTI.
oflag identifies any open flags (as in and is constructed from option‐
ally or-ed with These flags are defined by the header file returns a
file descriptor that will be used by all subsequent functions to iden‐
tify the particular local transport endpoint.
This function also returns various default characteristics of the
underlying transport protocol by setting fields in the structure. This
argument points to a which contains the following members:
The values of the fields have the following meanings:
addr A value greater than or equal to zero indicates the max‐
imum size of a transport protocol address.
A value of −1 specifies that there is no limit on the
address size.
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 zero indicates the max‐
imum number of bytes of protocol-specific options sup‐
ported by the provider.
A value of −1 specifies that there is no limit on the
option size.
A value of −2 specifies that the transport provider does
not support user-settable options.
tsdu A value greater than zero specifies the maximum size of
a transport service data unit (TSDU).
A value of zero specifies that the transport provider
does not support the concept of TSDU, although it does
support the sending of a data stream with no logical
boundaries preserved across a connection.
A value of −1 specifies that there is no limit on the
size of a TSDU.
A value of −2 specifies that the transfer of normal data
is not supported by the transport provider.
etsdu A value greater than zero specifies the maximum size of
an expedited transport service data unit (ETSDU).
A value of zero specifies that the transport provider
does not support the concept of ETSDU, although it does
support the sending of an expedited data stream with no
logical boundaries preserved across a connection.
A value of −1 specifies that there is no limit on the
size of an ETSDU.
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 zero specifies the max‐
imum amount of data that may be associated with the con‐
nection establishment functions and
A value of −1 specifies that there is no limit on the
amount of data sent during connection establishment.
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 zero specifies the max‐
imum amount of data that may be associated with the and
functions.
A value of −1 specifies that there is no limit on the
amount of data sent with these abortive release func‐
tions.
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 below.
flags This is a bit field used to specify other information
about the transport provider. If the bit is set in
flags, this indicates the underlying transport provider
supports the sending of zero-length TSDUs. See Appendix
A, "ISO Transport Protocol Information," of the manual
from X/Open Company Limited for a discussion of the sep‐
arate issue of zero-length fragments within a TSDU.
If a transport user is concerned with protocol independence, the above
sizes may be accessed to determine how large the buffer must be to hold
each piece of information. Alternatively, the function may be used to
allocate these buffers. An error will result if a transport user
exceeds the allowed data size on any function.
The servtype field of info specifies one of the following values on
return:
The transport provider supports a connection-mode service but does not
support the optional orderly release facility.
The transport provider supports a connection-mode service with the
optional orderly release facility.
The transport provider supports a connectionless-mode service.
For this service type, will return −2 for etsdu, con‐
nect, and discon.
A single transport endpoint may support only one of the
above services at one time.
If info is set to a null pointer by the transport user, no protocol
information is returned by
Obsolescent Interfaces
When using TCP and UDP through HP XTI, name can be and respectively.
These names are supported for backward-compatibility purposes. They
might not be supported in future releases, and they should be replaced
with and respectively.
Fork Safety
is not fork-safe.
RETURN VALUE
A valid endpoint identifier is returned upon successful completion.
Otherwise, a value of −1 is returned and is set to indicate an error.
HP OSI does not support the servtype.
ERRORS
On error, is set to one of the following:
[TBADFLAG] An invalid flag is specified.
[TBADNAME] Invalid transport provider name.
[TSYSERR] A system error has occurred during execution of this
function.
[TPROTO] (XTI only) This error indicates that a communication
problem has been detected between XTI and the transport
provider for which there is no suitable XTI (
SEE ALSOopen(2), t_sync(3), thread_safety(5).
STANDARDS CONFORMANCEt_open(3)