DI_DEVLINK_WALK(3DEVINFO) Device Information Library Functions
di_devlink_walk - walk through links in a devlink snapshot
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));
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.
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:
DI_WALK_CONTINUE
Continue walking.
DI_WALK_TERMINATE
Terminate the walk immediately.
The devlink_callback() function will fail if:
EINVAL
One or more arguments is invalid.
ENOMEM
Insufficient memory is available.
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+
malloc(3C), di_devlink_init(3DEVINFO), di_devlink_path(3DEVINFO),
libdevinfo(3LIB), attributes(7), regex(7)
May 15, 2008 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(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)