t_getinfo(3N) t_getinfo(3N)
NAME
t_getinfo - get protocol-specific service information
SYNOPSIS
cc [options] file -lnsl
#include <xti.h>
int t_getinfo(int fd, struct t_info *info);
Parameters
fd the file descriptor for the transport endpoint
info points to the t_info structure used to identify a
transport provider.
DESCRIPTION
This function is a TLI/XTI local management routine used to
return the current characteristics of the underlying transport
protocol associated with file descriptor fd. The t_info
structure is used to return the same information returned by
t_open, although not necessarily precisely the same values.
This function enables a transport user to access this
information during any phase of communication.
Structure Definitions
This argument points to a struct t_info which contains the
following members:
long addr; /* max size of the transport protocol address*/
long options; /* max num of bytes of protocol-specific options*/
long tsdu; /* max size of a transport service data unit (TSDU)*/
long etsdu; /* max size of an expedited TSDU (ETSDU)*/
long connect; /* max amt of data allowed on connect establishment*/
long discon; /* max amt of data allowed on t_snddis, t_rcvdis*/
long servtype; /* service type supported by transport provider*/
long flags; /* provides more info about transport provider*/
The values of the fields have the following meanings:
addr A value greater than or equal to 0 indicates the
maximum size of a transport protocol address,
and a value of -2 specifies that the transport
provider does not provide user access to
transport protocol addresses.
Copyright 1994 Novell, Inc. Page 1
t_getinfo(3N) t_getinfo(3N)
options A value greater than or equal to 0 indicates the
maximum number of bytes of protocol-specific
options supported by the provider, 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
with 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 an 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 with 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 0 specifies the maximum
amount of data that may be associated with
connection establishment functions; 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 0 specifies the maximum
amount of data that may be associated with the
t_snddis and t_rcvdis 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. A single transport
endpoint may support only one of the following
Copyright 1994 Novell, Inc. Page 2
t_getinfo(3N) t_getinfo(3N)
services at one time.
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 service. For this
service type, t_open will return
-2 for etsdu, connect, and discon.
flags This field specifies other information in the
form of bit indicators as follows: If T_SENDZERO
is on, this indicates that the underlying
transport provider supports the sending of 0-
length TSDUs.
Return Values
t_getinfo returns 0 on success and -1 on failure and t_errno
is set to indicate the error.
Errors
On failure, t_errno may be set to the following:
TSYSERR A system error has occurred during execution of
this function.
TBADF The specified file descriptor does not refer to
a transport endpoint.
TPROTO A communication problem has been detected with
the transport provider and there is no other
value of t_errno to describe the error
condition.
State Transitions
t_getinfo may be issued from any valid state except T_UNINIT
and has no effect on the state.
Copyright 1994 Novell, Inc. Page 3
t_getinfo(3N) t_getinfo(3N)
Files
/usr/lib/libxti.so
X/Open Transport Interface Library (shared
object)
/usr/lib/libnsl.so
Network Services Library (shared object)
Examine your system's /etc/netconfig file for device files
associated with a transport protocol provider.
USAGE
If a transport user is concerned with protocol independence,
the sizes specified in t_info may be accessed to determine how
large the buffers must be to hold each piece of information.
Alternatively, the t_alloc function may be used to allocate
these buffers.
The value of each field may change as a result of protocol
option negotiation during connection establishment. These
values will only change from the values presented to t_open
after the endpoint enters the T_DATAXFER state.
Warnings
An error will result if the data size allowed is exceeded by
the transport user on any function.
REFERENCES
close(2), open(2), t_alloc(3N), t_close(3N), t_open(3N),
netconfig(4)
Copyright 1994 Novell, Inc. Page 4