cc [ flag... ] file... –ldevinfo [ library... ] #include <libdevinfo.h> int di_walk_node(di_node_t root, uint_t flag, void *arg, int (*node_callback)(di_node_t node, void *arg));
The di_walk_node() function visits all nodes in the subtree rooted at root. For each node found, the caller-supplied function node_callback() is invoked. The return value of node_callback() specifies subsequent walking behavior.
Pointer to caller–specific data.
Specifies walking order, either DI_WALK_CLDFIRST (depth first) or DI_WALK_SIBFIRST (breadth first). DI_WALK_CLDFIRST is the default.
The node being visited.
The handle to the root node of the subtree to visit.
Upon successful completion, di_walk_node() returns 0. Otherwise, -1 is returned and errno is set to indicate the error.
The node_callback() function can return one of the following:
Continue walking.
Continue walking, but skip siblings and their child nodes.
Continue walking, but skip subtree rooted at current node.
Terminate the walk immediately.
The di_walk_node() function will fail if:
Invalid argument.
See attributes(5) for descriptions of the following attributes:
|