DI_WALK_LNODE(3DEVINFO) Device Information Library Functions DI_WALK_LNODE(3DEVINFO)

di_walk_lnode - traverse libdevinfo lnodes

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));

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.

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.

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.

The di_walk_lnode() function will fail if:

EINVAL

An argument is invalid.

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

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Evolving
MT-Level Safe

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

March 22, 2004 OmniOS