DLPI Programmer's Guide
94 Chapter 2
DLPI Primitives
Connection-mode Service Primitives
Connection-mode Service Primitives
This section describes the service primitives that support the
connection-mode service of the data link layer. These primitives support
the establishment of connections, connection-mode data transfer, and
connection release services.
In the connection establishment model, the calling DLS user initiates a
request for a connection, and the called DLS user receives each request
and either accepts or rejects it. In the simplest form, the called DLS user
is passed a connect indication and the DLS provider holds any
subsequent indications until a response for the current outstanding
indication is received. At most one connect indication is outstanding at
any time.
DLPI also enables a called DLS user to multi-thread connect indications
and responses. The DLS provider will pass all connect indications to the
called DLS user (up to some pre-established limit as set by
DL_BIND_REQ and DL_BIND_ACK). The called DLS user may then
respond to the requests in any order.
To support multi-threading, a correlation value is needed to associate
responses with the appropriate connect indication. A correlation value is
contained in each DL_CONNECT_IND, and the DLS user must use this
value in the DL_CONNECT_RES or DL_DISCONNECT_REQ primitive
used to accept or reject the connect request.
Once a connection has been accepted or rejected, the correlation value
has no meaning to a DLS user. The DLS provider may reuse the
correlation value in another DL_CONNECT_IND.
Connection-Oriented DLPI Extensions
These primitives are only valid on connection-oriented DLPI STREAMS.
Connection-oriented DLPI streams are those on which a DL_BIND_REQ
with dl_service_mode set to DL_CODLS has been done.
DL_HP_INFO_REQ
Requests the DLS provider to provide information on the state of the
connection on a DLPI stream.