Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Device Information Library Functionsdi_walk_node(3DEVINFO)


NAME

 di_walk_node - traverse libdevinfo device nodes

SYNOPSIS

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

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. Otherwise, -1 is returned and errno is set to indicate the error.

The node_callback() function can return one of the following:

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 .
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 attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface StabilityEvolving
MT-LevelSafe

SEE ALSO

 

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

Writing Device Drivers


SunOS 5.9Go To TopLast Changed 1 Dec 1998

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.