DL_TEST_REQ Primitive

Purpose

Conveys one test-command data link service data unit (DLSDU) from the data link service (DLS) user to the DLS provider for transmission to a peer DLS provider.

Structure

The message consists of one M_PROTO message block, which contains the following structure, followed by zero or more M_DATA blocks containing zero or more bytes of data:

typedef struct
{
   ulong  dl_primitive;
   ulong  dl_flag;
   ulong  dl_dest_addr_length;
   ulong  dl_dest_addr_offset;
} dl_test_req_t;

Description

The DL_TEST_REQ primitive conveys one test-command DLSDU from the DLS user to the DLS provider for transmission to a peer DLS provider.

A DL_ERROR_ACK primitive is always returned.

Note: This primitive applies to XID and test operations.

Parameters

Item Description
dl_primitive Specifies the DL_TEST_REQ primitive.
dl_flag Indicates flag values for the request as follows:
DL_POLL_FINAL
Indicates whether the poll/final bit is set.
dl_dest_addr_length Specifies the length of the data link service access point (DLSAP) address of the destination DLS user. If the destination user is implemented using the Data Link Provider Interface (DLPI), this address is the full DLSAP address returned on the DL_BIND_ACK primitive.
dl_dest_addr_offset Indicates where the destination DLSAP address begins. The value of this parameter is the offset from the beginning of the M_PROTO message block.

States

Item Description
Valid The primitive is valid in the DL_IDLE or DL_DATAXFER state.
New The resulting state is unchanged.

Acknowledgments

Item Description
Unsuccessful The DL_ERROR_ACK primitive is returned for an invalid test-command request.
Note: It is recommended that the DLS user use a timeout procedure to recover from a situation when the peer DLS user does not respond.

Error Code

Item Description
DL_OUTSTATE The primitive was issued from an invalid state.
DL_BADADDR The DLSAP address information was invalid or was in an incorrect format.
DL_BADDATA The amount of data in the current DLSDU exceeded the DLS provider's DLSDU limit.
DL_SYSERR A system error has occurred. The system error is indicated in the DL_ERROR_ACK primitive.
DL_TESTAUTO Indicates the previous bind request specified automatic handling of test responses.