DI_PATH_CLIENT_NEXT_PATH(3DEVINFO) | Device Information Library Functions | DI_PATH_CLIENT_NEXT_PATH(3DEVINFO) |
di_path_client_next_path, di_path_phci_next_path - libdevinfo path node traversal functions
cc [ flag... ] file... -ldevinfo [ library... ] #include <libdevinfo.h> di_path_t di_path_client_next_path(di_node_t node node,
di_path_t path);
di_path_t di_path_phci_next_path(di_node_t node node,
di_path_t path);
node
path
Each path node is an element in a pHCI-client matrix. The matrix is implemented by dual linked lists: one list links path nodes related to a common client head, and the other links path nodes related to a common pHCI head.
The di_path_client_next_path() function is called on a multipathing 'client' device node, where a 'client' is the child of a vHCI device node, and is associated with a specific endpoint device identity (independent of physical paths). If the path argument is NULL, di_path_client_next_path() returns the first path node associated with the client. To walk all path nodes associated with a client, returned di_path_t values are fed back into di_path_client_next_path(), via the path argument, until a null path node is returned. For each path node, di_path_bus_addr(3DEVINFO) returns the pHCI child path node unit-address.
The di_path_phci_next_path() function is called on a multipathing pHCI device node. If the path argument is NULL, di_path_phci_next_path() returns the first path node associated with the pHCI. To walk all path nodes associated with a pHCI, returned di_path_t values are fed back into di_path_phci_next_path(), via the path argument, until a null path node is returned. For each path node, di_path_client_node(3DEVINFO) provides a pointer to the associated client device node.
A device node can be a client device node of one multipathing class and a pHCI device node of another class.
Upon successful completion, a handle to the next path node is returned. Otherwise, DI_PATH_NIL is returned and errno is set to indicate the error.
These functions will fail if:
EINVAL
ENOTSUP
ENXIO
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Committed |
MT-Level | Safe |
di_init(3DEVINFO), di_path_bus_addr(3DEVINFO), di_path_client_node(3DEVINFO), libdevinfo(3LIB), attributes(7)
Writing Device Drivers
May 15, 2008 | OmniOS |