Annotation of gforth/engine/fnmatch.h, revision 1.1

1.1     ! anton       1: /* Copyright (C) 1991, 92, 93, 96, 97, 98 Free Software Foundation, Inc.
        !             2:    This file is part of the GNU C Library.
        !             3: 
        !             4:    The GNU C Library is free software; you can redistribute it and/or
        !             5:    modify it under the terms of the GNU Library General Public License as
        !             6:    published by the Free Software Foundation; either version 2 of the
        !             7:    License, or (at your option) any later version.
        !             8: 
        !             9:    The GNU C Library is distributed in the hope that it will be useful,
        !            10:    but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            11:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        !            12:    Library General Public License for more details.
        !            13: 
        !            14:    You should have received a copy of the GNU Library General Public
        !            15:    License along with the GNU C Library; see the file COPYING.LIB.  If not,
        !            16:    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
        !            17:    Boston, MA 02111-1307, USA.  */
        !            18: 
        !            19: #ifndef        _FNMATCH_H
        !            20: #define        _FNMATCH_H      1
        !            21: 
        !            22: #ifdef __cplusplus
        !            23: extern "C" {
        !            24: #endif
        !            25: 
        !            26: #if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32
        !            27: # if !defined __GLIBC__ || !defined __P
        !            28: #  undef       __P
        !            29: #  define __P(protos)  protos
        !            30: # endif
        !            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: #ifndef const
        !            40: # if (defined __STDC__ && __STDC__) || defined __cplusplus
        !            41: #  define __const      const
        !            42: # else
        !            43: #  define __const
        !            44: # endif
        !            45: #endif
        !            46: 
        !            47: /* We #undef these before defining them because some losing systems
        !            48:    (HP-UX A.08.07 for example) define these in <unistd.h>.  */
        !            49: #undef FNM_PATHNAME
        !            50: #undef FNM_NOESCAPE
        !            51: #undef FNM_PERIOD
        !            52: 
        !            53: /* Bits set in the FLAGS argument to `fnmatch'.  */
        !            54: #define        FNM_PATHNAME    (1 << 0) /* No wildcard can ever match `/'.  */
        !            55: #define        FNM_NOESCAPE    (1 << 1) /* Backslashes don't quote special chars.  */
        !            56: #define        FNM_PERIOD      (1 << 2) /* Leading `.' is matched only explicitly.  */
        !            57: 
        !            58: #if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
        !            59: # define FNM_FILE_NAME  FNM_PATHNAME   /* Preferred GNU name.  */
        !            60: # define FNM_LEADING_DIR (1 << 3)      /* Ignore `/...' after a match.  */
        !            61: # define FNM_CASEFOLD   (1 << 4)       /* Compare without regard to case.  */
        !            62: #endif
        !            63: 
        !            64: /* Value returned by `fnmatch' if STRING does not match PATTERN.  */
        !            65: #define        FNM_NOMATCH     1
        !            66: 
        !            67: /* This value is returned if the implementation does not support
        !            68:    `fnmatch'.  Since this is not the case here it will never be
        !            69:    returned but the conformance test suites still require the symbol
        !            70:    to be defined.  */
        !            71: #ifdef _XOPEN_SOURCE
        !            72: # define FNM_NOSYS     (-1)
        !            73: #endif
        !            74: 
        !            75: /* Match STRING against the filename pattern PATTERN,
        !            76:    returning zero if it matches, FNM_NOMATCH if not.  */
        !            77: extern int fnmatch __P ((__const char *__pattern, __const char *__string,
        !            78:                         int __flags));
        !            79: 
        !            80: #ifdef __cplusplus
        !            81: }
        !            82: #endif
        !            83: 
        !            84: #endif /* fnmatch.h */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>