Add C-docs to webpage
[lms] / www / api / lightmediascanner__private_8h-source.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_private.h Source File</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_private.h</h1><a href="lightmediascanner__private_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 
23 <a name="l00021"></a>00021 <span class="preprocessor">#ifndef _LIGHTMEDIASCANNER_PRIVATE_H_</span>
24 <a name="l00022"></a><a class="code" href="lightmediascanner__private_8h.html#c9783e2105f145aa71f541e0825707ed">00022</a> <span class="preprocessor"></span><span class="preprocessor">#define _LIGHTMEDIASCANNER_PRIVATE_H_ 1</span>
25 <a name="l00023"></a>00023 <span class="preprocessor"></span>
26 <a name="l00024"></a>00024 <span class="preprocessor">#ifdef __GNUC__</span>
27 <a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor"># if __GNUC__ &gt; 3 || (__GNUC__ == 3 &amp;&amp; __GNUC_MINOR__ &gt;= 4)</span>
28 <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#  define GNUC_NON_NULL(...) __attribute__((nonnull(__VA_ARGS__)))</span>
29 <a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor"># else</span>
30 <a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#  define GNUC_NON_NULL(...)</span>
31 <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor"># endif</span>
32 <a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#else</span>
33 <a name="l00031"></a><a class="code" href="lightmediascanner__private_8h.html#6fe68cac0abf3e2ca61141920414e93a">00031</a> <span class="preprocessor"></span><span class="preprocessor">#  define GNUC_NON_NULL(...)</span>
34 <a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
35 <a name="l00033"></a>00033 <span class="preprocessor"></span>
36 <a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="lightmediascanner_8h.html">lightmediascanner.h</a>"</span>
37 <a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="lightmediascanner__plugin_8h.html">lightmediascanner_plugin.h</a>"</span>
38 <a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="lightmediascanner__charset__conv_8h.html">lightmediascanner_charset_conv.h</a>"</span>
39 <a name="l00037"></a>00037 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
40 <a name="l00038"></a>00038 <span class="preprocessor">#include &lt;poll.h&gt;</span>
41 <a name="l00039"></a>00039 <span class="preprocessor">#include &lt;limits.h&gt;</span>
42 <a name="l00040"></a>00040 <span class="preprocessor">#include &lt;sqlite3.h&gt;</span>
43 <a name="l00041"></a>00041 
44 <a name="l00042"></a><a class="code" href="lightmediascanner__private_8h.html#e78bf7e06bbba1c42b740fef55cf20f8">00042</a> <span class="preprocessor">#define PATH_SIZE PATH_MAX</span>
45 <a name="l00043"></a>00043 <span class="preprocessor"></span>
46 <a name="l00044"></a><a class="code" href="structfds.html">00044</a> <span class="keyword">struct </span><a class="code" href="structfds.html">fds</a> {
47 <a name="l00045"></a><a class="code" href="structfds.html#c49bfa8d58564d4c483eb434b9ff5710">00045</a>     <span class="keywordtype">int</span> <a class="code" href="structfds.html#c49bfa8d58564d4c483eb434b9ff5710">r</a>;
48 <a name="l00046"></a><a class="code" href="structfds.html#d13e19697072e306771103286a8316d0">00046</a>     <span class="keywordtype">int</span> <a class="code" href="structfds.html#d13e19697072e306771103286a8316d0">w</a>;
49 <a name="l00047"></a>00047 };
50 <a name="l00048"></a>00048 
51 <a name="l00049"></a>00049 <span class="comment">/* info to be carried along lms_process() and lms_check() */</span>
52 <a name="l00050"></a><a class="code" href="structpinfo.html">00050</a> <span class="keyword">struct </span><a class="code" href="structpinfo.html">pinfo</a> {
53 <a name="l00051"></a><a class="code" href="structpinfo.html#246dfd29e81101866ccb01cc70224156">00051</a>     <span class="keyword">struct </span><a class="code" href="structfds.html">fds</a> <a class="code" href="structpinfo.html#246dfd29e81101866ccb01cc70224156">master</a>;
54 <a name="l00052"></a><a class="code" href="structpinfo.html#62bbc538af7f9e1d6aa9073458d5cc52">00052</a>     <span class="keyword">struct </span><a class="code" href="structfds.html">fds</a> <a class="code" href="structpinfo.html#62bbc538af7f9e1d6aa9073458d5cc52">slave</a>;
55 <a name="l00053"></a><a class="code" href="structpinfo.html#ee9c21ae165e7daf968a7ed87c736076">00053</a>     <span class="keyword">struct </span>pollfd poll;
56 <a name="l00054"></a><a class="code" href="structpinfo.html#9958e1d447ffadf40c871a6cdaa86b4c">00054</a>     <a class="code" href="structlms.html">lms_t</a> *<a class="code" href="structlms.html">lms</a>;
57 <a name="l00055"></a><a class="code" href="structpinfo.html#d31b28f6373d19531cd208c4c2a71a51">00055</a>     pid_t <a class="code" href="structpinfo.html#d31b28f6373d19531cd208c4c2a71a51">child</a>;
58 <a name="l00056"></a>00056 };
59 <a name="l00057"></a>00057 
60 <a name="l00058"></a><a class="code" href="structparser.html">00058</a> <span class="keyword">struct </span><a class="code" href="structparser.html">parser</a> {
61 <a name="l00059"></a><a class="code" href="structparser.html#6c71e3299d4bac660320e7ca935f9b32">00059</a>     <a class="code" href="structlms__plugin.html">lms_plugin_t</a> *<a class="code" href="structparser.html#6c71e3299d4bac660320e7ca935f9b32">plugin</a>;
62 <a name="l00060"></a><a class="code" href="structparser.html#3dd2a049d1cd9229ec33645e28803e0a">00060</a>     <span class="keywordtype">void</span> *<a class="code" href="structparser.html#3dd2a049d1cd9229ec33645e28803e0a">dl_handle</a>;
63 <a name="l00061"></a><a class="code" href="structparser.html#f29cac42dbdf498606fae3f5b9fc3762">00061</a>     <span class="keywordtype">char</span> *<a class="code" href="structparser.html#f29cac42dbdf498606fae3f5b9fc3762">so_path</a>;
64 <a name="l00062"></a>00062 };
65 <a name="l00063"></a>00063 
66 <a name="l00064"></a><a class="code" href="structlms.html">00064</a> <span class="keyword">struct </span><a class="code" href="structlms.html">lms</a> {
67 <a name="l00065"></a><a class="code" href="structlms.html#52883423c9a1276420ba2bb9b50a138c">00065</a>     <span class="keyword">struct </span><a class="code" href="structparser.html">parser</a> *<a class="code" href="structlms.html#52883423c9a1276420ba2bb9b50a138c">parsers</a>;
68 <a name="l00066"></a><a class="code" href="structlms.html#9cdd3a937a0a2bd4515e9e888bb519e3">00066</a>     <span class="keywordtype">int</span> <a class="code" href="structlms.html#9cdd3a937a0a2bd4515e9e888bb519e3">n_parsers</a>;
69 <a name="l00067"></a><a class="code" href="structlms.html#eba2db305bafddedf143ff7b9f2396db">00067</a>     <a class="code" href="group__LMS__CHARSET.html#g50e57a19bb3d062fe7eea437a8b8e949">lms_charset_conv_t</a> *<a class="code" href="structlms.html#eba2db305bafddedf143ff7b9f2396db">cs_conv</a>;
70 <a name="l00068"></a><a class="code" href="structlms.html#02e767169813808f193c23733ba89b4b">00068</a>     <span class="keywordtype">char</span> *<a class="code" href="structlms.html#02e767169813808f193c23733ba89b4b">db_path</a>;
71 <a name="l00069"></a><a class="code" href="structlms.html#0f545adf2fc37994b7f55f7ea7aac555">00069</a>     <span class="keywordtype">int</span> <a class="code" href="structlms.html#0f545adf2fc37994b7f55f7ea7aac555">slave_timeout</a>;
72 <a name="l00070"></a><a class="code" href="structlms.html#1dc82aac2ab3ff643027878bb1aa3cb8">00070</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structlms.html#1dc82aac2ab3ff643027878bb1aa3cb8">commit_interval</a>;
73 <a name="l00071"></a><a class="code" href="structlms.html#bb03533445b77299e964b2ec02bca039">00071</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structlms.html#bb03533445b77299e964b2ec02bca039">is_processing</a>:1;
74 <a name="l00072"></a>00072 };
75 <a name="l00073"></a>00073 
76 <a name="l00074"></a>00074 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner_8c.html#e6ccb942742cf65cc1cf866aceb4bddf">lms_parser_del_int</a>(<a class="code" href="structlms.html">lms_t</a> *<a class="code" href="structlms.html">lms</a>, <span class="keywordtype">int</span> i) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1);
77 <a name="l00075"></a>00075 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner__private_8h.html#a5952b7aae2fa795396a5a286c2ee4a4">lms_create_pipes</a>(<span class="keyword">struct</span> <a class="code" href="structpinfo.html">pinfo</a> *<a class="code" href="structpinfo.html">pinfo</a>) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1);
78 <a name="l00076"></a>00076 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner__private_8h.html#8c1aa0a9d9bb796db279caeb97e04eed">lms_close_pipes</a>(<span class="keyword">struct</span> <a class="code" href="structpinfo.html">pinfo</a> *<a class="code" href="structpinfo.html">pinfo</a>) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1);
79 <a name="l00077"></a>00077 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner__private_8h.html#439b3c62e96d472bdb2125a0a04d4fa6">lms_create_slave</a>(<span class="keyword">struct</span> <a class="code" href="structpinfo.html">pinfo</a> *<a class="code" href="structpinfo.html">pinfo</a>, <span class="keywordtype">int</span> (*work)(<a class="code" href="structlms.html">lms_t</a> *<a class="code" href="structlms.html">lms</a>, <span class="keyword">struct</span> <a class="code" href="structfds.html">fds</a> *<a class="code" href="structfds.html">fds</a>)) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1, 2);
80 <a name="l00078"></a>00078 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner__private_8h.html#dd61370f42f0c32e3b9d5c86303c3c58">lms_restart_slave</a>(<span class="keyword">struct</span> pinfo *pinfo, <span class="keywordtype">int</span> (*work)(<a class="code" href="structlms.html">lms_t</a> *<a class="code" href="structlms.html">lms</a>, <span class="keyword">struct</span> <a class="code" href="structfds.html">fds</a> *<a class="code" href="structfds.html">fds</a>)) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1, 2);
81 <a name="l00079"></a>00079 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner__private_8h.html#dd3853bb333e8bee167477933a058ae5">lms_finish_slave</a>(<span class="keyword">struct</span> pinfo *pinfo, <span class="keywordtype">int</span> (*finish)(<span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structfds.html">fds</a> *<a class="code" href="structfds.html">fds</a>)) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1, 2);
82 <a name="l00080"></a>00080 
83 <a name="l00081"></a>00081 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner__private_8h.html#028ef9d19863e8d0ebac1b84b1cb9174">lms_parsers_setup</a>(<a class="code" href="structlms.html">lms_t</a> *<a class="code" href="structlms.html">lms</a>, sqlite3 *db) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1, 2);
84 <a name="l00082"></a>00082 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner__private_8h.html#2c1f40ac6080c682c2f71172cc76f7e0">lms_parsers_start</a>(<a class="code" href="structlms.html">lms_t</a> *<a class="code" href="structlms.html">lms</a>, sqlite3 *db) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1, 2);
85 <a name="l00083"></a>00083 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner__private_8h.html#74adcb264b3092f3ae9249de93f9130f">lms_parsers_finish</a>(<a class="code" href="structlms.html">lms_t</a> *<a class="code" href="structlms.html">lms</a>, sqlite3 *db) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1, 2);
86 <a name="l00084"></a>00084 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner__private_8h.html#f92504ffd52b8b1d7d90b786af90d1ef">lms_parsers_check_using</a>(<a class="code" href="structlms.html">lms_t</a> *<a class="code" href="structlms.html">lms</a>, <span class="keywordtype">void</span> **parser_match, <span class="keyword">struct</span> <a class="code" href="structlms__file__info.html">lms_file_info</a> *finfo) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1, 2, 3);
87 <a name="l00085"></a>00085 <span class="keywordtype">int</span> <a class="code" href="lightmediascanner__private_8h.html#f61d9ef6ae2e576705bbd445db919e6c">lms_parsers_run</a>(<a class="code" href="structlms.html">lms_t</a> *<a class="code" href="structlms.html">lms</a>, sqlite3 *db, <span class="keywordtype">void</span> **parser_match, <span class="keyword">struct</span> <a class="code" href="structlms__file__info.html">lms_file_info</a> *finfo) <a class="code" href="lightmediascanner_8h.html#6fe68cac0abf3e2ca61141920414e93a">GNUC_NON_NULL</a>(1, 2, 3, 4);
88 <a name="l00086"></a>00086 
89 <a name="l00087"></a>00087 
90 <a name="l00088"></a>00088 <span class="preprocessor">#endif </span><span class="comment">/* _LIGHTMEDIASCANNER_PRIVATE_H_ */</span>
91 </pre></div><hr size="1"><address style="text-align: right;"><small>Generated on Thu Dec 13 02:04:03 2007 for Light Media Scanner by&nbsp;
92 <a href="http://www.doxygen.org/index.html">
93 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
94 </body>
95 </html>