DL_PHYS_ADDR_REQ Primitive

Purpose

Requests that the data link service (DLS) provider return the current value of the physical address associated with the stream.

Structure

The message consists of one M_PROTO message block, which contains the following structure:

typedef struct
{
   ulong  dl_primitive;
   ulong  dl_addr_type;
} dl_phys_addr_req_t;

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

Description

The DL_PHYS_ADDR_REQ primitive requests that the DLS provider return the current value of the physical address associated with the stream.

Parameters

Item Description
dl_primitive Specifies the DL_PHYS_ADDR_REQ primitive.
dl_addr_type Specifies the requested address. The value is:
DL_CURR_PHYS_ADDR
Current physical address.

States

Item Description
Valid The primitive is valid in any attached state in which a local acknowledgment is not pending. For a style 2 DLS provider, this is after a PPA is attached using the DL_ATTACH_REQ provider.
New The resulting state is unchanged.

Acknowledgments

Item Description
Successful The DL_PHYS_ADDR_ACK primitive is sent to the DLS user.
Unsuccessful The DL_ERROR_ACK primitive is returned to the DLS user.

Error Codes

Item Description
DL_NOTSUPPORTED Indicates the primitive is known but not supported by the DLS provider.
DL_OUTSTATE Indicates the primitive was issued from an invalid state.
DL_UNSUPPORTED Indicates the requested address type is not supplied by the DLS provider.
DL_SYSERR Indicates a system error occurred and the provider did not have access to the physical address.