1 /* This file is part of the program psim.
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.
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.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 /* NB, an empty filter is NULL */
23 typedef struct _filter filter;
26 /* parse the list merging any flags into the filter */
28 extern void filter_parse
33 /* add the second filter to the first */
35 extern void filter_add
41 /* returns true if SUB is a strict subset of SUPER. For an empty set
42 is a member of any set */
44 extern int filter_is_subset
49 /* return true if there is at least one member common to the two
52 extern int filter_is_common
57 /* returns the index (pos + 1) if the name is in the filter. */
59 extern int filter_is_member
64 /* returns true if one of the flags is not present in the filter.
65 === !filter_is_subset (filter_parse (NULL, flags), filters) */
71 /* returns the next member of the filter set that follows MEMBER.
72 Member does not need to be an elememt of the filter set. Next of
73 "" is the first non-empty member */
82 extern void dump_filter