tizen 2.0
[external/udev.git] / libudev / docs / html / libudev-udev.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</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="libudev Reference Manual">
8 <link rel="up" href="ch01.html" title="libudev">
9 <link rel="prev" href="ch01.html" title="libudev">
10 <link rel="next" href="libudev-udev-list.html" title="udev_list">
11 <meta name="generator" content="GTK-Doc V1.18 (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="ch01.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-list.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.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#libudev-udev.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="libudev-udev"></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.top_of_page"></a>udev</span></h2>
34 <p>udev — libudev context</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="libudev-udev.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">struct              <a class="link" href="libudev-udev.html#udev" title="struct udev">udev</a>;
41 struct <a class="link" href="libudev-udev.html#udev" title="struct udev"><span class="returnvalue">udev</span></a> *       <a class="link" href="libudev-udev.html#udev-ref" title="udev_ref ()">udev_ref</a>                            (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);
42 <span class="returnvalue">void</span>                <a class="link" href="libudev-udev.html#udev-unref" title="udev_unref ()">udev_unref</a>                          (<em class="parameter"><code><span class="type">struct udev</span> *udev</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.html#udev-new" title="udev_new ()">udev_new</a>                            (<em class="parameter"><code><span class="type">void</span></code></em>);
44 <span class="returnvalue">void</span>                <a class="link" href="libudev-udev.html#udev-set-log-fn" title="udev_set_log_fn ()">udev_set_log_fn</a>                     (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
45                                                          <em class="parameter"><code><span class="type">void</span> (*log_fn) (struct udev *udev, int priority, const char *file, int line, const char *fn, const char *format, va_list args)</code></em>);
46 <span class="returnvalue">int</span>                 <a class="link" href="libudev-udev.html#udev-get-log-priority" title="udev_get_log_priority ()">udev_get_log_priority</a>               (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);
47 <span class="returnvalue">void</span>                <a class="link" href="libudev-udev.html#udev-set-log-priority" title="udev_set_log_priority ()">udev_set_log_priority</a>               (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
48                                                          <em class="parameter"><code><span class="type">int</span> priority</code></em>);
49 const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev.html#udev-get-sys-path" title="udev_get_sys_path ()">udev_get_sys_path</a>                   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);
50 const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev.html#udev-get-dev-path" title="udev_get_dev_path ()">udev_get_dev_path</a>                   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);
51 const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev.html#udev-get-run-path" title="udev_get_run_path ()">udev_get_run_path</a>                   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);
52 <span class="returnvalue">void</span> *              <a class="link" href="libudev-udev.html#udev-get-userdata" title="udev_get_userdata ()">udev_get_userdata</a>                   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);
53 <span class="returnvalue">void</span>                <a class="link" href="libudev-udev.html#udev-set-userdata" title="udev_set_userdata ()">udev_set_userdata</a>                   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
54                                                          <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);
55 </pre>
56 </div>
57 <div class="refsect1">
58 <a name="libudev-udev.description"></a><h2>Description</h2>
59 <p>
60 The context contains the default values read from the udev config file,
61 and is passed to all library operations.
62 </p>
63 </div>
64 <div class="refsect1">
65 <a name="libudev-udev.details"></a><h2>Details</h2>
66 <div class="refsect2">
67 <a name="udev"></a><h3>struct udev</h3>
68 <pre class="programlisting">struct udev;</pre>
69 <p>
70 Opaque object representing the library context.
71 </p>
72 </div>
73 <hr>
74 <div class="refsect2">
75 <a name="udev-ref"></a><h3>udev_ref ()</h3>
76 <pre class="programlisting">struct <a class="link" href="libudev-udev.html#udev" title="struct udev"><span class="returnvalue">udev</span></a> *       udev_ref                            (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);</pre>
77 <p>
78 Take a reference of the udev library context.
79 </p>
80 <div class="variablelist"><table border="0">
81 <col align="left" valign="top">
82 <tbody>
83 <tr>
84 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
85 <td>udev library context</td>
86 </tr>
87 <tr>
88 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
89 <td>the passed udev library context</td>
90 </tr>
91 </tbody>
92 </table></div>
93 </div>
94 <hr>
95 <div class="refsect2">
96 <a name="udev-unref"></a><h3>udev_unref ()</h3>
97 <pre class="programlisting"><span class="returnvalue">void</span>                udev_unref                          (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);</pre>
98 <p>
99 Drop a reference of the udev library context. If the refcount
100 reaches zero, the resources of the context will be released.
101 </p>
102 <div class="variablelist"><table border="0">
103 <col align="left" valign="top">
104 <tbody><tr>
105 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
106 <td>udev library context</td>
107 </tr></tbody>
108 </table></div>
109 </div>
110 <hr>
111 <div class="refsect2">
112 <a name="udev-new"></a><h3>udev_new ()</h3>
113 <pre class="programlisting">struct <a class="link" href="libudev-udev.html#udev" title="struct udev"><span class="returnvalue">udev</span></a> *       udev_new                            (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
114 <p>
115 Create udev library context. This reads the udev configuration
116 file, and fills in the default values.
117 </p>
118 <p>
119 The initial refcount is 1, and needs to be decremented to
120 release the resources of the udev library context.
121 </p>
122 <div class="variablelist"><table border="0">
123 <col align="left" valign="top">
124 <tbody><tr>
125 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
126 <td>a new udev library context</td>
127 </tr></tbody>
128 </table></div>
129 </div>
130 <hr>
131 <div class="refsect2">
132 <a name="udev-set-log-fn"></a><h3>udev_set_log_fn ()</h3>
133 <pre class="programlisting"><span class="returnvalue">void</span>                udev_set_log_fn                     (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
134                                                          <em class="parameter"><code><span class="type">void</span> (*log_fn) (struct udev *udev, int priority, const char *file, int line, const char *fn, const char *format, va_list args)</code></em>);</pre>
135 <p>
136 The built-in logging writes to stderr. It can be
137 overridden by a custom function, to plug log messages
138 into the users' logging functionality.
139 </p>
140 <div class="variablelist"><table border="0">
141 <col align="left" valign="top">
142 <tbody>
143 <tr>
144 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
145 <td>udev library context</td>
146 </tr>
147 <tr>
148 <td><p><span class="term"><em class="parameter"><code>log_fn</code></em> :</span></p></td>
149 <td>function to be called for logging messages</td>
150 </tr>
151 </tbody>
152 </table></div>
153 </div>
154 <hr>
155 <div class="refsect2">
156 <a name="udev-get-log-priority"></a><h3>udev_get_log_priority ()</h3>
157 <pre class="programlisting"><span class="returnvalue">int</span>                 udev_get_log_priority               (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);</pre>
158 <p>
159 The initial logging priority is read from the udev config file
160 at startup.
161 </p>
162 <div class="variablelist"><table border="0">
163 <col align="left" valign="top">
164 <tbody>
165 <tr>
166 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
167 <td>udev library context</td>
168 </tr>
169 <tr>
170 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
171 <td>the current logging priority</td>
172 </tr>
173 </tbody>
174 </table></div>
175 </div>
176 <hr>
177 <div class="refsect2">
178 <a name="udev-set-log-priority"></a><h3>udev_set_log_priority ()</h3>
179 <pre class="programlisting"><span class="returnvalue">void</span>                udev_set_log_priority               (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
180                                                          <em class="parameter"><code><span class="type">int</span> priority</code></em>);</pre>
181 <p>
182 Set the current logging priority. The value controls which messages
183 are logged.
184 </p>
185 <div class="variablelist"><table border="0">
186 <col align="left" valign="top">
187 <tbody>
188 <tr>
189 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
190 <td>udev library context</td>
191 </tr>
192 <tr>
193 <td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
194 <td>the new logging priority</td>
195 </tr>
196 </tbody>
197 </table></div>
198 </div>
199 <hr>
200 <div class="refsect2">
201 <a name="udev-get-sys-path"></a><h3>udev_get_sys_path ()</h3>
202 <pre class="programlisting">const <span class="returnvalue">char</span> *        udev_get_sys_path                   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);</pre>
203 <p>
204 Retrieve the sysfs mount point. The default is "/sys". For
205 testing purposes, it can be overridden with the environment
206 variable SYSFS_PATH.
207 </p>
208 <div class="variablelist"><table border="0">
209 <col align="left" valign="top">
210 <tbody>
211 <tr>
212 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
213 <td>udev library context</td>
214 </tr>
215 <tr>
216 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
217 <td>the sys mount point</td>
218 </tr>
219 </tbody>
220 </table></div>
221 </div>
222 <hr>
223 <div class="refsect2">
224 <a name="udev-get-dev-path"></a><h3>udev_get_dev_path ()</h3>
225 <pre class="programlisting">const <span class="returnvalue">char</span> *        udev_get_dev_path                   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);</pre>
226 <p>
227 Retrieve the device directory path. The default value is "/dev",
228 the actual value may be overridden in the udev configuration
229 file.
230 </p>
231 <div class="variablelist"><table border="0">
232 <col align="left" valign="top">
233 <tbody>
234 <tr>
235 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
236 <td>udev library context</td>
237 </tr>
238 <tr>
239 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
240 <td>the device directory path</td>
241 </tr>
242 </tbody>
243 </table></div>
244 </div>
245 <hr>
246 <div class="refsect2">
247 <a name="udev-get-run-path"></a><h3>udev_get_run_path ()</h3>
248 <pre class="programlisting">const <span class="returnvalue">char</span> *        udev_get_run_path                   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);</pre>
249 <p>
250 Retrieve the udev runtime directory path. The default is "/run/udev".
251 </p>
252 <div class="variablelist"><table border="0">
253 <col align="left" valign="top">
254 <tbody>
255 <tr>
256 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
257 <td>udev library context</td>
258 </tr>
259 <tr>
260 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
261 <td>the runtime directory path</td>
262 </tr>
263 </tbody>
264 </table></div>
265 </div>
266 <hr>
267 <div class="refsect2">
268 <a name="udev-get-userdata"></a><h3>udev_get_userdata ()</h3>
269 <pre class="programlisting"><span class="returnvalue">void</span> *              udev_get_userdata                   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);</pre>
270 <p>
271 Retrieve stored data pointer from library context. This might be useful
272 to access from callbacks like a custom logging function.
273 </p>
274 <div class="variablelist"><table border="0">
275 <col align="left" valign="top">
276 <tbody>
277 <tr>
278 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
279 <td>udev library context</td>
280 </tr>
281 <tr>
282 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
283 <td>stored userdata</td>
284 </tr>
285 </tbody>
286 </table></div>
287 </div>
288 <hr>
289 <div class="refsect2">
290 <a name="udev-set-userdata"></a><h3>udev_set_userdata ()</h3>
291 <pre class="programlisting"><span class="returnvalue">void</span>                udev_set_userdata                   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
292                                                          <em class="parameter"><code><span class="type">void</span> *userdata</code></em>);</pre>
293 <p>
294 Store custom <em class="parameter"><code>userdata</code></em> in the library context.
295 </p>
296 <div class="variablelist"><table border="0">
297 <col align="left" valign="top">
298 <tbody>
299 <tr>
300 <td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
301 <td>udev library context</td>
302 </tr>
303 <tr>
304 <td><p><span class="term"><em class="parameter"><code>userdata</code></em> :</span></p></td>
305 <td>data pointer</td>
306 </tr>
307 </tbody>
308 </table></div>
309 </div>
310 </div>
311 </div>
312 <div class="footer">
313 <hr>
314           Generated by GTK-Doc V1.18</div>
315 </body>
316 </html>