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
96 _In_opt_ _locale_t _Locale
);
111 _In_opt_ _locale_t _Locale
);
126 _In_opt_ _locale_t _Locale
);
141 _In_opt_ _locale_t _Locale
);
156 _In_opt_ _locale_t _Locale
);
171 _In_opt_ _locale_t _Locale
);
186 _In_opt_ _locale_t _Locale
);
201 _In_opt_ _locale_t _Locale
);
216 _In_opt_ _locale_t _Locale
);
231 _In_opt_ _locale_t _Locale
);
246 _In_opt_ _locale_t _Locale
);
261 _In_opt_ _locale_t _Locale
);
290 _In_opt_ _locale_t _Locale
);
305 _In_opt_ _locale_t _Locale
);
335 #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES)
336 int __cdecl
isblank(int _C
);
339 #endif /* !_CTYPE_DEFINED */
341 #ifndef _WCTYPE_DEFINED
342 #define _WCTYPE_DEFINED
357 _In_opt_ _locale_t _Locale
);
372 _In_opt_ _locale_t _Locale
);
387 _In_opt_ _locale_t _Locale
);
402 _In_opt_ _locale_t _Locale
);
417 _In_opt_ _locale_t _Locale
);
432 _In_opt_ _locale_t _Locale
);
447 _In_opt_ _locale_t _Locale
);
462 _In_opt_ _locale_t _Locale
);
477 _In_opt_ _locale_t _Locale
);
492 _In_opt_ _locale_t _Locale
);
507 _In_opt_ _locale_t _Locale
);
529 _In_opt_ _locale_t _Locale
);
544 _In_opt_ _locale_t _Locale
);
559 _In_opt_ _locale_t _Locale
);
567 _In_
wctype_t _Type
);
576 _In_opt_ _locale_t _Locale
);
591 _In_opt_ _locale_t _Locale
);
606 _In_opt_ _locale_t _Locale
);
613 _In_
wctype_t _Type
);
615 #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES)
616 int __cdecl
iswblank(wint_t _C
);
619 #endif /* _WCTYPE_DEFINED */
621 #ifndef _CTYPE_DISABLE_MACROS
624 #define MB_CUR_MAX ___mb_cur_max_func()
627 extern int __mb_cur_max
;
629 #define __mb_cur_max (*_imp____mb_cur_max)
630 extern int *_imp____mb_cur_max
;
634 #define ___mb_cur_max_func() (__mb_cur_max)
636 #define ___mb_cur_max_func() (*_imp____mb_cur_max)
640 #define __chvalidchk(a,b) (__PCTYPE_FUNC[(a)] & (b))
641 #define _chvalidchk_l(_Char,_Flag,_Locale) (!_Locale ? __chvalidchk(_Char,_Flag) : ((_locale_t)_Locale)->locinfo->pctype[_Char] & (_Flag))
642 #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))
643 #define _isalpha_l(_Char,_Locale) _ischartype_l(_Char,_ALPHA,_Locale)
644 #define _isupper_l(_Char,_Locale) _ischartype_l(_Char,_UPPER,_Locale)
645 #define _islower_l(_Char,_Locale) _ischartype_l(_Char,_LOWER,_Locale)
646 #define _isdigit_l(_Char,_Locale) _ischartype_l(_Char,_DIGIT,_Locale)
647 #define _isxdigit_l(_Char,_Locale) _ischartype_l(_Char,_HEX,_Locale)
648 #define _isspace_l(_Char,_Locale) _ischartype_l(_Char,_SPACE,_Locale)
649 #define _ispunct_l(_Char,_Locale) _ischartype_l(_Char,_PUNCT,_Locale)
650 #define _isalnum_l(_Char,_Locale) _ischartype_l(_Char,_ALPHA|_DIGIT,_Locale)
651 #define _isprint_l(_Char,_Locale) _ischartype_l(_Char,_BLANK|_PUNCT|_ALPHA|_DIGIT,_Locale)
652 #define _isgraph_l(_Char,_Locale) _ischartype_l(_Char,_PUNCT|_ALPHA|_DIGIT,_Locale)
653 #define _iscntrl_l(_Char,_Locale) _ischartype_l(_Char,_CONTROL,_Locale)
654 #define _tolower(_Char) ((_Char)-'A'+'a')
655 #define _toupper(_Char) ((_Char)-'a'+'A')
656 #define __isascii(_Char) ((unsigned)(_Char) < 0x80)
657 #define __toascii(_Char) ((_Char) & 0x7f)
659 #ifndef _WCTYPE_INLINE_DEFINED
660 #define _WCTYPE_INLINE_DEFINED
662 #undef _CRT_WCTYPE_NOINLINE
664 #define iswalpha(_c) (iswctype(_c,_ALPHA))
665 #define iswupper(_c) (iswctype(_c,_UPPER))
666 #define iswlower(_c) (iswctype(_c,_LOWER))
667 #define iswdigit(_c) (iswctype(_c,_DIGIT))
668 #define iswxdigit(_c) (iswctype(_c,_HEX))
669 #define iswspace(_c) (iswctype(_c,_SPACE))
670 #define iswpunct(_c) (iswctype(_c,_PUNCT))
671 #define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT))
672 #define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT))
673 #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT))
674 #define iswcntrl(_c) (iswctype(_c,_CONTROL))
675 #define iswascii(_c) ((unsigned)(_c) < 0x80)
676 #define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p))
677 #define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p))
678 #define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p))
679 #define _iswdigit_l(_c,_p) (_iswctype_l(_c,_DIGIT,_p))
680 #define _iswxdigit_l(_c,_p) (_iswctype_l(_c,_HEX,_p))
681 #define _iswspace_l(_c,_p) (_iswctype_l(_c,_SPACE,_p))
682 #define _iswpunct_l(_c,_p) (_iswctype_l(_c,_PUNCT,_p))
683 #define _iswalnum_l(_c,_p) (_iswctype_l(_c,_ALPHA|_DIGIT,_p))
684 #define _iswprint_l(_c,_p) (_iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT,_p))
685 #define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p))
686 #define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p))
690 #define __iscsymf(_c) (isalpha(_c) || ((_c)=='_'))
691 #define __iscsym(_c) (isalnum(_c) || ((_c)=='_'))
692 #define __iswcsymf(_c) (iswalpha(_c) || ((_c)=='_'))
693 #define __iswcsym(_c) (iswalnum(_c) || ((_c)=='_'))
694 #define _iscsymf_l(_c,_p) (_isalpha_l(_c,_p) || ((_c)=='_'))
695 #define _iscsym_l(_c,_p) (_isalnum_l(_c,_p) || ((_c)=='_'))
696 #define _iswcsymf_l(_c,_p) (_iswalpha_l(_c,_p) || ((_c)=='_'))
697 #define _iswcsym_l(_c,_p) (_iswalnum_l(_c,_p) || ((_c)=='_'))
702 #ifndef _CTYPE_DEFINED
706 _CRT_NONSTDC_DEPRECATE(__isascii
)
715 _CRT_NONSTDC_DEPRECATE(__toascii
)
724 _CRT_NONSTDC_DEPRECATE(__iscsymf
)
733 _CRT_NONSTDC_DEPRECATE(__iscsym
)
740 #else /* _CTYPE_DEFINED */
742 #define isascii __isascii
743 #define toascii __toascii
744 #define iscsymf __iscsymf
745 #define iscsym __iscsym
747 #endif /* _CTYPE_DEFINED */
749 #endif /* NO_OLDNAMES */
755 #endif /* !_INC_CTYPE */