DI_WALK_LNODE(3DEVINFO) Device Information Library Functions


NAME


di_walk_lnode - traverse libdevinfo lnodes

SYNOPSIS


cc [ flag... ] file... -ldevinfo [ library... ]
#include <libdevinfo.h>

int di_walk_lnode(di_node_t root, uint_t flag, void *arg,
int (*lnode_callback)(di_lnode_t link, void *arg));


PARAMETERS


root
The handle to the root node of the subtree to visit.


flag
Specify 0. Reserved for future use.


arg
A pointer to caller-specific data.


lnode_callback
The caller-supplied callback function.


DESCRIPTION


The di_walk_lnode() function visits all nodes in the subtree rooted at
root. For each node found, the caller-supplied function lnode_callback()
is invoked for each lnode associated with that node. The return value of
lnode_callback() specifies subsequent walking behavior where that node is
the specified endpoint of the link.

RETURN VALUES


Upon successful completion, di_walk_lnode() returns 0. Otherwise, -1 is
returned and errno is set to indicate the error.


The callback function lnode_callback() can return one of the following:

DI_WALK_CONTINUE
Continue walking.


DI_WALK_TERMINATE
Terminate the walk immediately.


ERRORS


The di_walk_lnode() function will fail if:

EINVAL
An argument is invalid.


ATTRIBUTES


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


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+

SEE ALSO


di_init(3DEVINFO), libdevinfo(3LIB), attributes(7)


March 22, 2004 DI_WALK_LNODE(3DEVINFO)