DI_WALK_LINK(3DEVINFO) Device Information Library Functions

NAME


di_walk_link - traverse libdevinfo links

SYNOPSIS


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

int di_walk_link(di_node_t root, uint_t flag, uint_t endpoint, void *arg,
int (*link_callback)(di_link_t link, void *arg));


PARAMETERS


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


flag
Specify 0. Reserved for future use.


endpoint
Specify if the current node being visited should be the
target or source of an link, either DI_LINK_TGT or
DI_LINK_SRC


arg
A pointer to caller-specific data.


link_callback
The caller-supplied callback function.


DESCRIPTION


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

RETURN VALUES


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


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

DI_WALK_CONTINUE
Continue walking.


DI_WALK_TERMINATE
Terminate the walk immediately.


ERRORS


The di_walk_link() 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)

illumos March 22, 2004 DI_WALK_LINK(3DEVINFO)