DLPI_GET_PHYSADDR(3DLPI) Data Link Provider Interface Library Functions DLPI_GET_PHYSADDR(3DLPI)

dlpi_get_physaddr - get physical address using DLPI

cc [ flag... ] file... -ldlpi [ library... ]
#include <libdlpi.h>
int dlpi_get_physaddr(dlpi_handle_t dh, uint_t type,
     void *addrp,size_t *addrlenp);

The dlpi_get_physaddr() function gets a physical address from the DLPI link instance associated with DLPI handle dh. The retrieved address depends upon type, which can be:

DL_FACT_PHYS_ADDR

Factory physical address

DL_CURR_PHYS_ADDR

Current physical address

The operation can be performed in any DLPI state of dh.

The caller must ensure that addrp is at least DLPI_PHYSADDR_MAX bytes in size and addrlenp must contain the length of addrp. Upon success, addrp contains the specified physical address, and addrlenp contains the physical address length. If a physical address is not available, addrp is not filled in and addrlenp is set to zero.

Upon success, DLPI_SUCCESS is returned. If DL_SYSERR is returned, errno contains the specific UNIX system error value. Otherwise, a DLPI error value defined in <sys/dlpi.h> or an error value listed in the following section is returned.

DLPI_EBADMSG
Bad DLPI message

DLPI_EINHANDLE

Invalid DLPI handle

DLPI_EINVAL

Invalid argument

DLPI_ETIMEDOUT

DLPI operation timed out

See attributes(7) for description of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level Safe

dlpi_set_physaddr(3DLPI), libdlpi(3LIB), attributes(7)

August 22, 2007 OmniOS