Device Information Library Functions di_walk_minor(3DEVINFO)
NAME
di_walk_minor - traverse libdevinfo minor nodes
SYNOPSIS
cc [ flag... ] file... -ldevinfo [ library... ]
#include
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 Solaris DDI framework, forexample, 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 minornode that matches minor_nodetype, the caller-supplied func-
tion 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. Oth-
erwise, -1 is returned and errno is set to indicate the
error.The minor_callback() function returns one of the following:
SunOS 5.11 Last change: 14 Jan 2009 1
Device Information Library Functions di_walk_minor(3DEVINFO)
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(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
dladm(1M), di_minor_nodetype(3DEVINFO), dlpi_walk(3DLPI),
libdevinfo(3LIB), attributes(5), filesystem(5),ddi_create_minor_node(9F)
Writing Device Drivers NOTESThe 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 dev-
ices on the system. Solaris now makes a layering distinction between networking devices (the objects displayed in theDEVICE field by dladm show-phys) and network datalink inter-
faces (the objects displayed by dladm show-link). Datalink
interfaces are represented as the set of DLPI device nodesthat applications can open by using dlpi_open(3DLPI) or by
opening DLPI nodes out of the /dev/net filesystem (seefilesystem(5)). The dlpi_walk(3DLPI) function is the proper
function to walk these nodes.SunOS 5.11 Last change: 14 Jan 2009 2