DI_DEVLINK_WALK(3DEVINFO)               Device Information Library Functions
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(7)                  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(7)  for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Committed       |
       +--------------------+-----------------+
       |MT-Level            | Safe            |
       +--------------------+-----------------+
SEE ALSO
       malloc(3C), 
di_devlink_init(3DEVINFO), 
di_devlink_path(3DEVINFO),       
libdevinfo(3LIB), 
attributes(7), 
regex(7)                                May 15, 2008       DI_DEVLINK_WALK(3DEVINFO)