1 /**
2 * collectd - src/config_list.h
3 * Copyright (C) 2006 Lubos Stanek <lubek at users.sourceforge.net>
4 *
5 * This program is free software; you can redistribute it and/
6 * or modify it under the terms of the GNU General Public Li-
7 * cence as published by the Free Software Foundation; either
8 * version 2 of the Licence, or any later version.
9 *
10 * This program is distributed in the hope that it will be use-
11 * ful, but WITHOUT ANY WARRANTY; without even the implied war-
12 * ranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 * See the GNU General Public Licence for more details.
14 *
15 * You should have received a copy of the GNU General Public
16 * Licence along with this program; if not, write to the Free
17 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
18 * USA.
19 *
20 * Authors:
21 * Lubos Stanek <lubek at users.sourceforge.net>
22 **/
23 /**
24 * ignorelist handles plugin's list of configured collectable
25 * entries with global ignore action
26 **/
28 #ifndef UTILS_IGNORELIST_H
29 #define UTILS_IGNORELIST_H 1
31 #include "common.h"
33 #if HAVE_REGEX_H
34 # include <regex.h>
35 #endif
37 /* public prototypes */
39 struct ignorelist_s;
40 typedef struct ignorelist_s ignorelist_t;
42 /*
43 * create the ignorelist_t with known ignore state
44 * return pointer to ignorelist_t
45 */
46 ignorelist_t *ignorelist_create (int ignore);
48 /*
49 * create ignorelist_t and initialize the ignore state to 0
50 * return pointer to ignorelist_t
51 */
52 ignorelist_t *ignorelist_init (void);
54 /*
55 * free memory used by ignorelist_t
56 */
57 void ignorelist_free (ignorelist_t *conflist);
59 /*
60 * set ignore state of the ignorelist_t
61 */
62 void ignorelist_ignore (ignorelist_t *conflist, int ignore);
63 /*
64 * get number of entries in the ignorelist_t
65 * return int number
66 */
67 int ignorelist_num (ignorelist_t *conflist);
69 /*
70 * append entry to ignorelist_t
71 * return 1 for success
72 */
73 int ignorelist_add (ignorelist_t *conflist, const char *entry);
75 /*
76 * check list for entry
77 * return 1 for ignored entry
78 */
79 int ignorelist_ignored (ignorelist_t *conflist, const char *entry);
81 #endif /* UTILS_IGNORELIST_H */