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">
7 <!-- Generated by Doxygen 1.5.8 -->
8 <div class="navigation" id="top">
11 <li><a href="index.html"><span>Main Page</span></a></li>
12 <li><a href="modules.html"><span>Modules</span></a></li>
13 <li><a href="annotated.html"><span>Data Structures</span></a></li>
14 <li class="current"><a href="files.html"><span>Files</span></a></li>
19 <li><a href="files.html"><span>File List</span></a></li>
20 <li><a href="globals.html"><span>Globals</span></a></li>
24 <div class="contents">
25 <h1>src/lib/lightmediascanner_check.c File Reference</h1><code>#include <sys/wait.h></code><br>
26 <code>#include <sys/stat.h></code><br>
27 <code>#include <unistd.h></code><br>
28 <code>#include <dirent.h></code><br>
29 <code>#include <signal.h></code><br>
30 <code>#include <time.h></code><br>
31 <code>#include <stdio.h></code><br>
32 <code>#include <stdlib.h></code><br>
33 <code>#include <string.h></code><br>
34 <code>#include "<a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>"</code><br>
35 <code>#include "<a class="el" href="lightmediascanner__private_8h-source.html">lightmediascanner_private.h</a>"</code><br>
36 <code>#include "<a class="el" href="lightmediascanner__db__private_8h-source.html">lightmediascanner_db_private.h</a>"</code><br>
39 <div class="dynheader">
40 Include dependency graph for lightmediascanner_check.c:</div>
41 <div class="dynsection">
45 <a href="lightmediascanner__check_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
47 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
48 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__check_8c.html#369266c24eacffb87046522897a570d5">_GNU_SOURCE</a></td></tr>
50 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner__check_8c.html#f8084f435d209d810eb33deaa35fab5e">COMM_FINFO_FLAG_OUTDATED</a> 1</td></tr>
52 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
53 <tr><td class="memItemLeft" nowrap align="right" valign="top">int </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>
55 <tr><td class="memItemLeft" nowrap align="right" valign="top">int </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>
58 <hr><h2>Define Documentation</h2>
59 <a class="anchor" name="369266c24eacffb87046522897a570d5"></a><!-- doxytag: member="lightmediascanner_check.c::_GNU_SOURCE" ref="369266c24eacffb87046522897a570d5" args="" -->
61 <div class="memproto">
62 <table class="memname">
64 <td class="memname">#define _GNU_SOURCE </td>
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 <<a href="mailto:gustavo.barbieri@openbossa.org">gustavo.barbieri@openbossa.org</a>> </dd></dl>
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>
81 <a class="anchor" name="f8084f435d209d810eb33deaa35fab5e"></a><!-- doxytag: member="lightmediascanner_check.c::COMM_FINFO_FLAG_OUTDATED" ref="f8084f435d209d810eb33deaa35fab5e" args="" -->
83 <div class="memproto">
84 <table class="memname">
86 <td class="memname">#define COMM_FINFO_FLAG_OUTDATED 1 </td>
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>
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">
104 <td class="memname">int lms_check </td>
106 <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> * </td>
107 <td class="paramname"> <em>lms</em>, </td>
110 <td class="paramkey"></td>
112 <td class="paramtype">const char * </td>
113 <td class="paramname"> <em>top_path</em></td><td> </td>
118 <td></td><td></td><td></td>
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> </td><td>previously allocated Light Media Scanner instance. </td></tr>
130 <tr><td valign="top"></td><td valign="top"><em>top_path</em> </td><td>top directory to scan.</td></tr>
133 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
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>
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>
140 <div class="dynheader">
141 Here is the call graph for this function:</div>
142 <div class="dynsection">
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">
152 <td class="memname">int lms_check_single_process </td>
154 <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> * </td>
155 <td class="paramname"> <em>lms</em>, </td>
158 <td class="paramkey"></td>
160 <td class="paramtype">const char * </td>
161 <td class="paramname"> <em>top_path</em></td><td> </td>
166 <td></td><td></td><td></td>
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> </td><td>previously allocated Light Media Scanner instance. </td></tr>
178 <tr><td valign="top"></td><td valign="top"><em>top_path</em> </td><td>top directory to scan.</td></tr>
181 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
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>
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>
190 <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 22 23:56:01 2009 for Light Media Scanner by
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>