cc [ flag... ]
file... –ldevinfo [ library... ]
#include <libdevinfo.h>
int di_devlink_walk(di_devlink_handle_t
hdl, const char *
re,
const char *mpath,
uint_t flags, void *
arg,
int (*devlink_callback)(
di_devlink_t devlink, void *
arg));
A handle to a snapshot of devlinks in “/dev ”.
An extended regular expression as specified in regex(5) describing the paths of devlinks to visit. A null value matches all devlinks. The expression should not involve the “/dev” prefix. For example, the “^dsk/” will invoke devlink_callback() for all “ /dev/dsk/” links.
A path to a minor node below “/devices” for which “/dev” links are to be looked up. A null value selects all devlinks. This path should not have a “/devices” prefix.
A pointer to caller private data.
The devlink being visited.
The di_devlink_walk() function visits every link in the snapshot that meets the criteria specified by the caller. For each such devlink, the caller-supplied function devlink_callback () is invoked. The return value of devlink_callback () determines subsequent walk behavior.
Upon success, the di_devlink_walk() function returns 0. Otherwise, -1 is returned and errno is set to indicate the error.
The devlink_callback() function can return the following values:
Continue walking.
Terminate the walk immediately.
The devlink_callback() function will fail if:
One or more arguments is invalid.
Insufficient memory is available.
See attributes(5) for descriptions of the following attributes:
|
di_devlink_init(3DEVINFO), di_devlink_path(3DEVINFO), libdevinfo (3LIB), malloc(3C), attributes(5) , regex(5)