Previous section.

Transport Provider Interface (TPI), Version 2 Draft 2
Copyright © 1999 The Open Group

NAME

T_INFO_ACK - Protocol Information Acknowledgment

SYNOPSIS

This message consists of a M_PCPROTO message block formatted as follows:


struct T_info_ack {
    t_scalar_t   PRIM_type;      /* Always T_INFO_ACK    */
    t_scalar_t   TSDU_size;      /* Max TSDU size        */
    t_scalar_t   ETSDU_size;     /* Max ETSDU size       */
    t_scalar_t   CDATA_size;     /* Connect data size    */
    t_scalar_t   DDATA_size;     /* Disconnect data size */
    t_scalar_t   ADDR_size;      /* TSAP size            */
    t_scalar_t   OPT_size;       /* Options size         */
    t_scalar_t   TIDU_size;      /* TIDU size            */
    t_scalar_t   SERV_type;      /* Service type         */
    t_scalar_t   CURRENT_state;  /* Current state        */
    t_scalar_t   PROVIDER_flag;  /* Provider flag        */
};


DESCRIPTION

This primitive indicates to the transport user any relevant protocol-dependent parameters. It should be initiated in response to the T_INFO_REQ primitive described above. The format of this message is one M_PCPROTO message block.

PARAMETERS

The fields of this message have the following meanings:

PRIM_type
This indicates the primitive type.

TSDU_size
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; and a value of -2 specifies that the transfer of normal data is not supported by the transport provider.

ETSDU_size
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; and a value of -2 specifies that the transfer of expedited data is not supported by the transport provider.

CDATA_size
A value greater than or equal to zero specifies the maximum amount of data that may be associated with connection establishment primitives; and a value of -2 specifies that the transport provider does not allow data to be sent with connection establishment primitives.

DDATA_size
A value greater than or equal to zero specifies the maximum amount of data that may be associated with the disconnect primitives; and a value of -2 specifies that the transport provider does not allow data to be sent with the disconnect primitives.

ADDR_size
A value greater than or equal to zero 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.

OPT_size
A value greater than or equal to zero 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.

TIDU_size
This is the amount of user data that may be present in a single T_DATA_REQ or T_EXDATA_REQ primitive. This is the size of the transport protocol interface data unit, and should not exceed the tunable system limit, if non-zero, for the size of a STREAMS message.

SERV_type
This field specifies the service type supported by the transport provider, and is one of the following:

T_COTS
The provider service is connection oriented with no orderly release support.

T_COTS_ORD
The provider service is connection oriented with orderly release support.

T_CLTS
The provider service is a connectionless transport service.

CURRENT_state
This is the current state of the transport provider.

PROVIDER_flag
This field specifies additional properties specific to the transport provider and may alter the way the transport user communicates. The following flags may be set by the provider:

SENDZERO
This flag indicates that the transport provider supports the sending of zero-length TSDUs.

XPG4_1
This flag indicates that the transport provider supports XPG4 semantics.

RULES

The following rules apply when the type of service is T_CLTS:

MODES

Both connection-mode and connectionless-mode.

ORIGINATOR

Transport provider.

Contents Next section Index