2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
16 #define WEOF (wint_t)(0xFFFF)
19 #ifndef _CRT_CTYPEDATA_DEFINED
20 # define _CRT_CTYPEDATA_DEFINED
21 # ifndef _CTYPE_DISABLE_MACROS
22 # ifndef __PCTYPE_FUNC
24 # define __PCTYPE_FUNC __pctype_func()
26 # define __PCTYPE_FUNC _pctype
28 # endif /* !__PCTYPE_FUNC */
29 _CRTIMP
const unsigned short * __cdecl
__pctype_func(void);
31 _CRTDATA(extern const unsigned short *_pctype
);
33 # define _pctype (__pctype_func())
34 # endif /* !_M_CEE_PURE */
35 # endif /* !_CTYPE_DISABLE_MACROS */
36 #endif /* !_CRT_CTYPEDATA_DEFINED */
38 #ifndef _CRT_WCTYPEDATA_DEFINED
39 #define _CRT_WCTYPEDATA_DEFINED
40 # ifndef _CTYPE_DISABLE_MACROS
41 _CRTDATA(extern const unsigned short _wctype
[]);
42 _CRTIMP
const wctype_t * __cdecl
__pwctype_func(void);
44 _CRTDATA(extern const wctype_t *_pwctype
);
46 # define _pwctype (__pwctype_func())
47 # endif /* !_M_CEE_PURE */
48 # endif /* !_CTYPE_DISABLE_MACROS */
49 #endif /* !_CRT_WCTYPEDATA_DEFINED */
53 extern const unsigned char __newclmap
[];
54 extern const unsigned char __newcumap
[];
55 extern pthreadlocinfo __ptlocinfo
;
56 extern pthreadmbcinfo __ptmbcinfo
;
57 extern int __globallocalestatus
;
58 extern int __locale_changed
;
59 extern struct threadlocaleinfostruct __initiallocinfo
;
60 extern _locale_tstruct __initiallocalestructinfo
;
61 pthreadlocinfo __cdecl
__updatetlocinfo(void);
62 pthreadmbcinfo __cdecl
__updatetmbcinfo(void);
75 #define _LEADBYTE 0x8000
76 #define _ALPHA (0x0100|_UPPER|_LOWER)
78 #ifndef _CTYPE_DEFINED
79 #define _CTYPE_DEFINED
80 _CRTIMP
int __cdecl
_isctype(int _C
,int _Type
);
81 _CRTIMP
int __cdecl
_isctype_l(int _C
,int _Type
,_locale_t _Locale
);
82 _CRTIMP
int __cdecl
isalpha(int _C
);
83 _CRTIMP
int __cdecl
_isalpha_l(int _C
,_locale_t _Locale
);
84 _CRTIMP
int __cdecl
isupper(int _C
);
85 _CRTIMP
int __cdecl
_isupper_l(int _C
,_locale_t _Locale
);
86 _CRTIMP
int __cdecl
islower(int _C
);
87 _CRTIMP
int __cdecl
_islower_l(int _C
,_locale_t _Locale
);
88 _CRTIMP
int __cdecl
isdigit(int _C
);
89 _CRTIMP
int __cdecl
_isdigit_l(int _C
,_locale_t _Locale
);
90 _CRTIMP
int __cdecl
isxdigit(int _C
);
91 _CRTIMP
int __cdecl
_isxdigit_l(int _C
,_locale_t _Locale
);
92 _CRTIMP
int __cdecl
isspace(int _C
);
93 _CRTIMP
int __cdecl
_isspace_l(int _C
,_locale_t _Locale
);
94 _CRTIMP
int __cdecl
ispunct(int _C
);
95 _CRTIMP
int __cdecl
_ispunct_l(int _C
,_locale_t _Locale
);
96 _CRTIMP
int __cdecl
isalnum(int _C
);
97 _CRTIMP
int __cdecl
_isalnum_l(int _C
,_locale_t _Locale
);
98 _CRTIMP
int __cdecl
isprint(int _C
);
99 _CRTIMP
int __cdecl
_isprint_l(int _C
,_locale_t _Locale
);
100 _CRTIMP
int __cdecl
isgraph(int _C
);
101 _CRTIMP
int __cdecl
_isgraph_l(int _C
,_locale_t _Locale
);
102 _CRTIMP
int __cdecl
iscntrl(int _C
);
103 _CRTIMP
int __cdecl
_iscntrl_l(int _C
,_locale_t _Locale
);
104 _CRTIMP
int __cdecl
toupper(int _C
);
105 _CRTIMP
int __cdecl
tolower(int _C
);
106 _CRTIMP
int __cdecl
_tolower(int _C
);
107 _CRTIMP
int __cdecl
_tolower_l(int _C
,_locale_t _Locale
);
108 _CRTIMP
int __cdecl
_toupper(int _C
);
109 _CRTIMP
int __cdecl
_toupper_l(int _C
,_locale_t _Locale
);
110 _CRTIMP
int __cdecl
__isascii(int _C
);
111 _CRTIMP
int __cdecl
__toascii(int _C
);
112 _CRTIMP
int __cdecl
__iscsymf(int _C
);
113 _CRTIMP
int __cdecl
__iscsym(int _C
);
114 #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES)
115 _CRTIMP
int __cdecl
isblank(int _C
);
117 #endif /* !_CTYPE_DEFINED */
119 #ifndef _WCTYPE_DEFINED
120 #define _WCTYPE_DEFINED
121 _CRTIMP
int __cdecl
iswalpha(wint_t _C
);
122 _CRTIMP
int __cdecl
_iswalpha_l(wint_t _C
,_locale_t _Locale
);
123 _CRTIMP
int __cdecl
iswupper(wint_t _C
);
124 _CRTIMP
int __cdecl
_iswupper_l(wint_t _C
,_locale_t _Locale
);
125 _CRTIMP
int __cdecl
iswlower(wint_t _C
);
126 _CRTIMP
int __cdecl
_iswlower_l(wint_t _C
,_locale_t _Locale
);
127 _CRTIMP
int __cdecl
iswdigit(wint_t _C
);
128 _CRTIMP
int __cdecl
_iswdigit_l(wint_t _C
,_locale_t _Locale
);
129 _CRTIMP
int __cdecl
iswxdigit(wint_t _C
);
130 _CRTIMP
int __cdecl
_iswxdigit_l(wint_t _C
,_locale_t _Locale
);
131 _CRTIMP
int __cdecl
iswspace(wint_t _C
);
132 _CRTIMP
int __cdecl
_iswspace_l(wint_t _C
,_locale_t _Locale
);
133 _CRTIMP
int __cdecl
iswpunct(wint_t _C
);
134 _CRTIMP
int __cdecl
_iswpunct_l(wint_t _C
,_locale_t _Locale
);
135 _CRTIMP
int __cdecl
iswalnum(wint_t _C
);
136 _CRTIMP
int __cdecl
_iswalnum_l(wint_t _C
,_locale_t _Locale
);
137 _CRTIMP
int __cdecl
iswprint(wint_t _C
);
138 _CRTIMP
int __cdecl
_iswprint_l(wint_t _C
,_locale_t _Locale
);
139 _CRTIMP
int __cdecl
iswgraph(wint_t _C
);
140 _CRTIMP
int __cdecl
_iswgraph_l(wint_t _C
,_locale_t _Locale
);
141 _CRTIMP
int __cdecl
iswcntrl(wint_t _C
);
142 _CRTIMP
int __cdecl
_iswcntrl_l(wint_t _C
,_locale_t _Locale
);
143 _CRTIMP
int __cdecl
iswascii(wint_t _C
);
144 _CRTIMP
int __cdecl
isleadbyte(int _C
);
145 _CRTIMP
int __cdecl
_isleadbyte_l(int _C
,_locale_t _Locale
);
146 _CRTIMP
wint_t __cdecl
towupper(wint_t _C
);
147 _CRTIMP
wint_t __cdecl
_towupper_l(wint_t _C
,_locale_t _Locale
);
148 _CRTIMP
wint_t __cdecl
towlower(wint_t _C
);
149 _CRTIMP
wint_t __cdecl
_towlower_l(wint_t _C
,_locale_t _Locale
);
150 _CRTIMP
int __cdecl
iswctype(wint_t _C
,wctype_t _Type
);
151 _CRTIMP
int __cdecl
_iswctype_l(wint_t _C
,wctype_t _Type
,_locale_t _Locale
);
152 _CRTIMP
int __cdecl
__iswcsymf(wint_t _C
);
153 _CRTIMP
int __cdecl
_iswcsymf_l(wint_t _C
,_locale_t _Locale
);
154 _CRTIMP
int __cdecl
__iswcsym(wint_t _C
);
155 _CRTIMP
int __cdecl
_iswcsym_l(wint_t _C
,_locale_t _Locale
);
156 _CRTIMP
int __cdecl
is_wctype(wint_t _C
,wctype_t _Type
);
158 #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES)
159 _CRTIMP
int __cdecl
iswblank(wint_t _C
);
163 #ifndef _CTYPE_DISABLE_MACROS
166 #define MB_CUR_MAX ___mb_cur_max_func()
169 extern int __mb_cur_max
;
171 #define __mb_cur_max (*_imp____mb_cur_max)
172 extern int *_imp____mb_cur_max
;
176 #define ___mb_cur_max_func() (__mb_cur_max)
178 #define ___mb_cur_max_func() (*_imp____mb_cur_max)
182 #define __chvalidchk(a,b) (__PCTYPE_FUNC[(a)] & (b))
183 #define _chvalidchk_l(_Char,_Flag,_Locale) (!_Locale ? __chvalidchk(_Char,_Flag) : ((_locale_t)_Locale)->locinfo->pctype[_Char] & (_Flag))
184 #define _ischartype_l(_Char,_Flag,_Locale) (((_Locale)!=NULL && (((_locale_t)(_Locale))->locinfo->mb_cur_max) > 1) ? _isctype_l(_Char,(_Flag),_Locale) : _chvalidchk_l(_Char,_Flag,_Locale))
185 #define _isalpha_l(_Char,_Locale) _ischartype_l(_Char,_ALPHA,_Locale)
186 #define _isupper_l(_Char,_Locale) _ischartype_l(_Char,_UPPER,_Locale)
187 #define _islower_l(_Char,_Locale) _ischartype_l(_Char,_LOWER,_Locale)
188 #define _isdigit_l(_Char,_Locale) _ischartype_l(_Char,_DIGIT,_Locale)
189 #define _isxdigit_l(_Char,_Locale) _ischartype_l(_Char,_HEX,_Locale)
190 #define _isspace_l(_Char,_Locale) _ischartype_l(_Char,_SPACE,_Locale)
191 #define _ispunct_l(_Char,_Locale) _ischartype_l(_Char,_PUNCT,_Locale)
192 #define _isalnum_l(_Char,_Locale) _ischartype_l(_Char,_ALPHA|_DIGIT,_Locale)
193 #define _isprint_l(_Char,_Locale) _ischartype_l(_Char,_BLANK|_PUNCT|_ALPHA|_DIGIT,_Locale)
194 #define _isgraph_l(_Char,_Locale) _ischartype_l(_Char,_PUNCT|_ALPHA|_DIGIT,_Locale)
195 #define _iscntrl_l(_Char,_Locale) _ischartype_l(_Char,_CONTROL,_Locale)
196 #define _tolower(_Char) ((_Char)-'A'+'a')
197 #define _toupper(_Char) ((_Char)-'a'+'A')
198 #define __isascii(_Char) ((unsigned)(_Char) < 0x80)
199 #define __toascii(_Char) ((_Char) & 0x7f)
201 #ifndef _WCTYPE_INLINE_DEFINED
202 #define _WCTYPE_INLINE_DEFINED
204 #undef _CRT_WCTYPE_NOINLINE
206 #define iswalpha(_c) (iswctype(_c,_ALPHA))
207 #define iswupper(_c) (iswctype(_c,_UPPER))
208 #define iswlower(_c) (iswctype(_c,_LOWER))
209 #define iswdigit(_c) (iswctype(_c,_DIGIT))
210 #define iswxdigit(_c) (iswctype(_c,_HEX))
211 #define iswspace(_c) (iswctype(_c,_SPACE))
212 #define iswpunct(_c) (iswctype(_c,_PUNCT))
213 #define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT))
214 #define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT))
215 #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT))
216 #define iswcntrl(_c) (iswctype(_c,_CONTROL))
217 #define iswascii(_c) ((unsigned)(_c) < 0x80)
218 #define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p))
219 #define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p))
220 #define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p))
221 #define _iswdigit_l(_c,_p) (_iswctype_l(_c,_DIGIT,_p))
222 #define _iswxdigit_l(_c,_p) (_iswctype_l(_c,_HEX,_p))
223 #define _iswspace_l(_c,_p) (_iswctype_l(_c,_SPACE,_p))
224 #define _iswpunct_l(_c,_p) (_iswctype_l(_c,_PUNCT,_p))
225 #define _iswalnum_l(_c,_p) (_iswctype_l(_c,_ALPHA|_DIGIT,_p))
226 #define _iswprint_l(_c,_p) (_iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT,_p))
227 #define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p))
228 #define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p))
232 #define __iscsymf(_c) (isalpha(_c) || ((_c)=='_'))
233 #define __iscsym(_c) (isalnum(_c) || ((_c)=='_'))
234 #define __iswcsymf(_c) (iswalpha(_c) || ((_c)=='_'))
235 #define __iswcsym(_c) (iswalnum(_c) || ((_c)=='_'))
236 #define _iscsymf_l(_c,_p) (_isalpha_l(_c,_p) || ((_c)=='_'))
237 #define _iscsym_l(_c,_p) (_isalnum_l(_c,_p) || ((_c)=='_'))
238 #define _iswcsymf_l(_c,_p) (_iswalpha_l(_c,_p) || ((_c)=='_'))
239 #define _iswcsym_l(_c,_p) (_iswalnum_l(_c,_p) || ((_c)=='_'))
243 #ifndef _CTYPE_DEFINED
244 _CRTIMP
_CRT_NONSTDC_DEPRECATE(__isascii
) _CRTIMP
int __cdecl
isascii(int _C
);
245 _CRTIMP
_CRT_NONSTDC_DEPRECATE(__toascii
) _CRTIMP
int __cdecl
toascii(int _C
);
246 _CRTIMP
_CRT_NONSTDC_DEPRECATE(__iscsymf
) _CRTIMP
int __cdecl
iscsymf(int _C
);
247 _CRTIMP
_CRT_NONSTDC_DEPRECATE(__iscsym
) _CRTIMP
int __cdecl
iscsym(int _C
);
249 #define isascii __isascii
250 #define toascii __toascii
251 #define iscsymf __iscsymf
252 #define iscsym __iscsym
260 #endif /* !_INC_CTYPE */