1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _INC_MBSTRING
7 #define _INC_MBSTRING
8 
9 #include <crtdefs.h>
10 
11 #pragma pack(push,_CRT_PACKING)
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #ifndef _FILE_DEFINED
18   struct _iobuf {
19     char *_ptr;
20     int _cnt;
21     char *_base;
22     int _flag;
23     int _file;
24     int _charbuf;
25     int _bufsiz;
26     char *_tmpfname;
27   };
28   typedef struct _iobuf FILE;
29 #define _FILE_DEFINED
30 #endif
31 
32 #ifndef _MBSTRING_DEFINED
33 #define _MBSTRING_DEFINED
34   _CRTIMP unsigned char *__cdecl _mbsdup(const unsigned char *_Str);
35   _CRTIMP unsigned int __cdecl _mbbtombc(unsigned int _Ch);
36   _CRTIMP unsigned int __cdecl _mbbtombc_l(unsigned int _Ch,_locale_t _Locale);
37   _CRTIMP int __cdecl _mbbtype(unsigned char _Ch,int _CType);
38   _CRTIMP int __cdecl _mbbtype_l(unsigned char _Ch,int _CType,_locale_t _Locale);
39   _CRTIMP unsigned int __cdecl _mbctombb(unsigned int _Ch);
40   _CRTIMP unsigned int __cdecl _mbctombb_l(unsigned int _Ch,_locale_t _Locale);
41   _CRTIMP int __cdecl _mbsbtype(const unsigned char *_Str,size_t _Pos);
42   _CRTIMP int __cdecl _mbsbtype_l(const unsigned char *_Str,size_t _Pos,_locale_t _Locale);
43   _CRTIMP unsigned char *__cdecl _mbscat(unsigned char *_Dest,const unsigned char *_Source);
44   _CRTIMP unsigned char *_mbscat_l(unsigned char *_Dest,const unsigned char *_Source,_locale_t _Locale);
45   _CRTIMP _CONST_RETURN unsigned char *__cdecl _mbschr(const unsigned char *_Str,unsigned int _Ch);
46   _CRTIMP _CONST_RETURN unsigned char *__cdecl _mbschr_l(const unsigned char *_Str,unsigned int _Ch,_locale_t _Locale);
47   _CRTIMP int __cdecl _mbscmp(const unsigned char *_Str1,const unsigned char *_Str2);
48   _CRTIMP int __cdecl _mbscmp_l(const unsigned char *_Str1,const unsigned char *_Str2,_locale_t _Locale);
49   _CRTIMP int __cdecl _mbscoll(const unsigned char *_Str1,const unsigned char *_Str2);
50   _CRTIMP int __cdecl _mbscoll_l(const unsigned char *_Str1,const unsigned char *_Str2,_locale_t _Locale);
51   _CRTIMP unsigned char *__cdecl _mbscpy(unsigned char *_Dest,const unsigned char *_Source);
52   _CRTIMP unsigned char *_mbscpy_l(unsigned char *_Dest,const unsigned char *_Source,_locale_t _Locale);
53   _CRTIMP size_t __cdecl _mbscspn(const unsigned char *_Str,const unsigned char *_Control);
54   _CRTIMP size_t __cdecl _mbscspn_l(const unsigned char *_Str,const unsigned char *_Control,_locale_t _Locale);
55   _CRTIMP unsigned char *__cdecl _mbsdec(const unsigned char *_Start,const unsigned char *_Pos);
56   _CRTIMP unsigned char *__cdecl _mbsdec_l(const unsigned char *_Start,const unsigned char *_Pos,_locale_t _Locale);
57   _CRTIMP int __cdecl _mbsicmp(const unsigned char *_Str1,const unsigned char *_Str2);
58   _CRTIMP int __cdecl _mbsicmp_l(const unsigned char *_Str1,const unsigned char *_Str2,_locale_t _Locale);
59   _CRTIMP int __cdecl _mbsicoll(const unsigned char *_Str1,const unsigned char *_Str2);
60   _CRTIMP int __cdecl _mbsicoll_l(const unsigned char *_Str1,const unsigned char *_Str2,_locale_t _Locale);
61   _CRTIMP unsigned char *__cdecl _mbsinc(const unsigned char *_Ptr);
62   _CRTIMP unsigned char *__cdecl _mbsinc_l(const unsigned char *_Ptr,_locale_t _Locale);
63   _CRTIMP size_t __cdecl _mbslen(const unsigned char *_Str);
64   _CRTIMP size_t __cdecl _mbslen_l(const unsigned char *_Str,_locale_t _Locale);
65   _CRTIMP size_t __cdecl _mbsnlen(const unsigned char *_Str,size_t _MaxCount);
66   _CRTIMP size_t __cdecl _mbsnlen_l(const unsigned char *_Str,size_t _MaxCount,_locale_t _Locale);
67   _CRTIMP unsigned char *__cdecl _mbslwr(unsigned char *_String);
68   _CRTIMP unsigned char *_mbslwr_l(unsigned char *_String,_locale_t _Locale);
69   _CRTIMP unsigned char *__cdecl _mbsnbcat(unsigned char *_Dest,const unsigned char *_Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
70   _CRTIMP unsigned char *__cdecl _mbsnbcat_l(unsigned char *_Dest,const unsigned char *_Source,size_t _Count,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
71   _CRTIMP int __cdecl _mbsnbcmp(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount);
72   _CRTIMP int __cdecl _mbsnbcmp_l(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount,_locale_t _Locale);
73   _CRTIMP int __cdecl _mbsnbcoll(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount);
74   _CRTIMP int __cdecl _mbsnbcoll_l(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount,_locale_t _Locale);
75   _CRTIMP size_t __cdecl _mbsnbcnt(const unsigned char *_Str,size_t _MaxCount);
76   _CRTIMP size_t __cdecl _mbsnbcnt_l(const unsigned char *_Str,size_t _MaxCount,_locale_t _Locale);
77   _CRTIMP unsigned char *__cdecl _mbsnbcpy(unsigned char *_Dest,const unsigned char *_Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
78   _CRTIMP unsigned char *__cdecl _mbsnbcpy_l(unsigned char *_Dest,const unsigned char *_Source,size_t _Count,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
79   _CRTIMP int __cdecl _mbsnbicmp(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount);
80   _CRTIMP int __cdecl _mbsnbicmp_l(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount,_locale_t _Locale);
81   _CRTIMP int __cdecl _mbsnbicoll(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount);
82   _CRTIMP int __cdecl _mbsnbicoll_l(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount,_locale_t _Locale);
83   _CRTIMP unsigned char *__cdecl _mbsnbset(unsigned char *_Str,unsigned int _Ch,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
84   _CRTIMP unsigned char *__cdecl _mbsnbset_l(unsigned char *_Str,unsigned int _Ch,size_t _MaxCount,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
85   _CRTIMP unsigned char *__cdecl _mbsncat(unsigned char *_Dest,const unsigned char *_Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
86   _CRTIMP unsigned char *__cdecl _mbsncat_l(unsigned char *_Dest,const unsigned char *_Source,size_t _Count,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
87   _CRTIMP size_t __cdecl _mbsnccnt(const unsigned char *_Str,size_t _MaxCount);
88   _CRTIMP size_t __cdecl _mbsnccnt_l(const unsigned char *_Str,size_t _MaxCount,_locale_t _Locale);
89   _CRTIMP int __cdecl _mbsncmp(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount);
90   _CRTIMP int __cdecl _mbsncmp_l(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount,_locale_t _Locale);
91   _CRTIMP int __cdecl _mbsncoll(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount);
92   _CRTIMP int __cdecl _mbsncoll_l(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount,_locale_t _Locale);
93   _CRTIMP unsigned char *__cdecl _mbsncpy(unsigned char *_Dest,const unsigned char *_Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
94   _CRTIMP unsigned char *__cdecl _mbsncpy_l(unsigned char *_Dest,const unsigned char *_Source,size_t _Count,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
95   _CRTIMP unsigned int __cdecl _mbsnextc (const unsigned char *_Str);
96   _CRTIMP unsigned int __cdecl _mbsnextc_l(const unsigned char *_Str,_locale_t _Locale);
97   _CRTIMP int __cdecl _mbsnicmp(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount);
98   _CRTIMP int __cdecl _mbsnicmp_l(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount,_locale_t _Locale);
99   _CRTIMP int __cdecl _mbsnicoll(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount);
100   _CRTIMP int __cdecl _mbsnicoll_l(const unsigned char *_Str1,const unsigned char *_Str2,size_t _MaxCount,_locale_t _Locale);
101   _CRTIMP unsigned char *__cdecl _mbsninc(const unsigned char *_Str,size_t _Count);
102   _CRTIMP unsigned char *__cdecl _mbsninc_l(const unsigned char *_Str,size_t _Count,_locale_t _Locale);
103   _CRTIMP unsigned char *__cdecl _mbsnset(unsigned char *_Dst,unsigned int _Val,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
104   _CRTIMP unsigned char *__cdecl _mbsnset_l(unsigned char *_Dst,unsigned int _Val,size_t _MaxCount,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
105   _CRTIMP _CONST_RETURN unsigned char *__cdecl _mbspbrk(const unsigned char *_Str,const unsigned char *_Control);
106   _CRTIMP _CONST_RETURN unsigned char *__cdecl _mbspbrk_l(const unsigned char *_Str,const unsigned char *_Control,_locale_t _Locale);
107   _CRTIMP _CONST_RETURN unsigned char *__cdecl _mbsrchr(const unsigned char *_Str,unsigned int _Ch);
108   _CRTIMP _CONST_RETURN unsigned char *__cdecl _mbsrchr_l(const unsigned char *_Str,unsigned int _Ch,_locale_t _Locale);
109   _CRTIMP unsigned char *__cdecl _mbsrev(unsigned char *_Str);
110   _CRTIMP unsigned char *__cdecl _mbsrev_l(unsigned char *_Str,_locale_t _Locale);
111   _CRTIMP unsigned char *__cdecl _mbsset(unsigned char *_Str,unsigned int _Val) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
112   _CRTIMP unsigned char *__cdecl _mbsset_l(unsigned char *_Str,unsigned int _Val,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
113   _CRTIMP size_t __cdecl _mbsspn(const unsigned char *_Str,const unsigned char *_Control);
114   _CRTIMP size_t __cdecl _mbsspn_l(const unsigned char *_Str,const unsigned char *_Control,_locale_t _Locale);
115   _CRTIMP unsigned char *__cdecl _mbsspnp(const unsigned char *_Str1,const unsigned char *_Str2);
116   _CRTIMP unsigned char *__cdecl _mbsspnp_l(const unsigned char *_Str1,const unsigned char *_Str2,_locale_t _Locale);
117   _CRTIMP _CONST_RETURN unsigned char *__cdecl _mbsstr(const unsigned char *_Str,const unsigned char *_Substr);
118   _CRTIMP _CONST_RETURN unsigned char *__cdecl _mbsstr_l(const unsigned char *_Str,const unsigned char *_Substr,_locale_t _Locale);
119   _CRTIMP unsigned char *__cdecl _mbstok(unsigned char *_Str,const unsigned char *_Delim) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
120   _CRTIMP unsigned char *__cdecl _mbstok_l(unsigned char *_Str,const unsigned char *_Delim,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
121   _CRTIMP unsigned char *__cdecl _mbsupr(unsigned char *_String) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
122   _CRTIMP unsigned char *_mbsupr_l(unsigned char *_String,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
123   _CRTIMP size_t __cdecl _mbclen(const unsigned char *_Str);
124   _CRTIMP size_t __cdecl _mbclen_l(const unsigned char *_Str,_locale_t _Locale);
125   _CRTIMP void __cdecl _mbccpy(unsigned char *_Dst,const unsigned char *_Src) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
126   _CRTIMP void __cdecl _mbccpy_l(unsigned char *_Dst,const unsigned char *_Src,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
127 #define _mbccmp(_cpc1,_cpc2) _mbsncmp((_cpc1),(_cpc2),1)
128 
129 #ifdef __cplusplus
130 #ifndef _CPP_MBCS_INLINES_DEFINED
131 #define _CPP_MBCS_INLINES_DEFINED
132   extern "C++" {
_mbschr(unsigned char * _String,unsigned int _Char)133     static inline unsigned char *__cdecl _mbschr(unsigned char *_String,unsigned int _Char) { return ((unsigned char *)_mbschr((const unsigned char *)_String,_Char)); }
_mbschr_l(unsigned char * _String,unsigned int _Char,_locale_t _Locale)134     static inline unsigned char *__cdecl _mbschr_l(unsigned char *_String,unsigned int _Char,_locale_t _Locale) { return ((unsigned char *)_mbschr_l((const unsigned char *)_String,_Char,_Locale)); }
_mbspbrk(unsigned char * _String,const unsigned char * _CharSet)135     static inline unsigned char *__cdecl _mbspbrk(unsigned char *_String,const unsigned char *_CharSet) { return ((unsigned char *)_mbspbrk((const unsigned char *)_String,_CharSet)); }
_mbspbrk_l(unsigned char * _String,const unsigned char * _CharSet,_locale_t _Locale)136     static inline unsigned char *__cdecl _mbspbrk_l(unsigned char *_String,const unsigned char *_CharSet,_locale_t _Locale) { return ((unsigned char *)_mbspbrk_l((const unsigned char *)_String,_CharSet,_Locale)); }
_mbsrchr(unsigned char * _String,unsigned int _Char)137     static inline unsigned char *__cdecl _mbsrchr(unsigned char *_String,unsigned int _Char) { return ((unsigned char *)_mbsrchr((const unsigned char *)_String,_Char)); }
_mbsrchr_l(unsigned char * _String,unsigned int _Char,_locale_t _Locale)138     static inline unsigned char *__cdecl _mbsrchr_l(unsigned char *_String,unsigned int _Char,_locale_t _Locale) { return ((unsigned char *)_mbsrchr_l((const unsigned char *)_String,_Char,_Locale)); }
_mbsstr(unsigned char * _String,const unsigned char * _Match)139     static inline unsigned char *__cdecl _mbsstr(unsigned char *_String,const unsigned char *_Match) { return ((unsigned char *)_mbsstr((const unsigned char *)_String,_Match)); }
_mbsstr_l(unsigned char * _String,const unsigned char * _Match,_locale_t _Locale)140     static inline unsigned char *__cdecl _mbsstr_l(unsigned char *_String,const unsigned char *_Match,_locale_t _Locale) { return ((unsigned char *)_mbsstr_l((const unsigned char *)_String,_Match,_Locale)); }
141   }
142 #endif
143 #endif
144 
145   _CRTIMP int __cdecl _ismbcalnum(unsigned int _Ch);
146   _CRTIMP int __cdecl _ismbcalnum_l(unsigned int _Ch,_locale_t _Locale);
147   _CRTIMP int __cdecl _ismbcalpha(unsigned int _Ch);
148   _CRTIMP int __cdecl _ismbcalpha_l(unsigned int _Ch,_locale_t _Locale);
149   _CRTIMP int __cdecl _ismbcdigit(unsigned int _Ch);
150   _CRTIMP int __cdecl _ismbcdigit_l(unsigned int _Ch,_locale_t _Locale);
151   _CRTIMP int __cdecl _ismbcgraph(unsigned int _Ch);
152   _CRTIMP int __cdecl _ismbcgraph_l(unsigned int _Ch,_locale_t _Locale);
153   _CRTIMP int __cdecl _ismbclegal(unsigned int _Ch);
154   _CRTIMP int __cdecl _ismbclegal_l(unsigned int _Ch,_locale_t _Locale);
155   _CRTIMP int __cdecl _ismbclower(unsigned int _Ch);
156   _CRTIMP int __cdecl _ismbclower_l(unsigned int _Ch,_locale_t _Locale);
157   _CRTIMP int __cdecl _ismbcprint(unsigned int _Ch);
158   _CRTIMP int __cdecl _ismbcprint_l(unsigned int _Ch,_locale_t _Locale);
159   _CRTIMP int __cdecl _ismbcpunct(unsigned int _Ch);
160   _CRTIMP int __cdecl _ismbcpunct_l(unsigned int _Ch,_locale_t _Locale);
161   _CRTIMP int __cdecl _ismbcspace(unsigned int _Ch);
162   _CRTIMP int __cdecl _ismbcspace_l(unsigned int _Ch,_locale_t _Locale);
163   _CRTIMP int __cdecl _ismbcupper(unsigned int _Ch);
164   _CRTIMP int __cdecl _ismbcupper_l(unsigned int _Ch,_locale_t _Locale);
165   _CRTIMP unsigned int __cdecl _mbctolower(unsigned int _Ch);
166   _CRTIMP unsigned int __cdecl _mbctolower_l(unsigned int _Ch,_locale_t _Locale);
167   _CRTIMP unsigned int __cdecl _mbctoupper(unsigned int _Ch);
168   _CRTIMP unsigned int __cdecl _mbctoupper_l(unsigned int _Ch,_locale_t _Locale);
169 #endif
170 
171 #ifndef _MBLEADTRAIL_DEFINED
172 #define _MBLEADTRAIL_DEFINED
173   _CRTIMP int __cdecl _ismbblead(unsigned int _Ch);
174   _CRTIMP int __cdecl _ismbblead_l(unsigned int _Ch,_locale_t _Locale);
175   _CRTIMP int __cdecl _ismbbtrail(unsigned int _Ch);
176   _CRTIMP int __cdecl _ismbbtrail_l(unsigned int _Ch,_locale_t _Locale);
177   _CRTIMP int __cdecl _ismbslead(const unsigned char *_Str,const unsigned char *_Pos);
178   _CRTIMP int __cdecl _ismbslead_l(const unsigned char *_Str,const unsigned char *_Pos,_locale_t _Locale);
179   _CRTIMP int __cdecl _ismbstrail(const unsigned char *_Str,const unsigned char *_Pos);
180   _CRTIMP int __cdecl _ismbstrail_l(const unsigned char *_Str,const unsigned char *_Pos,_locale_t _Locale);
181 #endif
182 
183   _CRTIMP int __cdecl _ismbchira(unsigned int _Ch);
184   _CRTIMP int __cdecl _ismbchira_l(unsigned int _Ch,_locale_t _Locale);
185   _CRTIMP int __cdecl _ismbckata(unsigned int _Ch);
186   _CRTIMP int __cdecl _ismbckata_l(unsigned int _Ch,_locale_t _Locale);
187   _CRTIMP int __cdecl _ismbcsymbol(unsigned int _Ch);
188   _CRTIMP int __cdecl _ismbcsymbol_l(unsigned int _Ch,_locale_t _Locale);
189   _CRTIMP int __cdecl _ismbcl0(unsigned int _Ch);
190   _CRTIMP int __cdecl _ismbcl0_l(unsigned int _Ch,_locale_t _Locale);
191   _CRTIMP int __cdecl _ismbcl1(unsigned int _Ch);
192   _CRTIMP int __cdecl _ismbcl1_l(unsigned int _Ch,_locale_t _Locale);
193   _CRTIMP int __cdecl _ismbcl2(unsigned int _Ch);
194   _CRTIMP int __cdecl _ismbcl2_l(unsigned int _Ch,_locale_t _Locale);
195   _CRTIMP unsigned int __cdecl _mbcjistojms(unsigned int _Ch);
196   _CRTIMP unsigned int __cdecl _mbcjistojms_l(unsigned int _Ch,_locale_t _Locale);
197   _CRTIMP unsigned int __cdecl _mbcjmstojis(unsigned int _Ch);
198   _CRTIMP unsigned int __cdecl _mbcjmstojis_l(unsigned int _Ch,_locale_t _Locale);
199   _CRTIMP unsigned int __cdecl _mbctohira(unsigned int _Ch);
200   _CRTIMP unsigned int __cdecl _mbctohira_l(unsigned int _Ch,_locale_t _Locale);
201   _CRTIMP unsigned int __cdecl _mbctokata(unsigned int _Ch);
202   _CRTIMP unsigned int __cdecl _mbctokata_l(unsigned int _Ch,_locale_t _Locale);
203 
204 #ifdef __cplusplus
205 }
206 #endif
207 
208 #pragma pack(pop)
209 
210 #include <sec_api/mbstring_s.h>
211 
212 #endif
213