DI_WALK_LINK(3DEVINFO) Device Information Library Functions
di_walk_link - traverse libdevinfo links
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));
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.
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.
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.
The di_walk_link() 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 DI_WALK_LINK(3DEVINFO)
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)
March 22, 2004 DI_WALK_LINK(3DEVINFO)