DI_PATH_BUS_ADDR(3DEVINFO) Device Information Library Functions DI_PATH_BUS_ADDR(3DEVINFO)

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

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);

path

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

These functions extract information associated with a path node.

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.

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

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level Safe

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

February 21, 2023 OmniOS