Commit | Line | Data |
---|---|---|
9a722b34 NW |
1 | /* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. |
2 | ||
3 | This library is free software; you can redistribute it and/or | |
4 | modify it under the terms of the GNU Library General Public License as | |
5 | published by the Free Software Foundation; either version 2 of the | |
6 | License, or (at your option) any later version. | |
7 | ||
8 | This library is distributed in the hope that it will be useful, | |
9 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
11 | Library General Public License for more details. | |
12 | ||
13 | You should have received a copy of the GNU Library General Public | |
14 | License along with this library; see the file COPYING.LIB. If | |
15 | not, write to the Free Software Foundation, Inc., 675 Mass Ave, | |
16 | Cambridge, MA 02139, USA. */ | |
17 | ||
18 | #ifndef _FNMATCH_H | |
19 | ||
20 | #define _FNMATCH_H 1 | |
21 | ||
22 | #ifdef __cplusplus | |
23 | extern "C" { | |
24 | #endif | |
25 | ||
26 | #if defined (__cplusplus) || (defined (__STDC__) && __STDC__) | |
27 | #undef __P | |
28 | #define __P(args) args | |
29 | #else /* Not C++ or ANSI C. */ | |
30 | #undef __P | |
31 | #define __P(args) () | |
32 | /* We can get away without defining `const' here only because in this file | |
33 | it is used only inside the prototype for `fnmatch', which is elided in | |
34 | non-ANSI C where `const' is problematical. */ | |
35 | #endif /* C++ or ANSI C. */ | |
36 | ||
37 | /* Bits set in the FLAGS argument to `fnmatch'. */ | |
38 | #ifndef FNM_PATHNAME | |
39 | #define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */ | |
40 | #endif | |
41 | #define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ | |
42 | #define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */ | |
43 | ||
44 | #if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE) | |
45 | #define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ | |
46 | #define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */ | |
47 | #define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ | |
48 | #endif | |
49 | ||
50 | /* Value returned by `fnmatch' if STRING does not match PATTERN. */ | |
51 | #define FNM_NOMATCH 1 | |
52 | ||
53 | /* Match STRING against the filename pattern PATTERN, | |
54 | returning zero if it matches, FNM_NOMATCH if not. */ | |
55 | extern int fnmatch __P ((const char *__pattern, const char *__string, | |
56 | int __flags)); | |
57 | ||
58 | #ifdef __cplusplus | |
59 | } | |
60 | #endif | |
61 | ||
62 | #endif /* fnmatch.h */ |