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++" { 133 static inline unsigned char *__cdecl _mbschr(unsigned char *_String,unsigned int _Char) { return ((unsigned char *)_mbschr((const unsigned char *)_String,_Char)); } 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)); } 135 static inline unsigned char *__cdecl _mbspbrk(unsigned char *_String,const unsigned char *_CharSet) { return ((unsigned char *)_mbspbrk((const unsigned char *)_String,_CharSet)); } 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)); } 137 static inline unsigned char *__cdecl _mbsrchr(unsigned char *_String,unsigned int _Char) { return ((unsigned char *)_mbsrchr((const unsigned char *)_String,_Char)); } 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)); } 139 static inline unsigned char *__cdecl _mbsstr(unsigned char *_String,const unsigned char *_Match) { return ((unsigned char *)_mbsstr((const unsigned char *)_String,_Match)); } 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