t_getinfo - Get protocol-specific information
#include <xti.h>
int t_getinfo(
int fd,
struct t_info *info );
XTI Library (libxti.a)
Interfaces documented on this reference page conform to
industry standards as follows:
t_getinfo(): XNS4.0, XNS5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
The following table summarizes the relevance of input and
output parameter data before and after t_info() is called:
------------------------------------------
Parameter Before Call After Call
------------------------------------------
fd y n
info->addr n y
info->options n y
info->tsdu n y
info->etsdu n y
info->connect n y
info->discon n y
info->servtype n y
info->options n y
------------------------------------------
Notes to table: This a meaningful parameter. This is not
a meaningful parameter. Specifies a file descriptor
returned by the t_open() function that identifies the
local transport endpoint. Points to a type t_info structure
that is returned when t_getinfo() executes. Parameters
defined by the t_info structure specify characteristics
of the underlying transport protocol associated with
the fd file descriptor.
When the info parameter is set to the null pointer
value by a transport user, no protocol information
is returned by the t_getinfo() function.
When a transport user must preserve protocol independence,
data length information defined by members
of the t_info structure pointed to by the info
parameter may be accessed to determine how large
data buffers must be to hold exchanged data. Alternatively,
the t_alloc() function may be used to
allocate necessary data buffers. An error results
when a transport user exceeds the allowed data
length during any data exchange.
Values associated with parameters of the t_info
structure may change as the result of protocol
option negotiations during initialization of a connection.
The t_info structure has the following
members: Specifies the permitted number of bytes in
the protocol address. A value greater than zero
indicates the maximum number of permitted bytes in
a protocol address. A value of -1 specifies that
there is no limit on the protocol address size. A
value of -2 specifies that the transport provider
does not permit the transport user access to the
protocol addresses. Specifies the permitted number
of bytes of options. A value greater than zero
indicates the maximum number of bytes of protocolspecific
options supported by the transport
provider. A value of -1 specifies that there is no
limit to the number of options bytes. A value of
-2 specifies that the transport provider does not
permit a transport user to set options. Specifies
the permitted number of bytes in a Transport Service
Data Unit (TSDU). A value greater than zero
specifies the maximum number of bytes in a TSDU
message. A value of zero specifies that the transport
provider does not support TSDU data exchanges,
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 to the number of bytes in a TSDU data
exchange. A value of -2 specifies that the transfer
of normal data is not supported by the transport
provider. Specifies the permitted number of bytes
in an Expedited Transport Service Data Unit
(ETSDU). A value greater than zero specifies the
maximum number of bytes in an ETSDU data exchange.
A value of zero specifies that the transport
provider does not support ETSDU data exchanges,
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 number of bytes in an
ETSDU data exchange. A value of -2 specifies that
the transfer of expedited data is not supported by
the transport provider. Specifies the permitted
number of bytes of data in a connect request. A
value greater than zero specifies the maximum number
of data bytes that may be exchanged using the
t_connect() or t_rcvconnect() function. A value of
-2 specifies that the transport provider does not
permit data to be sent when a connection is established.
Specifies the permitted number of bytes of
data in a disconnect request. A value greater than
zero specifies the maximum number of data bytes
that may be exchanged using the t_snddis() or
t_rcvdis() function. A value of -1 specifies that
there is no limit to the number of data bytes that
may be sent when a connection is closed using these
abortive release functions. A value of -2 specifies
that the transport provider does not permit data to
be sent with an abortive release function. Specifies
only one of the following types of service
supported by the transport provider: The transport
provider supports connection-mode service but does
not support the optional orderly release facility.
The transport provider supports connection-mode
service with the optional orderly release facility.
The transport provider supports connectionless mode
service. For this service type, the t_open() function
returns the value -2 for the etsdu, connect,
and discon parameters. Specifies other information
about the transport provider. If the T_SENDZERO bit
is set in flags, this indicates that the underlying
transport provider supports sending zero-length
TSDUs.
The t_getinfo() function is an XTI general utility function
that provides information about the underlying transport
protocol associated with a file descriptor previously
returned by the t_open() function. The t_getinfo() function
returns the same protocol-specific information as
does t_open() in theinfo parameter.
If the t_getinfo() function fails, t_errno may be set to
one of the following values: File descriptor fd does not
refer to a valid transport endpoint. A system error
occurred during execution of this function. This error
indicates that a communication problem has been detected
between XTI and the transport provider for which there is
no other suitable XTI(t_errno).
The t_getinfo() function can be called in any transport
provider state except T_UNINIT.
Upon successful completion, a value of 0 (zero) is
returned. Otherwise, a value of -1 is returned and t_errno
is set to indicate the error.
Functions: t_alloc(3), t_open(3)
Standards: standards(5)
Network Programmer's Guide
t_getinfo(3)
[ Back ] |