man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: July 2014
 
 

di_walk_lnode(3DEVINFO)

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(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Safe

See also

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