- 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:
Factory physical address
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.
Bad DLPI message
Invalid DLPI handle
DLPI operation timed out
See attributes(5) for description of the following attributes: