T_UNITDATA_REQ - Unitdata Request
This message consists of one M_PROTO message block followed by zero or more M_DATA 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_unitdata_req { t_scalar_t PRIM_type; /* Always T_UNITDATA_REQ */ t_scalar_t DEST_length; t_scalar_t DEST_offset; t_scalar_t OPT_length; t_scalar_t OPT_offset; };
This primitive requests that the transport provider send the specified datagram to the specified destination.
- PRIM_type
identifies the primitive type.
- DEST_length
is the length of the destination address
- DEST_offset
is the offset (from the beginning of the M_PROTO message block) where the destination address begins.
- OPT_length
is the length of the requested options associated with the primitive.
- OPT_offset
is the offset (from the beginning of the M_PROTO message block) of the requested options associated with the primitive.
The proper alignment of the destination address and options in the M_PROTO message block is not guaranteed. The destination address and options in the M_PROTO message block are, however, aligned the same as they were received from the transport user.
This primitive does not require any acknowledgment. If a non-fatal error occurs, it is the responsibility of the transport provider to report it via the T_UDERROR_IND indication. Fatal errors are indicated via a M_ERROR message type which results in the failure of all operating system service routines on the stream.
The allowable fatal errors are as follows:
- [EPROTO]
This indicates one of the following unrecoverable protocol conditions:
- The transport service interface was found to be in an incorrect state.
- The amount of transport user data associated with the primitive defines an transport service data unit larger than that allowed by the transport provider.
Only connectionless-mode.
Transport user.
Contents | Next section | Index |