]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/igen/filter.h
Copyright updates for 2007.
[thirdparty/binutils-gdb.git] / sim / igen / filter.h
CommitLineData
feaee4bd
AC
1/* The IGEN simulator generator for GDB, the GNU Debugger.
2
6aba47ca 3 Copyright 2002, 2007 Free Software Foundation, Inc.
feaee4bd
AC
4
5 Contributed by Andrew Cagney.
6
7 This file is part of GDB.
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 59 Temple Place - Suite 330,
22 Boston, MA 02111-1307, USA. */
c906108c
SS
23
24
25/* NB, an empty filter is NULL */
26typedef struct _filter filter;
27
28
29/* parse the list merging any flags into the filter */
30
4e0bf4c4 31extern void filter_parse (filter **filters, const char *filt);
c906108c
SS
32
33
34/* add the second filter to the first */
35
4e0bf4c4 36extern void filter_add (filter **filters, filter *add);
c906108c
SS
37
38
39
40/* returns true if SUB is a strict subset of SUPER. For an empty set
41 is a member of any set */
42
4e0bf4c4 43extern int filter_is_subset (filter *superset, filter *subset);
c906108c
SS
44
45
46/* return true if there is at least one member common to the two
47 filters */
48
4e0bf4c4 49extern int filter_is_common (filter *l, filter *r);
c906108c
SS
50
51
52/* returns the index (pos + 1) if the name is in the filter. */
53
4e0bf4c4 54extern int filter_is_member (filter *set, const char *flag);
c906108c
SS
55
56
57/* returns true if one of the flags is not present in the filter.
58 === !filter_is_subset (filter_parse (NULL, flags), filters) */
4e0bf4c4 59int is_filtered_out (filter *filters, const char *flags);
c906108c
SS
60
61
62/* returns the next member of the filter set that follows MEMBER.
63 Member does not need to be an elememt of the filter set. Next of
64 "" is the first non-empty member */
4e0bf4c4 65char *filter_next (filter *set, char *member);
c906108c
SS
66
67
68
69/* for debugging */
70
4e0bf4c4 71extern void dump_filter (lf *file, char *prefix, filter *filt, char *suffix);