Previous section.

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


T_EXDATA_REQ - Expedited Data Request


This message consists of one M_PROTO message block followed by one or more M_DATA message blocks containing at least one byte of data. The format of the M_PROTO message block is as follows:

struct T_exdata_req {
    t_scalar_t   PRIM_type;      /* Always T_EXDATA_REQ */
    t_scalar_t   MORE_flag;


This primitive indicates to the transport provider that this message contains an expedited transport interface data unit. One or more expedited transport interface data units form an expedited transport service data unit.

Note that the maximum size of a expedited transport service data unit is indicated to the transport user via the T_INFO_ACK primitive.

This primitive has a mechanism which indicates the beginning and end of an expedited transport service data unit. However, not all transport providers support the concept of an expedited transport service data unit.


identifies the primitive type.

when greater than zero indicates that the next T_EXDATA_REQ primitive is also part of this expedited transport service data unit.


This primitive does not require any acknowledgments, although it may generate a fatal error. This is indicated via a M_ERROR message type which results in the failure of all operating system service routines on the stream.


The allowable errors are as follows:

This indicates one of the following unrecoverable protocol conditions:

  • The transport service interface was found to be in an incorrect state. If the interface is in the TS_IDLE state when the provider receives the T_EXDATA_REQ primitive, then the transport provider should just drop the message without generating a fatal error.

  • The amount of transport user data associated with the primitive defines an expedited transport service data unit larger than that allowed by the transport provider.


Only connection-mode.


Transport user.

Contents Next section Index