]> git.proxmox.com Git - systemd.git/blob - docs/libudev/html/libudev-udev-enumerate.html
Imported Upstream version 220
[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: libudev Reference Manual</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.23 (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="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18 <a href="#libudev-udev-enumerate.description" class="shortcut">Description</a></span>
19 </td>
20 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
21 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
22 <td><a accesskey="p" href="libudev-udev-monitor.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
23 <td><a accesskey="n" href="libudev-udev-queue.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
24 </tr></table>
25 <div class="refentry">
26 <a name="libudev-udev-enumerate"></a><div class="titlepage"></div>
27 <div class="refnamediv"><table width="100%"><tr>
28 <td valign="top">
29 <h2><span class="refentrytitle"><a name="libudev-udev-enumerate.top_of_page"></a>udev_enumerate</span></h2>
30 <p>udev_enumerate — lookup and sort sys devices</p>
31 </td>
32 <td class="gallery_image" valign="top" align="right"></td>
33 </tr></table></div>
34 <div class="refsect1">
35 <a name="libudev-udev-enumerate.functions"></a><h2>Functions</h2>
36 <div class="informaltable"><table width="100%" border="0">
37 <colgroup>
38 <col width="150px" class="functions_return">
39 <col class="functions_name">
40 </colgroup>
41 <tbody>
42 <tr>
43 <td class="function_type">struct <a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate"><span class="returnvalue">udev_enumerate</span></a> *
44 </td>
45 <td class="function_name">
46 <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-ref" title="udev_enumerate_ref ()">udev_enumerate_ref</a> <span class="c_punctuation">()</span>
47 </td>
48 </tr>
49 <tr>
50 <td class="function_type">struct <a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate"><span class="returnvalue">udev_enumerate</span></a> *
51 </td>
52 <td class="function_name">
53 <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-unref" title="udev_enumerate_unref ()">udev_enumerate_unref</a> <span class="c_punctuation">()</span>
54 </td>
55 </tr>
56 <tr>
57 <td class="function_type">struct <a class="link" href="libudev-udev.html#udev" title="struct udev"><span class="returnvalue">udev</span></a> *
58 </td>
59 <td class="function_name">
60 <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-get-udev" title="udev_enumerate_get_udev ()">udev_enumerate_get_udev</a> <span class="c_punctuation">()</span>
61 </td>
62 </tr>
63 <tr>
64 <td class="function_type">struct <a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate"><span class="returnvalue">udev_enumerate</span></a> *
65 </td>
66 <td class="function_name">
67 <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-new" title="udev_enumerate_new ()">udev_enumerate_new</a> <span class="c_punctuation">()</span>
68 </td>
69 </tr>
70 <tr>
71 <td class="function_type">
72 <span class="returnvalue">int</span>
73 </td>
74 <td class="function_name">
75 <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> <span class="c_punctuation">()</span>
76 </td>
77 </tr>
78 <tr>
79 <td class="function_type">
80 <span class="returnvalue">int</span>
81 </td>
82 <td class="function_name">
83 <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> <span class="c_punctuation">()</span>
84 </td>
85 </tr>
86 <tr>
87 <td class="function_type">
88 <span class="returnvalue">int</span>
89 </td>
90 <td class="function_name">
91 <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> <span class="c_punctuation">()</span>
92 </td>
93 </tr>
94 <tr>
95 <td class="function_type">
96 <span class="returnvalue">int</span>
97 </td>
98 <td class="function_name">
99 <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> <span class="c_punctuation">()</span>
100 </td>
101 </tr>
102 <tr>
103 <td class="function_type">
104 <span class="returnvalue">int</span>
105 </td>
106 <td class="function_name">
107 <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> <span class="c_punctuation">()</span>
108 </td>
109 </tr>
110 <tr>
111 <td class="function_type">
112 <span class="returnvalue">int</span>
113 </td>
114 <td class="function_name">
115 <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> <span class="c_punctuation">()</span>
116 </td>
117 </tr>
118 <tr>
119 <td class="function_type">
120 <span class="returnvalue">int</span>
121 </td>
122 <td class="function_name">
123 <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> <span class="c_punctuation">()</span>
124 </td>
125 </tr>
126 <tr>
127 <td class="function_type">
128 <span class="returnvalue">int</span>
129 </td>
130 <td class="function_name">
131 <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> <span class="c_punctuation">()</span>
132 </td>
133 </tr>
134 <tr>
135 <td class="function_type">
136 <span class="returnvalue">int</span>
137 </td>
138 <td class="function_name">
139 <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> <span class="c_punctuation">()</span>
140 </td>
141 </tr>
142 <tr>
143 <td class="function_type">
144 <span class="returnvalue">int</span>
145 </td>
146 <td class="function_name">
147 <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-add-syspath" title="udev_enumerate_add_syspath ()">udev_enumerate_add_syspath</a> <span class="c_punctuation">()</span>
148 </td>
149 </tr>
150 <tr>
151 <td class="function_type">
152 <span class="returnvalue">int</span>
153 </td>
154 <td class="function_name">
155 <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-scan-devices" title="udev_enumerate_scan_devices ()">udev_enumerate_scan_devices</a> <span class="c_punctuation">()</span>
156 </td>
157 </tr>
158 <tr>
159 <td class="function_type">
160 <span class="returnvalue">int</span>
161 </td>
162 <td class="function_name">
163 <a class="link" href="libudev-udev-enumerate.html#udev-enumerate-scan-subsystems" title="udev_enumerate_scan_subsystems ()">udev_enumerate_scan_subsystems</a> <span class="c_punctuation">()</span>
164 </td>
165 </tr>
166 <tr>
167 <td class="function_type">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> *
168 </td>
169 <td class="function_name">
170 <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> <span class="c_punctuation">()</span>
171 </td>
172 </tr>
173 </tbody>
174 </table></div>
175 </div>
176 <div class="refsect1">
177 <a name="libudev-udev-enumerate.other"></a><h2>Types and Values</h2>
178 <div class="informaltable"><table width="100%" border="0">
179 <colgroup>
180 <col width="150px" class="name">
181 <col class="description">
182 </colgroup>
183 <tbody><tr>
184 <td class="datatype_keyword">struct</td>
185 <td class="function_name"><a class="link" href="libudev-udev-enumerate.html#udev-enumerate" title="struct udev_enumerate">udev_enumerate</a></td>
186 </tr></tbody>
187 </table></div>
188 </div>
189 <div class="refsect1">
190 <a name="libudev-udev-enumerate.description"></a><h2>Description</h2>
191 <p>Lookup devices in the sys filesystem, filter devices by properties,
192 and return a sorted list of devices.</p>
193 </div>
194 <div class="refsect1">
195 <a name="libudev-udev-enumerate.functions_details"></a><h2>Functions</h2>
196 <div class="refsect2">
197 <a name="udev-enumerate-ref"></a><h3>udev_enumerate_ref ()</h3>
198 <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> *
199 udev_enumerate_ref (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
200 <p>Take a reference of a enumeration context.</p>
201 <div class="refsect3">
202 <a name="id-1.2.6.6.2.5"></a><h4>Parameters</h4>
203 <div class="informaltable"><table width="100%" border="0">
204 <colgroup>
205 <col width="150px" class="parameters_name">
206 <col class="parameters_description">
207 <col width="200px" class="parameters_annotations">
208 </colgroup>
209 <tbody><tr>
210 <td class="parameter_name"><p>udev_enumerate</p></td>
211 <td class="parameter_description"><p>context</p></td>
212 <td class="parameter_annotations"> </td>
213 </tr></tbody>
214 </table></div>
215 </div>
216 <div class="refsect3">
217 <a name="id-1.2.6.6.2.6"></a><h4>Returns</h4>
218 <p> the passed enumeration context</p>
219 </div>
220 </div>
221 <hr>
222 <div class="refsect2">
223 <a name="udev-enumerate-unref"></a><h3>udev_enumerate_unref ()</h3>
224 <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> *
225 udev_enumerate_unref (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
226 <p>Drop a reference of an enumeration context. If the refcount reaches zero,
227 all resources of the enumeration context will be released.</p>
228 <div class="refsect3">
229 <a name="id-1.2.6.6.3.5"></a><h4>Parameters</h4>
230 <div class="informaltable"><table width="100%" border="0">
231 <colgroup>
232 <col width="150px" class="parameters_name">
233 <col class="parameters_description">
234 <col width="200px" class="parameters_annotations">
235 </colgroup>
236 <tbody><tr>
237 <td class="parameter_name"><p>udev_enumerate</p></td>
238 <td class="parameter_description"><p>context</p></td>
239 <td class="parameter_annotations"> </td>
240 </tr></tbody>
241 </table></div>
242 </div>
243 <div class="refsect3">
244 <a name="id-1.2.6.6.3.6"></a><h4>Returns</h4>
245 <p> <span class="type">NULL</span></p>
246 </div>
247 </div>
248 <hr>
249 <div class="refsect2">
250 <a name="udev-enumerate-get-udev"></a><h3>udev_enumerate_get_udev ()</h3>
251 <pre class="programlisting">struct <a class="link" href="libudev-udev.html#udev" title="struct udev"><span class="returnvalue">udev</span></a> *
252 udev_enumerate_get_udev (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
253 <p>Get the udev library context.</p>
254 <div class="refsect3">
255 <a name="id-1.2.6.6.4.5"></a><h4>Parameters</h4>
256 <div class="informaltable"><table width="100%" border="0">
257 <colgroup>
258 <col width="150px" class="parameters_name">
259 <col class="parameters_description">
260 <col width="200px" class="parameters_annotations">
261 </colgroup>
262 <tbody><tr>
263 <td class="parameter_name"><p>udev_enumerate</p></td>
264 <td class="parameter_description"><p>context</p></td>
265 <td class="parameter_annotations"> </td>
266 </tr></tbody>
267 </table></div>
268 </div>
269 <div class="refsect3">
270 <a name="id-1.2.6.6.4.6"></a><h4>Returns</h4>
271 <p> a pointer to the context.</p>
272 </div>
273 </div>
274 <hr>
275 <div class="refsect2">
276 <a name="udev-enumerate-new"></a><h3>udev_enumerate_new ()</h3>
277 <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> *
278 udev_enumerate_new (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);</pre>
279 <p>Create an enumeration context to scan /sys.</p>
280 <div class="refsect3">
281 <a name="id-1.2.6.6.5.5"></a><h4>Parameters</h4>
282 <div class="informaltable"><table width="100%" border="0">
283 <colgroup>
284 <col width="150px" class="parameters_name">
285 <col class="parameters_description">
286 <col width="200px" class="parameters_annotations">
287 </colgroup>
288 <tbody><tr>
289 <td class="parameter_name"><p>udev</p></td>
290 <td class="parameter_description"><p>udev library context</p></td>
291 <td class="parameter_annotations"> </td>
292 </tr></tbody>
293 </table></div>
294 </div>
295 <div class="refsect3">
296 <a name="id-1.2.6.6.5.6"></a><h4>Returns</h4>
297 <p> an enumeration context.</p>
298 </div>
299 </div>
300 <hr>
301 <div class="refsect2">
302 <a name="udev-enumerate-add-match-subsystem"></a><h3>udev_enumerate_add_match_subsystem ()</h3>
303 <pre class="programlisting"><span class="returnvalue">int</span>
304 udev_enumerate_add_match_subsystem (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
305 <em class="parameter"><code>const <span class="type">char</span> *subsystem</code></em>);</pre>
306 <p>Match only devices belonging to a certain kernel subsystem.</p>
307 <div class="refsect3">
308 <a name="id-1.2.6.6.6.5"></a><h4>Parameters</h4>
309 <div class="informaltable"><table width="100%" border="0">
310 <colgroup>
311 <col width="150px" class="parameters_name">
312 <col class="parameters_description">
313 <col width="200px" class="parameters_annotations">
314 </colgroup>
315 <tbody>
316 <tr>
317 <td class="parameter_name"><p>udev_enumerate</p></td>
318 <td class="parameter_description"><p>context</p></td>
319 <td class="parameter_annotations"> </td>
320 </tr>
321 <tr>
322 <td class="parameter_name"><p>subsystem</p></td>
323 <td class="parameter_description"><p>filter for a subsystem of the device to include in the list</p></td>
324 <td class="parameter_annotations"> </td>
325 </tr>
326 </tbody>
327 </table></div>
328 </div>
329 <div class="refsect3">
330 <a name="id-1.2.6.6.6.6"></a><h4>Returns</h4>
331 <p> 0 on success, otherwise a negative error value.</p>
332 </div>
333 </div>
334 <hr>
335 <div class="refsect2">
336 <a name="udev-enumerate-add-nomatch-subsystem"></a><h3>udev_enumerate_add_nomatch_subsystem ()</h3>
337 <pre class="programlisting"><span class="returnvalue">int</span>
338 udev_enumerate_add_nomatch_subsystem (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
339 <em class="parameter"><code>const <span class="type">char</span> *subsystem</code></em>);</pre>
340 <p>Match only devices not belonging to a certain kernel subsystem.</p>
341 <div class="refsect3">
342 <a name="id-1.2.6.6.7.5"></a><h4>Parameters</h4>
343 <div class="informaltable"><table width="100%" border="0">
344 <colgroup>
345 <col width="150px" class="parameters_name">
346 <col class="parameters_description">
347 <col width="200px" class="parameters_annotations">
348 </colgroup>
349 <tbody>
350 <tr>
351 <td class="parameter_name"><p>udev_enumerate</p></td>
352 <td class="parameter_description"><p>context</p></td>
353 <td class="parameter_annotations"> </td>
354 </tr>
355 <tr>
356 <td class="parameter_name"><p>subsystem</p></td>
357 <td class="parameter_description"><p>filter for a subsystem of the device to exclude from the list</p></td>
358 <td class="parameter_annotations"> </td>
359 </tr>
360 </tbody>
361 </table></div>
362 </div>
363 <div class="refsect3">
364 <a name="id-1.2.6.6.7.6"></a><h4>Returns</h4>
365 <p> 0 on success, otherwise a negative error value.</p>
366 </div>
367 </div>
368 <hr>
369 <div class="refsect2">
370 <a name="udev-enumerate-add-match-sysattr"></a><h3>udev_enumerate_add_match_sysattr ()</h3>
371 <pre class="programlisting"><span class="returnvalue">int</span>
372 udev_enumerate_add_match_sysattr (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
373 <em class="parameter"><code>const <span class="type">char</span> *sysattr</code></em>,
374 <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);</pre>
375 <p>Match only devices with a certain /sys device attribute.</p>
376 <div class="refsect3">
377 <a name="id-1.2.6.6.8.5"></a><h4>Parameters</h4>
378 <div class="informaltable"><table width="100%" border="0">
379 <colgroup>
380 <col width="150px" class="parameters_name">
381 <col class="parameters_description">
382 <col width="200px" class="parameters_annotations">
383 </colgroup>
384 <tbody>
385 <tr>
386 <td class="parameter_name"><p>udev_enumerate</p></td>
387 <td class="parameter_description"><p>context</p></td>
388 <td class="parameter_annotations"> </td>
389 </tr>
390 <tr>
391 <td class="parameter_name"><p>sysattr</p></td>
392 <td class="parameter_description"><p>filter for a sys attribute at the device to include in the list</p></td>
393 <td class="parameter_annotations"> </td>
394 </tr>
395 <tr>
396 <td class="parameter_name"><p>value</p></td>
397 <td class="parameter_description"><p>optional value of the sys attribute</p></td>
398 <td class="parameter_annotations"> </td>
399 </tr>
400 </tbody>
401 </table></div>
402 </div>
403 <div class="refsect3">
404 <a name="id-1.2.6.6.8.6"></a><h4>Returns</h4>
405 <p> 0 on success, otherwise a negative error value.</p>
406 </div>
407 </div>
408 <hr>
409 <div class="refsect2">
410 <a name="udev-enumerate-add-nomatch-sysattr"></a><h3>udev_enumerate_add_nomatch_sysattr ()</h3>
411 <pre class="programlisting"><span class="returnvalue">int</span>
412 udev_enumerate_add_nomatch_sysattr (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
413 <em class="parameter"><code>const <span class="type">char</span> *sysattr</code></em>,
414 <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);</pre>
415 <p>Match only devices not having a certain /sys device attribute.</p>
416 <div class="refsect3">
417 <a name="id-1.2.6.6.9.5"></a><h4>Parameters</h4>
418 <div class="informaltable"><table width="100%" border="0">
419 <colgroup>
420 <col width="150px" class="parameters_name">
421 <col class="parameters_description">
422 <col width="200px" class="parameters_annotations">
423 </colgroup>
424 <tbody>
425 <tr>
426 <td class="parameter_name"><p>udev_enumerate</p></td>
427 <td class="parameter_description"><p>context</p></td>
428 <td class="parameter_annotations"> </td>
429 </tr>
430 <tr>
431 <td class="parameter_name"><p>sysattr</p></td>
432 <td class="parameter_description"><p>filter for a sys attribute at the device to exclude from the list</p></td>
433 <td class="parameter_annotations"> </td>
434 </tr>
435 <tr>
436 <td class="parameter_name"><p>value</p></td>
437 <td class="parameter_description"><p>optional value of the sys attribute</p></td>
438 <td class="parameter_annotations"> </td>
439 </tr>
440 </tbody>
441 </table></div>
442 </div>
443 <div class="refsect3">
444 <a name="id-1.2.6.6.9.6"></a><h4>Returns</h4>
445 <p> 0 on success, otherwise a negative error value.</p>
446 </div>
447 </div>
448 <hr>
449 <div class="refsect2">
450 <a name="udev-enumerate-add-match-property"></a><h3>udev_enumerate_add_match_property ()</h3>
451 <pre class="programlisting"><span class="returnvalue">int</span>
452 udev_enumerate_add_match_property (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
453 <em class="parameter"><code>const <span class="type">char</span> *property</code></em>,
454 <em class="parameter"><code>const <span class="type">char</span> *value</code></em>);</pre>
455 <p>Match only devices with a certain property.</p>
456 <div class="refsect3">
457 <a name="id-1.2.6.6.10.5"></a><h4>Parameters</h4>
458 <div class="informaltable"><table width="100%" border="0">
459 <colgroup>
460 <col width="150px" class="parameters_name">
461 <col class="parameters_description">
462 <col width="200px" class="parameters_annotations">
463 </colgroup>
464 <tbody>
465 <tr>
466 <td class="parameter_name"><p>udev_enumerate</p></td>
467 <td class="parameter_description"><p>context</p></td>
468 <td class="parameter_annotations"> </td>
469 </tr>
470 <tr>
471 <td class="parameter_name"><p>property</p></td>
472 <td class="parameter_description"><p>filter for a property of the device to include in the list</p></td>
473 <td class="parameter_annotations"> </td>
474 </tr>
475 <tr>
476 <td class="parameter_name"><p>value</p></td>
477 <td class="parameter_description"><p>value of the property</p></td>
478 <td class="parameter_annotations"> </td>
479 </tr>
480 </tbody>
481 </table></div>
482 </div>
483 <div class="refsect3">
484 <a name="id-1.2.6.6.10.6"></a><h4>Returns</h4>
485 <p> 0 on success, otherwise a negative error value.</p>
486 </div>
487 </div>
488 <hr>
489 <div class="refsect2">
490 <a name="udev-enumerate-add-match-tag"></a><h3>udev_enumerate_add_match_tag ()</h3>
491 <pre class="programlisting"><span class="returnvalue">int</span>
492 udev_enumerate_add_match_tag (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
493 <em class="parameter"><code>const <span class="type">char</span> *tag</code></em>);</pre>
494 <p>Match only devices with a certain tag.</p>
495 <div class="refsect3">
496 <a name="id-1.2.6.6.11.5"></a><h4>Parameters</h4>
497 <div class="informaltable"><table width="100%" border="0">
498 <colgroup>
499 <col width="150px" class="parameters_name">
500 <col class="parameters_description">
501 <col width="200px" class="parameters_annotations">
502 </colgroup>
503 <tbody>
504 <tr>
505 <td class="parameter_name"><p>udev_enumerate</p></td>
506 <td class="parameter_description"><p>context</p></td>
507 <td class="parameter_annotations"> </td>
508 </tr>
509 <tr>
510 <td class="parameter_name"><p>tag</p></td>
511 <td class="parameter_description"><p>filter for a tag of the device to include in the list</p></td>
512 <td class="parameter_annotations"> </td>
513 </tr>
514 </tbody>
515 </table></div>
516 </div>
517 <div class="refsect3">
518 <a name="id-1.2.6.6.11.6"></a><h4>Returns</h4>
519 <p> 0 on success, otherwise a negative error value.</p>
520 </div>
521 </div>
522 <hr>
523 <div class="refsect2">
524 <a name="udev-enumerate-add-match-parent"></a><h3>udev_enumerate_add_match_parent ()</h3>
525 <pre class="programlisting"><span class="returnvalue">int</span>
526 udev_enumerate_add_match_parent (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
527 <em class="parameter"><code><span class="type">struct udev_device</span> *parent</code></em>);</pre>
528 <p>Return the devices on the subtree of one given device. The parent
529 itself is included in the list.</p>
530 <p>A reference for the device is held until the udev_enumerate context
531 is cleaned up.</p>
532 <div class="refsect3">
533 <a name="id-1.2.6.6.12.6"></a><h4>Parameters</h4>
534 <div class="informaltable"><table width="100%" border="0">
535 <colgroup>
536 <col width="150px" class="parameters_name">
537 <col class="parameters_description">
538 <col width="200px" class="parameters_annotations">
539 </colgroup>
540 <tbody>
541 <tr>
542 <td class="parameter_name"><p>udev_enumerate</p></td>
543 <td class="parameter_description"><p>context</p></td>
544 <td class="parameter_annotations"> </td>
545 </tr>
546 <tr>
547 <td class="parameter_name"><p>parent</p></td>
548 <td class="parameter_description"><p>parent device where to start searching</p></td>
549 <td class="parameter_annotations"> </td>
550 </tr>
551 </tbody>
552 </table></div>
553 </div>
554 <div class="refsect3">
555 <a name="id-1.2.6.6.12.7"></a><h4>Returns</h4>
556 <p> 0 on success, otherwise a negative error value.</p>
557 </div>
558 </div>
559 <hr>
560 <div class="refsect2">
561 <a name="udev-enumerate-add-match-is-initialized"></a><h3>udev_enumerate_add_match_is_initialized ()</h3>
562 <pre class="programlisting"><span class="returnvalue">int</span>
563 udev_enumerate_add_match_is_initialized
564 (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
565 <p>Match only devices which udev has set up already. This makes
566 sure, that the device node permissions and context are properly set
567 and that network devices are fully renamed.</p>
568 <p>Usually, devices which are found in the kernel but not already
569 handled by udev, have still pending events. Services should subscribe
570 to monitor events and wait for these devices to become ready, instead
571 of using uninitialized devices.</p>
572 <p>For now, this will not affect devices which do not have a device node
573 and are not network interfaces.</p>
574 <div class="refsect3">
575 <a name="id-1.2.6.6.13.7"></a><h4>Parameters</h4>
576 <div class="informaltable"><table width="100%" border="0">
577 <colgroup>
578 <col width="150px" class="parameters_name">
579 <col class="parameters_description">
580 <col width="200px" class="parameters_annotations">
581 </colgroup>
582 <tbody><tr>
583 <td class="parameter_name"><p>udev_enumerate</p></td>
584 <td class="parameter_description"><p>context</p></td>
585 <td class="parameter_annotations"> </td>
586 </tr></tbody>
587 </table></div>
588 </div>
589 <div class="refsect3">
590 <a name="id-1.2.6.6.13.8"></a><h4>Returns</h4>
591 <p> 0 on success, otherwise a negative error value.</p>
592 </div>
593 </div>
594 <hr>
595 <div class="refsect2">
596 <a name="udev-enumerate-add-match-sysname"></a><h3>udev_enumerate_add_match_sysname ()</h3>
597 <pre class="programlisting"><span class="returnvalue">int</span>
598 udev_enumerate_add_match_sysname (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
599 <em class="parameter"><code>const <span class="type">char</span> *sysname</code></em>);</pre>
600 <p>Match only devices with a given /sys device name.</p>
601 <div class="refsect3">
602 <a name="id-1.2.6.6.14.5"></a><h4>Parameters</h4>
603 <div class="informaltable"><table width="100%" border="0">
604 <colgroup>
605 <col width="150px" class="parameters_name">
606 <col class="parameters_description">
607 <col width="200px" class="parameters_annotations">
608 </colgroup>
609 <tbody>
610 <tr>
611 <td class="parameter_name"><p>udev_enumerate</p></td>
612 <td class="parameter_description"><p>context</p></td>
613 <td class="parameter_annotations"> </td>
614 </tr>
615 <tr>
616 <td class="parameter_name"><p>sysname</p></td>
617 <td class="parameter_description"><p>filter for the name of the device to include in the list</p></td>
618 <td class="parameter_annotations"> </td>
619 </tr>
620 </tbody>
621 </table></div>
622 </div>
623 <div class="refsect3">
624 <a name="id-1.2.6.6.14.6"></a><h4>Returns</h4>
625 <p> 0 on success, otherwise a negative error value.</p>
626 </div>
627 </div>
628 <hr>
629 <div class="refsect2">
630 <a name="udev-enumerate-add-syspath"></a><h3>udev_enumerate_add_syspath ()</h3>
631 <pre class="programlisting"><span class="returnvalue">int</span>
632 udev_enumerate_add_syspath (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>,
633 <em class="parameter"><code>const <span class="type">char</span> *syspath</code></em>);</pre>
634 <p>Add a device to the list of devices, to retrieve it back sorted in dependency order.</p>
635 <div class="refsect3">
636 <a name="id-1.2.6.6.15.5"></a><h4>Parameters</h4>
637 <div class="informaltable"><table width="100%" border="0">
638 <colgroup>
639 <col width="150px" class="parameters_name">
640 <col class="parameters_description">
641 <col width="200px" class="parameters_annotations">
642 </colgroup>
643 <tbody>
644 <tr>
645 <td class="parameter_name"><p>udev_enumerate</p></td>
646 <td class="parameter_description"><p>context</p></td>
647 <td class="parameter_annotations"> </td>
648 </tr>
649 <tr>
650 <td class="parameter_name"><p>syspath</p></td>
651 <td class="parameter_description"><p>path of a device</p></td>
652 <td class="parameter_annotations"> </td>
653 </tr>
654 </tbody>
655 </table></div>
656 </div>
657 <div class="refsect3">
658 <a name="id-1.2.6.6.15.6"></a><h4>Returns</h4>
659 <p> 0 on success, otherwise a negative error value.</p>
660 </div>
661 </div>
662 <hr>
663 <div class="refsect2">
664 <a name="udev-enumerate-scan-devices"></a><h3>udev_enumerate_scan_devices ()</h3>
665 <pre class="programlisting"><span class="returnvalue">int</span>
666 udev_enumerate_scan_devices (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
667 <p>Scan /sys for all devices which match the given filters. No matches
668 will return all currently available devices.</p>
669 <div class="refsect3">
670 <a name="id-1.2.6.6.16.5"></a><h4>Parameters</h4>
671 <div class="informaltable"><table width="100%" border="0">
672 <colgroup>
673 <col width="150px" class="parameters_name">
674 <col class="parameters_description">
675 <col width="200px" class="parameters_annotations">
676 </colgroup>
677 <tbody><tr>
678 <td class="parameter_name"><p>udev_enumerate</p></td>
679 <td class="parameter_description"><p>udev enumeration context</p></td>
680 <td class="parameter_annotations"> </td>
681 </tr></tbody>
682 </table></div>
683 </div>
684 <div class="refsect3">
685 <a name="id-1.2.6.6.16.6"></a><h4>Returns</h4>
686 <p> 0 on success, otherwise a negative error value.</p>
687 </div>
688 </div>
689 <hr>
690 <div class="refsect2">
691 <a name="udev-enumerate-scan-subsystems"></a><h3>udev_enumerate_scan_subsystems ()</h3>
692 <pre class="programlisting"><span class="returnvalue">int</span>
693 udev_enumerate_scan_subsystems (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
694 <p>Scan /sys for all kernel subsystems, including buses, classes, drivers.</p>
695 <div class="refsect3">
696 <a name="id-1.2.6.6.17.5"></a><h4>Parameters</h4>
697 <div class="informaltable"><table width="100%" border="0">
698 <colgroup>
699 <col width="150px" class="parameters_name">
700 <col class="parameters_description">
701 <col width="200px" class="parameters_annotations">
702 </colgroup>
703 <tbody><tr>
704 <td class="parameter_name"><p>udev_enumerate</p></td>
705 <td class="parameter_description"><p>udev enumeration context</p></td>
706 <td class="parameter_annotations"> </td>
707 </tr></tbody>
708 </table></div>
709 </div>
710 <div class="refsect3">
711 <a name="id-1.2.6.6.17.6"></a><h4>Returns</h4>
712 <p> 0 on success, otherwise a negative error value.</p>
713 </div>
714 </div>
715 <hr>
716 <div class="refsect2">
717 <a name="udev-enumerate-get-list-entry"></a><h3>udev_enumerate_get_list_entry ()</h3>
718 <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> *
719 udev_enumerate_get_list_entry (<em class="parameter"><code><span class="type">struct udev_enumerate</span> *udev_enumerate</code></em>);</pre>
720 <p>Get the first entry of the sorted list of device paths.</p>
721 <div class="refsect3">
722 <a name="id-1.2.6.6.18.5"></a><h4>Parameters</h4>
723 <div class="informaltable"><table width="100%" border="0">
724 <colgroup>
725 <col width="150px" class="parameters_name">
726 <col class="parameters_description">
727 <col width="200px" class="parameters_annotations">
728 </colgroup>
729 <tbody><tr>
730 <td class="parameter_name"><p>udev_enumerate</p></td>
731 <td class="parameter_description"><p>context</p></td>
732 <td class="parameter_annotations"> </td>
733 </tr></tbody>
734 </table></div>
735 </div>
736 <div class="refsect3">
737 <a name="id-1.2.6.6.18.6"></a><h4>Returns</h4>
738 <p> a udev_list_entry.</p>
739 </div>
740 </div>
741 </div>
742 <div class="refsect1">
743 <a name="libudev-udev-enumerate.other_details"></a><h2>Types and Values</h2>
744 <div class="refsect2">
745 <a name="udev-enumerate"></a><h3>struct udev_enumerate</h3>
746 <pre class="programlisting">struct udev_enumerate;</pre>
747 <p>Opaque object representing one device lookup/sort context.</p>
748 </div>
749 </div>
750 </div>
751 <div class="footer">
752 <hr>Generated by GTK-Doc V1.23</div>
753 </body>
754 </html>