[ Previous | Next | Contents | Search ]
AIXLink/X.25 1.1 for AIX: Guide and Reference

DL_BIND_REQ Primitive for X.25

Purpose

The application requests a stream to be bound for the application to the frame layer, thus producing a data link service access point (DLSAP) to the stream.

Structure

This primitive consists of a message block with the following structure:

typedef struct {
   ulong dl_primitive;
   ulong dl_sap;
   ulong dl_max_conind;
   ushort dl_service_mode;
   ushort dl_conn_mgmt;
   ulong dl_xidtest_flg;
} dl_bind_req_t;

Description

The DL_BIND_REQ primitive requests the DLS provider to bind a DLSAP to a stream. The DLS user must identify the address of the DLSAP to be bound as well as indicate whether it will accept incoming connect requests on the stream. The request directs the DLS provider to activate the stream associated with the DLSAP.

A stream is active when the DLS provider can transmit and receive protocol data units destined to or originating from the stream. The physical point of attachment (PPA) associated with each stream must be initialized when the DL_BIND_REQ primitive has been processed. The PPA is initialized when the DL_BIND_ACK primitive is received. If the PPA cannot be initialized, the DL_BIND_REQ primitive fails.

A stream can be bound as a connection management stream, which receives all connect requests that arrive through a given PPA. In this case, the dl_sap parameter is ignored.

Parameters

dl_primitive Specifies the DL_BIND_REQ primitive.
dl_sap The address format used by the frame layer is:
byte 1 Master station (1) or Slave station (0)
byte 2 Logical Line number
byte 3 Must be set to 0
byte 4 Not used, set to 0

where byte 1 is the most significant byte of the ulong, and byte 4 is the least significant.

dl_max_conind Should be set to 0.
dl_service_mode Should be set to 0.
dl_conn_mgmt Should be set to 0.
dl_xidtest_flg Should be set to 0.

States

Valid The message is valid in the DL_UNBOUND state.
New The resulting state is DL_BIND_PENDING.

Acknowledgments

Successful The DL_BIND_ACK primitive is sent to the DLS user. The resulting state is the DL_IDLE state.
Unsuccessful The DL_ERROR_ACK primitive is returned. The resulting state is unchanged.

Error Codes

DL_BADPPA Line number passed is too large
DL_INITFAILED Line not associated with a physical line
DL_BUSY Line already bound
DL_BADSAP Byte 1 of dl_sap not valid master or client SAP value
DL_BADADDR Bytes 3 and 4 not zero

Implementation Specifics

The DL_BIND_REQ primitive is part of X.25 Licensed Program.


[ Previous | Next | Contents | Search ]