1 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ 2 /* -*- buffer-read-only: t -*- vi: set ro: */ 3 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ 4 /* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2011 Free 5 Software Foundation, Inc. 6 7 This file is part of the GNU C Library. 8 9 This program is free software; you can redistribute it and/or modify 10 it under the terms of the GNU General Public License as published by 11 the Free Software Foundation; either version 3, or (at your option) 12 any later version. 13 14 This program is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 GNU General Public License for more details. 18 19 You should have received a copy of the GNU General Public License 20 along with this program; if not, write to the Free Software Foundation, 21 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ 22 23 #ifndef _FNMATCH_H 24 #define _FNMATCH_H 1 25 26 /* The definition of _GL_ARG_NONNULL is copied here. */ 27 /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools 28 that the values passed as arguments n, ..., m must be non-NULL pointers. 29 n = 1 stands for the first argument, n = 2 for the second argument etc. */ 30 #ifndef _GL_ARG_NONNULL 31 # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 32 # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) 33 # else 34 # define _GL_ARG_NONNULL(params) 35 # endif 36 #endif 37 38 #ifdef __cplusplus 39 extern "C" { 40 #endif 41 42 /* We #undef these before defining them because some losing systems 43 (HP-UX A.08.07 for example) define these in <unistd.h>. */ 44 #undef FNM_PATHNAME 45 #undef FNM_NOESCAPE 46 #undef FNM_PERIOD 47 48 /* Bits set in the FLAGS argument to `fnmatch'. */ 49 #define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */ 50 #define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ 51 #define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */ 52 53 #if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE 54 # define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ 55 # define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */ 56 # define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ 57 # define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */ 58 #endif 59 60 /* Value returned by `fnmatch' if STRING does not match PATTERN. */ 61 #define FNM_NOMATCH 1 62 63 /* This value is returned if the implementation does not support 64 `fnmatch'. Since this is not the case here it will never be 65 returned but the conformance test suites still require the symbol 66 to be defined. */ 67 #ifdef _XOPEN_SOURCE 68 # define FNM_NOSYS (-1) 69 #endif 70 71 /* Match NAME against the file name pattern PATTERN, 72 returning zero if it matches, FNM_NOMATCH if not. */ 73 extern int fnmatch (const char *__pattern, const char *__name, 74 int __flags) 75 _GL_ARG_NONNULL ((1, 2)); 76 77 #ifdef __cplusplus 78 } 79 #endif 80 81 #endif /* fnmatch.h */ 82