abrt  2.1.4
A tool to inform users about various problems on the running system
problem_api.h
1 /*
2  Copyright (C) ABRT Team
3  Copyright (C) RedHat inc.
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License along
16  with this program; if not, write to the Free Software Foundation, Inc.,
17  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 
20 #include <glib.h>
21 #include <libabrt.h>
22 
23 /*
24  * Structure for simple conditions based on problem fields
25  */
27 {
28  /* a name of filed required by evaluate function */
29  const char *field_name;
30  /* extra data passed to evaluate function */
31  const void *args;
32  /* evaluate function returning TRUE if condition was passed */
33  bool (*evaluate)(const char *, const void *);
34 };
35 
36 /* Retrieves the list of directories currently used as a problem storage
37  * The result must be freed by caller
38  * @returns List of strings representing the full path to dirs
39 */
40 GList *get_problem_storages();
41 GList *get_problem_dirs_for_uid(uid_t uid, const char *dump_location);
42 GList *get_problem_dirs_for_element_in_time(uid_t uid,
43  const char *element,
44  const char *value,
45  unsigned long timestamp_from,
46  unsigned long timestamp_to,
47  const char *dump_location);
48 
49 /* Counts all problems in given directories
50  *
51  * @paths[in] list of paths to scan (pass NULL to use the default problem directories)
52  * @since[in]
53  * @returns count of problems
54  */
55 unsigned int get_problems_count(GList *paths, unsigned long since);