add new api docs.
[lms] / www / api / lightmediascanner_8h.html
diff --git a/www/api/lightmediascanner_8h.html b/www/api/lightmediascanner_8h.html
new file mode 100644 (file)
index 0000000..0daf1d0
--- /dev/null
@@ -0,0 +1,935 @@
+<!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.h 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.h File Reference</h1>
+<p>
+<div class="dynheader">
+This graph shows which files directly or indirectly include this file:</div>
+<div class="dynsection">
+</div>
+
+<p>
+<a href="lightmediascanner_8h-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>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlms__parser__info.html">lms_parser_info</a></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_8h.html#e97a674be7c85b0914a6acbafe994998">_LIGHTMEDIASCANNER_H_</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#d8ce4efaa307683d3d763b37b4711c53">API</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#3c631eb7d32b61d70bfc615ae54e5552">GNUC_NULL_TERMINATED</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#7a9a21d60c8e567c8110c8e3069f8201">GNUC_PURE</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#2213ea4dca0e242f957f63988caab768">GNUC_MALLOC</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#ccce66c7f9844ae805b83bee1b9c32b5">GNUC_CONST</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#80a4050221a914ea58d5799f13109ebb">GNUC_UNUSED</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#34c563f40a0f86e597c51f1556669521">GNUC_WARN_UNUSED_RESULT</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(...)</td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="structlms.html">lms</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#d118599605b4e66ca5f91376982b8a64">lms_t</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="structlms__plugin.html">lms_plugin</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#ccedd0cd6d535dcfee399957033074fd">lms_plugin_t</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#55ee3894f334dc5b30431bf94971f110">lms_free_callback_t</a> )(void *data)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#117b4bb24ec8fc48fc4e6f0d7fa9ea3a">lms_progress_callback_t</a> )(<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *path, int path_len, <a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d2370">lms_progress_status_t</a> status, void *data)</td></tr>
+
+<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d2370">lms_progress_status_t</a> { <br>
+&nbsp;&nbsp;<a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d2370204315e58ce4b7dfa6421b4d1556655d">LMS_PROGRESS_STATUS_UP_TO_DATE</a>, 
+<a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d2370d058b5f0e26e414942e96b806d3a7c70">LMS_PROGRESS_STATUS_PROCESSED</a>, 
+<a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d2370a6792f0bca81010621d898e105face11">LMS_PROGRESS_STATUS_DELETED</a>, 
+<a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d237015217a2e3f16670fa70738730cd0b152">LMS_PROGRESS_STATUS_KILLED</a>, 
+<br>
+&nbsp;&nbsp;<a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d2370ac34bba1176659b7d01c29ffe0b67c82">LMS_PROGRESS_STATUS_ERROR_PARSE</a>, 
+<a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d2370d8c2349ce6dbac01c8be42c29c6c7082">LMS_PROGRESS_STATUS_ERROR_COMM</a>, 
+<a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d23704d4c093ecf32b2eba688a42908aa338c">LMS_PROGRESS_STATUS_SKIPPED</a>
+<br>
+ }</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API <a class="el" href="structlms.html">lms_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g982939bdd2aeb664b5cf7a50b67c1030">lms_new</a> (const char *db_path) GNUC_MALLOC GNUC_WARN_UNUSED_RESULT</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#gf15f3b0f7de2113155a360df989b7687">lms_free</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>) GNUC_NON_NULL(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#7d2b81cfe07a8cce4c2bef705e7529f4">lms_process</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *top_path) GNUC_NON_NULL(1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API int API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#c5eda23c23b2ea76f001ac994c2ba9e2">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) GNUC_NON_NULL(1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API int API int API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#5b70063cf19648de70bb145404aa3d0b">lms_check</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *top_path) GNUC_NON_NULL(1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API int API int API int API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#bfd6888e606654c585e41aa946637432">lms_check_single_process</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *top_path) GNUC_NON_NULL(1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API int API int API int API <br class="typebreak">
+int API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#30aa1e83907fc1049d2adccb28eef489">lms_stop_processing</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>) GNUC_NON_NULL(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g4098d31de667a895095fc8d4d9bc10c0">lms_get_db_path</a> (const <a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>) GNUC_NON_NULL(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g8c594bed751d504965b5cc0c7e93fb71">lms_is_processing</a> (const <a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>) GNUC_PURE GNUC_NON_NULL(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g973c6c7b66f4fdd6f4f776a36e742d33">lms_get_slave_timeout</a> (const <a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>) GNUC_NON_NULL(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g68ac6273965bdeb25795dd4c50777b4e">lms_set_slave_timeout</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, int ms) GNUC_NON_NULL(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g227ebe8cad9776908c1977c43ef62d9c">lms_get_commit_interval</a> (const <a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>) GNUC_NON_NULL(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#ge81a028f08139e64e97ac191bd899b32">lms_set_commit_interval</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, unsigned int transactions) GNUC_NON_NULL(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#d2da241599f7f576670d64184f972c43">lms_set_progress_callback</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, <a class="el" href="lightmediascanner_8h.html#117b4bb24ec8fc48fc4e6f0d7fa9ea3a">lms_progress_callback_t</a> cb, const void *data, <a class="el" href="lightmediascanner_8h.html#55ee3894f334dc5b30431bf94971f110">lms_free_callback_t</a> free_data) GNUC_NON_NULL(1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#ebe19263efa873f4629a18e77924bfaf">lms_parsers_list</a> (int(*cb)(void *data, const char *path), const void *data)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API struct <a class="el" href="structlms__parser__info.html">lms_parser_info</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#bda4586257139ef13260e3fe3bfd1b77">lms_parser_info</a> (const char *so_path)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API struct <a class="el" href="structlms__parser__info.html">lms_parser_info</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#85b153a95dafb48c419dc1419e323567">lms_parser_info_find</a> (const char *name)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#f071ee2184c0d4d69c85cccd09e08b26">lms_parser_info_free</a> (struct <a class="el" href="structlms__parser__info.html">lms_parser_info</a> *info)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#f6dfb5e9ed76e132ee7f45e7fe26415e">lms_parsers_list_by_category</a> (const char *category, int(*cb)(void *data, const char *path, const struct <a class="el" href="structlms__parser__info.html">lms_parser_info</a> *info), const void *data)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API <a class="el" href="structlms__plugin.html">lms_plugin_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#ce55a5c9cc767b96fa6f24b77bebc7c3">lms_parser_add</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *so_path) GNUC_NON_NULL(1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API <a class="el" href="structlms__plugin.html">lms_plugin_t</a> *API <br class="typebreak">
+<a class="el" href="structlms__plugin.html">lms_plugin_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#e48d0483903bbb9604d14b44f7c569d9">lms_parser_find_and_add</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *name) GNUC_NON_NULL(1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API <a class="el" href="structlms__plugin.html">lms_plugin_t</a> *API <br class="typebreak">
+<a class="el" href="structlms__plugin.html">lms_plugin_t</a> *API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#5ba173b12c355bbdf7913bfff0ff6415">lms_parser_del</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, <a class="el" href="structlms__plugin.html">lms_plugin_t</a> *handle) GNUC_NON_NULL(1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API <a class="el" href="structlms__plugin.html">lms_plugin_t</a> *API <br class="typebreak">
+<a class="el" href="structlms__plugin.html">lms_plugin_t</a> *API int API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#03afcd1e04665bdaebe73d9f6cc20553">lms_charset_add</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *charset) GNUC_NON_NULL(1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">API <a class="el" href="structlms__plugin.html">lms_plugin_t</a> *API <br class="typebreak">
+<a class="el" href="structlms__plugin.html">lms_plugin_t</a> *API int API int <br class="typebreak">
+API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8h.html#35fc2de4828878b9dec07e8edda8a5e2">lms_charset_del</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *charset) GNUC_NON_NULL(1</td></tr>
+
+</table>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="e97a674be7c85b0914a6acbafe994998"></a><!-- doxytag: member="lightmediascanner.h::_LIGHTMEDIASCANNER_H_" ref="e97a674be7c85b0914a6acbafe994998" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define _LIGHTMEDIASCANNER_H_&nbsp;&nbsp;&nbsp;1          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00111">111</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d8ce4efaa307683d3d763b37b4711c53"></a><!-- doxytag: member="lightmediascanner.h::API" ref="d8ce4efaa307683d3d763b37b4711c53" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define API          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00145">145</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ccce66c7f9844ae805b83bee1b9c32b5"></a><!-- doxytag: member="lightmediascanner.h::GNUC_CONST" ref="ccce66c7f9844ae805b83bee1b9c32b5" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GNUC_CONST          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00149">149</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="2213ea4dca0e242f957f63988caab768"></a><!-- doxytag: member="lightmediascanner.h::GNUC_MALLOC" ref="2213ea4dca0e242f957f63988caab768" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GNUC_MALLOC          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00148">148</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="6fe68cac0abf3e2ca61141920414e93a"></a><!-- doxytag: member="lightmediascanner.h::GNUC_NON_NULL" ref="6fe68cac0abf3e2ca61141920414e93a" args="(...)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GNUC_NON_NULL          </td>
+          <td>(</td>
+          <td class="paramtype"> <em>...</em>&nbsp;</td>
+          <td class="paramname">          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00152">152</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="3c631eb7d32b61d70bfc615ae54e5552"></a><!-- doxytag: member="lightmediascanner.h::GNUC_NULL_TERMINATED" ref="3c631eb7d32b61d70bfc615ae54e5552" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GNUC_NULL_TERMINATED          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00146">146</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="7a9a21d60c8e567c8110c8e3069f8201"></a><!-- doxytag: member="lightmediascanner.h::GNUC_PURE" ref="7a9a21d60c8e567c8110c8e3069f8201" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GNUC_PURE          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00147">147</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="80a4050221a914ea58d5799f13109ebb"></a><!-- doxytag: member="lightmediascanner.h::GNUC_UNUSED" ref="80a4050221a914ea58d5799f13109ebb" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GNUC_UNUSED          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00150">150</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="34c563f40a0f86e597c51f1556669521"></a><!-- doxytag: member="lightmediascanner.h::GNUC_WARN_UNUSED_RESULT" ref="34c563f40a0f86e597c51f1556669521" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GNUC_WARN_UNUSED_RESULT          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00151">151</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="55ee3894f334dc5b30431bf94971f110"></a><!-- doxytag: member="lightmediascanner.h::lms_free_callback_t" ref="55ee3894f334dc5b30431bf94971f110" args=")(void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef void(* <a class="el" href="lightmediascanner_8h.html#55ee3894f334dc5b30431bf94971f110">lms_free_callback_t</a>)(void *data)          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00177">177</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ccedd0cd6d535dcfee399957033074fd"></a><!-- doxytag: member="lightmediascanner.h::lms_plugin_t" ref="ccedd0cd6d535dcfee399957033074fd" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="structlms__plugin.html">lms_plugin</a> <a class="el" href="structlms__plugin.html">lms_plugin_t</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00165">165</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="117b4bb24ec8fc48fc4e6f0d7fa9ea3a"></a><!-- doxytag: member="lightmediascanner.h::lms_progress_callback_t" ref="117b4bb24ec8fc48fc4e6f0d7fa9ea3a" args=")(lms_t *lms, const char *path, int path_len, lms_progress_status_t status, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef void(* <a class="el" href="lightmediascanner_8h.html#117b4bb24ec8fc48fc4e6f0d7fa9ea3a">lms_progress_callback_t</a>)(<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *path, int path_len, <a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d2370">lms_progress_status_t</a> status, void *data)          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00178">178</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="d118599605b4e66ca5f91376982b8a64"></a><!-- doxytag: member="lightmediascanner.h::lms_t" ref="d118599605b4e66ca5f91376982b8a64" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef struct <a class="el" href="structlms.html">lms</a> <a class="el" href="structlms.html">lms_t</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00164">164</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="52b270a30c58810720ae0650f64d2370"></a><!-- doxytag: member="lightmediascanner.h::lms_progress_status_t" ref="52b270a30c58810720ae0650f64d2370" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="lightmediascanner_8h.html#52b270a30c58810720ae0650f64d2370">lms_progress_status_t</a>          </td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+<dl compact><dt><b>Enumerator: </b></dt><dd>
+<table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" name="52b270a30c58810720ae0650f64d2370204315e58ce4b7dfa6421b4d1556655d"></a><!-- doxytag: member="LMS_PROGRESS_STATUS_UP_TO_DATE" ref="52b270a30c58810720ae0650f64d2370204315e58ce4b7dfa6421b4d1556655d" args="" -->LMS_PROGRESS_STATUS_UP_TO_DATE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="52b270a30c58810720ae0650f64d2370d058b5f0e26e414942e96b806d3a7c70"></a><!-- doxytag: member="LMS_PROGRESS_STATUS_PROCESSED" ref="52b270a30c58810720ae0650f64d2370d058b5f0e26e414942e96b806d3a7c70" args="" -->LMS_PROGRESS_STATUS_PROCESSED</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="52b270a30c58810720ae0650f64d2370a6792f0bca81010621d898e105face11"></a><!-- doxytag: member="LMS_PROGRESS_STATUS_DELETED" ref="52b270a30c58810720ae0650f64d2370a6792f0bca81010621d898e105face11" args="" -->LMS_PROGRESS_STATUS_DELETED</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="52b270a30c58810720ae0650f64d237015217a2e3f16670fa70738730cd0b152"></a><!-- doxytag: member="LMS_PROGRESS_STATUS_KILLED" ref="52b270a30c58810720ae0650f64d237015217a2e3f16670fa70738730cd0b152" args="" -->LMS_PROGRESS_STATUS_KILLED</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="52b270a30c58810720ae0650f64d2370ac34bba1176659b7d01c29ffe0b67c82"></a><!-- doxytag: member="LMS_PROGRESS_STATUS_ERROR_PARSE" ref="52b270a30c58810720ae0650f64d2370ac34bba1176659b7d01c29ffe0b67c82" args="" -->LMS_PROGRESS_STATUS_ERROR_PARSE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="52b270a30c58810720ae0650f64d2370d8c2349ce6dbac01c8be42c29c6c7082"></a><!-- doxytag: member="LMS_PROGRESS_STATUS_ERROR_COMM" ref="52b270a30c58810720ae0650f64d2370d8c2349ce6dbac01c8be42c29c6c7082" args="" -->LMS_PROGRESS_STATUS_ERROR_COMM</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" name="52b270a30c58810720ae0650f64d23704d4c093ecf32b2eba688a42908aa338c"></a><!-- doxytag: member="LMS_PROGRESS_STATUS_SKIPPED" ref="52b270a30c58810720ae0650f64d23704d4c093ecf32b2eba688a42908aa338c" args="" -->LMS_PROGRESS_STATUS_SKIPPED</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8h-source.html#l00167">167</a> of file <a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>.</p>
+
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="03afcd1e04665bdaebe73d9f6cc20553"></a><!-- doxytag: member="lightmediascanner.h::lms_charset_add" ref="03afcd1e04665bdaebe73d9f6cc20553" args="(lms_t *lms, const char *charset) GNUC_NON_NULL(1" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API <a class="el" href="structlms__plugin.html">lms_plugin_t</a>* API <a class="el" href="structlms__plugin.html">lms_plugin_t</a>* API int API int lms_charset_add           </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>charset</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="35fc2de4828878b9dec07e8edda8a5e2"></a><!-- doxytag: member="lightmediascanner.h::lms_charset_del" ref="35fc2de4828878b9dec07e8edda8a5e2" args="(lms_t *lms, const char *charset) GNUC_NON_NULL(1" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API <a class="el" href="structlms__plugin.html">lms_plugin_t</a>* API <a class="el" href="structlms__plugin.html">lms_plugin_t</a>* API int API int API int lms_charset_del           </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>charset</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="5b70063cf19648de70bb145404aa3d0b"></a><!-- doxytag: member="lightmediascanner.h::lms_check" ref="5b70063cf19648de70bb145404aa3d0b" args="(lms_t *lms, const char *top_path) GNUC_NON_NULL(1" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API int API int API int lms_check           </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>
+
+</div>
+</div><p>
+<a class="anchor" name="bfd6888e606654c585e41aa946637432"></a><!-- doxytag: member="lightmediascanner.h::lms_check_single_process" ref="bfd6888e606654c585e41aa946637432" args="(lms_t *lms, const char *top_path) GNUC_NON_NULL(1" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API int API int API int API int lms_check_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>
+
+</div>
+</div><p>
+<a class="anchor" name="ce55a5c9cc767b96fa6f24b77bebc7c3"></a><!-- doxytag: member="lightmediascanner.h::lms_parser_add" ref="ce55a5c9cc767b96fa6f24b77bebc7c3" args="(lms_t *lms, const char *so_path) GNUC_NON_NULL(1" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API <a class="el" href="structlms__plugin.html">lms_plugin_t</a>* lms_parser_add           </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>so_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>
+
+</div>
+</div><p>
+<a class="anchor" name="5ba173b12c355bbdf7913bfff0ff6415"></a><!-- doxytag: member="lightmediascanner.h::lms_parser_del" ref="5ba173b12c355bbdf7913bfff0ff6415" args="(lms_t *lms, lms_plugin_t *handle) GNUC_NON_NULL(1" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API <a class="el" href="structlms__plugin.html">lms_plugin_t</a>* API <a class="el" href="structlms__plugin.html">lms_plugin_t</a>* API int lms_parser_del           </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"><a class="el" href="structlms__plugin.html">lms_plugin_t</a> *&nbsp;</td>
+          <td class="paramname"> <em>handle</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="e48d0483903bbb9604d14b44f7c569d9"></a><!-- doxytag: member="lightmediascanner.h::lms_parser_find_and_add" ref="e48d0483903bbb9604d14b44f7c569d9" args="(lms_t *lms, const char *name) GNUC_NON_NULL(1" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API <a class="el" href="structlms__plugin.html">lms_plugin_t</a>* API <a class="el" href="structlms__plugin.html">lms_plugin_t</a>* lms_parser_find_and_add           </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>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+
+</div>
+</div><p>
+<a class="anchor" name="bda4586257139ef13260e3fe3bfd1b77"></a><!-- doxytag: member="lightmediascanner.h::lms_parser_info" ref="bda4586257139ef13260e3fe3bfd1b77" args="(const char *so_path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API struct <a class="el" href="structlms__parser__info.html">lms_parser_info</a>* <a class="el" href="structlms__parser__info.html">lms_parser_info</a>           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>so_path</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [read]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get <a class="el" href="structparser.html">parser</a> information.<p>
+Information can be used to let user choose parsers on Graphical User Interfaces.<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>so_path</em>&nbsp;</td><td>full path to module. </td></tr>
+  </table>
+</dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="lightmediascanner_8c.html#66457cf4ec2ef4a50bd899f99e914650">lms_parser_info_find()</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00699">699</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner_8h-source.html#l00204">lms_parser_info::authors</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00182">lms_plugin_info::authors</a>, <a class="el" href="lightmediascanner_8h-source.html#l00201">lms_parser_info::categories</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00179">lms_plugin_info::categories</a>, <a class="el" href="lightmediascanner_8h-source.html#l00202">lms_parser_info::description</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00180">lms_plugin_info::description</a>, <a class="el" href="lightmediascanner_8h-source.html#l00200">lms_parser_info::name</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00178">lms_plugin_info::name</a>, <a class="el" href="lightmediascanner_8h-source.html#l00199">lms_parser_info::path</a>, <a class="el" href="lightmediascanner_8h-source.html#l00205">lms_parser_info::uri</a>, <a class="el" href="lightmediascanner__plugin_8h-source.html#l00183">lms_plugin_info::uri</a>, <a class="el" href="lightmediascanner_8h-source.html#l00203">lms_parser_info::version</a>, and <a class="el" href="lightmediascanner__plugin_8h-source.html#l00181">lms_plugin_info::version</a>.</p>
+
+<p>Referenced by <a class="el" href="lightmediascanner_8c-source.html#l00824">lms_parser_info_find()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="85b153a95dafb48c419dc1419e323567"></a><!-- doxytag: member="lightmediascanner.h::lms_parser_info_find" ref="85b153a95dafb48c419dc1419e323567" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API struct <a class="el" href="structlms__parser__info.html">lms_parser_info</a>* lms_parser_info_find           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td><code> [read]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Find <a class="el" href="structparser.html">parser</a> by name and get its information.<p>
+Information can be used to let user choose parsers on Graphical User Interfaces.<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>name</em>&nbsp;</td><td>name of .so to find the whole so_path and retrieve information. </td></tr>
+  </table>
+</dl>
+<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="lightmediascanner_8c.html#0b95c1ed1a71c241bb887ee672f740d8">lms_parser_info()</a> </dd></dl>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00824">824</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner_8c-source.html#l00699">lms_parser_info()</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="f071ee2184c0d4d69c85cccd09e08b26"></a><!-- doxytag: member="lightmediascanner.h::lms_parser_info_free" ref="f071ee2184c0d4d69c85cccd09e08b26" args="(struct lms_parser_info *info)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API void lms_parser_info_free           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structlms__parser__info.html">lms_parser_info</a> *&nbsp;</td>
+          <td class="paramname"> <em>info</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Free previously returned information.<p>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>it is safe to call with NULL. </dd></dl>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00843">843</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="ebe19263efa873f4629a18e77924bfaf"></a><!-- doxytag: member="lightmediascanner.h::lms_parsers_list" ref="ebe19263efa873f4629a18e77924bfaf" args="(int(*cb)(void *data, const char *path), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API void lms_parsers_list           </td>
+          <td>(</td>
+          <td class="paramtype">int(*)(void *data, const char *path)&nbsp;</td>
+          <td class="paramname"> <em>cb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+List all known parsers on the system.<p>
+No information is retrieved, you might like to call <a class="el" href="lightmediascanner_8c.html#0b95c1ed1a71c241bb887ee672f740d8">lms_parser_info()</a> on the callback path.<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>cb</em>&nbsp;</td><td>function to call for each path found. If it returns 0, it stops iteraction. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>extra data to pass to <em>cb</em> on every call. </td></tr>
+  </table>
+</dl>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00540">540</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
+
+<p>Referenced by <a class="el" href="lightmediascanner_8c-source.html#l00629">lms_parsers_list_by_category()</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="f6dfb5e9ed76e132ee7f45e7fe26415e"></a><!-- doxytag: member="lightmediascanner.h::lms_parsers_list_by_category" ref="f6dfb5e9ed76e132ee7f45e7fe26415e" args="(const char *category, int(*cb)(void *data, const char *path, const struct lms_parser_info *info), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API void lms_parsers_list_by_category           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int(*)(void *data, const char *path, const struct <a class="el" href="structlms__parser__info.html">lms_parser_info</a> *info)&nbsp;</td>
+          <td class="paramname"> <em>cb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+List all known parsers of a given category.<p>
+Since we need information to figure out <a class="el" href="structparser.html">parser</a> category, these are passed as argument to callback, but you should NOT modify or reference it after callback function returns since it will be released after that.<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>category</em>&nbsp;</td><td>which category to match. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cb</em>&nbsp;</td><td>function to call for each path found. If it returns 0, it stops iteraction. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>extra data to pass to <em>cb</em> on every call. </td></tr>
+  </table>
+</dl>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00629">629</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner_8c-source.html#l00540">lms_parsers_list()</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="7d2b81cfe07a8cce4c2bef705e7529f4"></a><!-- doxytag: member="lightmediascanner.h::lms_process" ref="7d2b81cfe07a8cce4c2bef705e7529f4" args="(lms_t *lms, const char *top_path) GNUC_NON_NULL(1" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API 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>
+
+</div>
+</div><p>
+<a class="anchor" name="c5eda23c23b2ea76f001ac994c2ba9e2"></a><!-- doxytag: member="lightmediascanner.h::lms_process_single_process" ref="c5eda23c23b2ea76f001ac994c2ba9e2" args="(lms_t *lms, const char *top_path) GNUC_NON_NULL(1" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API int API 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>
+
+</div>
+</div><p>
+<a class="anchor" name="d2da241599f7f576670d64184f972c43"></a><!-- doxytag: member="lightmediascanner.h::lms_set_progress_callback" ref="d2da241599f7f576670d64184f972c43" args="(lms_t *lms, lms_progress_callback_t cb, const void *data, lms_free_callback_t free_data) GNUC_NON_NULL(1)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API void lms_set_progress_callback           </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"><a class="el" href="lightmediascanner_8h.html#117b4bb24ec8fc48fc4e6f0d7fa9ea3a">lms_progress_callback_t</a>&nbsp;</td>
+          <td class="paramname"> <em>cb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="lightmediascanner_8h.html#55ee3894f334dc5b30431bf94971f110">lms_free_callback_t</a>&nbsp;</td>
+          <td class="paramname"> <em>free_data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set callback to be used to report progress (check and process).<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>cb</em>&nbsp;</td><td>function to call when files are processed or NULL to unset. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>data to give to cb when it's called, may be NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>free_data</em>&nbsp;</td><td>function to call to free <em>data</em> when <a class="el" href="structlms.html">lms</a> is freed or new progress data is set. </td></tr>
+  </table>
+</dl>
+
+<p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00195">195</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
+
+<p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00083">lms::cb</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00084">lms::data</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00085">lms::free_data</a>, and <a class="el" href="structlms.html#3f4bc299aa74c9255b730e106e0e7a8f">lms::progress</a>.</p>
+
+</div>
+</div><p>
+<a class="anchor" name="30aa1e83907fc1049d2adccb28eef489"></a><!-- doxytag: member="lightmediascanner.h::lms_stop_processing" ref="30aa1e83907fc1049d2adccb28eef489" args="(lms_t *lms) GNUC_NON_NULL(1)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">API int API int API int API int API 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>