OLD | NEW |
(Empty) | |
| 1 /* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2012 Free |
| 2 Software Foundation, Inc. |
| 3 |
| 4 This file is part of the GNU C Library. |
| 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 3, 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; if not, see <http://www.gnu.org/licenses/>. */ |
| 18 |
| 19 #ifndef _FNMATCH_H |
| 20 #define _FNMATCH_H 1 |
| 21 |
| 22 /* The definition of _GL_ARG_NONNULL is copied here. */ |
| 23 |
| 24 #ifdef __cplusplus |
| 25 extern "C" { |
| 26 #endif |
| 27 |
| 28 /* We #undef these before defining them because some losing systems |
| 29 (HP-UX A.08.07 for example) define these in <unistd.h>. */ |
| 30 #undef FNM_PATHNAME |
| 31 #undef FNM_NOESCAPE |
| 32 #undef FNM_PERIOD |
| 33 |
| 34 /* Bits set in the FLAGS argument to 'fnmatch'. */ |
| 35 #define FNM_PATHNAME (1 << 0) /* No wildcard can ever match '/'. */ |
| 36 #define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ |
| 37 #define FNM_PERIOD (1 << 2) /* Leading '.' is matched only explicitly. */ |
| 38 |
| 39 #if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE |
| 40 # define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ |
| 41 # define FNM_LEADING_DIR (1 << 3) /* Ignore '/...' after a match. */ |
| 42 # define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ |
| 43 # define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */ |
| 44 #endif |
| 45 |
| 46 /* Value returned by 'fnmatch' if STRING does not match PATTERN. */ |
| 47 #define FNM_NOMATCH 1 |
| 48 |
| 49 /* This value is returned if the implementation does not support |
| 50 'fnmatch'. Since this is not the case here it will never be |
| 51 returned but the conformance test suites still require the symbol |
| 52 to be defined. */ |
| 53 #ifdef _XOPEN_SOURCE |
| 54 # define FNM_NOSYS (-1) |
| 55 #endif |
| 56 |
| 57 /* Match NAME against the file name pattern PATTERN, |
| 58 returning zero if it matches, FNM_NOMATCH if not. */ |
| 59 extern int fnmatch (const char *__pattern, const char *__name, |
| 60 int __flags) |
| 61 _GL_ARG_NONNULL ((1, 2)); |
| 62 |
| 63 #ifdef __cplusplus |
| 64 } |
| 65 #endif |
| 66 |
| 67 #endif /* fnmatch.h */ |
OLD | NEW |