Blame lib/fnmatch.in.h

Packit 33f14e
/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2017 Free
Packit 33f14e
   Software Foundation, Inc.
Packit 33f14e
Packit 33f14e
   This file is part of the GNU C Library.
Packit 33f14e
Packit 33f14e
   This program is free software; you can redistribute it and/or modify
Packit 33f14e
   it under the terms of the GNU General Public License as published by
Packit 33f14e
   the Free Software Foundation; either version 3, or (at your option)
Packit 33f14e
   any later version.
Packit 33f14e
Packit 33f14e
   This program is distributed in the hope that it will be useful,
Packit 33f14e
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 33f14e
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 33f14e
   GNU General Public License for more details.
Packit 33f14e
Packit 33f14e
   You should have received a copy of the GNU General Public License
Packit 33f14e
   along with this program; if not, see <http://www.gnu.org/licenses/>.  */
Packit 33f14e
Packit 33f14e
#ifndef _FNMATCH_H
Packit 33f14e
#define _FNMATCH_H      1
Packit 33f14e
Packit 33f14e
/* The definition of _GL_ARG_NONNULL is copied here.  */
Packit 33f14e
Packit 33f14e
#ifdef __cplusplus
Packit 33f14e
extern "C" {
Packit 33f14e
#endif
Packit 33f14e
Packit 33f14e
/* We #undef these before defining them because some losing systems
Packit 33f14e
   (HP-UX A.08.07 for example) define these in <unistd.h>.  */
Packit 33f14e
#undef  FNM_PATHNAME
Packit 33f14e
#undef  FNM_NOESCAPE
Packit 33f14e
#undef  FNM_PERIOD
Packit 33f14e
Packit 33f14e
/* Bits set in the FLAGS argument to 'fnmatch'.  */
Packit 33f14e
#define FNM_PATHNAME    (1 << 0) /* No wildcard can ever match '/'.  */
Packit 33f14e
#define FNM_NOESCAPE    (1 << 1) /* Backslashes don't quote special chars.  */
Packit 33f14e
#define FNM_PERIOD      (1 << 2) /* Leading '.' is matched only explicitly.  */
Packit 33f14e
Packit 33f14e
#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
Packit 33f14e
# define FNM_FILE_NAME   FNM_PATHNAME   /* Preferred GNU name.  */
Packit 33f14e
# define FNM_LEADING_DIR (1 << 3)       /* Ignore '/...' after a match.  */
Packit 33f14e
# define FNM_CASEFOLD    (1 << 4)       /* Compare without regard to case.  */
Packit 33f14e
# define FNM_EXTMATCH    (1 << 5)       /* Use ksh-like extended matching. */
Packit 33f14e
#endif
Packit 33f14e
Packit 33f14e
/* Value returned by 'fnmatch' if STRING does not match PATTERN.  */
Packit 33f14e
#define FNM_NOMATCH     1
Packit 33f14e
Packit 33f14e
/* This value is returned if the implementation does not support
Packit 33f14e
   'fnmatch'.  Since this is not the case here it will never be
Packit 33f14e
   returned but the conformance test suites still require the symbol
Packit 33f14e
   to be defined.  */
Packit 33f14e
#ifdef _XOPEN_SOURCE
Packit 33f14e
# define FNM_NOSYS      (-1)
Packit 33f14e
#endif
Packit 33f14e
Packit 33f14e
/* Match NAME against the file name pattern PATTERN,
Packit 33f14e
   returning zero if it matches, FNM_NOMATCH if not.  */
Packit 33f14e
extern int fnmatch (const char *__pattern, const char *__name,
Packit 33f14e
                    int __flags)
Packit 33f14e
     _GL_ARG_NONNULL ((1, 2));
Packit 33f14e
Packit 33f14e
#ifdef __cplusplus
Packit 33f14e
}
Packit 33f14e
#endif
Packit 33f14e
Packit 33f14e
#endif /* fnmatch.h */