di_devlink_walk(3DEVINFO)			       Device Information Library Functions				 di_devlink_walk(3DEVINFO)

NAME
di_devlink_walk - walk through links in a devlink snapshot SYNOPSIS
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)); PARAMETERS
hdl A handle to a snapshot of devlinks in "/dev". re 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. mpath 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. flags Specify the type of devlinks to be selected. If DI_PRIMARY_LINK is used, only primary links (for instance, links which point only to "/devices" entries) are selected. If DI_SECONDARY_LINK is specified, only secondary links (for instance, devlinks which point to other devlinks) are selected. If neither flag is specified, all devlinks are selected. arg A pointer to caller private data. devlink The devlink being visited. DESCRIPTION
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. RETURN VALUES
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: DI_WALK_CONTINUE Continue walking. DI_WALK_TERMINATE Terminate the walk immediately. ERRORS
The devlink_callback() function will fail if: EINVAL One or more arguments is invalid. ENOMEM Insufficient memory is available. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |MT-Level |Safe | +-----------------------------+-----------------------------+ SEE ALSO
di_devlink_init(3DEVINFO), di_devlink_path(3DEVINFO), libdevinfo(3LIB), malloc(3C), attributes(5), regex(5) SunOS 5.11 15 May 2008 di_devlink_walk(3DEVINFO)