DI_WALK_MINOR(3DEVINFO) Device Information Library Functions
NAME
di_walk_minor - traverse libdevinfo minor nodes
SYNOPSIS
cc [
flag... ]
file...
-ldevinfo [
library... ]
#include <libdevinfo.h>
int di_walk_minor(
di_node_t root,
const char *minor_nodetype,
uint_t flag,
void *arg,
int (
*minor_callback)(di_node_t
node,
di_minor_t
minor, void *
arg));
PARAMETERS
arg Pointer to caller- specific user data.
flag Specify 0. Reserved for future use.
minor The minor node visited.
minor_nodetype A character string specifying the minor data type,
which may be one of the types defined by the
illumos DDI framework, for example,
DDI_NT_BLOCK.
NULL matches all
minor_node types. See
ddi_create_minor_node(9F).
node The device node with which to the minor node is
associated.
root Root of subtree to visit.
DESCRIPTION
The
di_walk_minor() function visits all minor nodes attached to
device nodes in a subtree rooted at
root. For each minor node that
matches
minor_nodetype, the caller-supplied function
minor_callback()
is invoked. The walk terminates immediately when
minor_callback()
returns
DI_WALK_TERMINATE.
RETURN VALUES
Upon successful completion,
di_walk_minor() returns 0. Otherwise, -1
is returned and errno is set to indicate the error.
The
minor_callback() function returns one of the following:
DI_WALK_CONTINUE Continue to visit subsequent minor data nodes.
DI_WALK_TERMINATE Terminate the walk immediately.
ERRORS
The
di_walk_minor() function will fail if:
EINVAL Invalid argument.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+
SEE ALSO
dladm(8),
di_minor_nodetype(3DEVINFO),
dlpi_walk(3DLPI),
libdevinfo(3LIB),
attributes(7),
filesystem(7),
ddi_create_minor_node(9F) Writing Device DriversNOTES
The
di_walk_minor() function is no longer an accurate method for
walking network datalink interfaces on the system. Applications
should use
dlpi_walk(3DLPI) instead. It has been common for
applications to use
di_walk_minor() to walk networking devices by
passing in a
minor_nodetype of
DDI_NT_NET, in most cases to discover
the set of DLPI devices on the system. illumos now makes a layering
distinction between networking devices (the objects displayed in the
DEVICE field by
dladm show-phys) and network datalink interfaces (the
objects displayed by
dladm show-link). Datalink interfaces are
represented as the set of DLPI device nodes that applications can
open by using
dlpi_open(3DLPI) or by opening DLPI nodes out of the
/dev/net filesystem (see
filesystem(7)). The
dlpi_walk(3DLPI) function is the proper function to walk these nodes.
January 14, 2009 DI_WALK_MINOR(3DEVINFO)