Blame include/fnmatch.h

Packit bbfece
/* Copyright (C) 1991-2018 Free Software Foundation, Inc.
Packit bbfece
Packit bbfece
NOTE: The canonical source of this file is maintained with the GNU C Library.
Packit bbfece
Bugs can be reported to bug-glibc@prep.ai.mit.edu.
Packit bbfece
Packit bbfece
This program is free software; you can redistribute it and/or modify it
Packit bbfece
under the terms of the GNU General Public License as published by the
Packit bbfece
Free Software Foundation; either version 2, or (at your option) any
Packit bbfece
later version.
Packit bbfece
Packit bbfece
This program is distributed in the hope that it will be useful,
Packit bbfece
but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit bbfece
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit bbfece
GNU General Public License for more details.
Packit bbfece
Packit bbfece
You should have received a copy of the GNU General Public License
Packit bbfece
along with this program; if not, write to the Free Software
Packit bbfece
Foundation, 51 Franklin Street - Fifth Floor,
Packit bbfece
Boston, MA 02110-1301, USA.  */
Packit bbfece
Packit bbfece
#ifndef	_FNMATCH_H
Packit bbfece
Packit bbfece
#define	_FNMATCH_H	1
Packit bbfece
Packit bbfece
#ifdef	__cplusplus
Packit bbfece
extern "C" {
Packit bbfece
#endif
Packit bbfece
Packit bbfece
#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
Packit bbfece
#undef	__P
Packit bbfece
#define	__P(args)	args
Packit bbfece
#else /* Not C++ or ANSI C.  */
Packit bbfece
#undef	__P
Packit bbfece
#define	__P(args)	()
Packit bbfece
/* We can get away without defining `const' here only because in this file
Packit bbfece
   it is used only inside the prototype for `fnmatch', which is elided in
Packit bbfece
   non-ANSI C where `const' is problematical.  */
Packit bbfece
#endif /* C++ or ANSI C.  */
Packit bbfece
Packit bbfece
Packit bbfece
/* We #undef these before defining them because some losing systems
Packit bbfece
   (HP-UX A.08.07 for example) define these in <unistd.h>.  */
Packit bbfece
#undef	FNM_PATHNAME
Packit bbfece
#undef	FNM_NOESCAPE
Packit bbfece
#undef	FNM_PERIOD
Packit bbfece
Packit bbfece
/* Bits set in the FLAGS argument to `fnmatch'.  */
Packit bbfece
#define	FNM_PATHNAME	(1 << 0) /* No wildcard can ever match `/'.  */
Packit bbfece
#define	FNM_NOESCAPE	(1 << 1) /* Backslashes don't quote special chars.  */
Packit bbfece
#define	FNM_PERIOD	(1 << 2) /* Leading `.' is matched only explicitly.  */
Packit bbfece
Packit bbfece
#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
Packit bbfece
#define	FNM_FILE_NAME	FNM_PATHNAME /* Preferred GNU name.  */
Packit bbfece
#define	FNM_LEADING_DIR	(1 << 3) /* Ignore `/...' after a match.  */
Packit bbfece
#define	FNM_CASEFOLD	(1 << 4) /* Compare without regard to case.  */
Packit bbfece
#endif
Packit bbfece
Packit bbfece
/* Value returned by `fnmatch' if STRING does not match PATTERN.  */
Packit bbfece
#define	FNM_NOMATCH	1
Packit bbfece
Packit bbfece
/* Match STRING against the filename pattern PATTERN,
Packit bbfece
   returning zero if it matches, FNM_NOMATCH if not.  */
Packit bbfece
extern int fnmatch __P ((const char *__pattern, const char *__string,
Packit bbfece
			 int __flags));
Packit bbfece
Packit bbfece
#ifdef	__cplusplus
Packit bbfece
}
Packit bbfece
#endif
Packit bbfece
Packit bbfece
#endif /* fnmatch.h */