~ubuntu-branches/ubuntu/gutsy/diffutils/gutsy

« back to all changes in this revision

Viewing changes to lib/fnmatch.hin

  • Committer: Bazaar Package Importer
  • Author(s): Santiago Vila
  • Date: 2005-02-15 22:45:18 UTC
  • Revision ID: james.westby@ubuntu.com-20050215224518-dw9ti3me00twpcmt
Tags: upstream-2.8.1
ImportĀ upstreamĀ versionĀ 2.8.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
 
2
 
 
3
NOTE: The canonical source of this file is maintained with the GNU C Library.
 
4
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
 
5
 
 
6
This program is free software; you can redistribute it and/or modify it
 
7
under the terms of the GNU General Public License as published by the
 
8
Free Software Foundation; either version 2, or (at your option) any
 
9
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; if not, write to the Free Software Foundation,
 
18
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
19
 
 
20
#ifndef _FNMATCH_H
 
21
 
 
22
#define _FNMATCH_H      1
 
23
 
 
24
#ifdef  __cplusplus
 
25
extern "C" {
 
26
#endif
 
27
 
 
28
#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
 
29
#undef  __P
 
30
#define __P(protos)     protos
 
31
#else /* Not C++ or ANSI C.  */
 
32
#undef  __P
 
33
#define __P(protos)     ()
 
34
/* We can get away without defining `const' here only because in this file
 
35
   it is used only inside the prototype for `fnmatch', which is elided in
 
36
   non-ANSI C where `const' is problematical.  */
 
37
#endif /* C++ or ANSI C.  */
 
38
 
 
39
 
 
40
/* We #undef these before defining them because some losing systems
 
41
   (HP-UX A.08.07 for example) define these in <unistd.h>.  */
 
42
#undef  FNM_PATHNAME
 
43
#undef  FNM_NOESCAPE
 
44
#undef  FNM_PERIOD
 
45
 
 
46
/* Bits set in the FLAGS argument to `fnmatch'.  */
 
47
#define FNM_PATHNAME    (1 << 0) /* No wildcard can ever match `/'.  */
 
48
#define FNM_NOESCAPE    (1 << 1) /* Backslashes don't quote special chars.  */
 
49
#define FNM_PERIOD      (1 << 2) /* Leading `.' is matched only explicitly.  */
 
50
 
 
51
#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
 
52
#define FNM_FILE_NAME   FNM_PATHNAME /* Preferred GNU name.  */
 
53
#define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match.  */
 
54
#define FNM_CASEFOLD    (1 << 4) /* Compare without regard to case.  */
 
55
#endif
 
56
 
 
57
/* Value returned by `fnmatch' if STRING does not match PATTERN.  */
 
58
#define FNM_NOMATCH     1
 
59
 
 
60
/* Match STRING against the filename pattern PATTERN,
 
61
   returning zero if it matches, FNM_NOMATCH if not.  */
 
62
extern int fnmatch __P ((const char *__pattern, const char *__string,
 
63
                         int __flags));
 
64
 
 
65
#ifdef  __cplusplus
 
66
}
 
67
#endif
 
68
 
 
69
#endif /* fnmatch.h */