DI_PATH_CLIENT_NEXT_PATH(3DEVINFO) Device Information Library Functions
NAME
di_path_client_next_path, di_path_phci_next_path - libdevinfo path
node traversal functions
SYNOPSIS
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);
PARAMETERS
node The handle to a device node in a
di_init(3DEVINFO) snapshot.
For
di_path_client_next_path(),
node must be a client device
node. For
di_path_phci_next_path(),
node must be a pHCI
device node.
path DI_PATH_NIL, or the handle to a path node in a snapshot.
DESCRIPTION
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.
RETURN VALUES
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.
ERRORS
These functions will fail if:
EINVAL One or more argument was invalid.
ENOTSUP Path node information is not available in the snapshot.
ENXIO The end of the path node list was reached.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+
SEE ALSO
di_init(3DEVINFO),
di_path_bus_addr(3DEVINFO),
di_path_client_node(3DEVINFO),
libdevinfo(3LIB),
attributes(7) Writing Device Drivers May 15, 2008
DI_PATH_CLIENT_NEXT_PATH(3DEVINFO)