]> git.proxmox.com Git - systemd.git/blob - docs/libudev/html/libudev-udev-enumerate.html
Imported Upstream version 208
[systemd.git] / docs / libudev / html / libudev-udev-enumerate.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>udev_enumerate</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7 <link rel="home" href="index.html" title="libudev Reference Manual">
8 <link rel="up" href="ch01.html" title="API Reference">
9 <link rel="prev" href="libudev-udev-monitor.html" title="udev_monitor">
10 <link rel="next" href="libudev-udev-queue.html" title="udev_queue">
11 <meta name="generator" content="GTK-Doc V1.19 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="libudev-udev-monitor.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">libudev Reference Manual</th>
21 <td><a accesskey="n" href="libudev-udev-queue.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#libudev-udev-enumerate.synopsis" class="shortcut">Top</a>
25  | 
26 <a href="#libudev-udev-enumerate.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="libudev-udev-enumerate"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="libudev-udev-enumerate.top_of_page"></a>udev_enumerate</span></h2>
34 <p>udev_enumerate — lookup and sort sys devices</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="libudev-udev-enumerate.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">struct <a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate">udev_enumerate</a>;
41 struct <a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate"><span class="returnvalue">udev_enumerate</span></a> * <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-ref" title="udev_enumerate_ref ()">udev_enumerate_ref</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);
42 struct <a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate"><span class="returnvalue">udev_enumerate</span></a> * <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-unref" title="udev_enumerate_unref ()">udev_enumerate_unref</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);
43 struct <a class="link" href="libudev-udev.html#udev" title="struct udev"><span class="returnvalue">udev</span></a> * <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-get-udev" title="udev_enumerate_get_udev ()">udev_enumerate_get_udev</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);
44 struct <a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate"><span class="returnvalue">udev_enumerate</span></a> * <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-new" title="udev_enumerate_new ()">udev_enumerate_new</a> (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);
45 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-match-subsystem" title="udev_enumerate_add_match_subsystem ()">udev_enumerate_add_match_subsystem</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
46 <em class="parameter"><code>const <span class="type">char</span> *subsystem</code></em>);
47 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-nomatch-subsystem" title="udev_enumerate_add_nomatch_subsystem ()">udev_enumerate_add_nomatch_subsystem</a>
48 (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
49 <em class="parameter"><code>const <span class="type">char</span> *subsystem</code></em>);
50 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-match-sysattr" title="udev_enumerate_add_match_sysattr ()">udev_enumerate_add_match_sysattr</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
51 <em class="parameter"><code>const <span class="type">char</span> *sysattr</code></em>,
52 <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);
53 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-nomatch-sysattr" title="udev_enumerate_add_nomatch_sysattr ()">udev_enumerate_add_nomatch_sysattr</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
54 <em class="parameter"><code>const <span class="type">char</span> *sysattr</code></em>,
55 <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);
56 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-match-property" title="udev_enumerate_add_match_property ()">udev_enumerate_add_match_property</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
57 <em class="parameter"><code>const <span class="type">char</span> *property</code></em>,
58 <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);
59 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-match-tag" title="udev_enumerate_add_match_tag ()">udev_enumerate_add_match_tag</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
60 <em class="parameter"><code>const <span class="type">char</span> *tag</code></em>);
61 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-match-parent" title="udev_enumerate_add_match_parent ()">udev_enumerate_add_match_parent</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
62 <em class="parameter"><code><span class="type">struct udev_device</span> *parent</code></em>);
63 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-match-is-initialized" title="udev_enumerate_add_match_is_initialized ()">udev_enumerate_add_match_is_initialized</a>
64 (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);
65 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-match-sysname" title="udev_enumerate_add_match_sysname ()">udev_enumerate_add_match_sysname</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
66 <em class="parameter"><code>const <span class="type">char</span> *sysname</code></em>);
67 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-syspath" title="udev_enumerate_add_syspath ()">udev_enumerate_add_syspath</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
68 <em class="parameter"><code>const <span class="type">char</span> *syspath</code></em>);
69 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-scan-devices" title="udev_enumerate_scan_devices ()">udev_enumerate_scan_devices</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);
70 <span class="returnvalue">int</span> <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-scan-subsystems" title="udev_enumerate_scan_subsystems ()">udev_enumerate_scan_subsystems</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);
71 struct <a class="link" href="libudev-udev-list.html#udev-list-entry" title="struct udev_list_entry"><span class="returnvalue">udev_list_entry</span></a> * <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-get-list-entry" title="udev_enumerate_get_list_entry ()">udev_enumerate_get_list_entry</a> (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);
72 </pre>
73 </div>
74 <div class="refsect1">
75 <a name="libudev-udev-enumerate.description"></a><h2>Description</h2>
76 <p>
77 Lookup devices in the sys filesystem, filter devices by properties,
78 and return a sorted list of devices.
79 </p>
80 </div>
81 <div class="refsect1">
82 <a name="libudev-udev-enumerate.details"></a><h2>Details</h2>
83 <div class="refsect2">
84 <a name="udev-enumerate"></a><h3>struct udev_enumerate</h3>
85 <pre class="programlisting">struct udev_enumerate;</pre>
86 <p>
87 Opaque object representing one device lookup/sort context.
88 </p>
89 </div>
90 <hr>
91 <div class="refsect2">
92 <a name="udev-enumerate-ref"></a><h3>udev_enumerate_ref ()</h3>
93 <pre class="programlisting">struct <a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate"><span class="returnvalue">udev_enumerate</span></a> * udev_enumerate_ref (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
94 <p>
95 Take a reference of a enumeration context.
96 </p>
97 <div class="variablelist"><table border="0" class="variablelist">
98 <colgroup>
99 <col align="left" valign="top">
100 <col>
101 </colgroup>
102 <tbody>
103 <tr>
104 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
105 <td>context</td>
106 </tr>
107 <tr>
108 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
109 <td>the passed enumeration context</td>
110 </tr>
111 </tbody>
112 </table></div>
113 </div>
114 <hr>
115 <div class="refsect2">
116 <a name="udev-enumerate-unref"></a><h3>udev_enumerate_unref ()</h3>
117 <pre class="programlisting">struct <a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate"><span class="returnvalue">udev_enumerate</span></a> * udev_enumerate_unref (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
118 <p>
119 Drop a reference of an enumeration context. If the refcount reaches zero,
120 all resources of the enumeration context will be released.
121 </p>
122 <div class="variablelist"><table border="0" class="variablelist">
123 <colgroup>
124 <col align="left" valign="top">
125 <col>
126 </colgroup>
127 <tbody>
128 <tr>
129 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
130 <td>context</td>
131 </tr>
132 <tr>
133 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
134 <td>the passed enumeration context if it has still an active reference, or <span class="type">NULL</span> otherwise.</td>
135 </tr>
136 </tbody>
137 </table></div>
138 </div>
139 <hr>
140 <div class="refsect2">
141 <a name="udev-enumerate-get-udev"></a><h3>udev_enumerate_get_udev ()</h3>
142 <pre class="programlisting">struct <a class="link" href="libudev-udev.html#udev" title="struct udev"><span class="returnvalue">udev</span></a> * udev_enumerate_get_udev (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
143 <p>
144 Get the udev library context.
145 </p>
146 <div class="variablelist"><table border="0" class="variablelist">
147 <colgroup>
148 <col align="left" valign="top">
149 <col>
150 </colgroup>
151 <tbody>
152 <tr>
153 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
154 <td>context</td>
155 </tr>
156 <tr>
157 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
158 <td>a pointer to the context.</td>
159 </tr>
160 </tbody>
161 </table></div>
162 </div>
163 <hr>
164 <div class="refsect2">
165 <a name="udev-enumerate-new"></a><h3>udev_enumerate_new ()</h3>
166 <pre class="programlisting">struct <a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate"><span class="returnvalue">udev_enumerate</span></a> * udev_enumerate_new (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);</pre>
167 <p>
168 Create an enumeration context to scan /sys.
169 </p>
170 <div class="variablelist"><table border="0" class="variablelist">
171 <colgroup>
172 <col align="left" valign="top">
173 <col>
174 </colgroup>
175 <tbody>
176 <tr>
177 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
178 <td>udev library context</td>
179 </tr>
180 <tr>
181 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
182 <td>an enumeration context.</td>
183 </tr>
184 </tbody>
185 </table></div>
186 </div>
187 <hr>
188 <div class="refsect2">
189 <a name="udev-enumerate-add-match-subsystem"></a><h3>udev_enumerate_add_match_subsystem ()</h3>
190 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_add_match_subsystem (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
191 <em class="parameter"><code>const <span class="type">char</span> *subsystem</code></em>);</pre>
192 <p>
193 Match only devices belonging to a certain kernel subsystem.
194 </p>
195 <div class="variablelist"><table border="0" class="variablelist">
196 <colgroup>
197 <col align="left" valign="top">
198 <col>
199 </colgroup>
200 <tbody>
201 <tr>
202 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
203 <td>context</td>
204 </tr>
205 <tr>
206 <td><p><span class="term"><em class="parameter"><code>subsystem</code></em> :</span></p></td>
207 <td>filter for a subsystem of the device to include in the list</td>
208 </tr>
209 <tr>
210 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
211 <td>0 on success, otherwise a negative error value.</td>
212 </tr>
213 </tbody>
214 </table></div>
215 </div>
216 <hr>
217 <div class="refsect2">
218 <a name="udev-enumerate-add-nomatch-subsystem"></a><h3>udev_enumerate_add_nomatch_subsystem ()</h3>
219 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_add_nomatch_subsystem
220 (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
221 <em class="parameter"><code>const <span class="type">char</span> *subsystem</code></em>);</pre>
222 <p>
223 Match only devices not belonging to a certain kernel subsystem.
224 </p>
225 <div class="variablelist"><table border="0" class="variablelist">
226 <colgroup>
227 <col align="left" valign="top">
228 <col>
229 </colgroup>
230 <tbody>
231 <tr>
232 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
233 <td>context</td>
234 </tr>
235 <tr>
236 <td><p><span class="term"><em class="parameter"><code>subsystem</code></em> :</span></p></td>
237 <td>filter for a subsystem of the device to exclude from the list</td>
238 </tr>
239 <tr>
240 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
241 <td>0 on success, otherwise a negative error value.</td>
242 </tr>
243 </tbody>
244 </table></div>
245 </div>
246 <hr>
247 <div class="refsect2">
248 <a name="udev-enumerate-add-match-sysattr"></a><h3>udev_enumerate_add_match_sysattr ()</h3>
249 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_add_match_sysattr (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
250 <em class="parameter"><code>const <span class="type">char</span> *sysattr</code></em>,
251 <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);</pre>
252 <p>
253 Match only devices with a certain /sys device attribute.
254 </p>
255 <div class="variablelist"><table border="0" class="variablelist">
256 <colgroup>
257 <col align="left" valign="top">
258 <col>
259 </colgroup>
260 <tbody>
261 <tr>
262 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
263 <td>context</td>
264 </tr>
265 <tr>
266 <td><p><span class="term"><em class="parameter"><code>sysattr</code></em> :</span></p></td>
267 <td>filter for a sys attribute at the device to include in the list</td>
268 </tr>
269 <tr>
270 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
271 <td>optional value of the sys attribute</td>
272 </tr>
273 <tr>
274 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
275 <td>0 on success, otherwise a negative error value.</td>
276 </tr>
277 </tbody>
278 </table></div>
279 </div>
280 <hr>
281 <div class="refsect2">
282 <a name="udev-enumerate-add-nomatch-sysattr"></a><h3>udev_enumerate_add_nomatch_sysattr ()</h3>
283 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_add_nomatch_sysattr (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
284 <em class="parameter"><code>const <span class="type">char</span> *sysattr</code></em>,
285 <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);</pre>
286 <p>
287 Match only devices not having a certain /sys device attribute.
288 </p>
289 <div class="variablelist"><table border="0" class="variablelist">
290 <colgroup>
291 <col align="left" valign="top">
292 <col>
293 </colgroup>
294 <tbody>
295 <tr>
296 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
297 <td>context</td>
298 </tr>
299 <tr>
300 <td><p><span class="term"><em class="parameter"><code>sysattr</code></em> :</span></p></td>
301 <td>filter for a sys attribute at the device to exclude from the list</td>
302 </tr>
303 <tr>
304 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
305 <td>optional value of the sys attribute</td>
306 </tr>
307 <tr>
308 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
309 <td>0 on success, otherwise a negative error value.</td>
310 </tr>
311 </tbody>
312 </table></div>
313 </div>
314 <hr>
315 <div class="refsect2">
316 <a name="udev-enumerate-add-match-property"></a><h3>udev_enumerate_add_match_property ()</h3>
317 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_add_match_property (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
318 <em class="parameter"><code>const <span class="type">char</span> *property</code></em>,
319 <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);</pre>
320 <p>
321 Match only devices with a certain property.
322 </p>
323 <div class="variablelist"><table border="0" class="variablelist">
324 <colgroup>
325 <col align="left" valign="top">
326 <col>
327 </colgroup>
328 <tbody>
329 <tr>
330 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
331 <td>context</td>
332 </tr>
333 <tr>
334 <td><p><span class="term"><em class="parameter"><code>property</code></em> :</span></p></td>
335 <td>filter for a property of the device to include in the list</td>
336 </tr>
337 <tr>
338 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
339 <td>value of the property</td>
340 </tr>
341 <tr>
342 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
343 <td>0 on success, otherwise a negative error value.</td>
344 </tr>
345 </tbody>
346 </table></div>
347 </div>
348 <hr>
349 <div class="refsect2">
350 <a name="udev-enumerate-add-match-tag"></a><h3>udev_enumerate_add_match_tag ()</h3>
351 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_add_match_tag (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
352 <em class="parameter"><code>const <span class="type">char</span> *tag</code></em>);</pre>
353 <p>
354 Match only devices with a certain tag.
355 </p>
356 <div class="variablelist"><table border="0" class="variablelist">
357 <colgroup>
358 <col align="left" valign="top">
359 <col>
360 </colgroup>
361 <tbody>
362 <tr>
363 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
364 <td>context</td>
365 </tr>
366 <tr>
367 <td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
368 <td>filter for a tag of the device to include in the list</td>
369 </tr>
370 <tr>
371 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
372 <td>0 on success, otherwise a negative error value.</td>
373 </tr>
374 </tbody>
375 </table></div>
376 </div>
377 <hr>
378 <div class="refsect2">
379 <a name="udev-enumerate-add-match-parent"></a><h3>udev_enumerate_add_match_parent ()</h3>
380 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_add_match_parent (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
381 <em class="parameter"><code><span class="type">struct udev_device</span> *parent</code></em>);</pre>
382 <p>
383 Return the devices on the subtree of one given device. The parent
384 itself is included in the list.
385 </p>
386 <p>
387 A reference for the device is held until the udev_enumerate context
388 is cleaned up.
389 </p>
390 <div class="variablelist"><table border="0" class="variablelist">
391 <colgroup>
392 <col align="left" valign="top">
393 <col>
394 </colgroup>
395 <tbody>
396 <tr>
397 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
398 <td>context</td>
399 </tr>
400 <tr>
401 <td><p><span class="term"><em class="parameter"><code>parent</code></em> :</span></p></td>
402 <td>parent device where to start searching</td>
403 </tr>
404 <tr>
405 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
406 <td>0 on success, otherwise a negative error value.</td>
407 </tr>
408 </tbody>
409 </table></div>
410 </div>
411 <hr>
412 <div class="refsect2">
413 <a name="udev-enumerate-add-match-is-initialized"></a><h3>udev_enumerate_add_match_is_initialized ()</h3>
414 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_add_match_is_initialized
415 (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
416 <p>
417 Match only devices which udev has set up already. This makes
418 sure, that the device node permissions and context are properly set
419 and that network devices are fully renamed.
420 </p>
421 <p>
422 Usually, devices which are found in the kernel but not already
423 handled by udev, have still pending events. Services should subscribe
424 to monitor events and wait for these devices to become ready, instead
425 of using uninitialized devices.
426 </p>
427 <p>
428 For now, this will not affect devices which do not have a device node
429 and are not network interfaces.
430 </p>
431 <div class="variablelist"><table border="0" class="variablelist">
432 <colgroup>
433 <col align="left" valign="top">
434 <col>
435 </colgroup>
436 <tbody>
437 <tr>
438 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
439 <td>context</td>
440 </tr>
441 <tr>
442 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
443 <td>0 on success, otherwise a negative error value.</td>
444 </tr>
445 </tbody>
446 </table></div>
447 </div>
448 <hr>
449 <div class="refsect2">
450 <a name="udev-enumerate-add-match-sysname"></a><h3>udev_enumerate_add_match_sysname ()</h3>
451 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_add_match_sysname (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
452 <em class="parameter"><code>const <span class="type">char</span> *sysname</code></em>);</pre>
453 <p>
454 Match only devices with a given /sys device name.
455 </p>
456 <div class="variablelist"><table border="0" class="variablelist">
457 <colgroup>
458 <col align="left" valign="top">
459 <col>
460 </colgroup>
461 <tbody>
462 <tr>
463 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
464 <td>context</td>
465 </tr>
466 <tr>
467 <td><p><span class="term"><em class="parameter"><code>sysname</code></em> :</span></p></td>
468 <td>filter for the name of the device to include in the list</td>
469 </tr>
470 <tr>
471 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
472 <td>0 on success, otherwise a negative error value.</td>
473 </tr>
474 </tbody>
475 </table></div>
476 </div>
477 <hr>
478 <div class="refsect2">
479 <a name="udev-enumerate-add-syspath"></a><h3>udev_enumerate_add_syspath ()</h3>
480 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_add_syspath (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
481 <em class="parameter"><code>const <span class="type">char</span> *syspath</code></em>);</pre>
482 <p>
483 Add a device to the list of devices, to retrieve it back sorted in dependency order.
484 </p>
485 <div class="variablelist"><table border="0" class="variablelist">
486 <colgroup>
487 <col align="left" valign="top">
488 <col>
489 </colgroup>
490 <tbody>
491 <tr>
492 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
493 <td>context</td>
494 </tr>
495 <tr>
496 <td><p><span class="term"><em class="parameter"><code>syspath</code></em> :</span></p></td>
497 <td>path of a device</td>
498 </tr>
499 <tr>
500 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
501 <td>0 on success, otherwise a negative error value.</td>
502 </tr>
503 </tbody>
504 </table></div>
505 </div>
506 <hr>
507 <div class="refsect2">
508 <a name="udev-enumerate-scan-devices"></a><h3>udev_enumerate_scan_devices ()</h3>
509 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_scan_devices (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
510 <p>
511 Scan /sys for all devices which match the given filters. No matches
512 will return all currently available devices.
513 </p>
514 <div class="variablelist"><table border="0" class="variablelist">
515 <colgroup>
516 <col align="left" valign="top">
517 <col>
518 </colgroup>
519 <tbody>
520 <tr>
521 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
522 <td>udev enumeration context</td>
523 </tr>
524 <tr>
525 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
526 <td>0 on success, otherwise a negative error value.</td>
527 </tr>
528 </tbody>
529 </table></div>
530 </div>
531 <hr>
532 <div class="refsect2">
533 <a name="udev-enumerate-scan-subsystems"></a><h3>udev_enumerate_scan_subsystems ()</h3>
534 <pre class="programlisting"><span class="returnvalue">int</span> udev_enumerate_scan_subsystems (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
535 <p>
536 Scan /sys for all kernel subsystems, including buses, classes, drivers.
537 </p>
538 <div class="variablelist"><table border="0" class="variablelist">
539 <colgroup>
540 <col align="left" valign="top">
541 <col>
542 </colgroup>
543 <tbody>
544 <tr>
545 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
546 <td>udev enumeration context</td>
547 </tr>
548 <tr>
549 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
550 <td>0 on success, otherwise a negative error value.</td>
551 </tr>
552 </tbody>
553 </table></div>
554 </div>
555 <hr>
556 <div class="refsect2">
557 <a name="udev-enumerate-get-list-entry"></a><h3>udev_enumerate_get_list_entry ()</h3>
558 <pre class="programlisting">struct <a class="link" href="libudev-udev-list.html#udev-list-entry" title="struct udev_list_entry"><span class="returnvalue">udev_list_entry</span></a> * udev_enumerate_get_list_entry (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
559 <p>
560 Get the first entry of the sorted list of device paths.
561 </p>
562 <div class="variablelist"><table border="0" class="variablelist">
563 <colgroup>
564 <col align="left" valign="top">
565 <col>
566 </colgroup>
567 <tbody>
568 <tr>
569 <td><p><span class="term"><em class="parameter"><code>udev_enumerate</code></em> :</span></p></td>
570 <td>context</td>
571 </tr>
572 <tr>
573 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
574 <td>a udev_list_entry.</td>
575 </tr>
576 </tbody>
577 </table></div>
578 </div>
579 </div>
580 </div>
581 <div class="footer">
582 <hr>
583 Generated by GTK-Doc V1.19</div>
584 </body>
585 </html>