Index Click this button to go to the index for this section.


t_getinfo(3)

NAME

t_getinfo - Gets protocol-specific information

LIBRARY

XTI Library (libxti.a)

SYNOPSIS

#include <xti.h> int t_getinfo( int fd, struct t_info *info) ;

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows: t_getinfo: XPG4-UNIX Refer to the standards(5) reference page for more information about industry standards and associated tags.

PARAMETERS

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->flags n y Notes to table: y This a meaningful parameter. n This is not a meaningful parameter. fd Specifies a file descriptor returned by the t_open() function that identifies the local transport endpoint. info 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 seven members: addr 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. options Specifies the permitted number of bytes of options. A value greater than zero indicates the maximum number of bytes of protocol-specific 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. tsdu 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. etsdu 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. connect 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. discon 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. servtype Specifies only one of the following types of service supported by the transport provider: T_COTS The transport provider supports connection-mode service but does not support the optional orderly release facility. T_COTS_ORD The transport provider supports connection-mode service with the optional orderly release facility. T_CLTS 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. flags 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.

VALID STATES

The t_getinfo() function can be called in any transport provider state except T_UNINIT.

DESCRIPTION

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 the info parameter.

RETURN VALUE

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.

ERRORS

If the t_getinfo() function fails, t_errno may be set to one of the following values: [TBADF] File descriptor fd does not refer to a valid transport endpoint. [TSYSERR] A system error occurred during execution of this function. [TPROTO] 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).

RELATED INFORMATION

Functions: t_alloc(3), t_open(3)