import less(1)
[unleashed/tickless.git] / share / man / man3devinfo / di_walk_lnode.3devinfo
blob5fd1856e4b8ffa5dd10a919fa2ab9d4e0b51b30f
1 '\" te
2 .\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH DI_WALK_LNODE 3DEVINFO "Mar 22, 2004"
7 .SH NAME
8 di_walk_lnode \- traverse libdevinfo lnodes
9 .SH SYNOPSIS
10 .LP
11 .nf
12 cc [ \fIflag\fR\&.\|.\|. ] \fIfile\fR\&.\|.\|. \fB-ldevinfo\fR [ \fIlibrary\fR\&.\|.\|. ]
13 #include <libdevinfo.h>
15 \fBint\fR \fBdi_walk_lnode\fR(\fBdi_node_t\fR \fIroot\fR, \fBuint_t\fR \fIflag\fR, \fBvoid *\fR\fIarg\fR,
16      \fBint (*\fR\fIlnode_callback\fR)(di_lnode_t \fIlink\fR, void *\fIarg\fR));
17 .fi
19 .SH PARAMETERS
20 .sp
21 .ne 2
22 .na
23 \fB\fIroot\fR\fR
24 .ad
25 .RS 18n
26 The handle to the root node of the subtree to visit.
27 .RE
29 .sp
30 .ne 2
31 .na
32 \fB\fIflag\fR\fR
33 .ad
34 .RS 18n
35 Specify 0. Reserved for future use.
36 .RE
38 .sp
39 .ne 2
40 .na
41 \fB\fIarg\fR\fR
42 .ad
43 .RS 18n
44 A pointer to caller-specific data.
45 .RE
47 .sp
48 .ne 2
49 .na
50 \fB\fIlnode_callback\fR\fR
51 .ad
52 .RS 18n
53 The caller-supplied callback function.
54 .RE
56 .SH DESCRIPTION
57 .sp
58 .LP
59 The \fBdi_walk_lnode()\fR function visits all nodes in the subtree rooted at
60 \fIroot\fR.  For each node found, the caller-supplied function
61 \fIlnode_callback\fR() is invoked for each lnode associated with that node.
62 The return value of \fIlnode_callback\fR() specifies subsequent walking
63 behavior where that node is the specified \fIendpoint\fR of the link.
64 .SH RETURN VALUES
65 .sp
66 .LP
67 Upon successful completion, \fBdi_walk_lnode()\fR returns 0.  Otherwise, -1 is
68 returned and \fBerrno\fR is set to indicate the error.
69 .sp
70 .LP
71 The callback function \fIlnode_callback\fR() can return one of the following:
72 .sp
73 .ne 2
74 .na
75 \fB\fBDI_WALK_CONTINUE\fR\fR
76 .ad
77 .RS 21n
78 Continue walking.
79 .RE
81 .sp
82 .ne 2
83 .na
84 \fB\fBDI_WALK_TERMINATE\fR\fR
85 .ad
86 .RS 21n
87 Terminate the walk immediately.
88 .RE
90 .SH ERRORS
91 .sp
92 .LP
93 The \fBdi_walk_lnode()\fR function will fail if:
94 .sp
95 .ne 2
96 .na
97 \fB\fBEINVAL\fR\fR
98 .ad
99 .RS 10n
100 An argument is invalid.
103 .SH ATTRIBUTES
106 See \fBattributes\fR(5) for descriptions of the following attributes:
111 box;
112 c | c
113 l | l .
114 ATTRIBUTE TYPE  ATTRIBUTE VALUE
116 Interface Stability     Evolving
118 MT-Level        Safe
121 .SH SEE ALSO
124 \fBdi_init\fR(3DEVINFO), \fBlibdevinfo\fR(3LIB), \fBattributes\fR(5)