summaryrefslogtreecommitdiff
path: root/legacy/evil/win32/common/fnmatch.h
blob: ec916faf9b31398acfba3d058917f9405e76420e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef	_FNMATCH_H
#define	_FNMATCH_H

#ifdef EVIL_COMMON_API
# undef EVIL_COMMON_API
#endif /* EVIL_COMMON_API */

# ifdef EFL_EVIL_BUILD
#  ifdef DLL_EXPORT
#   define EVIL_COMMON_API __declspec(dllexport)
#  else
#   define EVIL_COMMON_API
#  endif /* ! DLL_EXPORT */
# else
#  define EVIL_COMMON_API __declspec(dllimport)
# endif /* ! EFL_EVIL_BUILD */

#ifdef	__cplusplus
extern "C" {
#endif

/* We #undef these before defining them because some losing systems
   (HP-UX A.08.07 for example) define these in <unistd.h>.  */
#undef	FNM_PATHNAME
#undef	FNM_NOESCAPE
#undef	FNM_PERIOD

/* Bits set in the FLAGS argument to `fnmatch'.  */
#define	FNM_PATHNAME	(1 << 0) /* No wildcard can ever match `/'.  */
#define	FNM_NOESCAPE	(1 << 1) /* Backslashes don't quote special chars.  */
#define	FNM_PERIOD	(1 << 2) /* Leading `.' is matched only explicitly.  */

#if !defined (_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 2 || defined (_GNU_SOURCE)
#define	FNM_FILE_NAME	FNM_PATHNAME /* Preferred GNU name.  */
#define	FNM_LEADING_DIR	(1 << 3) /* Ignore `/...' after a match.  */
#define	FNM_CASEFOLD	(1 << 4) /* Compare without regard to case.  */
#endif

/* Value returned by `fnmatch' if STRING does not match PATTERN.  */
#define	FNM_NOMATCH   1
#define FNM_SYNTAXERR 2
#define FNM_NOMEM     3

/* Match STRING against the filename pattern PATTERN,
   returning zero if it matches, FNM_NOMATCH if not.  */
EVIL_COMMON_API int fnmatch(const char *__pattern, const char *__string, int __flags);

#ifdef	__cplusplus
}
#endif

#endif /* _FNMATCH_H */