Links

GitHub

Open HUB

Quick Links

Download

STREAMS

SIGTRAN

SS7

Hardware

SCTP

Related

Package

Manual

Manual Pages

References

Conformance

Performance

Documentation

Design

Status

FAQ

OS

LDL

strinet

strsctp

DDI/DKI

STREAMS

Kernel

XTI

SOCKSYS

Sockets

TPI

NPI

DLPI

CDI

NLI

LLI

WAN

Man Pages

Applications

SS7 Stack

ISDN Stack

SIGTRAN Stack

VoIP Stack

MG Stack

SS7/ISDN Devices

IP Transport

Embedded Systems

OS

Documentation

FAQ

SIGTRAN

Design

Conformance

Performance

References

Man Pages

Manuals

Papers

Home

Overview

Status

Documentation

Resources

About

News

Data Link Provider Interface (DLPI)

Description: OpenSS7 Project Manual Pages Operating System


DLPI

Section: Data Link Provider Interface (DLPI) (7)
Updated: 2008-10-31
Index Return to Main Contents

NAME

DLPI - Data Link Provider Interface

SYNOPSIS

#include <sys/dlpi.h>

DESCRIPTION

The data link layer (layer 2 in the OSI Reference Model) is responsible for the transmission and error-free delivery of bits of information over a physical communications medium.

The model of the data link layer is presented here to describe concepts that are used throughout the specification of DLPI. It is described in terms of an interface architecture, as well as addressing concepts needed to identify different components of that architecture. The description of the model assumes familiarity with the OSI Reference Model.

Each layer of the OSI Reference Model has two standards:

*
one that defines the services provided by the layer, and
*
one that defines the protocol through which layer services are provided.

DLPI is an implementation of the first type of standard. It specifies an interface to the services of the data link layer.

The data link interface is the boundary between the network and data link layers of the OSI Reference Model. The network layer entity is the user of the services of the data link interface (DLS user), and the data link layer entity is the provider of those services (DLS provider). This interface consists of a set of primitives that provide access to the data link layer services, plus the rules for using those primitives (state transition rules). A data link interface service primitive might request a particular service or indicate a pending event.

To provide uniformity among the various UNIX system networking products, an effort is underway to develop service interfaces that map to the OSI Reference Model. A set of kernel-level interfaces, based on the STREAMS(4) development environment, constitute a major portion of this effort. The service primitives that make up these interfaces are defined as STREAMS(4) messages that are transferred between the user and provider of the service. DLPI is one such kernel-level interface, and is targeted for STREAMS(4) protocol modules that either use or provide data link services. In addition, user programs that wish to access a STREAMS(4)-based data link provider directly may do so using the putmsg(2) and getmsg(2) system calls. The DLS provider is configured as a STREAMS(4) driver,and the DLS user accesses the provider using open(2) to establish a stream to the DLS provider. The stream acts as a communication endpoint between a DLS user and the DLS provider. After the stream is created, the DLS user and DLS provider communicate via the messages presented later in this specification. DLPI is intended to free data link users from specific knowledge of the characteristics of the data link provider. Specifically, the definition of DLPI hopes to achieve the goal of allowing a DLS user to be implemented independent of a specific communications medium. Any data link provider (supporting any communications medium) that conforms to the DLPI specification may be substituted beneath the DLS user to provide the data link services. Support of a new DLS provider should not require any changes to the implementation of the DLS user.

MODES OF COMMUNICATION

The data link provider interface supports three modes of communication: connection, connectionless and acknowledged connectionless.

The connection mode is circuit-oriented and enables data to be transferred over a pre-established connection in a sequenced manner. Data may be lost or corrupted in this service mode, however, due to provider-initiated resynchronization or connection aborts.

The connectionless mode is message-oriented and supports data transfer in self-contained units with no logical relationship required between units. Because there is no acknowledgment of each data unit transmission, this service mode can be unreliable in the most general case. However, a specific DLS provider can provide assurance that messages will not be lost, duplicated, or reordered.

The acknowledged connectionless mode provides the means by which a data link user can send data and request the return of data at the same time. Although the exchange service is connectionless, in-sequence delivery is guaranteed for data sent by the initiating station. The data unit transfer is point-to-point.

CONNECTION-MODE SERVICE

The connection-mode service is characterized by four phases of communication: local management,connection establishment, data transfer, and connection release.

Local Management
This phase enables a DLS user to initialize a stream for use in communication and establish an identity with the DLS provider.
Connection Establishment
This phase enables two DLS users to establish a data link connection between them to exchange data. One user (the calling DLS user) initiates the connection establishment procedures, while another user (the called DLS user) waits for incoming connect requests. The called DLS user is identified by an address associated with its stream (as will be discussed shortly).

A called DLS user may either accept or deny a request for a data link connection. If the request is accepted, a connection is established between the DLS users and they enter the data transfer phase. For both the calling and called DLS users, only one connection may be established per stream. Thus, the stream is the communication endpoint for a data link connection. The called DLS user may choose to accept a connection on the stream where it received the connect request, or it may open a new stream to the DLS provider and accept the connection on this new, responding stream. By accepting the connection on a separate stream, the initial stream can be designated as a listening stream through which all connect requests will be processed. As each request arrives, a new stream (communication endpoint) can be opened to handle the connection, enabling subsequent requests to be queued on a single stream until they can be processed.

Data Transfer
In this phase, the DLS users are considered peers and may exchange data simultaneously in both directions over an established data link connection. Either DLS user may send data to its peer DLS user at any time. Data sent by a DLS user is guaranteed to be delivered to the remote user in the order in which it was sent.
Connection Release
This phase enables either the DLS user, or the DLS provider, to break an established connection. The release procedure is considered abortive, so any data that has not reached the destination user when the connection is released may be discarded by the DLS provider.

CONNECTIONLESS-MODE SERVICE

The connectionless mode service does not use the connection establishment and release phases of the connection-mode service. The local management phase is still required to initialize a stream. Once initialized, however, the connectionless data transfer phase is immediately entered. Because there is no established connection, however, the connectionless data transfer phase requires the DLS user to identify the destination of each data unit to be transferred. The destination DLS user is identified by the address associated with that user (as will be discussed shortly).

Connectionless data transfer does not guarantee that data units will be delivered to the destination user in the order in which they were sent. Furthermore, it does not guarantee that a given data unit will reach the destination DLS user, although a given DLS provider may provide assurance that data will not be lost.

ACKNOWLEDGED CONNECTIONLESS-MODE SERVICE

The acknowledged connectionless mode service also does not use the connection establishment and release phases of the connection-mode service. The local management phase is still required to initialize a stream. Once initialized, the acknowledged connectionless data transfer phase is immediately entered. Acknowledged connectionless data transfer guarantees that data units will be delivered to the destination user in the order in which they were sent. A data link user entity can send a data unit to the destination DLS User, request a previously prepared data unit from the destination DLS User, or exchange data units.

DLPI ADDRESSING

Each user of DLPI must establish an identity to communicate with other data link users. This identity consists of two pieces. First, the DLS user must somehow identify the physical medium over which it will communicate. This is particularly evident on systems that are attached to multiple physical media. Second, the DLS user must register itself with the DLS provider so that the provider can deliver protocol data units destined for that user.

PHYSICAL ATTACHMENT IDENTIFICATION

The physical point of attachment (PPA) is the point at which a system attaches itself to a physical communications medium. All communication on that physical medium funnels through the PPA.

On systems where a DLS provider supports more than one physical medium, the DLS user must identify which medium it will communicate through. A PPA is identified by a unique PPA identifier. For media that support physical layer multiplexing of multiple channels over a single physical medium (such as the B and D channels of ISDN), the PPA identifier must identify the specific channel over which communication will occur.

Two styles of DLS provider are defined by DLPI, distinguished by the way they enable a DLS user to choose a particular PPA. The style 1 provider assigns a PPA based on the major/minor device the DLS user opened. One possible implementation of a style 1 driver would reserve a major device for each PPA the data link driver would support. This would allow the STREAMS(4) clone open feature to be used for each PPA configured. This style of provider is appropriate when few PPAs will be supported.

If the number of PPAs a DLS provider will support is large, a style 2 provider implementation is more suitable. The style 2 provider requires a DLS user to explicitly identify the desired PPA using a special attach service primitive. For a style 2 driver, the open(2) creates a stream between the DLS user and DLS provider, and the attach primitive then associates a particular PPA with that stream. The format of the PPA identifier is specific to the DLS provider, and should be described in the provider-specific addendum documentation. DLPI provides a mechanism to get and/or modify the physical address. The primitives to handle these functions are described in Appendix A. The physical address value can be modified in a post-attached state. This would modify the value for all streams for that provider for a particular PPA. The physical address cannot be modified if even a single stream for that PPA is in the bound state.

The DLS User uses the supported primitives (DL_ATTACH_REQ(7), DL_BIND_REQ(7), DL_ENABMULTI_REQ(7), DL_PROMISCON_REQ(7)) to define a set of enabled physical and SAP address components on a per Stream basis. It is invalid for a DLS Provider to ever send upstream a data message for which the DLS User on that stream has not requested. The burden is on the provider to enforce by any means that it chooses, the isolation of SAP and physical address space effects on a per-stream basis.

DATA LINK USER IDENTIFICATION

A data link user's identity is established by associating it with a data link service access point (DLSAP),which is the point through which the user will communicate with the data link provider. A DLSAP is identified by a DLSAP address. The DLSAP address identifies a particular data link service access point that is associated with a stream(communication endpoint). A bind service primitive enables a DLS user to either choose a specific DLSAP by specifying its DLSAP address, or to determine the DLSAP associated with a stream by retrieving the bound DLSAP address. This DLSAP address can then be used by other DLS users to access a specific DLS user. The format of the DLSAP address is specific to the DLS provider, and should be described in the provider-specific addendum documentation. However, DLPI provides a mechanism for decomposing the DLSAP address into component pieces. The DL_INFO_ACK(7) primitive returns the length of the SAP component of the DLSAP address, along with the total length of the DLSAP address. Certain DLS Providers require the capability of binding on multiple DLSAP addresses. This can be achieved through subsequent binding of DLSAP addresses. DLPI supports peer and hierarchical binding of DLSAPs. When the User requests peer addressing, the DLSAP specified in a subsequent bind may be used in lieu of the DLSAP bound in the DL_BIND_REQ(7). This will allow for a choice to be made between a number of DLSAPs on a stream when determining traffic based on DLSAP values. An example of this would be to specify various ether_type values as DLSAPs. The DL_BIND_REQ(7), for example, could be issued with ether_type value of IP, and a subsequent bind could be issued with ether type value of ARP. The Provider may now multiplex off of the ether_type field and allow for either IP or ARP traffic to be sent up this stream. When the DLS User requests hierarchical binding, the subsequent bind will specify a DLSAP that will be used in addition to the DLSAP bound using a DL_BIND_REQ(7). This will allow additional information to be specified, that will be used in a header or used for de-multiplexing. An example of this would be to use hierarchical bind to specify the OUI (Organizationally Unique Identifier) to be used by SNAP.

THE CONNECTION MANAGEMENT STREAM

The earlier description of the connection-mode service assumed that a DLS user bound a DLSAP to the stream it would use to receive connect requests. In some instances, however, it is expected that a given service may be accessed through any one of several DLSAPs. To handle this scenario, a separate stream would be required for each possible destination DLSAP, regardless of whether any DLS user actually requested a connection to that DLSAP. Obvious resource problems can result in this scenario. To obviate the need for tying up system resources for all possible destination DLSAPs, a "connection management stream" utility is defined in DLPI. A connection management stream is one that receives any connect requests that are not destined for currently bound DLSAPs capable of receiving connect indications. With this mechanism, a special listener can handle incoming connect requests intended for a set of DLSAPs by opening a connection management stream to the DLS provider that will retrieve all connect requests arriving through a particular PPA. In the model, then, there may be a connection management stream per PPA.

DLPI SERVICES

The various features of the DLPI interface are defined in terms of the services provided by the DLS provider, and the individual primitives that may flow between the DLS user and DLS provider.

The data link provider interface supports three modes of service: connection, connectionless and acknowledged connectionless. The connection mode is circuit-oriented and enables data to be transferred over an established connection in a sequenced manner. The connectionless mode is message-oriented and supports data transfer in self-contained units with no logical relationship required between units. The acknowledged connectionless mode is message-oriented and guarantees that data units will be delivered to the destination user in the order in which they were sent. This specification also defines a set of local management functions that apply to all modes of service. The XID and TEST services that are supported by DLPI are listed below. The DLS User can issue an XID or TEST request to the DLS Provider. The Provider will transmit an XID or TEST frame to the peer DLS Provider. On receiving a response, the DLS Provider sends a confirmation primitive to the DLS User. On receiving an XID or TEST frame from the peer DLS Provider, the local DLS Provider sends up an XID or TEST indication primitive to the DLS User. The User must respond with an XID or TEST response frame to the Provider.

Local Management Services

The local management services apply to the connection, connectionless and acknowledged connectionless modes of transmission. These services, which fall outside the scope of standards specifications, define the method for initializing a stream that is connected to a DLS provider. DLS provider information reporting services are also supported by the local management facilities.

Information Reporting Service

This service provides information about the DLPI stream to the DLS user. The message DL_INFO_REQ(7) requests the DLS provider to return operating information about the stream. The DLS provider returns the information in a DL_INFO_ACK(7) message.

Attach Service

The attach service assigns a physical point of attachment (PPA) to a stream. This service is required for style 2 DLS providers (see section 2.3.1, Physical Attachment Identification) to specify the physical medium over which communication will occur. The DLS provider indicates success with a DL_OK_ACK(7); failure with a DL_ERROR_ACK(7).

A PPA may be disassociated with a stream using the DL_DETACH_REQ(7).

Bind Service

The bind service associates a data link service access point (DLSAP) with a stream. The DLSAP is identified by a DLSAP address. DL_BIND_REQ(7) requests that the DLS provider bind a DLSAP to a stream. It also notifies the DLS provider to make the stream active with respect to the DLSAP for processing connectionless and acknowledged connectionless data transfer and connection establishment requests. Protocol-specifications taken during activation should be described in DLS provider-specific addenda. The DLS provider indicates success with a DL_BIND_ACK(7); failure with a DL_ERROR_ACK(7).

Certain DLS providers require the capability of binding on multiple DLSAP addresses. DL_SUBS_BIND_REQ(7) provides that added capability. The DLS provider indicates success with a DL_SUBS_BIND_ACK(7); failure with a DL_ERROR_ACK(7).

DL_UNBIND_REQ(7) requests the DLS provider to unbind all DLSAP(s) from a stream. The DL_UNBIND_REQ(7) also unbinds all the subsequently bound DLSAPs that have not been unbound. The DLS provider indicates success with a DL_OK_ACK(7); failure with a DL_ERROR_ACK(7).

DL_SUBS_UNBIND_REQ requests the DLS Provider to unbind the subsequently bound DLSAP. The DLS Provider indicates success with a DL_OK_ACK(7); failure with a DL_ERROR_ACK(7).

DL_ENABMULTI_REQ requests the DLS Provider to enable specific multicast addresses on a per stream basis. The Provider indicates success with a DL_OK_ACK(7); failure with a DL_ERROR_ACK(7).

DL_DISABMULTI_REQ requests the DLS Provider to disable specific multicast addresses on a per Stream basis. The Provider indicates success with a DL_OK_ACK(7); failure with a DL_ERROR_ACK(7).

DL_PROMISCON_REQ requests the DLS Provider to enable promiscuous mode on a per Stream basis, either at the physical level or at the SAP level. The Provider indicates success with a DL_OK_ACK(7); failure with a DL_ERROR_ACK(7).

DL_PROMISCOFF_REQ requests the DLS Provider to disable promiscuous mode on a per Stream basis,either at the physical level or at the SAP level. The Provider indicates success with a DL_OK_ACK(7); failure with a DL_ERROR_ACK(7).

Connection-mode Services

The connection-mode services enable a DLS user to establish a data link connection, transfer data over that connection, reset the link, and release the connection when the conversation has terminated.

Connection Establishment Service

The connection establishment service establishes a data link connection between a local DLS user and a remote DLS user for the purpose of sending data. Only one data link connection is allowed on each stream.

Normal Connection Establishment

In the connection establishment model, the calling DLS user initiates connection establishment, while the called DLS user waits for incoming requests. DL_CONNECT_REQ(7) requests that the DLS provider establish a connection. DL_CONNECT_IND(7) informs the called DLS user of the request, which may be accepted using DL_CONNECT_RES(7). DL_CONNECT_CON(7) informs the calling DLS user that the connection has been established.

Once the connection is established, the DLS users may exchange user data using DL_DATA_REQ(7) and DL_DATA_IND(7).

The DLS user may accept an incoming connect request on either the stream where the connect indication arrived or an alternate, responding stream. The responding stream is indicated by a token in the DL_CONNECT_RES(7). This token is a value associated with the responding stream, and is obtained by issuing a DL_TOKEN_REQ(7) on that stream. The DLS provider responds to this request by generating a token for the stream and returning it to the DLS user in a DL_TOKEN_ACK(7).

In the typical connection establishment scenario, the called DLS user processes one connect indication at a time, accepting the connection on another stream. Once the user responds to the current connect indication, the next connect indication (if any) can be processed. DLPI also enables the called DLS user to multi-thread incoming connect indications. The user can receive multiple connect indications before responding to any of them. This enables the DLS user to establish priority schemes on incoming connect requests.

Connection Establishment Rejections

In certain situations, the connection establishment request cannot be completed. The following paragraphs describe the occasions under which DL_DISCONNECT_REQ(7) and DL_DISCONNECT_IND(7) primitives will flow during connection establishment, causing the connect request to be aborted.

Where the DLS provider rejects a connect request for lack of resources or other reason, the DLS provider sends DL_DISCONNECT_IND(7) in response to DL_CONNECT_REQ(7).

Where the calling DLS user chooses to abort a previous connection attempt, the DLS user issues DL_DISCONNECT_REQ(7) at some point following a DL_CONNECT_REQ(7). The resulting sequence of primitives depends on the relative timing of the primitives involved.

Data Transfer Service

The connection-mode data transfer service provides for the exchange of user data in either direction or inboth directions simultaneously between DLS users. Data is transmitted in logical groups called data link service data units (DLSDUs). The DLS provider preserves both the sequence and boundaries of DLSDUs as they are transmitted.

Normal data transfer is neither acknowledged nor confirmed. It is up to the DLS users, if they so choose,to implement a confirmation protocol. Each DL_DATA_REQ(7) primitive conveys a DLSDU from the local DLS user to the DLS provider. Similarly, each DL_DATA_IND(7) primitive conveys a DLSDU from the DLS provider to the remote DLS user.

Connection Release Service

The connection release service provides for the DLS users or the DLS provider to initiate the connection release. Connection release is an abortive operation, and any data in transit (has not been delivered to the DLS user) may be discarded. DL_DISCONNECT_REQ(7) requests that a connection be released. DL_DISCONNECT_IND(7) informs the DLS user that a connection has been released. Normally, one DLS user requests disconnection and the DLS provider issues an indication of the ensuing release to the other DLS user.

Reset Service

The reset service may be used by the DLS user to resynchronize the use of a data link connection, or by the DLS provider to report detected loss of data unrecoverable within the data link service.

Invocation of the reset service will unblock the flow of DLSDUs if the data link connection is congested;DLSDUs may be discarded by the DLS provider. The DLS user or users that did not invoke the reset will be notified that a reset has occurred. A reset may require a recovery procedure to be performed by the DLS users.

The interaction between each DLS user and the DLS provider will be one of the following:

---
a DL_RESET_REQ(7) from the DLS user, followed by a DL_RESET_CON(7) from the DLS provider;
---
a DL_RESET_IND(7) from the DLS provider, followed by a DL_RESET_RES(7) from the DLS user. The DL_RESET_REQ(7) acts as a synchronization mark in the stream of DLSDUs that are transmitted by the issuing DLS user;
---
the DL_RESET_IND(7) acts as a synchronization mark in the stream of DLSDUs that are received by the peer DLS user. Similarly, the DL_RESET_RES(7) acts as a synchronization mark in the stream of DLSDUs that are transmitted by the responding DLS user; the DL_RESET_CON(7) acts as a synchronization mark in the stream of DLSDUs that are received by the DLS user which originally issued the reset.

The resynchronizing properties of the reset service are that:

---
No DLSDU transmitted by the DLS user before the synchronization mark in that transmitted stream will be delivered to the other DLS user after the synchronization mark in that received stream.
---
The DLS provider will discard all DLSDUs submitted before the issuing of the DL_RESET_REQ(7) that have not been delivered to the peer DLS user when the DLS provider issues the DL_RESET_IND(7).
---
The DLS provider will discard all DLSDUs submitted before the issuing of the DL_RESET_RES(7) that have not been delivered to the initiator of the DL_RESET_REQ(7) when the DLS provider issues the DL_RESET_CON(7).
---
No DLSDU transmitted by a DLS user after the synchronization mark in that transmitted stream will be delivered to the other DLS user before the synchronization mark in that received stream.

The complete message flow depends on the origin of the reset, which may be the DLS provider or either DLS user.

Connectionless-mode Services

The connectionless-mode services enable a DLS user to transfer units of data to peer DLS users without incurring the overhead of establishing and releasing a connection. The connectionless service does not, however, guarantee reliable delivery of data units between peer DLS users (e.g. lack of flow control may cause buffer resource shortages that result in data being discarded).

Once a stream has been initialized via the local management services, it may be used to send and receive connectionless data units.

Connectionless Data Transfer Service

The connectionless data transfer service provides for the exchange of user data (DLSDUs) in either direction or in both directions simultaneously without having to establish a data link connection. Data transfer is neither acknowledged nor confirmed, and there is no end-to-end flow control provided. As such, the connectionless data transfer service cannot guarantee reliable delivery of data. However, a specific DLS provider can provide assurance that messages will not be lost, duplicated, or reordered. DL_UNITDATA_REQ(7) conveys one DLSDU to the DLS provider. DL_UNITDATA_IND(7) conveys one DLSDU to the DLS user.

QOS Management Service

The QOS (Quality of Service) management service enables a DLS user to specify the quality of service it can expect for each invocation of the connectionless data transfer service. The DL_UDQOS_REQ(7) directs the DLS provider to set the QOS parameters to the specified values.

Error Reporting Service

The connectionless-mode error reporting service may be used to notify a DLS user that a previously sent data unit either produced an error or could not be delivered. This service does not, however, guarantee that an error indication will be issued for every undeliverable data unit.

XID and TEST Service

The XID and TEST service enables the DLS User to issue an XID or TEST request to the DLS Provider. On receiving a response for the XID or TEST frame transmitted to the peer DLS Provider, the DLS Provider sends up an XID or TEST confirmation primitive to the DLS User. On receiving an XID or TEST frame from the peer DLS Provider, the local DLS Provider sends up an XID or TEST indication respectively to the DLS User. The DLS User must respond with an XID or TEST response primitive. If the DLS User requested automatic handling of the XID or TEST response, at bind time, the DLS Provider will send up an error acknowledgment on receiving an XID or TEST request. Also, no indications will be generated to the DLS User on receiving XID or TEST frames from the remote side.

Acknowledged Connectionless-mode Services

The acknowledged connectionless-mode services are designed for general use for the reliable transfer of informations between peer DLS Users. These services are intended for applications that require acknowledgment of cross-LAN data unit transfer, but wish to avoid the complexity that is viewed as being associated with the connection-mode services. Although the exchange service is connectionless, in sequence delivery is guaranteed for data sent by the initiating station.

Acknowledged Connectionless-mode Data Transfer Services

The acknowledged connectionless-mode data transfer services provide the means by which the DLS Users can exchange DLSDUs which are acknowledged at the LLC sublayer, without the establishment of a Data Link connection. The services provide a means by which a local DLS User can send a data unit to the peer DLS User, request a previously prepared data unit, or exchange data units with the peer DLS User.

QOS Management Service

The Quality of Service (QOS) management service enables a DLS User to specify the quality of service it can expect for each invocation of the acknowledged connectionless data transfer service. The DL_UDQOS_REQ(7) directs the DLS provider to set the QOS parameters to the specified values. The normal flow of messages is illustrated in section 3.3.2, (Connectionless mode services).

Error Reporting Service

The acknowledged connectionless mode error reporting service is the same as the unacknowledged connectionless-mode error reporting service. For the message flow, refer to section 3.3.3.

Local Management

Local management provides the following services:

Information Service

Provides the DLS User with the ability to obtain information concerning the limiting parameters and state associated with the DLS provider and the underlying data link.

DL_INFO_REQ(7) ---
Requests that the DLS provider reply with information concerning the limiting parameters and state associated with the DLS provider and the underlying data link.
DL_INFO_ACK(7) ---
Provides information to the DLS user regarding the limiting parameters and state associated with the DLS provider and the underlying data link.

Token Service

The token service provides the DLS user with the ability to acquire a token that uniquely identifies a DLS provider Stream for the purpose of accepting incoming connection requests on identified Streams.

DL_TOKEN_REQ(7) ---
Requests that the DLS provider identify the Stream upon which the request is initiated with a token uniquely identifying the DLS provider Stream.
DL_TOKEN_ACK(7) ---
Provides the DLS user with a unique token identifying the DLS provider Stream.

Attach Service

Provides the DLS user with the ability to attach a Style 2 DLS provider Stream to an underlying Physical Point of Attachment (PPA) representing a physical interface device.

DL_ATTACH_REQ(7) ---
Requests that the DLS provider attach the DLS provider Stream to a specific Physical Point of Attachment (PPA).

Detach Service

Provides the DLS user with the ability to detach a Style 2 DLS provider Stream from the attached underlying Physical Point of Attachment (PPA).

DL_DETACH_REQ(7) ---
Request that the DLS provider detach the DLS provider Stream from its attached Physical Point of Attachment (PPA).

Bind Service

The Bind Service provides the DLS User with the ability to bind the DLS provider stream to a Service Access Point (SAP) associated with the attached Physical Point of Attachment (PPA).

DL_BIND_REQ(7) ---
Requests that the DLS provider bind the requesting DLS provider Stream to a specific Service Access Point (SAP) associated with the attached Physical Point of Attachment (PPA), and acknowledge the bind with a DL_BIND_ACK(7) primitive.
DL_BIND_ACK(7) ---
Acknowledges to the DLS user that the previously invoked bind request was successful and also provides the complete DLSAP (Data Link Service Access Point) address associated with the bound Service Access Point (SAP).

Unbind Service

The Unbind Service provides the DLS User with the ability to unbund the DLS provider streams from the Service Access Point (SAP) currently associated with the attached Physical Point of Attachment (PPA).

DL_UNBIND_REQ(7) ---
Requests that the DLS provider unbind the requesting DLS provider Stream from all Service Access Points (SAP) to which the Stream is currently bound, and acknowledge the unbinding with a DL_OK_ACK(7) primitive.

Subsequent Bind Service

The Subsequent Bind Service provides the DLS User with the ability to bind to either an additional and equivalent Service Access Point (SAP), DL_PEER_BIND, associated with the Physical Point of Attachment (PPA), or to bind to an additional and subtending Service Access Point (SAP) associated with the currently bound SAP, DL_HIERARCHICAL_BIND.
DL_SUBS_BIND_REQ(7) ---
Requests that the DLS provider bind the requesting DSL provider Stream to a subsequent Service Access Point (SAP), where the requested SAP is either a peer to, DL_PEER_BIND, or hierarchical to, DL_HIERARCHICAL_BIND. the currently bound SAP, and requests that the DLS provider acknowledge the subsequent bind with a DL_SUBS_BIND_ACK(7) primitive.
DL_SUBS_BIND_ACK(7) ---
Acknowledges that the previously requested subsequent bind has completed successfully.

Subsequent Unbind Service

Provides the DLS user with the ability to unbind from a subsequent Service Access Point (SAP).

DL_SUBS_UNBIND_REQ(7) ---
Requests that the DLS provider unbind from the specified subsequent Service Access Point (SAP), and that the DLS provider acknolwege receipt of the primitive with a DL_OK_ACK(7) primitive.

Receipt Acknowledgment Service

Provides the DLS User with the ability to be informed as to the success or failure of a request primitive where the DLS User expects positive or negative acknowledgement.

DL_OK_ACK(7) ---
Provides the DLS user with acknowledgement of successful receipt of a previously issued DLS User primitive.
DL_ERROR_ACK(7) ---
Provides the DLS user with acknowledgement of the unsuccessful receipt of a previously issued DLS User primitive, and the reason for the failure.

Connection Establishment Phase

The connection establishment phase consists of the following services:

Connection Service

Provides the DLS User with the ability to initiate and respond to HDLC or LLC Type 2 connection establishment.

DL_CONNECT_REQ(7) ---
Requests that an HLDC or LLC Type 2 connection be established on an idle data link.
DL_CONNECT_CON(7) ---
Confirms to the DLS User that a previously initiated HDLC or LLC Type 2 connection establishment request has completed successfully and that the data link has transitioned to the data transfer phase.
DL_CONNECT_IND(7) ---
Indicates to the DLS User, as a responder, that the peer DLS User on an idle data link has initiated HDLC or LLC Type 2 connection establishment.
DL_CONNECT_RES(7) ---
Provides the DLS User with the ability to accept an incoming HDLC or LLC Type 2 connection establishment request from the remote DLS User on an otherwise idle data link.

Connection Data Transfer Phase

The connection data transfer phase consists of the following services:

Data Transfer Service

Provides the DLS User with the ability to transfer data toward the peer connected DLS User or to receive data from the peer connected DLS User.

DL_DATA_REQ(7) ---
Transfer data to the peer connected DLS User.
DL_DATA_IND(7) ---
Transfer data from the peer connected DLS User.

Reset Service

Provides the DLS User with the ability to reset a data link connection, or to be informed of the reset of the data link connection by the peer DLS user or DLS provider.

DL_RESET_CON(7) ---
Confirms to the DLS User that the previously initiated reset request has completed.
DL_RESET_IND(7) ---
Indicates to the DLS User that the remote connected DLS User or Provider is resetting the connection, the origin of the reset, and the reason for reset.
DL_RESET_REQ(7) ---
Provides the DLS User with the ability to request that a data link connection be reset.
DL_RESET_RES(7) ---
Provides the DLS User with the ability to accept a remote reset indication to complete the remote provider reset cycle.

Connection Release Phase

The connection release phase consists of the following services:

Release Service

The release service provides the DLS User with the ability to disconnect an HDLC or LLC Type 1 connection-oriented mode data link connection, or to be informed of such a disconnection by the peer DLS user or provider.

DL_DISCONNECT_IND(7) ---
Provides indication that the data link connection was released, the origin of the release, and the reason for release.
DL_DISCONNECT_REQ(7) ---
Requests that a data link connection be released, or that an incoming connection establishment request is to be rejected.

Connectionless Data Transfer Phase

The connectionless data transfer phase consists of the following services:

Data Transfer Service

Provides a service for transferring HDLC or LLC Type 1 connectionless mode data to and from the DLS user.

DL_UNITDATA_REQ(7) ---
Transfers connectionless mode unit data from the DLS User to a peer DLS User.
DL_UNITDATA_IND(7) ---
Transfers connectionless mode unit data from a peer DLS User to the local DLS User.
DL_UDQOS_REQ(7) ---
Establishes the connectionless m ode quality of service to be used in subsequent transfers of HLDC or LLC Type 1 connectionless unit data from the DLS User to peer DLS users.
DL_UDERROR_IND(7) ---
Provides an indicates that there was an error in the transmission of HDLC or LLC Type 1 connectionless mode unit data from the DLS User toward a peer DLS User.

Acknowledged Connectionless Data Transfer Phase

The acknowledged connectionless data transfer phase consists of the following services:

Acknowledged Data Transfer Service

DL_DATA_ACK_REQ(7) ---
DL_DATA_ACK_IND(7) ---
DL_DATA_ACK_STATUS_IND(7) ---

Data Transaction Service

DL_REPLY_IND(7) ---
DL_REPLY_REQ(7) ---
DL_REPLY_STATUS_IND(7) ---
DL_REPLY_UPDATE_REQ(7) ---
DL_REPLY_UPDATE_STATUS_IND(7) ---

XID and Test

The XID and Test functions consist of the following services:

XID Service

A service for passing HDLC or LLC XID messages to and from the DLS user.

DL_XID_CON(7) ---
Passes an HDLC or LLC XID response message to the DLS user.
DL_XID_IND(7) ---
Passes an HDLC or LLC XID command message to the DLS user.
DL_XID_REQ(7) ---
Passes an HDLC or LLC XID command message from the DLS user.
DL_XID_RES(7) ---
Passes an HDLC or LLC XID response message from the DLS user.

TEST Service

A service for passing HDLC or LLC TEST messages to and from the DLS user.

DL_TEST_CON(7) ---
Passes an HDLC or LLC TEST response message to the DLS user.
DL_TEST_IND(7) ---
Passes an HDLC or LLC TEST command message to the DLS user.
DL_TEST_REQ(7) ---
Passes an HDLC or LLC TEST command message from the DLS user.
DL_TEST_RES(7) ---
Passes an HDLC or LLC TEST response message from the DLS user.

Miscellaneous Management

The miscellaneous management functions consist of the following services:

Physical Address Service

The Physical Address Service provides the DLS User with the ability to interrogate and modify the physical address associated with the attached Physical Point of Appearance (PPA).

DL_SET_PHYS_ADDR_REQ(7) ---
Sets the physical address value for all Streams for the DLS provider for a particular PPA.
DL_PHYS_ADDR_REQ(7) ---
This primitive requests the DLS provider to return either the default (factory) or current value of the physical address associated with the Stream depending upon the value of the address type selected in the request.
DL_PHYS_ADDR_ACK(7) ---
This primitive returns the value for the physical address to the DLS user in response to a DL_PHYS_ADDR_REQ(7) primitive.

Promiscuous Monitoring Service

The Promiscuous Monitoring Service provides the DLS User with the ability to request that data associated with all physical addresses for the attached Physical Point of Attachment, for all Service Access Points (SAP) associated with the PPA, or all multicast addresses on the attached PPA, be also delivered to the DLS user.

DL_PROMISCON_REQ(7) ---
Requests that the DLS provider provide promiscuous access to data traversing the Physical Point of Attachment (PPA) for all physical addresses, all Service Access Points (SAP), or all multicast addresses, and that the DLS provider acknowledge the successful receipt of the primitive by issuing a DL_OK_ACK(7) primitive.
DL_PROMISCOFF_REQ(7) ---
Request that the DLS provider cease promiscuous access to data traversing the Physical Point of Attachment (PPA) for all physical addresses, all Service Access Points (SAP), or all multicast addresses, and that the DLS provider acknowledge the successful receipt of the primitive by issuing a DL_OK_ACK(7) primitive.

Multicast Address Service

The Multicast Address Service provides the DLS User with the ability to request that data sent to a bound Service Access Point (SAP) with a specified multicast destination address also be delivered, or cease to be delivered, to the DLS User.

DL_ENABMULTI_REQ(7) ---
Requests that the DLS provider also deliver messages addressed to the specified multicast address, and that the DLS provider acknowledge successful receipt of the primitive by issuing a DL_OK_ACK(7) primitive.
DL_DISABMULTI_REQ(7) ---
Requests that the DLS provider cease delivering messages addressed to the specified multicast address, and that the DLS provider acknowledge successful receipt of the primitive by issuing a DL_OK_ACK(7) primitive.

Statistics Service

The Statistics Service provides a mechanism whereby the DLS User may acquire information concerning collected statistics for a Physical Point of Attachment (PPA), Service Access Point (SAP), or Data Link Connection (DLC), associated with a given DLS provider Stream.

DL_GET_STATISTICS_REQ(7) ---
Requests that the DLS provider collect statistics associated with the DLS Provider Stream and acknolwedge successful receipt of the primitive and the collected statistics by issuing a DL_GET_STATISTICS_ACK(7) primitive.
DL_GET_STATISTICS_ACK(7) ---
Acknowledges to the DLS User the successful receipt of a previously issued DL_GET_STATISTICS_REQ(7) primitive and the collected statistics.

HP-UX DLPI EXTENSIONS

The following HP extensions to the DLPI specification are documented in the HP DLPI Programmer's Guide[1].

General Extensions

The following general extensions apply to all DLS providers:

DL_HP_PPA_REQ(7) ---
Requests a list of all the valid PPAs currently installed in the system.
DL_HP_PPA_ACK(7) ---
Response to a request for all the valid PPAs currently installed in the system.
DL_HP_MULTICAST_LIST_REQ(7) ---
Requests that the DLS provider return a list of all the currently enabled multicast addresses on a specific LAN interface corresponding to the Stream on which the primitive is issued.
DL_HP_MULTICAST_LIST_ACK(7) ---
Response to a DL_HP_MULTICAST_LIST_REQ(7) with a complete list of the multicast addresses for a specific LAN interface corresponding to the Stream on which the primitive is issued.
DL_HP_RAWDATA_REQ(7) ---
Requests that the DLS provider sends one completely formated DLSDU to a peer DLS user. The DLSDU is assumed to have a complete link and MAC level header included.
DL_HP_RAWDATA_IND(7) ---
Indicates one completely formatted DLSDU from the DLS provider to the DLS user. The DLSDU contains the complete link and MAC level headers.
DL_HP_RESET_STATS_REQ(7) ---
Requests of the DLS provider that the statistics being collected associated with the DLS User Stream be reset to zero values, and that the DLS provider acknowledge successful receipt of the primitive with a DL_OK_ACK(7) primitive.
DL_HP_GET_64BIT_STATS_REQ(7) ---
Requests that the DLS User retrieve and provide 64-bit statistics instead of 32-bit statistics, and that the DLS Provider acknowledge successful receipt of the primitive and the retrieved 64-bit statistics by issuing a DL_HP_GET_64BIT_STATS_ACK(7) primitive.
DL_HP_GET_64BIT_STATS_ACK(7) ---
Acknowledges the successful receipt of a DL_HP_GET_64BIT_STATS_REQ(7) primitive and provides the 64-bit statistics collected. DL_HP_GET_64BIT_STATS_REQ(7) primitive and delivers the retrieved 64-bit statistics to the DLS User.
DL_HP_NOTIFY_EVENT_REQ(7) ---
Requests that the DLS provider provide, or cease providing, event indications upon the occurence of specified DLS provider or underlying data link events, using the DL_HP_LINK_UP_IND(7) and DL_HP_LINK_DOWN_IND(7) primitives, and that the DLS provider acknowledge receipt of the primitive with a DL_OK_ACK(7) primitive.
DL_HP_LINK_DOWN_IND(7) ---
Provides indication to the DLS User that the data link associated with the PPA attached to the Stream upon which the indiciation is issued, has entered a down state.
DL_HP_LINK_UP_IND(7) ---
Provides indication to the DLS User that the data link associated with the PPA attached to the Stream upon which the indiciation is issued, has entered a up state.
DL_HP_HW_RESET_REQ(7) ---
Requests that the DLS Provider reset the hardware associated with the underlying data link for the Physical Point of Attachment attached to the issuing DLS User Stream.

Connection-Mode Extensions

The following extensions apply to DLS providers operating in the connection-mode (DL_CLDLS).

DL_HP_INFO_REQ(7) ---
Requests that the DLS provider provide the state of the connection on a DLPI Stream.
DL_HP_INFO_ACK(7) ---
This primitive is issued by the DLS provider response to a DL_HP_INFO_REQ(7) primitive and conveys the state of the connection on a DLPI Stream.
DL_HP_SET_ACK_TO_REQ(7) ---
Requests that the DLS provider set the ACK timeout to the specified value.
DL_HP_SET_P_TO_REQ(7) ---
Requests that the DLS provider set the P timeout to the specified value.
DL_HP_SET_REJ_TO_REQ(7) ---
Requests that the DLS provider set the REJ timeout to the specified value.
DL_HP_SET_BUSY_TO_REQ(7) ---
Requests that the DLS provider set the BUSY timeout to the specified value.
DL_HP_SET_SEND_ACK_TO_REQ(7) ---
Requests that the DLS provider set the SEND_ACK timeout to the specified value.
DL_HP_SET_MAX_RETRIES_REQ(7) ---
Requests that the DLS provider set the maximum number of retries to the specified value.
DL_HP_SET_ACK_THRESHOLD_REQ(7) ---
Requests that the DLS provider set the acknowledgement threshold to the specified value.
DL_HP_SET_LOCAL_WIN_REQ(7) ---
Requests that the DLS provider set the local window size to the specified value.
DL_HP_SET_REMOTE_WIN_REQ(7) ---
Requests that the DLS provider set the remote window size to the specified value.
DL_HP_CLEAR_STATS_REQ(7) ---
Requests that the DLS provider zero the statistics that are reported in the DL_HP_INFO_ACK(7) primitive.
DL_HP_SET_LOCAL_BUSY_REQ(7) ---
Requests that the DLS provider inform the remote system that the local system is busy and cannot accept new data packets.
DL_HP_CLEAR_LOCAL_BUSY_REQ(7) ---
Requests that the DLS provider inform the remote system that the local system is no longer busy and is again able to accept new data packets.

SOLARIS EXTENSIONS

The following extensions are documented in the Sun Solaris DLPI documentation[2].

Notification Extensions

The Notification Service extension provides the DLS User with the ability to request that it be notified when specific DLS provider events occur and indication of such notification.

DL_NOTIFY_REQ(7) ---
Requests that the DLS provider acknowledge receipt of the primitive with a DL_NOTIFY_ACK(7) primitive, acknowledging the support and activation of notifications for specified DLS provider events.
DL_NOTIFY_ACK(7) ---
Acknowledges the receive of a previously issued DLS user DL_NOTIFY_REQ(7) primitive requesting the support and activation or detactivation of specified notifications.
DL_NOTIFY_IND(7) ---
Provides notification to the DLS user that a specified DLS provider event has occurred, as well a notifying the DLS user of the initial state of an event when notifications are first requested.

Capability and Control Extensions

The capability and control extensions provide a mechanism whereby a DLS user may obtain information concerning the support and current state of an DLS provider's underlying device driver implementation. A DLS user may also control, configure, enable or disable the supported underlying capabilities.

DL_CAPABILITY_REQ(7) ---
control capabilties of underlying driver. Requests that the DLS provider report, enable or disable the underlying control capabilities of its underlying device driver.
DL_CAPABILITY_ACK(7) ---
acknowledges control capablities of underlying driver. Acknowledges to the DLS user the retrieval, enabling or disabling of the underlying control capabilities of the DLS provider's underlying device driver.
DL_CONTROL_REQ(7) ---
control underlying driver. Requests that the DLS provider control (add, delete, flush, update, get or set) data elements associated with an underlying device driver implementation capability.
DL_CONTROL_ACK(7) ---
acknowledge control of the underlying driver. Acknowledges the addition, deletion, flushing, update, retrieval or setting of data elements associated with an underlying device driver implementation capability.
DL_INTR_MODE_REQ(7) ---

Aggregation Extensions

The Aggrevation Service extensions provide the DLS user with the ability to add individual data links to an aggregate data link, to remove individual data links from an aggregate, and to access individual data links that form an aggregate.

DL_AGGR_REQ(7) ---
Requests that the DLS provider add the data link associated with the requesting DLS provider Stream to a specified aggregrate and acknowledge receipt of the successful reception of the primitive with a DL_OK_ACK(7) primitive.
DL_AGGR_IND(7) ---
Indicates to the DLS user that the indicating DLS provider Stream has successfully completed being added to the specified aggregate.
DL_UNAGGR_REQ(7) ---
Requests that the DLS provider remote the data link associated with the requesting DLS provider Stream from the specified aggregate and acknolwege successful receipt of the primitive with a DL_OK_ACK(7) primitive.
DL_PASSIVE_REQ(7) ---
Requests that the requesting DLS provider Stream be permitted access to individual data links that are part of an aggregate, and that the DLS provider acknowledge successful receipt of the primitive with a DL_OK_ACK(7) primitive.

NOTICES

HP extension primitives are HP-UX®-specific; it may be necessary to define _HPUX_SOURCE before including <sys/dlpi.h> to expose the definitions and declarations associated with HP extension primitives. It may also be necessary to include the <sys/dlpi_ext.h> header file to expose the definitions and declarations associated with HP extension primitives.

Sun extension primitives are Solaris®-specific; it may be necessary to define _SUN_SOURCE before including <sys/dlpi.h> to expose the definitions and declarations associated with Sun extension primitives.

SEE ALSO

DL_AGGR_IND(7), DL_AGGR_REQ(7), DL_ATTACH_REQ(7), DL_BIND_ACK(7), DL_BIND_REQ(7), DL_CAPABILITY_ACK(7), DL_CAPABILITY_REQ(7), DL_CONNECT_CON(7), DL_CONNECT_IND(7), DL_CONNECT_REQ(7), DL_CONNECT_RES(7), DL_CONTROL_ACK(7), DL_CONTROL_REQ(7), DL_DATA_ACK_IND(7), DL_DATA_ACK_REQ(7), DL_DATA_ACK_STATUS_IND(7), DL_DATA_IND(7), DL_DATA_REQ(7), DL_DETACH_REQ(7), DL_DISABMULTI_REQ(7), DL_DISCONNECT_IND(7), DL_DISCONNECT_REQ(7), DL_ENABMULTI_REQ(7), DL_ERROR_ACK(7), DL_GET_STATISTICS_ACK(7), DL_GET_STATISTICS_REQ(7), DL_HP_CLEAR_LOCAL_BUSY_REQ(7), DL_HP_CLEAR_STATS_REQ(7), DL_HP_GET_64BIT_STATS_ACK(7), DL_HP_GET_64BIT_STATS_REQ(7), DL_HP_HW_RESET_REQ(7), DL_HP_INFO_ACK(7), DL_HP_INFO_REQ(7), DL_HP_LINK_DOWN_IND(7), DL_HP_LINK_UP_IND(7), DL_HP_MULTICAST_LIST_ACK(7), DL_HP_MULTICAST_LIST_REQ(7), DL_HP_NOTIFY_EVENT_REQ(7), DL_HP_PPA_ACK(7), DL_HP_PPA_REQ(7), DL_HP_RAWDATA_IND(7), DL_HP_RAWDATA_REQ(7), DL_HP_RESET_STATS_REQ(7), DL_HP_SET_ACK_THRESHOLD_REQ(7), DL_HP_SET_ACK_TO_REQ(7), DL_HP_SET_BUSY_TO_REQ(7), DL_HP_SET_LOCAL_BUSY_REQ(7), DL_HP_SET_LOCAL_WIN_REQ(7), DL_HP_SET_MAX_RETRIES_REQ(7), DL_HP_SET_P_TO_REQ(7), DL_HP_SET_REJ_TO_REQ(7), DL_HP_SET_REMOTE_WIN_REQ(7), DL_HP_SET_SEND_ACK_TO_REQ(7), DL_INFO_ACK(7), DL_INFO_REQ(7), DL_INTR_MODE_REQ(7), DL_NOTIFY_ACK(7), DL_NOTIFY_IND(7), DL_NOTIFY_REQ(7), DL_OK_ACK(7), DL_PASSIVE_REQ(7), DL_PHYS_ADDR_ACK(7), DL_PHYS_ADDR_REQ(7), DL_PROMISCOFF_REQ(7), DL_PROMISCON_REQ(7), DL_REPLY_IND(7), DL_REPLY_REQ(7), DL_REPLY_STATUS_IND(7), DL_REPLY_UPDATE_REQ(7), DL_REPLY_UPDATE_STATUS_IND(7), DL_RESET_CON(7), DL_RESET_IND(7), DL_RESET_REQ(7), DL_RESET_RES(7), DL_SET_PHYS_ADDR_REQ(7), DL_SUBS_BIND_ACK(7), DL_SUBS_BIND_REQ(7), DL_SUBS_UNBIND_REQ(7), DL_TEST_CON(7), DL_TEST_IND(7), DL_TEST_REQ(7), DL_TEST_RES(7), DL_TOKEN_ACK(7), DL_TOKEN_REQ(7), DL_UDERROR_IND(7), DL_UDQOS_REQ(7), DL_UNAGGR_REQ(7), DL_UNBIND_REQ(7), DL_UNITDATA_IND(7), DL_UNITDATA_REQ(7), DL_XID_CON(7), DL_XID_IND(7), DL_XID_REQ(7), DL_XID_RES(7).

COMPATIBILITY

This interface is compatible with DLPI Revision 2[3], and implementations based on DLPI, including Solaris®[2], HP-UX®[1], and AIX®[4], with the following portability considerations:

---
---

See also the individual DLPI standard and extension primitives, dlpi_ioctl(4), and STREAMS(9).

CONFORMANCE

This interface conforms to DLPI Revision 2[3].

HISTORY

The Data Link Provider Interface first appeared in SVR 4[5].

REFERENCES

[1]
HP-UX DLPI, HP DLPI Programmer's Guide -- HP-UX 11i v3, February 2007, (Palo Alto, California), Hewlett-Packard Development Company L.P., HP. [Part No: 5991-7498] <http://docs.hp.com/>
[2]
Solaris® 11, Solaris 11 Docmentation, 2008, (Santa Clara, California), Sun Microsystems, Inc., Sun. <http://docs.sun.com/>
[3]
DLPI, Data Link Provider Interface (DLPI) Specification, Revision 2.0.0, Draft 2, August 20, 1991, (Parsippany, New Jersey), UNIX. International,Inc., UNIX International Press. <http://www.openss7.org/doc/dlpi.pdf>
[4]
AIX Version 6.1, AIX Version 6.1 Technical Reference: Communications, Volume 1, First Edition, November 2007, (Boulder, Colorado), Internatonal Business Machines Corp., IBM. [SC23-6610-00] <http://publib.boulder.ibm.com/>
[5]
SVR 4, UNIX® System V Release 4 Programmer's Manual, 1990, (Englewood Cliffs, New Jersey), AT&T UNIX System Laboratories, Inc., Prentice Hall.
[6]
Magic Garden, The Magic Garden Explained: The Internals of UNIX® System V Release 4 / An Open Systems Design, 1994, (Australia), B. Goodheart, J. Cox, Prentice Hall. [ISBN 0-13-098138-9]
[7]
Advanced Programming in the UNIX®Environment, 15th edition, December 1997, (Reading, Massachusetts), W. R. Stevens, Addison Wesley. [ISBN 0-201-56317-7]

TRADEMARKS

OpenSS7tm
is a trademark of OpenSS7 Corporation.
Linux®
is a registered trademark of Linus Torvalds.
UNIX®
is a registered trademark of The Open Group.
Solaris®
is a registered trademark of Sun Microsystems.

Other trademarks are the property of their respective owners.

IDENTIFICATION


OpenSS7 XNS Networking: Package strxns version 0.9.2.7 released 2008-10-31.

Copyright©1992UNIX International, Inc.
Copyright©1997-2008OpenSS7 Corp. All Rights Reserved.
(See roff source for permission notice.)



Index

NAME
SYNOPSIS
DESCRIPTION
MODES OF COMMUNICATION
DLPI ADDRESSING
THE CONNECTION MANAGEMENT STREAM
DLPI SERVICES
Local Management Services
Connection-mode Services
Connectionless-mode Services
Acknowledged Connectionless-mode Services
Local Management
Connection Establishment Phase
Connection Data Transfer Phase
Connection Release Phase
Connectionless Data Transfer Phase
Acknowledged Connectionless Data Transfer Phase
XID and Test
Miscellaneous Management
HP-UX DLPI EXTENSIONS
SOLARIS EXTENSIONS
NOTICES
SEE ALSO
COMPATIBILITY
CONFORMANCE
HISTORY
REFERENCES
TRADEMARKS
IDENTIFICATION

This document was created by man2html, using the manual pages.
Time: 12:18:52 GMT, November 12, 2014
Last modified: Sun, 05 Mar 2006 08:34:07 GMT  
Copyright © 2014 OpenSS7 Corporation All Rights Reserved.