T_OPTDATA_REQ - Data request with options
The message consists of one M_PROTO message block followed by zero or more message blocks, where each M_DATA message block contains zero or more bytes of data. The format of the M_PROTO message block is as follows:
struct T_optdata_req { t_scalar_t PRIM_type; /* always T_OPTDATA_REQ */ t_scalar_t DATA_flag; /* flag bits associated with data */ t_scalar_t OPT_length; /* options length */ t_scalar_t OPT_offset; /* options offset */ };
The primitive indicates to the transport provider that the message contains a transport interface data unit. One or more transport interface data units form a transport service data units (TSDU).Note that the maximum transport service and data unit sizes allowed by transport provider is indicated to the user by the T_INFO_ACK primitive.
This primitive has a mechanism that indicates the beginning and end of a transport service data unit. However not all transport providers support the concept of a transport service data unit.
This primitive also provides mechanisms to have options associated with the data being transferred.
The fields of this message have the following semantics:
- PRIM_type
identifies the primitive type
- DATA_flag
This field specifies bit fields specific general properties associated with the data being transferred. The following settings are currently defined:
- T_ODF_MORE
- When set, this bit indicates that the next T_OPTDATA_REQ primitive is also part of this transport service data unit.
- OPT_length
the length of the requested options asociated with the primitive
- OPT_offset
the offset (from the beginning of the M_PROTO message block) where the options asociated with this primitive begin.
It is possible to use this primitive with no associated options, in which case the OPT_length field is zero.The primitive does not require any acknowledgements, 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:
- [EPROTO]
This indicates of the following unrecoverable protocol conditions:
- The transport service interface was found to be in an incorrect state. If the interface is in TS_IDLE state when the provider receives the T_OPTDATA_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 a transport service data unit larger than that allowed by the transport provider.
Only connection mode
Transport user
Contents | Next section | Index |