[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]

Technical Reference: Communications, Volume 1



Requests that the data link service (DLS) provider associate a physical point of attachment (PPA) with a stream.


The message consists of one M_PROTO message block, which contains the following structure:
typedef struct
   ulong    dl_primitive;
   ulong    dl_ppa;
} dl_attach_req_t;

This structure is defined in /usr/include/sys/dlpi.h.


The DL_ATTACH_REQ primitive requests that the DLS provider associate a PPA with a stream. The DL_ATTACH_REQ primitive is needed for style 2 DLS providers to identify the physical medium over which communication is to transpire.


dl_primitive Specifies the DL_ATTACH_REQ message.
dl_ppa Specifies the identifier of the PPA to be associated with the stream. The dlpi driver is implemented a style 2 provider

The value of the dl_ppa parameter must include identification of the communication medium. For media that multiplex multiple channels over a single physical medium, this identifier should also specify a specific communication channel (where each channel on a physical medium is associated with a separate PPA).

Note: Because of the provider-specific nature of this value, DLS user software that is to be protocol independent should avoid hard-coding the PPA identifier. The DLS user should retrieve the necessary PPA identifier from some other entity (such as a management entity) and insert it without inspection into the DL_ATTACH_REQ primitive.


Valid The primitive is valid in the DL_UNATTACHED state.
New The resulting state is DL_ATTACH_PENDING.


Successful The DL_OK_ACK primitive is sent to the DLS user resulting in the DL_UNBOUND state.
Unsuccessful The DL_ERROR_ACK primitive is returned and the resulting state is unchanged.

Error Codes

DL_ACCESS Indicates the DLS user does not have proper permission to use the requested PPA.
DL_BADPPA Indicates the specified PPA is invalid.
DL_OUTSTATE Indicates the primitive was issued from an invalid state.
DL_SYSERR Indicates a system error occurred. The system error is indicated in the DL_ERROR_ACK primitive.

Implementation Specifics

This primitive is part of Base Operating System (BOS) Runtime.

Related Information

The DL_BIND_REQ primitive, DL_OK_ACK primitive, DL_ERROR_ACK primitive.

[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]