Device Information Library Functions di_walk_node(3DEVINFO)
NAME
di_walk_node - traverse libdevinfo device nodes
SYNOPSIS
cc [ flag... ] file... -ldevinfo [ library... ]
#include
int di_walk_node(di_node_t root, uint_t flag, void *arg,
int (*node_callback)(di_node_t node, void *arg));
DESCRIPTION
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.
PARAMETERS
arg Pointer to caller-specific data.
flag Specifies walking order, either DI_WALK_CLDFIRST
(depth first) or DI_WALK_SIBFIRST (breadth first).
DI_WALK_CLDFIRST is the default.
node The node being visited. root The handle to the root node of the subtree to visit.RETURN VALUES
Upon successful completion, di_walk_node() returns 0. Other-
wise, -1 is returned and errno is set to indicate the error.
The node_callback() function can return one of the follow-
ing:DI_WALK_CONTINUE Continue walking.
DI_WALK_PRUNESIB Continue walking, but skip siblings
and their child nodes.DI_WALK_PRUNECHILD Continue walking, but skip subtree
rooted at current node.SunOS 5.11 Last change: 16 Jan 2009 1
Device Information Library Functions di_walk_node(3DEVINFO)
DI_WALK_TERMINATE Terminate the walk immediately.
ERRORS
The di_walk_node() function will fail if:
EINVAL Invalid argument.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
di_init(3DEVINFO), libdevinfo(3LIB), attributes(5)
Writing Device DriversSunOS 5.11 Last change: 16 Jan 2009 2