DI_PATH_BUS_ADDR(3DEVINFO) Device Information Library Functions

NAME


di_path_bus_addr, di_path_client_node, di_path_instance,
di_path_node_name, di_path_phci_node, di_path_state - return libdevinfo
path node information

SYNOPSIS


cc [ flag... ] file... -ldevinfo [ library... ]
#include <libdevinfo.h>

char *di_path_bus_addr(di_path_t path);


di_node_t di_path_client_node(di_path_t path);


int di_path_instance(di_path_t path);


char *di_path_node_name(di_path_t path);


di_node_t di_path_phci_node(di_path_t path);


di_path_state_t di_path_state(di_path_t path);


PARAMETERS


path
The handle to a path node in a di_init(3DEVINFO) snapshot.


DESCRIPTION


These functions extract information associated with a path node.

RETURN VALUES


The di_path_bus_addr() function returns a string representing the pHCI
child path node's unit-address. This function is the di_path_t peer of
di_bus_addr(3DEVINFO).


The di_path_client_node() function returns the di_node_t of the 'client'
device node associated with the given path node. If the client device
node is not present in the current device tree snapshot, DI_NODE_NIL is
returned and errno is set to ENOTSUP.


The di_path_node_name() function returns a pointer to a null-terminated
string containing the path node name. This function is the di_path_t peer
of di_node_name(3DEVINFO).


The di_path_instance() function returns the instance number associated
with the given path node. A path node instance is persistent across
attach(9E)/detach(9E)and device reconfigurations, but not across reboot.
A path node instance is unrelated to a device node di_instance(3DEVINFO).


The di_path_phci_node() function returns the di_node_t of the pHCI host
adapter associated with the given path node. If the pHCI device node is
not present in the current device tree snapshot, DI_NODE_NIL is returned
and errno is set to ENOTSUP.


The di_path_state() function returns the state of an I/O path. This
function may return one of the following values:

DI_PATH_STATE_ONLINE

Identifies that the path_info node is online and I/O requests can be
routed through this path.


DI_PATH_STATE_OFFLINE

Identifies that the path_info node is in offline state.


DI_PATH_STATE_FAULT

Identifies that the path_info node is in faulted state and not ready
for I/O operations.


DI_PATH_STATE_STANDBY

Identifies that the path_info node is in standby state and not ready
for I/O operations.


ATTRIBUTES


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


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+

SEE ALSO


di_bus_addr(3DEVINFO), di_devfs_path(3DEVINFO), di_init(3DEVINFO),
di_instance(3DEVINFO), di_node_name(3DEVINFO),
di_path_client_next_path(3DEVINFO), di_path_prop_bytes(3DEVINFO),
di_path_prop_lookup_bytes(3DEVINFO), di_path_prop_next(3DEVINFO),
libdevinfo(3LIB), attributes(7)


Writing Device Drivers

illumos February 21, 2023 DI_PATH_BUS_ADDR(3DEVINFO)