Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP DLPI Programmer's Guide: HP-UX 11i v2 > Chapter 2 DLPI Primitives

Primitives to Handle XID and TEST Operations

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Glossary

 » Index

This section describes the primitives used for XID and TEST operations.

DL_TEST_REQ

Conveys the TEST command DLSDU from the DLS user to the DLS provider for transmission to a peer DLS provider.

Format

The message consists of one M_PROTO message block, followed by zero or more M_DATA blocks containing zero or more bytes of data. The message structure is as follows:

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

Parameters

dl_primitive

  • DL_TEST_REQ

dl_flag

  • flag values for the request as follows:

    DL_POLL_FINAL indicates if the poll/final bit is set.

dl_dest_addr_length

  • length of the DLSAP address of the destination DLS user. If the destination user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_dest_addr_offset

  • offset from the beginning of the M_PROTO message block where the destination DLSAP address begins.

State

The message is valid in states DL_IDLE and DL_DATAXFER.

New State

The resulting state is unchanged.

Response

On an invalid TEST command request, a DL_ERROR_ACK is issued to the user. If the DLS provider receives a response from the remote side, a DL_TEST_CON is issued to the DLS user. It is recommended that the DLS user use a timeout procedure to recover from a situation when there is no response from the peer DLS user.

Reasons for Failure

DL_OUTSTATE

  • Primitive was issued from an invalid state.

DL_BADADDR

  • DLSAP address information was invalid or was in an incorrect format.

DL_SYSERR

  • A system error has occurred and the UNIX system error is indicated in the DL_ERROR_ACK.

    The UNIX error returned may be set to (not limited to) errors listed in Table 2-2 “Error Return Values”.

DL_NOTSUPPORTED

  • Primitive is known but not supported by the DLS provider.

DL_TESTAUTO

  • Previous bind request specified automatic handling of TEST responses.

DL_UNSUPPORTED

  • Requested service not supplied by provider.

DL_TEST_IND

Conveys the TEST indication DLSDU from the DLS provider to the DLS user.

Format

The message consists of one M_PROTO message block, followed by zero or more M_DATA blocks containing zero or more bytes of data. The message structure is as follows:

typedef struct {
ulong dl_primitive;
ulong dl_flag;
ulong dl_dest_addr_length;
ulong dl_dest_addr_offset;
ulong dl_src_addr_length;
ulong dl_src_addr_offset;
} dl_test_ind_t;

Parameters

dl_primitive

  • DL_TEST_IND

dl_flag

  • flag values associated with the received TEST frame:

    DL_POLL_FINAL indicates if the poll/final bit is set.

dl_dest_addr_length

  • length of the DLSAP address of the destination DLS user. If the destination user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_dest_addr_offset

  • offset from the beginning of the M_PROTO message block where the destination DLSAP address begins.

dl_src_addr_length

  • length of the source DLSAP address. If the source user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_src_addr_offset

  • offset from the beginning of the M_PROTO message block where the source DLSAP address begins.

State

The message is valid in states DL_IDLE and DL_DATAXFER.

New State

The resulting state is unchanged.

Response

The DLS user must respond with a DL_TEST_RES.

DL_TEST_RES

Conveys the TEST response DLSDU from the DLS user to the DLS provider in response to a DL_TEST_IND.

Format

The message consists of one M_PROTO message block, followed by zero or more M_DATA blocks containing zero or more bytes of data. The message structure is as follows:

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

Parameters

dl_primitive

  • DL_TEST_RES

dl_flag

  • flag values for the response as follows:

    DL_POLL_FINAL indicates if the poll/final bit is set.

dl_dest_addr_length

  • length of the DLSAP address of the destination DLS user. If the destination user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_dest_addr_offset

  • offset from the beginning of the M_PROTO message block where the destination DLSAP address begins.

State

The message is valid in states DL_IDLE and DL_DATAXFER.

New State

The resulting state is unchanged.

DL_TEST_CON

Conveys the TEST response DLSDU from the DLS provider to the DLS user in response to a DL_TEST_REQ.

Format

The message consists of one M_PROTO message block, followed by zero or more M_DATA blocks containing zero or more bytes of data. The message structure is as follows:

typedef struct {
ulong dl_primitive;
ulong dl_flag;
ulong dl_dest_addr_length;
ulong dl_dest_addr_offset;
ulong dl_src_addr_length;
ulong dl_src_addr_offset;
} dl_test_con_t;

Parameters

dl_primitive

  • DL_TEST_CON

dl_flag

  • flag values for the request as follows:

    DL_POLL_FINAL indicates if the poll/final bit is set.

dl_dest_addr_length

  • length of the DLSAP address of the destination DLS user. If the destination user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_dest_addr_offset

  • offset from the beginning of the M_PROTO message block where the destination DLSAP address begins.

dl_src_addr_length

  • length of the source DLSAP address. If the source user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_src_addr_offset

  • offset from the beginning of the M_PROTO message block where the source DLSAP address begins.

State

The message is valid in states DL_IDLE and DL_DATAXFER.

New State

The resulting state is unchanged.

DL_XID_REQ

Conveys one XID DLSDU from the DLS user to the DLS provider for transmission to a peer DLS user.

Format

The message consists of one M_PROTO message block, followed by zero or more M_DATA blocks containing zero or more bytes of data. The message structure is as follows:

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

Parameters

dl_primitive

  • DL_XID_REQ

dl_flag

  • flag values for the response as follows:

    DL_POLL_FINAL indicates status of the poll/final bit in the xid frame.

dl_dest_addr_length

  • length of the DLSAP address of the destination DLS user. If the destination user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_dest_addr_offset

  • offset from the beginning of the M_PROTO message block where the destination DLSAP address begins.

State

The message is valid in states DL_IDLE and DL_DATAXFER.

New State

The resulting state is unchanged.

Response

On an invalid XID request, a DL_ERROR_ACK is issued to the user. If the remote side responds to the XID request, a DL_XID_CON will be sent to the user. It is recommended that the DLS user use a timeout procedure on an XID_REQ. The timeout may be used if the remote side does not respond to the XID request.

Reasons for Failure

DL_BADDATA

  • The amount of data in the current DLSDU exceeded the DLS provider’s DLSDU limit.

DL_XIDAUTO

  • Previous bind request specified provider would handle XID.

DL_OUTSTATE

  • Primitive was issued from an invalid state.

DL_BADADDR

  • The DLSAP address information was invalid or was in an incorrect format.

DL_SYSERR

  • A system error has occurred and the UNIX system error is indicated in the DL_ERROR_ACK.

    The UNIX error returned may be set to (not limited to) errors listed in Table 2-2 “Error Return Values”.

DL_NOTSUPPORTED

  • Primitive is known but not supported by the DLS provider.

DL_XID_IND

Conveys an XID DLSDU from the DLS provider to the DLS user.

Format

The message consists of one M_PROTO message block, followed by zero or more M_DATA blocks containing zero or more bytes of data. The message structure is as follows:

typedef struct {
ulong dl_primitive;
ulong dl_flag;
ulong dl_dest_addr_length;
ulong dl_dest_addr_offset;
ulong dl_src_addr_length;
ulong dl_src_addr_offset;
} dl_xid_ind_t;

Parameters

dl_primitive

  • DL_XID_IND

dl_flag

  • flag values associated with the received XID frame:

    DL_POLL_FINAL indicates if the received xid frame had the poll/final bit set.

dl_dest_addr_length

  • length of the DLSAP address of the destination DLS user. If the destination user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_dest_addr_offset

  • offset from the beginning of the M_PROTO message block where the destination DLSAP address begins.

dl_src_addr_length

  • length of the source DLSAP address. If the source user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_src_addr_offset

  • offset from the beginning of the M_PROTO message block where the source DLSAP address begins.

State

The message is valid in states DL_IDLE and DL_DATAXFER.

New State

The resulting state is unchanged.

Response

The DLS user must respond with a DL_XID_RES.

DL_XID_RES

Conveys an XID DLSDU from the DLS user to the DLS provider in response to a DL_XID_IND.

Format

The message consists of one M_PROTO message block, followed by zero or more M_DATA blocks containing zero or more bytes of data. The message structure is as follows:

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

Parameters

dl_primitive

  • DL_XID_RES

dl_flag

  • flag values associated with the received XID frame:

    DL_POLL_FINAL

dl_dest_addr_length

  • length of the DLSAP address of the destination DLS user. If the destination user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_dest_addr_offset

  • offset from the beginning of the M_PROTO message block where the destination DLSAP address begins.

State

The message is valid in states DL_IDLE and DL_DATAXFER.

New State

The resulting state is unchanged.

DL_XID_CON

Conveys an XID DLSDU from the DLS provider to the DLS user in response to a DL_XID_REQ.

Format

The message consists of one M_PROTO message block, followed by zero or more M_DATA blocks containing zero or more bytes of data. The message structure is as follows:

typedef struct {
ulong dl_primitive;
ulong dl_flag;
ulong dl_dest_addr_length;
ulong dl_dest_addr_offset;
ulong dl_src_addr_length;
ulong dl_src_addr_offset;
} dl_xid_con_t;

Parameters

dl_primitive

  • DL_XID_CON

dl_flag

  • flag values associated with the received XID frame:

    DL_POLL_FINAL

dl_dest_addr_length

  • length of the DLSAP address of the destination DLS user. If the destination user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_dest_addr_offset

  • offset from the beginning of the M_PROTO message block where the destination DLSAP address begins.

dl_src_addr_length

  • length of the source DLSAP address. If the source user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.

dl_src_addr_offset

  • offset from the beginning of the M_PROTO message block where the source DLSAP address begins.

State

The message is valid in states DL_IDLE and DL_DATAXFER.

New State

The resulting state is unchanged.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2007 Hewlett-Packard Development Company, L.P.