734052333c8563cfead4c7f41e82845b92c8890a
[lms] / www / api / lightmediascanner__process_8c.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>Light Media Scanner: src/lib/lightmediascanner_process.c File Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.2 -->
8 <div class="tabs">
9   <ul>
10     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11     <li><a href="modules.html"><span>Modules</span></a></li>
12     <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
13     <li class="current"><a href="files.html"><span>Files</span></a></li>
14   </ul>
15 </div>
16 <div class="tabs">
17   <ul>
18     <li><a href="files.html"><span>File&nbsp;List</span></a></li>
19     <li><a href="globals.html"><span>Globals</span></a></li>
20   </ul>
21 </div>
22 <h1>src/lib/lightmediascanner_process.c File Reference</h1><code>#include &lt;sys/wait.h&gt;</code><br>
23 <code>#include &lt;sys/stat.h&gt;</code><br>
24 <code>#include &lt;unistd.h&gt;</code><br>
25 <code>#include &lt;dirent.h&gt;</code><br>
26 <code>#include &lt;signal.h&gt;</code><br>
27 <code>#include &lt;stdio.h&gt;</code><br>
28 <code>#include &lt;stdlib.h&gt;</code><br>
29 <code>#include &lt;string.h&gt;</code><br>
30 <code>#include &quot;<a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>&quot;</code><br>
31 <code>#include &quot;<a class="el" href="lightmediascanner__private_8h-source.html">lightmediascanner_private.h</a>&quot;</code><br>
32 <code>#include &quot;<a class="el" href="lightmediascanner__db__private_8h-source.html">lightmediascanner_db_private.h</a>&quot;</code><br>
33
34 <p>
35 Include dependency graph for lightmediascanner_process.c:<p><center><img src="lightmediascanner__process_8c__incl.png" border="0" usemap="#src/lib/lightmediascanner_process.c_map" alt=""></center>
36 <map name="src/lib/lightmediascanner_process.c_map">
37 <area shape="rect" href="lightmediascanner_8h.html" title="lightmediascanner.h" alt="" coords="768,461,896,488"><area shape="rect" href="lightmediascanner__private_8h.html" title="lightmediascanner_private.h" alt="" coords="277,588,451,615"><area shape="rect" href="lightmediascanner__db__private_8h.html" title="lightmediascanner_db_private.h" alt="" coords="268,765,460,792"><area shape="rect" href="lightmediascanner__plugin_8h.html" title="lightmediascanner_plugin.h" alt="" coords="511,715,679,741"><area shape="rect" href="lightmediascanner__charset__conv_8h.html" title="lightmediascanner_charset_conv.h" alt="" coords="729,588,935,615"></map>
38
39 <p>
40 <a href="lightmediascanner__process_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
41 <tr><td></td></tr>
42 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
43 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#369266c24eacffb87046522897a570d5">_GNU_SOURCE</a></td></tr>
44
45 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
46 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#c321bebfc5c24cbbac30031202c460e9">lms_parsers_setup</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, sqlite3 *db)</td></tr>
47
48 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#6e02f78f026b2ad282184476dca13e45">lms_parsers_start</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, sqlite3 *db)</td></tr>
49
50 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#d002464442b08826a1da920bdf4957b7">lms_parsers_finish</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, sqlite3 *db)</td></tr>
51
52 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#f2e95cea50ce24774d2f5ed7d8c8f41c">lms_parsers_check_using</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, void **parser_match, struct <a class="el" href="structlms__file__info.html">lms_file_info</a> *finfo)</td></tr>
53
54 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#4ab78dfbf29822d91472d18dd7424e77">lms_parsers_run</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, sqlite3 *db, void **parser_match, struct <a class="el" href="structlms__file__info.html">lms_file_info</a> *finfo)</td></tr>
55
56 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#6b68b00b80a98a178c7d69b962267a11">lms_close_pipes</a> (struct <a class="el" href="structpinfo.html">pinfo</a> *<a class="el" href="structpinfo.html">pinfo</a>)</td></tr>
57
58 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#c2e1320b9770e0f522451b13f82efc2b">lms_create_pipes</a> (struct <a class="el" href="structpinfo.html">pinfo</a> *<a class="el" href="structpinfo.html">pinfo</a>)</td></tr>
59
60 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#e92fe8fe90d93d5ad9a42387a4b2fc6e">lms_create_slave</a> (struct <a class="el" href="structpinfo.html">pinfo</a> *<a class="el" href="structpinfo.html">pinfo</a>, int(*work)(<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, struct <a class="el" href="structfds.html">fds</a> *<a class="el" href="structfds.html">fds</a>))</td></tr>
61
62 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#9f980636d608c6af99477ba37e196050">lms_finish_slave</a> (struct <a class="el" href="structpinfo.html">pinfo</a> *<a class="el" href="structpinfo.html">pinfo</a>, int(*finish)(const struct <a class="el" href="structfds.html">fds</a> *<a class="el" href="structfds.html">fds</a>))</td></tr>
63
64 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#9bf510645947b478dab39f633bbd35f3">lms_restart_slave</a> (struct <a class="el" href="structpinfo.html">pinfo</a> *<a class="el" href="structpinfo.html">pinfo</a>, int(*work)(<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, struct <a class="el" href="structfds.html">fds</a> *<a class="el" href="structfds.html">fds</a>))</td></tr>
65
66 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#c2f07fb73717514237862c98dbf023b2">lms_process</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *top_path)</td></tr>
67
68 </table>
69 <hr><h2>Define Documentation</h2>
70 <a class="anchor" name="369266c24eacffb87046522897a570d5"></a><!-- doxytag: member="lightmediascanner_process.c::_GNU_SOURCE" ref="369266c24eacffb87046522897a570d5" args="" -->
71 <div class="memitem">
72 <div class="memproto">
73       <table class="memname">
74         <tr>
75           <td class="memname">#define _GNU_SOURCE          </td>
76         </tr>
77       </table>
78 </div>
79 <div class="memdoc">
80
81 <p>
82 Copyright (C) 2007 by INdT<p>
83 This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.<p>
84 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.<p>
85 You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.<p>
86 <dl class="author" compact><dt><b>Author:</b></dt><dd>Gustavo Sverzut Barbieri &lt;<a href="mailto:gustavo.barbieri@openbossa.org">gustavo.barbieri@openbossa.org</a>&gt; </dd></dl>
87
88 <p>
89 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00025">25</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
90 </div>
91 </div><p>
92 <hr><h2>Function Documentation</h2>
93 <a class="anchor" name="6b68b00b80a98a178c7d69b962267a11"></a><!-- doxytag: member="lightmediascanner_process.c::lms_close_pipes" ref="6b68b00b80a98a178c7d69b962267a11" args="(struct pinfo *pinfo)" -->
94 <div class="memitem">
95 <div class="memproto">
96       <table class="memname">
97         <tr>
98           <td class="memname">int lms_close_pipes           </td>
99           <td>(</td>
100           <td class="paramtype">struct <a class="el" href="structpinfo.html">pinfo</a> *&nbsp;</td>
101           <td class="paramname"> <em>pinfo</em>          </td>
102           <td>&nbsp;)&nbsp;</td>
103           <td width="100%"></td>
104         </tr>
105       </table>
106 </div>
107 <div class="memdoc">
108
109 <p>
110
111 <p>
112 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00566">566</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
113 <p>
114 References <a class="el" href="lightmediascanner__private_8h-source.html#l00051">pinfo::master</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00052">pinfo::slave</a>.
115 <p>
116 Referenced by <a class="el" href="lightmediascanner__check_8c-source.html#l00618">lms_check()</a>, and <a class="el" href="lightmediascanner__process_8c-source.html#l00821">lms_process()</a>.
117 </div>
118 </div><p>
119 <a class="anchor" name="c2e1320b9770e0f522451b13f82efc2b"></a><!-- doxytag: member="lightmediascanner_process.c::lms_create_pipes" ref="c2e1320b9770e0f522451b13f82efc2b" args="(struct pinfo *pinfo)" -->
120 <div class="memitem">
121 <div class="memproto">
122       <table class="memname">
123         <tr>
124           <td class="memname">int lms_create_pipes           </td>
125           <td>(</td>
126           <td class="paramtype">struct <a class="el" href="structpinfo.html">pinfo</a> *&nbsp;</td>
127           <td class="paramname"> <em>pinfo</em>          </td>
128           <td>&nbsp;)&nbsp;</td>
129           <td width="100%"></td>
130         </tr>
131       </table>
132 </div>
133 <div class="memdoc">
134
135 <p>
136
137 <p>
138 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00577">577</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
139 <p>
140 References <a class="el" href="lightmediascanner__private_8h-source.html#l00051">pinfo::master</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00053">pinfo::poll</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00045">fds::r</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00052">pinfo::slave</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00046">fds::w</a>.
141 <p>
142 Referenced by <a class="el" href="lightmediascanner__check_8c-source.html#l00618">lms_check()</a>, and <a class="el" href="lightmediascanner__process_8c-source.html#l00821">lms_process()</a>.
143 </div>
144 </div><p>
145 <a class="anchor" name="e92fe8fe90d93d5ad9a42387a4b2fc6e"></a><!-- doxytag: member="lightmediascanner_process.c::lms_create_slave" ref="e92fe8fe90d93d5ad9a42387a4b2fc6e" args="(struct pinfo *pinfo, int(*work)(lms_t *lms, struct fds *fds))" -->
146 <div class="memitem">
147 <div class="memproto">
148       <table class="memname">
149         <tr>
150           <td class="memname">int lms_create_slave           </td>
151           <td>(</td>
152           <td class="paramtype">struct <a class="el" href="structpinfo.html">pinfo</a> *&nbsp;</td>
153           <td class="paramname"> <em>pinfo</em>, </td>
154         </tr>
155         <tr>
156           <td class="paramkey"></td>
157           <td></td>
158           <td class="paramtype">int(*)(<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, struct <a class="el" href="structfds.html">fds</a> *<a class="el" href="structfds.html">fds</a>)&nbsp;</td>
159           <td class="paramname"> <em>work</em></td><td>&nbsp;</td>
160         </tr>
161         <tr>
162           <td></td>
163           <td>)</td>
164           <td></td><td></td><td width="100%"></td>
165         </tr>
166       </table>
167 </div>
168 <div class="memdoc">
169
170 <p>
171
172 <p>
173 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00604">604</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
174 <p>
175 References <a class="el" href="lightmediascanner__private_8h-source.html#l00055">pinfo::child</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00054">pinfo::lms</a>, <a class="el" href="lightmediascanner_8c-source.html#l00157">lms_free()</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00051">pinfo::master</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00052">pinfo::slave</a>.
176 <p>
177 Here is the call graph for this function:<p><center><img src="lightmediascanner__process_8c_e92fe8fe90d93d5ad9a42387a4b2fc6e_cgraph.png" border="0" usemap="#lightmediascanner__process_8c_e92fe8fe90d93d5ad9a42387a4b2fc6e_cgraph_map" alt=""></center>
178 <map name="lightmediascanner__process_8c_e92fe8fe90d93d5ad9a42387a4b2fc6e_cgraph_map">
179 <area shape="rect" href="group__LMS__API.html#gf15f3b0f7de2113155a360df989b7687" title="lms_free" alt="" coords="169,5,236,32"><area shape="rect" href="group__LMS__CHARSET.html#g960ce31bca428212abdd60c12b878091" title="lms_charset_conv_free" alt="" coords="287,5,431,32"></map>
180
181 </div>
182 </div><p>
183 <a class="anchor" name="9f980636d608c6af99477ba37e196050"></a><!-- doxytag: member="lightmediascanner_process.c::lms_finish_slave" ref="9f980636d608c6af99477ba37e196050" args="(struct pinfo *pinfo, int(*finish)(const struct fds *fds))" -->
184 <div class="memitem">
185 <div class="memproto">
186       <table class="memname">
187         <tr>
188           <td class="memname">int lms_finish_slave           </td>
189           <td>(</td>
190           <td class="paramtype">struct <a class="el" href="structpinfo.html">pinfo</a> *&nbsp;</td>
191           <td class="paramname"> <em>pinfo</em>, </td>
192         </tr>
193         <tr>
194           <td class="paramkey"></td>
195           <td></td>
196           <td class="paramtype">int(*)(const struct <a class="el" href="structfds.html">fds</a> *<a class="el" href="structfds.html">fds</a>)&nbsp;</td>
197           <td class="paramname"> <em>finish</em></td><td>&nbsp;</td>
198         </tr>
199         <tr>
200           <td></td>
201           <td>)</td>
202           <td></td><td></td><td width="100%"></td>
203         </tr>
204       </table>
205 </div>
206 <div class="memdoc">
207
208 <p>
209
210 <p>
211 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00641">641</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
212 <p>
213 References <a class="el" href="lightmediascanner__private_8h-source.html#l00055">pinfo::child</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00051">pinfo::master</a>.
214 </div>
215 </div><p>
216 <a class="anchor" name="f2e95cea50ce24774d2f5ed7d8c8f41c"></a><!-- doxytag: member="lightmediascanner_process.c::lms_parsers_check_using" ref="f2e95cea50ce24774d2f5ed7d8c8f41c" args="(lms_t *lms, void **parser_match, struct lms_file_info *finfo)" -->
217 <div class="memitem">
218 <div class="memproto">
219       <table class="memname">
220         <tr>
221           <td class="memname">int lms_parsers_check_using           </td>
222           <td>(</td>
223           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
224           <td class="paramname"> <em>lms</em>, </td>
225         </tr>
226         <tr>
227           <td class="paramkey"></td>
228           <td></td>
229           <td class="paramtype">void **&nbsp;</td>
230           <td class="paramname"> <em>parser_match</em>, </td>
231         </tr>
232         <tr>
233           <td class="paramkey"></td>
234           <td></td>
235           <td class="paramtype">struct <a class="el" href="structlms__file__info.html">lms_file_info</a> *&nbsp;</td>
236           <td class="paramname"> <em>finfo</em></td><td>&nbsp;</td>
237         </tr>
238         <tr>
239           <td></td>
240           <td>)</td>
241           <td></td><td></td><td width="100%"></td>
242         </tr>
243       </table>
244 </div>
245 <div class="memdoc">
246
247 <p>
248
249 <p>
250 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00367">367</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
251 <p>
252 References <a class="el" href="lightmediascanner__plugin_8h-source.html#l00136">lms_file_info::base</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00157">lms_plugin::match</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00066">lms::n_parsers</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00065">lms::parsers</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00134">lms_file_info::path</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00135">lms_file_info::path_len</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00059">parser::plugin</a>.
253 </div>
254 </div><p>
255 <a class="anchor" name="d002464442b08826a1da920bdf4957b7"></a><!-- doxytag: member="lightmediascanner_process.c::lms_parsers_finish" ref="d002464442b08826a1da920bdf4957b7" args="(lms_t *lms, sqlite3 *db)" -->
256 <div class="memitem">
257 <div class="memproto">
258       <table class="memname">
259         <tr>
260           <td class="memname">int lms_parsers_finish           </td>
261           <td>(</td>
262           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
263           <td class="paramname"> <em>lms</em>, </td>
264         </tr>
265         <tr>
266           <td class="paramkey"></td>
267           <td></td>
268           <td class="paramtype">sqlite3 *&nbsp;</td>
269           <td class="paramname"> <em>db</em></td><td>&nbsp;</td>
270         </tr>
271         <tr>
272           <td></td>
273           <td>)</td>
274           <td></td><td></td><td width="100%"></td>
275         </tr>
276       </table>
277 </div>
278 <div class="memdoc">
279
280 <p>
281
282 <p>
283 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00345">345</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
284 <p>
285 References <a class="el" href="lightmediascanner__plugin_8h-source.html#l00162">lms_plugin::finish</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00066">lms::n_parsers</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00065">lms::parsers</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00059">parser::plugin</a>.
286 </div>
287 </div><p>
288 <a class="anchor" name="4ab78dfbf29822d91472d18dd7424e77"></a><!-- doxytag: member="lightmediascanner_process.c::lms_parsers_run" ref="4ab78dfbf29822d91472d18dd7424e77" args="(lms_t *lms, sqlite3 *db, void **parser_match, struct lms_file_info *finfo)" -->
289 <div class="memitem">
290 <div class="memproto">
291       <table class="memname">
292         <tr>
293           <td class="memname">int lms_parsers_run           </td>
294           <td>(</td>
295           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
296           <td class="paramname"> <em>lms</em>, </td>
297         </tr>
298         <tr>
299           <td class="paramkey"></td>
300           <td></td>
301           <td class="paramtype">sqlite3 *&nbsp;</td>
302           <td class="paramname"> <em>db</em>, </td>
303         </tr>
304         <tr>
305           <td class="paramkey"></td>
306           <td></td>
307           <td class="paramtype">void **&nbsp;</td>
308           <td class="paramname"> <em>parser_match</em>, </td>
309         </tr>
310         <tr>
311           <td class="paramkey"></td>
312           <td></td>
313           <td class="paramtype">struct <a class="el" href="structlms__file__info.html">lms_file_info</a> *&nbsp;</td>
314           <td class="paramname"> <em>finfo</em></td><td>&nbsp;</td>
315         </tr>
316         <tr>
317           <td></td>
318           <td>)</td>
319           <td></td><td></td><td width="100%"></td>
320         </tr>
321       </table>
322 </div>
323 <div class="memdoc">
324
325 <p>
326
327 <p>
328 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00387">387</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
329 <p>
330 References <a class="el" href="lightmediascanner__private_8h-source.html#l00066">lms::n_parsers</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00158">lms_plugin::parse</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00065">lms::parsers</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00059">parser::plugin</a>.
331 </div>
332 </div><p>
333 <a class="anchor" name="c321bebfc5c24cbbac30031202c460e9"></a><!-- doxytag: member="lightmediascanner_process.c::lms_parsers_setup" ref="c321bebfc5c24cbbac30031202c460e9" args="(lms_t *lms, sqlite3 *db)" -->
334 <div class="memitem">
335 <div class="memproto">
336       <table class="memname">
337         <tr>
338           <td class="memname">int lms_parsers_setup           </td>
339           <td>(</td>
340           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
341           <td class="paramname"> <em>lms</em>, </td>
342         </tr>
343         <tr>
344           <td class="paramkey"></td>
345           <td></td>
346           <td class="paramtype">sqlite3 *&nbsp;</td>
347           <td class="paramname"> <em>db</em></td><td>&nbsp;</td>
348         </tr>
349         <tr>
350           <td></td>
351           <td>)</td>
352           <td></td><td></td><td width="100%"></td>
353         </tr>
354       </table>
355 </div>
356 <div class="memdoc">
357
358 <p>
359
360 <p>
361 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00293">293</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
362 <p>
363 References <a class="el" href="lightmediascanner_8c-source.html#l00249">lms_parser_del_int()</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00066">lms::n_parsers</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00065">lms::parsers</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00059">parser::plugin</a>, and <a class="el" href="lightmediascanner__plugin_8h-source.html#l00160">lms_plugin::setup</a>.
364 <p>
365 Here is the call graph for this function:<p><center><img src="lightmediascanner__process_8c_c321bebfc5c24cbbac30031202c460e9_cgraph.png" border="0" usemap="#lightmediascanner__process_8c_c321bebfc5c24cbbac30031202c460e9_cgraph_map" alt=""></center>
366 <map name="lightmediascanner__process_8c_c321bebfc5c24cbbac30031202c460e9_cgraph_map">
367 <area shape="rect" href="lightmediascanner_8c.html#e6ccb942742cf65cc1cf866aceb4bddf" title="lms_parser_del_int" alt="" coords="175,5,297,32"></map>
368
369 </div>
370 </div><p>
371 <a class="anchor" name="6e02f78f026b2ad282184476dca13e45"></a><!-- doxytag: member="lightmediascanner_process.c::lms_parsers_start" ref="6e02f78f026b2ad282184476dca13e45" args="(lms_t *lms, sqlite3 *db)" -->
372 <div class="memitem">
373 <div class="memproto">
374       <table class="memname">
375         <tr>
376           <td class="memname">int lms_parsers_start           </td>
377           <td>(</td>
378           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
379           <td class="paramname"> <em>lms</em>, </td>
380         </tr>
381         <tr>
382           <td class="paramkey"></td>
383           <td></td>
384           <td class="paramtype">sqlite3 *&nbsp;</td>
385           <td class="paramname"> <em>db</em></td><td>&nbsp;</td>
386         </tr>
387         <tr>
388           <td></td>
389           <td>)</td>
390           <td></td><td></td><td width="100%"></td>
391         </tr>
392       </table>
393 </div>
394 <div class="memdoc">
395
396 <p>
397
398 <p>
399 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00319">319</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
400 <p>
401 References <a class="el" href="lightmediascanner_8c-source.html#l00249">lms_parser_del_int()</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00066">lms::n_parsers</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00065">lms::parsers</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00059">parser::plugin</a>, and <a class="el" href="lightmediascanner__plugin_8h-source.html#l00161">lms_plugin::start</a>.
402 <p>
403 Here is the call graph for this function:<p><center><img src="lightmediascanner__process_8c_6e02f78f026b2ad282184476dca13e45_cgraph.png" border="0" usemap="#lightmediascanner__process_8c_6e02f78f026b2ad282184476dca13e45_cgraph_map" alt=""></center>
404 <map name="lightmediascanner__process_8c_6e02f78f026b2ad282184476dca13e45_cgraph_map">
405 <area shape="rect" href="lightmediascanner_8c.html#e6ccb942742cf65cc1cf866aceb4bddf" title="lms_parser_del_int" alt="" coords="169,5,292,32"></map>
406
407 </div>
408 </div><p>
409 <a class="anchor" name="c2f07fb73717514237862c98dbf023b2"></a><!-- doxytag: member="lightmediascanner_process.c::lms_process" ref="c2f07fb73717514237862c98dbf023b2" args="(lms_t *lms, const char *top_path)" -->
410 <div class="memitem">
411 <div class="memproto">
412       <table class="memname">
413         <tr>
414           <td class="memname">int lms_process           </td>
415           <td>(</td>
416           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
417           <td class="paramname"> <em>lms</em>, </td>
418         </tr>
419         <tr>
420           <td class="paramkey"></td>
421           <td></td>
422           <td class="paramtype">const char *&nbsp;</td>
423           <td class="paramname"> <em>top_path</em></td><td>&nbsp;</td>
424         </tr>
425         <tr>
426           <td></td>
427           <td>)</td>
428           <td></td><td></td><td width="100%"></td>
429         </tr>
430       </table>
431 </div>
432 <div class="memdoc">
433
434 <p>
435 Process the given directory.<p>
436 This will add or update media found in the given directory or its children.<p>
437 <dl compact><dt><b>Parameters:</b></dt><dd>
438   <table border="0" cellspacing="2" cellpadding="0">
439     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance. </td></tr>
440     <tr><td valign="top"></td><td valign="top"><em>top_path</em>&nbsp;</td><td>top directory to scan.</td></tr>
441   </table>
442 </dl>
443 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
444
445 <p>
446 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00821">821</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
447 <p>
448 References <a class="el" href="lightmediascanner__private_8h-source.html#l00071">lms::is_processing</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00054">pinfo::lms</a>, <a class="el" href="lightmediascanner__process_8c-source.html#l00566">lms_close_pipes()</a>, <a class="el" href="lightmediascanner__process_8c-source.html#l00577">lms_create_pipes()</a>, <a class="el" href="lightmediascanner__private_8h.html#439b3c62e96d472bdb2125a0a04d4fa6">lms_create_slave()</a>, <a class="el" href="lightmediascanner__private_8h.html#dd3853bb333e8bee167477933a058ae5">lms_finish_slave()</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00065">lms::parsers</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00042">PATH_SIZE</a>.
449 <p>
450 Here is the call graph for this function:<p><center><img src="lightmediascanner__process_8c_c2f07fb73717514237862c98dbf023b2_cgraph.png" border="0" usemap="#lightmediascanner__process_8c_c2f07fb73717514237862c98dbf023b2_cgraph_map" alt=""></center>
451 <map name="lightmediascanner__process_8c_c2f07fb73717514237862c98dbf023b2_cgraph_map">
452 <area shape="rect" href="lightmediascanner__private_8h.html#8c1aa0a9d9bb796db279caeb97e04eed" title="lms_close_pipes" alt="" coords="144,5,253,32"><area shape="rect" href="lightmediascanner__private_8h.html#a5952b7aae2fa795396a5a286c2ee4a4" title="lms_create_pipes" alt="" coords="143,56,255,83"><area shape="rect" href="lightmediascanner__private_8h.html#439b3c62e96d472bdb2125a0a04d4fa6" title="lms_create_slave" alt="" coords="143,107,255,133"><area shape="rect" href="lightmediascanner__private_8h.html#dd3853bb333e8bee167477933a058ae5" title="lms_finish_slave" alt="" coords="143,157,255,184"></map>
453
454 </div>
455 </div><p>
456 <a class="anchor" name="9bf510645947b478dab39f633bbd35f3"></a><!-- doxytag: member="lightmediascanner_process.c::lms_restart_slave" ref="9bf510645947b478dab39f633bbd35f3" args="(struct pinfo *pinfo, int(*work)(lms_t *lms, struct fds *fds))" -->
457 <div class="memitem">
458 <div class="memproto">
459       <table class="memname">
460         <tr>
461           <td class="memname">int lms_restart_slave           </td>
462           <td>(</td>
463           <td class="paramtype">struct <a class="el" href="structpinfo.html">pinfo</a> *&nbsp;</td>
464           <td class="paramname"> <em>pinfo</em>, </td>
465         </tr>
466         <tr>
467           <td class="paramkey"></td>
468           <td></td>
469           <td class="paramtype">int(*)(<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, struct <a class="el" href="structfds.html">fds</a> *<a class="el" href="structfds.html">fds</a>)&nbsp;</td>
470           <td class="paramname"> <em>work</em></td><td>&nbsp;</td>
471         </tr>
472         <tr>
473           <td></td>
474           <td>)</td>
475           <td></td><td></td><td width="100%"></td>
476         </tr>
477       </table>
478 </div>
479 <div class="memdoc">
480
481 <p>
482
483 <p>
484 Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00664">664</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.
485 <p>
486 References <a class="el" href="lightmediascanner__private_8h-source.html#l00055">pinfo::child</a>, <a class="el" href="lightmediascanner__private_8h.html#439b3c62e96d472bdb2125a0a04d4fa6">lms_create_slave()</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00053">pinfo::poll</a>.
487 <p>
488 Here is the call graph for this function:<p><center><img src="lightmediascanner__process_8c_9bf510645947b478dab39f633bbd35f3_cgraph.png" border="0" usemap="#lightmediascanner__process_8c_9bf510645947b478dab39f633bbd35f3_cgraph_map" alt=""></center>
489 <map name="lightmediascanner__process_8c_9bf510645947b478dab39f633bbd35f3_cgraph_map">
490 <area shape="rect" href="lightmediascanner__private_8h.html#439b3c62e96d472bdb2125a0a04d4fa6" title="lms_create_slave" alt="" coords="169,5,281,32"></map>
491
492 </div>
493 </div><p>
494 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Dec 13 02:04:05 2007 for Light Media Scanner by&nbsp;
495 <a href="http://www.doxygen.org/index.html">
496 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
497 </body>
498 </html>