xref: /netbsd-src/external/gpl2/diffutils/dist/lib/exclude.h (revision 75f6d617e282811cb173c2ccfbf5df0dd71f7045)
1 /*	$NetBSD: exclude.h,v 1.1.1.1 2016/01/13 03:15:30 christos Exp $	*/
2 
3 /* exclude.h -- declarations for excluding file names
4    Copyright 1992, 1993, 1994, 1997, 1999, 2001 Free Software Foundation, Inc.
5 
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2, or (at your option)
9    any later version.
10 
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License
17    along with this program; see the file COPYING.
18    If not, write to the Free Software Foundation,
19    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
20 
21 /* Written by Paul Eggert <eggert@twinsun.com>  */
22 
23 #ifndef PARAMS
24 # if defined PROTOTYPES || (defined __STDC__ && __STDC__)
25 #  define PARAMS(Args) Args
26 # else
27 #  define PARAMS(Args) ()
28 # endif
29 #endif
30 
31 /* Exclude options, which can be ORed with fnmatch options.  */
32 
33 /* Patterns must match the start of file names, instead of matching
34    anywhere after a '/'.  */
35 #define EXCLUDE_ANCHORED (1 << 5)
36 
37 /* Include instead of exclude.  */
38 #define EXCLUDE_INCLUDE (1 << 6)
39 
40 /* '?', '*', '[', and '\\' are special in patterns.  Without this
41    option, these characters are ordinary and fnmatch is not used.  */
42 #define EXCLUDE_WILDCARDS (1 << 7)
43 
44 struct exclude;
45 
46 struct exclude *new_exclude PARAMS ((void));
47 void free_exclude PARAMS ((struct exclude *));
48 void add_exclude PARAMS ((struct exclude *, char const *, int));
49 int add_exclude_file PARAMS ((void (*) (struct exclude *, char const *, int),
50 			      struct exclude *, char const *, int, char));
51 bool excluded_filename PARAMS ((struct exclude const *, char const *));
52