source: trunk/essentials/app-arch/cpio/headers/fnmatch.h

Last change on this file was 3332, checked in by bird, 18 years ago

cpio 2.7

File size: 2.3 KB
Line 
1/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
2
3This library is free software; you can redistribute it and/or
4modify it under the terms of the GNU Library General Public License as
5published by the Free Software Foundation; either version 2 of the
6License, or (at your option) any later version.
7
8This library is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11Library General Public License for more details.
12
13You should have received a copy of the GNU Library General
14Public License along with this library; see the file COPYING.LIB.
15If not, write to the Free Software Foundation, Inc., 51 Franklin
16Street, Fifth Floor, Boston, MA 02110-1301 USA. */
17
18#ifndef _FNMATCH_H
19
20#define _FNMATCH_H 1
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
27#undef __P
28#define __P(protos) protos
29#else /* Not C++ or ANSI C. */
30#undef __P
31#define __P(protos) ()
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
38/* We #undef these before defining them because some losing systems
39 (HP-UX A.08.07 for example) define these in <unistd.h>. */
40#undef FNM_PATHNAME
41#undef FNM_NOESCAPE
42#undef FNM_PERIOD
43
44/* Bits set in the FLAGS argument to `fnmatch'. */
45#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
46#define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
47#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
48
49#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
50#define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
51#define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
52#define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
53#endif
54
55/* Value returned by `fnmatch' if STRING does not match PATTERN. */
56#define FNM_NOMATCH 1
57
58/* Match STRING against the filename pattern PATTERN,
59 returning zero if it matches, FNM_NOMATCH if not. */
60extern int fnmatch __P ((const char *__pattern, const char *__string,
61 int __flags));
62
63#ifdef __cplusplus
64}
65#endif
66
67#endif /* fnmatch.h */
Note: See TracBrowser for help on using the repository browser.