add new api docs.
[lms] / www / api / lightmediascanner__check_8c.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>Light Media Scanner: src/lib/lightmediascanner_check.c File Reference</title>
4 <link href="tabs.css" rel="stylesheet" type="text/css">
5 <link href="doxygen.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.8 -->
8 <div class="navigation" id="top">
9   <div class="tabs">
10     <ul>
11       <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12       <li><a href="modules.html"><span>Modules</span></a></li>
13       <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
14       <li class="current"><a href="files.html"><span>Files</span></a></li>
15     </ul>
16   </div>
17   <div class="tabs">
18     <ul>
19       <li><a href="files.html"><span>File&nbsp;List</span></a></li>
20       <li><a href="globals.html"><span>Globals</span></a></li>
21     </ul>
22   </div>
23 </div>
24 <div class="contents">
25 <h1>src/lib/lightmediascanner_check.c File Reference</h1><code>#include &lt;sys/wait.h&gt;</code><br>
26 <code>#include &lt;sys/stat.h&gt;</code><br>
27 <code>#include &lt;unistd.h&gt;</code><br>
28 <code>#include &lt;dirent.h&gt;</code><br>
29 <code>#include &lt;signal.h&gt;</code><br>
30 <code>#include &lt;time.h&gt;</code><br>
31 <code>#include &lt;stdio.h&gt;</code><br>
32 <code>#include &lt;stdlib.h&gt;</code><br>
33 <code>#include &lt;string.h&gt;</code><br>
34 <code>#include &quot;<a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>&quot;</code><br>
35 <code>#include &quot;<a class="el" href="lightmediascanner__private_8h-source.html">lightmediascanner_private.h</a>&quot;</code><br>
36 <code>#include &quot;<a class="el" href="lightmediascanner__db__private_8h-source.html">lightmediascanner_db_private.h</a>&quot;</code><br>
37
38 <p>
39 <div class="dynheader">
40 Include dependency graph for lightmediascanner_check.c:</div>
41 <div class="dynsection">
42 </div>
43
44 <p>
45 <a href="lightmediascanner__check_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
46 <tr><td></td></tr>
47 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
48 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__check_8c.html#369266c24eacffb87046522897a570d5">_GNU_SOURCE</a></td></tr>
49
50 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__check_8c.html#f8084f435d209d810eb33deaa35fab5e">COMM_FINFO_FLAG_OUTDATED</a>&nbsp;&nbsp;&nbsp;1</td></tr>
51
52 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
53 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__check_8c.html#859492d896e816498edb471315efced1">lms_check</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *top_path)</td></tr>
54
55 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__check_8c.html#a56ce530328493e110054aa1eabf66c2">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)</td></tr>
56
57 </table>
58 <hr><h2>Define Documentation</h2>
59 <a class="anchor" name="369266c24eacffb87046522897a570d5"></a><!-- doxytag: member="lightmediascanner_check.c::_GNU_SOURCE" ref="369266c24eacffb87046522897a570d5" args="" -->
60 <div class="memitem">
61 <div class="memproto">
62       <table class="memname">
63         <tr>
64           <td class="memname">#define _GNU_SOURCE          </td>
65         </tr>
66       </table>
67 </div>
68 <div class="memdoc">
69
70 <p>
71 Copyright (C) 2007 by INdT<p>
72 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>
73 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>
74 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>
75 <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>
76
77 <p>Definition at line <a class="el" href="lightmediascanner__check_8c-source.html#l00025">25</a> of file <a class="el" href="lightmediascanner__check_8c-source.html">lightmediascanner_check.c</a>.</p>
78
79 </div>
80 </div><p>
81 <a class="anchor" name="f8084f435d209d810eb33deaa35fab5e"></a><!-- doxytag: member="lightmediascanner_check.c::COMM_FINFO_FLAG_OUTDATED" ref="f8084f435d209d810eb33deaa35fab5e" args="" -->
82 <div class="memitem">
83 <div class="memproto">
84       <table class="memname">
85         <tr>
86           <td class="memname">#define COMM_FINFO_FLAG_OUTDATED&nbsp;&nbsp;&nbsp;1          </td>
87         </tr>
88       </table>
89 </div>
90 <div class="memdoc">
91
92 <p>
93
94 <p>Definition at line <a class="el" href="lightmediascanner__check_8c-source.html#l00075">75</a> of file <a class="el" href="lightmediascanner__check_8c-source.html">lightmediascanner_check.c</a>.</p>
95
96 </div>
97 </div><p>
98 <hr><h2>Function Documentation</h2>
99 <a class="anchor" name="859492d896e816498edb471315efced1"></a><!-- doxytag: member="lightmediascanner_check.c::lms_check" ref="859492d896e816498edb471315efced1" args="(lms_t *lms, const char *top_path)" -->
100 <div class="memitem">
101 <div class="memproto">
102       <table class="memname">
103         <tr>
104           <td class="memname">int lms_check           </td>
105           <td>(</td>
106           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
107           <td class="paramname"> <em>lms</em>, </td>
108         </tr>
109         <tr>
110           <td class="paramkey"></td>
111           <td></td>
112           <td class="paramtype">const char *&nbsp;</td>
113           <td class="paramname"> <em>top_path</em></td><td>&nbsp;</td>
114         </tr>
115         <tr>
116           <td></td>
117           <td>)</td>
118           <td></td><td></td><td></td>
119         </tr>
120       </table>
121 </div>
122 <div class="memdoc">
123
124 <p>
125 Check consistency of given directory.<p>
126 This will update media in the given directory or its children. If files are missing, they'll be marked as deleted (dtime is set), if they were marked as deleted and are now present, they are unmarked (dtime is unset).<p>
127 <dl compact><dt><b>Parameters:</b></dt><dd>
128   <table border="0" cellspacing="2" cellpadding="0">
129     <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>
130     <tr><td valign="top"></td><td valign="top"><em>top_path</em>&nbsp;</td><td>top directory to scan.</td></tr>
131   </table>
132 </dl>
133 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
134
135 <p>Definition at line <a class="el" href="lightmediascanner__check_8c-source.html#l00900">900</a> of file <a class="el" href="lightmediascanner__check_8c-source.html">lightmediascanner_check.c</a>.</p>
136
137 <p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00055">pinfo::common</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00088">lms::is_processing</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-source.html#l00042">PATH_SIZE</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00089">lms::stop_processing</a>.</p>
138
139 <p>
140 <div class="dynheader">
141 Here is the call graph for this function:</div>
142 <div class="dynsection">
143 </div>
144
145 </div>
146 </div><p>
147 <a class="anchor" name="a56ce530328493e110054aa1eabf66c2"></a><!-- doxytag: member="lightmediascanner_check.c::lms_check_single_process" ref="a56ce530328493e110054aa1eabf66c2" args="(lms_t *lms, const char *top_path)" -->
148 <div class="memitem">
149 <div class="memproto">
150       <table class="memname">
151         <tr>
152           <td class="memname">int lms_check_single_process           </td>
153           <td>(</td>
154           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
155           <td class="paramname"> <em>lms</em>, </td>
156         </tr>
157         <tr>
158           <td class="paramkey"></td>
159           <td></td>
160           <td class="paramtype">const char *&nbsp;</td>
161           <td class="paramname"> <em>top_path</em></td><td>&nbsp;</td>
162         </tr>
163         <tr>
164           <td></td>
165           <td>)</td>
166           <td></td><td></td><td></td>
167         </tr>
168       </table>
169 </div>
170 <div class="memdoc">
171
172 <p>
173 Check consistency of given directory *without fork()-ing* into child process.<p>
174 This will update media in the given directory or its children. If files are missing, they'll be marked as deleted (dtime is set), if they were marked as deleted and are now present, they are unmarked (dtime is unset). Note that if a <a class="el" href="structparser.html">parser</a> hangs in the check process, this call will also hang.<p>
175 <dl compact><dt><b>Parameters:</b></dt><dd>
176   <table border="0" cellspacing="2" cellpadding="0">
177     <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>
178     <tr><td valign="top"></td><td valign="top"><em>top_path</em>&nbsp;</td><td>top directory to scan.</td></tr>
179   </table>
180 </dl>
181 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
182
183 <p>Definition at line <a class="el" href="lightmediascanner__check_8c-source.html#l00949">949</a> of file <a class="el" href="lightmediascanner__check_8c-source.html">lightmediascanner_check.c</a>.</p>
184
185 <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#l00088">lms::is_processing</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00050">cinfo::lms</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00042">PATH_SIZE</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00089">lms::stop_processing</a>.</p>
186
187 </div>
188 </div><p>
189 </div>
190 <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 22 23:56:01 2009 for Light Media Scanner by&nbsp;
191 <a href="http://www.doxygen.org/index.html">
192 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
193 </body>
194 </html>