add new api docs.
[lms] / www / api / lightmediascanner__process_8c.html
diff --git a/www/api/lightmediascanner__process_8c.html b/www/api/lightmediascanner__process_8c.html
new file mode 100644 (file)
index 0000000..b753481
--- /dev/null
@@ -0,0 +1,584 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>Light Media Scanner: src/lib/lightmediascanner_process.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.8 -->
+<div class="navigation" id="top">
+  <div class="tabs">
+    <ul>
+      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs">
+    <ul>
+      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+      <li><a href="globals.html"><span>Globals</span></a></li>
+    </ul>
+  </div>
+</div>
+<div class="contents">
+<h1>src/lib/lightmediascanner_process.c File Reference</h1><code>#include &lt;sys/wait.h&gt;</code><br>
+<code>#include &lt;sys/stat.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;dirent.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;string.h&gt;</code><br>
+<code>#include &quot;<a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="lightmediascanner__private_8h-source.html">lightmediascanner_private.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="lightmediascanner__db__private_8h-source.html">lightmediascanner_db_private.h</a>&quot;</code><br>
+
+<p>
+<div class="dynheader">
+Include dependency graph for lightmediascanner_process.c:</div>
+<div class="dynsection">
+</div>
+
+<p>
+<a href="lightmediascanner__process_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<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>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<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>
+
+<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>
+
+<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>
+
+<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>
+
+<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>
+
+<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>
+
+<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>
+
+<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>
+
+<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>
+
+<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>
+
+<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>
+
+<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#5db83cefb7a50bbecea9de26a6ef1c2c">lms_process_single_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>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__process_8c.html#36d624baae0531c20e716c88a82e0aaf">lms_stop_processing</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>)</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="369266c24eacffb87046522897a570d5"></a><!-- doxytag: member="lightmediascanner_process.c::_GNU_SOURCE" ref="369266c24eacffb87046522897a570d5" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define _GNU_SOURCE          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Copyright (C) 2007 by INdT<p>
+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>
+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>
+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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.<p>
+<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>
+
+<p>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>.</p>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="6b68b00b80a98a178c7d69b962267a11"></a><!-- doxytag: member="lightmediascanner_process.c::lms_close_pipes" ref="6b68b00b80a98a178c7d69b962267a11" args="(struct pinfo *pinfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_close_pipes           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structpinfo.html">pinfo</a> *&nbsp;</td>
+          <td class="paramname"> <em>pinfo</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00596">596</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00057">pinfo::master</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00058">pinfo::slave</a>.</p>
+
+<p>Referenced by <a class="el" href="lightmediascanner__check_8c-source.html#l00900">lms_check()</a>, and <a class="el" href="lightmediascanner__process_8c-source.html#l01005">lms_process()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c2e1320b9770e0f522451b13f82efc2b"></a><!-- doxytag: member="lightmediascanner_process.c::lms_create_pipes" ref="c2e1320b9770e0f522451b13f82efc2b" args="(struct pinfo *pinfo)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_create_pipes           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structpinfo.html">pinfo</a> *&nbsp;</td>
+          <td class="paramname"> <em>pinfo</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00607">607</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00057">pinfo::master</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00059">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#l00058">pinfo::slave</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00046">fds::w</a>.</p>
+
+<p>Referenced by <a class="el" href="lightmediascanner__check_8c-source.html#l00900">lms_check()</a>, and <a class="el" href="lightmediascanner__process_8c-source.html#l01005">lms_process()</a>.</p>
+
+</div>
+</div><p>
+<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))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_create_slave           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structpinfo.html">pinfo</a> *&nbsp;</td>
+          <td class="paramname"> <em>pinfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <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>
+          <td class="paramname"> <em>work</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00634">634</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00056">pinfo::child</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00055">pinfo::common</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00050">cinfo::lms</a>, <a class="el" href="lightmediascanner_8c-source.html#l00159">lms_free()</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00057">pinfo::master</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00058">pinfo::slave</a>.</p>
+
+<p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dynsection">
+</div>
+
+</div>
+</div><p>
+<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))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_finish_slave           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structpinfo.html">pinfo</a> *&nbsp;</td>
+          <td class="paramname"> <em>pinfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int(*)(const struct <a class="el" href="structfds.html">fds</a> *<a class="el" href="structfds.html">fds</a>)&nbsp;</td>
+          <td class="paramname"> <em>finish</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00671">671</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00056">pinfo::child</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00057">pinfo::master</a>.</p>
+
+</div>
+</div><p>
+<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)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_parsers_check_using           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>lms</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void **&nbsp;</td>
+          <td class="paramname"> <em>parser_match</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structlms__file__info.html">lms_file_info</a> *&nbsp;</td>
+          <td class="paramname"> <em>finfo</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>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>.</p>
+
+<p>References <a class="el" href="lightmediascanner__plugin_8h-source.html#l00148">lms_file_info::base</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00169">lms_plugin::match</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00078">lms::n_parsers</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00077">lms::parsers</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00146">lms_file_info::path</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00147">lms_file_info::path_len</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00071">parser::plugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d002464442b08826a1da920bdf4957b7"></a><!-- doxytag: member="lightmediascanner_process.c::lms_parsers_finish" ref="d002464442b08826a1da920bdf4957b7" args="(lms_t *lms, sqlite3 *db)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_parsers_finish           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>lms</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">sqlite3 *&nbsp;</td>
+          <td class="paramname"> <em>db</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>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>.</p>
+
+<p>References <a class="el" href="lightmediascanner__plugin_8h-source.html#l00174">lms_plugin::finish</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00078">lms::n_parsers</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00168">lms_plugin::name</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00077">lms::parsers</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00071">parser::plugin</a>.</p>
+
+</div>
+</div><p>
+<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)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_parsers_run           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>lms</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">sqlite3 *&nbsp;</td>
+          <td class="paramname"> <em>db</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void **&nbsp;</td>
+          <td class="paramname"> <em>parser_match</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">struct <a class="el" href="structlms__file__info.html">lms_file_info</a> *&nbsp;</td>
+          <td class="paramname"> <em>finfo</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>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>.</p>
+
+<p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00078">lms::n_parsers</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00170">lms_plugin::parse</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00077">lms::parsers</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00071">parser::plugin</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="c321bebfc5c24cbbac30031202c460e9"></a><!-- doxytag: member="lightmediascanner_process.c::lms_parsers_setup" ref="c321bebfc5c24cbbac30031202c460e9" args="(lms_t *lms, sqlite3 *db)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_parsers_setup           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>lms</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">sqlite3 *&nbsp;</td>
+          <td class="paramname"> <em>db</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>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>.</p>
+
+<p>References <a class="el" href="lightmediascanner__plugin_8h-source.html#l00174">lms_plugin::finish</a>, <a class="el" href="lightmediascanner_8c-source.html#l00294">lms_parser_del_int()</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00078">lms::n_parsers</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00168">lms_plugin::name</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00077">lms::parsers</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00071">parser::plugin</a>, and <a class="el" href="lightmediascanner__plugin_8h-source.html#l00172">lms_plugin::setup</a>.</p>
+
+<p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dynsection">
+</div>
+
+</div>
+</div><p>
+<a class="anchor" name="6e02f78f026b2ad282184476dca13e45"></a><!-- doxytag: member="lightmediascanner_process.c::lms_parsers_start" ref="6e02f78f026b2ad282184476dca13e45" args="(lms_t *lms, sqlite3 *db)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_parsers_start           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>lms</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">sqlite3 *&nbsp;</td>
+          <td class="paramname"> <em>db</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>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>.</p>
+
+<p>References <a class="el" href="lightmediascanner__plugin_8h-source.html#l00174">lms_plugin::finish</a>, <a class="el" href="lightmediascanner_8c-source.html#l00294">lms_parser_del_int()</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00078">lms::n_parsers</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00168">lms_plugin::name</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00077">lms::parsers</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00071">parser::plugin</a>, and <a class="el" href="lightmediascanner__plugin_8h-source.html#l00173">lms_plugin::start</a>.</p>
+
+<p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dynsection">
+</div>
+
+</div>
+</div><p>
+<a class="anchor" name="c2f07fb73717514237862c98dbf023b2"></a><!-- doxytag: member="lightmediascanner_process.c::lms_process" ref="c2f07fb73717514237862c98dbf023b2" args="(lms_t *lms, const char *top_path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_process           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>lms</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>top_path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Process the given directory.<p>
+This will add or update media found in the given directory or its children.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <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>
+    <tr><td valign="top"></td><td valign="top"><em>top_path</em>&nbsp;</td><td>top directory to scan.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
+
+<p>Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l01005">1005</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00055">pinfo::common</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00050">cinfo::lms</a>, <a class="el" href="lightmediascanner__process_8c-source.html#l00596">lms_close_pipes()</a>, <a class="el" href="lightmediascanner__process_8c-source.html#l00607">lms_create_pipes()</a>, <a class="el" href="lightmediascanner__private_8h.html#439b3c62e96d472bdb2125a0a04d4fa6">lms_create_slave()</a>, and <a class="el" href="lightmediascanner__private_8h.html#dd3853bb333e8bee167477933a058ae5">lms_finish_slave()</a>.</p>
+
+<p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dynsection">
+</div>
+
+</div>
+</div><p>
+<a class="anchor" name="5db83cefb7a50bbecea9de26a6ef1c2c"></a><!-- doxytag: member="lightmediascanner_process.c::lms_process_single_process" ref="5db83cefb7a50bbecea9de26a6ef1c2c" args="(lms_t *lms, const char *top_path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_process_single_process           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>lms</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>top_path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Process the given directory *without fork()-ing* into child process.<p>
+This will add or update media found in the given directory or its children. Note that if a <a class="el" href="structparser.html">parser</a> hangs during the process, this call will also hang.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <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>
+    <tr><td valign="top"></td><td valign="top"><em>top_path</em>&nbsp;</td><td>top directory to scan.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
+
+<p>Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l01047">1047</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00067">sinfo::commit_counter</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00064">sinfo::common</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00065">sinfo::db</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00050">cinfo::lms</a>, <a class="el" href="lightmediascanner__db__common_8c-source.html#l00532">lms_db_begin_transaction()</a>, <a class="el" href="lightmediascanner__db__common_8c-source.html#l00559">lms_db_end_transaction()</a>, <a class="el" href="lightmediascanner__private_8h.html#74adcb264b3092f3ae9249de93f9130f">lms_parsers_finish()</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00066">sinfo::parser_match</a>.</p>
+
+<p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dynsection">
+</div>
+
+</div>
+</div><p>
+<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))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int lms_restart_slave           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structpinfo.html">pinfo</a> *&nbsp;</td>
+          <td class="paramname"> <em>pinfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <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>
+          <td class="paramname"> <em>work</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l00694">694</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00056">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#l00059">pinfo::poll</a>.</p>
+
+<p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dynsection">
+</div>
+
+</div>
+</div><p>
+<a class="anchor" name="36d624baae0531c20e716c88a82e0aaf"></a><!-- doxytag: member="lightmediascanner_process.c::lms_stop_processing" ref="36d624baae0531c20e716c88a82e0aaf" args="(lms_t *lms)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void lms_stop_processing           </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>lms</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner__process_8c-source.html#l01082">1082</a> of file <a class="el" href="lightmediascanner__process_8c-source.html">lightmediascanner_process.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00088">lms::is_processing</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00089">lms::stop_processing</a>.</p>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 22 23:56:01 2009 for Light Media Scanner by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
+</body>
+</html>