Reactos
1//
2// mbstring.h
3//
4// Copyright (c) Microsoft Corporation. All rights reserved.
5//
6// Functions and macros for MBCS string manipulation
7//
8#pragma once
9#ifndef _INC_MBSTRING // include guard for 3rd party interop
10#define _INC_MBSTRING
11
12#include <corecrt.h>
13
14#pragma warning(push)
15#pragma warning(disable: _UCRT_DISABLED_WARNINGS)
16_UCRT_DISABLE_CLANG_WARNINGS
17
18_CRT_BEGIN_C_HEADER
19
20
21
22#ifndef _FILE_DEFINED
23 #define _FILE_DEFINED
24 typedef struct _iobuf
25 {
26 void* _Placeholder;
27 } FILE;
28#endif
29
30#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP
31
32 #pragma push_macro("_mbsdup")
33 #undef _mbsdup
34
35 _Check_return_
36 _DCRTIMP unsigned char* __cdecl _mbsdup(
37 _In_z_ unsigned char const* _Str
38 );
39
40 #pragma pop_macro("_mbsdup")
41
42
43
44 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
45 //
46 // The Multibyte Character String Library Functions
47 //
48 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
49 _Check_return_
50 _DCRTIMP unsigned int __cdecl _mbbtombc(
51 _In_ unsigned int _C
52 );
53
54 _Check_return_
55 _DCRTIMP unsigned int __cdecl _mbbtombc_l(
56 _In_ unsigned int _C,
57 _In_opt_ _locale_t _Locale
58 );
59
60 _Check_return_
61 _DCRTIMP int __cdecl _mbbtype(
62 _In_ unsigned char _C,
63 _In_ int _CType
64 );
65
66 _Check_return_
67 _DCRTIMP int __cdecl _mbbtype_l(
68 _In_ unsigned char _C,
69 _In_ int _CType,
70 _In_opt_ _locale_t _Locale
71 );
72
73 _Check_return_
74 _DCRTIMP unsigned int __cdecl _mbctombb(
75 _In_ unsigned int _C
76 );
77
78 _Check_return_
79 _DCRTIMP unsigned int __cdecl _mbctombb_l(
80 _In_ unsigned int _C,
81 _In_opt_ _locale_t _Locale
82 );
83
84 _DCRTIMP int __cdecl _mbsbtype(
85 _In_reads_z_(_Pos) unsigned char const* _Str,
86 _In_ size_t _Pos
87 );
88
89 _DCRTIMP int __cdecl _mbsbtype_l(
90 _In_reads_z_(_Pos) unsigned char const* _Str,
91 _In_ size_t _Pos,
92 _In_opt_ _locale_t _Locale
93 );
94
95 _DCRTIMP errno_t __cdecl _mbscat_s(
96 _Inout_updates_z_(_SizeInBytes) unsigned char* _Dst,
97 _In_ size_t _SizeInBytes,
98 _In_z_ unsigned char const* _Src
99 );
100
101 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
102 errno_t, _mbscat_s,
103 unsigned char, _Dst,
104 _In_z_ unsigned char const*, _DstSizeInBytes
105 )
106
107 __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(
108 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbscat,
109 _Inout_updates_z_(_String_length_(_Dest) + _String_length_(_Source) + 1), unsigned char, _Dest,
110 _In_z_ unsigned char const*, _Source
111 )
112
113 _DCRTIMP errno_t __cdecl _mbscat_s_l(
114 _Inout_updates_z_(_DstSizeInBytes) unsigned char* _Dst,
115 _In_ size_t _DstSizeInBytes,
116 _In_z_ unsigned char const* _Src,
117 _In_opt_ _locale_t _Locale
118 );
119
120 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
121 errno_t, _mbscat_s_l,
122 unsigned char, _Dest,
123 _In_z_ unsigned char const*, _Source,
124 _In_opt_ _locale_t, _Locale
125 )
126
127 __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_EX(
128 unsigned char* , __RETURN_POLICY_DST, _DCRTIMP, _mbscat_l, _mbscat_s_l,
129 _Inout_z_ unsigned char,
130 _Inout_z_, unsigned char, _Dest,
131 _In_z_ unsigned char const*, _Source,
132 _In_opt_ _locale_t, _Locale
133 )
134
135 _Check_return_
136 _DCRTIMP _CONST_RETURN unsigned char* __cdecl _mbschr(
137 _In_z_ unsigned char const* _Str,
138 _In_ unsigned int _C
139 );
140
141 _Check_return_
142 _DCRTIMP _CONST_RETURN unsigned char* __cdecl _mbschr_l(
143 _In_z_ unsigned char const* _Str,
144 _In_ unsigned int _C,
145 _In_opt_ _locale_t _Locale
146 );
147
148 _Check_return_
149 _DCRTIMP int __cdecl _mbscmp(
150 _In_z_ unsigned char const* _Str1,
151 _In_z_ unsigned char const* _Str2
152 );
153
154 _Check_return_
155 _DCRTIMP int __cdecl _mbscmp_l(
156 _In_z_ unsigned char const* _Str1,
157 _In_z_ unsigned char const* _Str2,
158 _In_opt_ _locale_t _Locale
159 );
160
161 _Check_return_
162 _DCRTIMP int __cdecl _mbscoll(
163 _In_z_ unsigned char const* _Str1,
164 _In_z_ unsigned char const* _Str2
165 );
166
167 _Check_return_
168 _DCRTIMP int __cdecl _mbscoll_l(
169 _In_z_ unsigned char const* _Str1,
170 _In_z_ unsigned char const* _Str2,
171 _In_opt_ _locale_t _Locale
172 );
173
174 _DCRTIMP errno_t __cdecl _mbscpy_s(
175 _Out_writes_z_(_SizeInBytes) unsigned char* _Dst,
176 _In_ size_t _SizeInBytes,
177 _In_z_ unsigned char const* _Src
178 );
179
180 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
181 errno_t, _mbscpy_s,
182 unsigned char, _Dest,
183 _In_z_ unsigned char const*, _Source
184 )
185
186 __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(
187 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbscpy,
188 _Out_writes_z_(_String_length_(_Source) + 1), unsigned char, _Dest,
189 _In_z_ unsigned char const*, _Source
190 )
191
192 _DCRTIMP errno_t __cdecl _mbscpy_s_l(
193 _Out_writes_z_(_DstSizeInBytes) unsigned char* _Dst,
194 _In_ size_t _DstSizeInBytes,
195 _In_z_ unsigned char const* _Src,
196 _In_opt_ _locale_t _Locale
197 );
198
199 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
200 errno_t, _mbscpy_s,
201 unsigned char, _Dest,
202 _In_z_ unsigned char const*, _Source,
203 _In_opt_ _locale_t, _Locale
204 )
205
206 __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_EX(
207 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbscpy_l, _mbscpy_s_l,
208 _Pre_notnull_ _Post_z_ unsigned char,
209 _Pre_notnull_ _Post_z_, unsigned char, _Dest,
210 _In_z_ unsigned char const*, _Source,
211 _In_opt_ _locale_t, _Locale
212 )
213
214 _Check_return_
215 _DCRTIMP size_t __cdecl _mbscspn(
216 _In_z_ unsigned char const* _String,
217 _In_z_ unsigned char const* _Control
218 );
219
220 _Check_return_
221 _DCRTIMP size_t __cdecl _mbscspn_l(
222 _In_z_ unsigned char const* _String,
223 _In_z_ unsigned char const* _Control,
224 _In_opt_ _locale_t _Locale
225 );
226
227 _Check_return_
228 _DCRTIMP unsigned char* __cdecl _mbsdec(
229 _In_reads_z_(_Pos - _Start + 1) unsigned char const* _Start,
230 _In_z_ unsigned char const* _Pos
231 );
232
233 _Check_return_
234 _DCRTIMP unsigned char* __cdecl _mbsdec_l(
235 _In_reads_z_(_Pos-_Start+1) unsigned char const* _Start,
236 _In_z_ unsigned char const* _Pos,
237 _In_opt_ _locale_t _Locale
238 );
239
240 _Check_return_
241 _DCRTIMP int __cdecl _mbsicmp(
242 _In_z_ unsigned char const* _Str1,
243 _In_z_ unsigned char const* _Str2
244 );
245
246 _Check_return_
247 _DCRTIMP int __cdecl _mbsicmp_l(
248 _In_z_ unsigned char const* _Str1,
249 _In_z_ unsigned char const* _Str2,
250 _In_opt_ _locale_t _Locale
251 );
252
253 _Check_return_
254 _DCRTIMP int __cdecl _mbsicoll(
255 _In_z_ unsigned char const* _Str1,
256 _In_z_ unsigned char const* _Str2
257 );
258
259 _Check_return_
260 _DCRTIMP int __cdecl _mbsicoll_l(
261 _In_z_ unsigned char const* _Str1,
262 _In_z_ unsigned char const* _Str2,
263 _In_opt_ _locale_t _Locale
264 );
265
266 _Check_return_
267 _DCRTIMP unsigned char* __cdecl _mbsinc(
268 _In_z_ unsigned char const* _Ptr
269 );
270
271 _Check_return_
272 _DCRTIMP unsigned char* __cdecl _mbsinc_l(
273 _In_z_ unsigned char const* _Ptr,
274 _In_opt_ _locale_t _Locale
275 );
276
277 _Check_return_
278 _Post_satisfies_(return <= _String_length_(_String))
279 _DCRTIMP size_t __cdecl _mbslen(
280 _In_z_ unsigned char const* _String
281 );
282
283 _Check_return_
284 _Post_satisfies_(return <= _String_length_(_String))
285 _DCRTIMP size_t __cdecl _mbslen_l(
286 _In_z_ unsigned char const* _String,
287 _In_opt_ _locale_t _Locale
288 );
289
290 _Check_return_
291 _Post_satisfies_(return <= _String_length_(_String) && return <= _MaxCount)
292 _DCRTIMP size_t __cdecl _mbsnlen(
293 _In_z_ unsigned char const* _String,
294 _In_ size_t _MaxCount
295 );
296
297 _Check_return_
298 _Post_satisfies_(return <= _String_length_(_String) && return <= _MaxCount)
299 _DCRTIMP size_t __cdecl _mbsnlen_l(
300 _In_z_ unsigned char const* _String,
301 _In_ size_t _MaxCount,
302 _In_opt_ _locale_t _Locale
303 );
304
305 _DCRTIMP errno_t __cdecl _mbslwr_s(
306 _Inout_updates_opt_z_(_SizeInBytes) unsigned char* _String,
307 _In_ size_t _SizeInBytes
308 );
309
310 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(
311 errno_t, _mbslwr_s,
312 _Inout_updates_z_(_Size) unsigned char, _String
313 )
314
315 __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(
316 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbslwr,
317 _Inout_z_, unsigned char, _String
318 )
319
320 _DCRTIMP errno_t __cdecl _mbslwr_s_l(
321 _Inout_updates_opt_z_(_SizeInBytes) unsigned char* _String,
322 _In_ size_t _SizeInBytes,
323 _In_opt_ _locale_t _Locale
324 );
325
326 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
327 errno_t, _mbslwr_s_l,
328 unsigned char, _String,
329 _In_opt_ _locale_t, _Locale
330 )
331
332 __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(
333 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbslwr_l, _mbslwr_s_l,
334 _Inout_updates_z_(_Size) unsigned char,
335 _Inout_z_, unsigned char, _String,
336 _In_opt_ _locale_t, _Locale
337 )
338
339 _DCRTIMP errno_t __cdecl _mbsnbcat_s(
340 _Inout_updates_z_(_SizeInBytes) unsigned char* _Dst,
341 _In_ size_t _SizeInBytes,
342 _In_z_ unsigned char const* _Src,
343 _In_ size_t _MaxCount
344 );
345
346 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
347 errno_t, _mbsnbcat_s,
348 unsigned char, _Dest,
349 _In_z_ unsigned char const*, _Source,
350 _In_ size_t, _Count
351 )
352
353 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2(
354 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsnbcat,
355 _Inout_z_, unsigned char, _Dest,
356 _In_z_ unsigned char const*, _Source,
357 _In_ size_t, _Count
358 )
359
360 _DCRTIMP errno_t __cdecl _mbsnbcat_s_l(
361 _Inout_updates_z_(_DstSizeInBytes) unsigned char* _Dst,
362 _In_ size_t _DstSizeInBytes,
363 _In_z_ unsigned char const* _Src,
364 _In_ size_t _MaxCount,
365 _In_opt_ _locale_t _Locale
366 );
367
368 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(
369 errno_t, _mbsnbcat_s_l,
370 unsigned char, _Dest,
371 _In_z_ unsigned char const*, _Source,
372 _In_ size_t, _Count,
373 _In_opt_ _locale_t, _Locale
374 )
375
376 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_EX(
377 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsnbcat_l, _mbsnbcat_s_l,
378 _Inout_updates_z_(_Size) unsigned char,
379 _Inout_z_, unsigned char, _Dest,
380 _In_z_ unsigned char const*, _Source,
381 _In_ size_t, _Count,
382 _In_opt_ _locale_t, _Locale
383 )
384
385 _Check_return_
386 _DCRTIMP int __cdecl _mbsnbcmp(
387 _In_z_ unsigned char const* _Str1,
388 _In_z_ unsigned char const* _Str2,
389 _In_ size_t _MaxCount
390 );
391
392 _Check_return_
393 _DCRTIMP int __cdecl _mbsnbcmp_l(
394 _In_z_ unsigned char const* _Str1,
395 _In_z_ unsigned char const* _Str2,
396 _In_ size_t _MaxCount,
397 _In_opt_ _locale_t _Locale
398 );
399
400 _Check_return_
401 _DCRTIMP int __cdecl _mbsnbcoll(
402 _In_z_ unsigned char const* _Str1,
403 _In_z_ unsigned char const* _Str2,
404 _In_ size_t _MaxCount
405 );
406
407 _Check_return_
408 _DCRTIMP int __cdecl _mbsnbcoll_l(
409 _In_z_ unsigned char const* _Str1,
410 _In_z_ unsigned char const* _Str2,
411 _In_ size_t _MaxCount,
412 _In_opt_ _locale_t _Locale
413 );
414
415 _Check_return_
416 _DCRTIMP size_t __cdecl _mbsnbcnt(
417 _In_reads_or_z_(_MaxCount) unsigned char const* _String,
418 _In_ size_t _MaxCount
419 );
420
421 _Check_return_
422 _DCRTIMP size_t __cdecl _mbsnbcnt_l(
423 _In_reads_or_z_(_MaxCount) unsigned char const* _String,
424 _In_ size_t _MaxCount,
425 _In_opt_ _locale_t _Locale
426 );
427
428 _DCRTIMP errno_t __cdecl _mbsnbcpy_s(
429 _Out_writes_z_(_SizeInBytes) unsigned char* _Dst,
430 _In_ size_t _SizeInBytes,
431 _In_z_ unsigned char const* _Src,
432 _In_ size_t _MaxCount
433 );
434
435 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
436 errno_t, _mbsnbcpy_s,
437 unsigned char, _Dest,
438 _In_z_ unsigned char const*, _Source,
439 _In_ size_t, _Count
440 )
441
442 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2(
443 _Success_(return != 0) unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsnbcpy,
444 _Out_writes_(_Count) _Post_maybez_, unsigned char, _Dest,
445 _In_z_ unsigned char const*, _Source,
446 _In_ size_t, _Count
447 )
448
449 _DCRTIMP errno_t __cdecl _mbsnbcpy_s_l(
450 _Out_writes_z_(_DstSizeInBytes) unsigned char* _Dst,
451 _In_ size_t _DstSizeInBytes,
452 _In_z_ unsigned char const* _Src,
453 _In_ size_t _MaxCount,
454 _In_opt_ _locale_t _Locale
455 );
456
457 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(
458 errno_t, _mbsnbcpy_s_l,
459 unsigned char, _Dest,
460 _In_z_ unsigned char const*, _Source,
461 _In_ size_t, _Count,
462 _In_opt_ _locale_t, _Locale
463 )
464
465 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_EX(
466 _Success_(return != 0) unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsnbcpy_l, _mbsnbcpy_s_l,
467 _Out_writes_z_(_Size) unsigned char,
468 _Out_writes_(_Count) _Post_maybez_, unsigned char, _Dest,
469 _In_z_ unsigned char const*, _Source,
470 _In_ size_t, _Count,
471 _In_opt_ _locale_t, _Locale
472 )
473
474 _Check_return_
475 _DCRTIMP int __cdecl _mbsnbicmp(
476 _In_z_ unsigned char const* _Str1,
477 _In_z_ unsigned char const* _Str2,
478 _In_ size_t _MaxCount
479 );
480
481 _Check_return_
482 _DCRTIMP int __cdecl _mbsnbicmp_l(
483 _In_z_ unsigned char const* _Str1,
484 _In_z_ unsigned char const* _Str2,
485 _In_ size_t _MaxCount,
486 _In_opt_ _locale_t _Locale
487 );
488
489 _Check_return_
490 _DCRTIMP int __cdecl _mbsnbicoll(
491 _In_z_ unsigned char const* _Str1,
492 _In_z_ unsigned char const* _Str2,
493 _In_ size_t _MaxCount
494 );
495
496 _Check_return_
497 _DCRTIMP int __cdecl _mbsnbicoll_l(
498 _In_z_ unsigned char const* _Str1,
499 _In_z_ unsigned char const* _Str2,
500 _In_ size_t _MaxCount,
501 _In_opt_ _locale_t _Locale
502 );
503
504 _DCRTIMP errno_t __cdecl _mbsnbset_s(
505 _Inout_updates_z_(_SizeInBytes) unsigned char* _Dst,
506 _In_ size_t _SizeInBytes,
507 _In_ unsigned int _C,
508 _In_ size_t _MaxCount
509 );
510
511 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
512 errno_t, _mbsnbset_s,
513 _Prepost_z_ unsigned char, _Dest,
514 _In_ unsigned int, _Val,
515 _In_ size_t, _MaxCount
516 )
517
518 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
519 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsnbset, _mbsnbset_s,
520 _Inout_updates_z_(_Size) unsigned char,
521 _Inout_updates_z_(_MaxCount), unsigned char, _String,
522 _In_ unsigned int, _Val,
523 _In_ size_t, _MaxCount
524 )
525
526 _DCRTIMP errno_t __cdecl _mbsnbset_s_l(
527 _Inout_updates_z_(_DstSizeInBytes) unsigned char* _Dst,
528 _In_ size_t _DstSizeInBytes,
529 _In_ unsigned int _Ch,
530 _In_ size_t _MaxCount,
531 _In_opt_ _locale_t _Locale
532 );
533
534 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(
535 errno_t, _mbsnbset_s_l,
536 _Prepost_z_ unsigned char, _Dest,
537 _In_ unsigned int, _Val,
538 _In_ size_t, _MaxCount,
539 _In_opt_ _locale_t, _Locale
540 )
541
542 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_EX(
543 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsnbset_l, _mbsnbset_s_l,
544 _Inout_updates_z_(_Size) unsigned char,
545 _Inout_updates_z_(_MaxCount), unsigned char, _String,
546 _In_ unsigned int, _Val,
547 _In_ size_t, _MaxCount,
548 _In_opt_ _locale_t, _Locale
549 )
550
551 _DCRTIMP errno_t __cdecl _mbsncat_s(
552 _Inout_updates_z_(_SizeInBytes) unsigned char* _Dst,
553 _In_ size_t _SizeInBytes,
554 _In_z_ unsigned char const* _Src,
555 _In_ size_t _MaxCount
556 );
557
558 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
559 errno_t, _mbsncat_s,
560 unsigned char, _Dest,
561 _In_z_ unsigned char const*, _Source,
562 _In_ size_t, _Count
563 )
564
565 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2(
566 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsncat,
567 _Inout_z_, unsigned char, _Dest,
568 _In_z_ unsigned char const*, _Source,
569 _In_ size_t, _Count
570 )
571
572 _DCRTIMP errno_t __cdecl _mbsncat_s_l(
573 _Inout_updates_z_(_DstSizeInBytes) unsigned char* _Dst,
574 _In_ size_t _DstSizeInBytes,
575 _In_z_ unsigned char const* _Src,
576 _In_ size_t _MaxCount,
577 _In_opt_ _locale_t _Locale
578 );
579
580 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(
581 errno_t, _mbsncat_s_l,
582 unsigned char, _Dest,
583 _In_z_ unsigned char const*, _Source,
584 _In_ size_t, _Count,
585 _In_opt_ _locale_t, _Locale
586 )
587
588 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_EX(
589 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsncat_l, _mbsncat_s_l,
590 _Inout_updates_z_(_Size) unsigned char,
591 _Inout_z_, unsigned char, _Dest,
592 _In_z_ unsigned char const*, _Source,
593 _In_ size_t, _Count,
594 _In_opt_ _locale_t, _Locale
595 )
596
597 _Check_return_
598 _DCRTIMP size_t __cdecl _mbsnccnt(
599 _In_reads_or_z_(_MaxCount) unsigned char const* _Str,
600 _In_ size_t _MaxCount
601 );
602
603 _Check_return_
604 _DCRTIMP size_t __cdecl _mbsnccnt_l(
605 _In_reads_or_z_(_MaxCount) unsigned char const* _Str,
606 _In_ size_t _MaxCount,
607 _In_opt_ _locale_t _Locale
608 );
609
610 _Check_return_
611 _DCRTIMP int __cdecl _mbsncmp(
612 _In_reads_or_z_(_MaxCount) unsigned char const* _Str1,
613 _In_z_ unsigned char const* _Str2,
614 _In_ size_t _MaxCount
615 );
616
617 _Check_return_
618 _DCRTIMP int __cdecl _mbsncmp_l(
619 _In_reads_or_z_(_MaxCount) unsigned char const* _Str1,
620 _In_z_ unsigned char const* _Str2,
621 _In_ size_t _MaxCount,
622 _In_opt_ _locale_t _Locale
623 );
624
625 _Check_return_
626 _DCRTIMP int __cdecl _mbsncoll(
627 _In_z_ unsigned char const* _Str1,
628 _In_z_ unsigned char const* _Str2,
629 _In_ size_t _MaxCount
630 );
631
632 _Check_return_
633 _DCRTIMP int __cdecl _mbsncoll_l(
634 _In_z_ unsigned char const* _Str1,
635 _In_z_ unsigned char const* _Str2,
636 _In_ size_t _MaxCount,
637 _In_opt_ _locale_t _Locale
638 );
639
640 _DCRTIMP errno_t __cdecl _mbsncpy_s(
641 _Out_writes_z_(_SizeInBytes) unsigned char* _Dst,
642 _In_ size_t _SizeInBytes,
643 _In_z_ unsigned char const* _Src,
644 _In_ size_t _MaxCount
645 );
646
647 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
648 errno_t, _mbsncpy_s,
649 unsigned char, _Dest,
650 _In_z_ unsigned char const*, _Source,
651 _In_ size_t, _Count
652 )
653
654 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2(
655 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsncpy,
656 _Pre_notnull_ _Out_writes_(2 * _Count) _Post_maybez_, unsigned char, _Dest,
657 _In_z_ unsigned char const*, _Source,
658 _In_ size_t, _Count
659 )
660
661 _DCRTIMP errno_t __cdecl _mbsncpy_s_l(
662 _Out_writes_z_(_DstSizeInBytes) unsigned char* _Dst,
663 _In_ size_t _DstSizeInBytes,
664 _In_z_ unsigned char const* _Src,
665 _In_ size_t _MaxCount,
666 _In_opt_ _locale_t _Locale
667 );
668
669 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(
670 errno_t, _mbsncpy_s_l,
671 unsigned char, _Dest,
672 _In_z_ unsigned char const*, _Source,
673 _In_ size_t, _Count,
674 _In_opt_ _locale_t, _Locale
675 )
676
677 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_EX(
678 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsncpy_l, _mbsncpy_s_l,
679 _Out_writes_z_(_Size) unsigned char,
680 _Out_writes_(_Count) _Post_maybez_, unsigned char, _Dest,
681 _In_z_ unsigned char const*, _Source,
682 _In_ size_t, _Count,
683 _In_opt_ _locale_t, _Locale
684 )
685
686 _Check_return_
687 _DCRTIMP unsigned int __cdecl _mbsnextc(
688 _In_z_ unsigned char const* _String
689 );
690
691 _Check_return_
692 _DCRTIMP unsigned int __cdecl _mbsnextc_l(
693 _In_z_ unsigned char const* _String,
694 _In_opt_ _locale_t _Locale
695 );
696
697 _Check_return_
698 _DCRTIMP int __cdecl _mbsnicmp(
699 _In_reads_or_z_(_MaxCount) unsigned char const* _Str1,
700 _In_reads_or_z_(_MaxCount) unsigned char const* _Str2,
701 _In_ size_t _MaxCount
702 );
703
704 _Check_return_
705 _DCRTIMP int __cdecl _mbsnicmp_l(
706 _In_reads_or_z_(_MaxCount) unsigned char const* _Str1,
707 _In_reads_or_z_(_MaxCount) unsigned char const* _Str2,
708 _In_ size_t _MaxCount,
709 _In_opt_ _locale_t _Locale
710 );
711
712 _Check_return_
713 _DCRTIMP int __cdecl _mbsnicoll(
714 _In_reads_or_z_(_MaxCount) unsigned char const* _Str1,
715 _In_reads_or_z_(_MaxCount) unsigned char const* _Str2,
716 _In_ size_t _MaxCount
717 );
718
719 _Check_return_
720 _DCRTIMP int __cdecl _mbsnicoll_l(
721 _In_reads_or_z_(_MaxCount) unsigned char const* _Str1,
722 _In_reads_or_z_(_MaxCount) unsigned char const* _Str2,
723 _In_ size_t _MaxCount,
724 _In_opt_ _locale_t _Locale
725 );
726
727 _Check_return_
728 _DCRTIMP unsigned char* __cdecl _mbsninc(
729 _In_reads_or_z_(_Count) unsigned char const* _String,
730 _In_ size_t _Count
731 );
732
733 _Check_return_
734 _DCRTIMP unsigned char* __cdecl _mbsninc_l(
735 _In_reads_or_z_(_Count) unsigned char const* _String,
736 _In_ size_t _Count,
737 _In_opt_ _locale_t _Locale
738 );
739
740 _DCRTIMP errno_t __cdecl _mbsnset_s(
741 _Inout_updates_z_(_SizeInBytes) unsigned char* _Dst,
742 _In_ size_t _SizeInBytes,
743 _In_ unsigned int _Val,
744 _In_ size_t _MaxCount
745 );
746
747 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
748 errno_t, _mbsnset_s,
749 _Prepost_z_ unsigned char, _Dest,
750 _In_ unsigned int, _Val,
751 _In_ size_t, _MaxCount
752 )
753
754 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
755 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsnset, _mbsnset_s,
756 _Inout_updates_z_(_Size) unsigned char,
757 _Inout_updates_z_(_MaxCount), unsigned char, _String,
758 _In_ unsigned int, _Val,
759 _In_ size_t, _MaxCount
760 )
761
762 _DCRTIMP errno_t __cdecl _mbsnset_s_l(
763 _Inout_updates_z_(_DstSizeInBytes) unsigned char* _Dst,
764 _In_ size_t _DstSizeInBytes,
765 _In_ unsigned int _Val,
766 _In_ size_t _MaxCount,
767 _In_opt_ _locale_t _Locale
768 );
769
770 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(
771 errno_t, _mbsnset_s_l,
772 _Prepost_z_ unsigned char, _Dest,
773 _In_ unsigned int, _Val,
774 _In_ size_t, _MaxCount,
775 _In_opt_ _locale_t, _Locale
776 )
777
778 __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_EX(
779 unsigned char* , __RETURN_POLICY_DST, _DCRTIMP, _mbsnset_l, _mbsnset_s_l,
780 _Inout_updates_z_(_Size) unsigned char,
781 _Inout_updates_z_(_MaxCount), unsigned char, _String,
782 _In_ unsigned int, _Val,
783 _In_ size_t, _MaxCount,
784 _In_opt_ _locale_t, _Locale
785 )
786
787 _Check_return_
788 _DCRTIMP _CONST_RETURN unsigned char* __cdecl _mbspbrk(
789 _In_z_ unsigned char const* _String,
790 _In_z_ unsigned char const* _Control
791 );
792
793 _Check_return_
794 _DCRTIMP _CONST_RETURN unsigned char* __cdecl _mbspbrk_l(
795 _In_z_ unsigned char const* _String,
796 _In_z_ unsigned char const* _Control,
797 _In_opt_ _locale_t _Locale
798 );
799
800 _Check_return_
801 _DCRTIMP _CONST_RETURN unsigned char* __cdecl _mbsrchr(
802 _In_z_ unsigned char const* _String,
803 _In_ unsigned int _C
804 );
805
806 _Check_return_
807 _DCRTIMP _CONST_RETURN unsigned char* __cdecl _mbsrchr_l(
808 _In_z_ unsigned char const* _String,
809 _In_ unsigned int _C,
810 _In_opt_ _locale_t _Locale
811 );
812
813 _DCRTIMP unsigned char* __cdecl _mbsrev(
814 _Inout_z_ unsigned char* _String
815 );
816
817 _DCRTIMP unsigned char* __cdecl _mbsrev_l(
818 _Inout_z_ unsigned char* _String,
819 _In_opt_ _locale_t _Locale
820 );
821
822 _DCRTIMP errno_t __cdecl _mbsset_s(
823 _Inout_updates_z_(_SizeInBytes) unsigned char* _Dst,
824 _In_ size_t _SizeInBytes,
825 _In_ unsigned int _Val
826 );
827
828 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
829 errno_t, _mbsset_s,
830 _Prepost_z_ unsigned char, _Dest,
831 _In_ unsigned int, _Val
832 )
833
834 __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(
835 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsset, _mbsset_s,
836 _Inout_updates_z_(_Size) unsigned char,
837 _Inout_z_, unsigned char, _String,
838 _In_ unsigned int, _Val
839 )
840
841 _DCRTIMP errno_t __cdecl _mbsset_s_l(
842 _Inout_updates_z_(_DstSizeInBytes) unsigned char* _Dst,
843 _In_ size_t _DstSizeInBytes,
844 _In_ unsigned int _Val,
845 _In_opt_ _locale_t _Locale
846 );
847
848 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
849 errno_t, _mbsset_s_l,
850 _Prepost_z_ unsigned char, _Dest,
851 _In_ unsigned int, _Val,
852 _In_opt_ _locale_t, _Locale
853 )
854
855 __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_2_EX(
856 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsset_l, _mbsset_s_l,
857 _Inout_updates_z_(_Size) unsigned char,
858 _Inout_z_, unsigned char, _String,
859 _In_ unsigned int, _Val,
860 _In_opt_ _locale_t, _Locale
861 )
862
863 _Check_return_
864 _DCRTIMP size_t __cdecl _mbsspn(
865 _In_z_ unsigned char const* _Str,
866 _In_z_ unsigned char const* _Control
867 );
868
869 _Check_return_
870 _DCRTIMP size_t __cdecl _mbsspn_l(
871 _In_z_ unsigned char const* _Str,
872 _In_z_ unsigned char const* _Control,
873 _In_opt_ _locale_t _Locale
874 );
875
876 _Check_return_
877 _DCRTIMP unsigned char* __cdecl _mbsspnp(
878 _In_z_ unsigned char const* _Str1,
879 _In_z_ unsigned char const* _Str2
880 );
881
882 _Check_return_
883 _DCRTIMP unsigned char* __cdecl _mbsspnp_l(
884 _In_z_ unsigned char const* _Str1,
885 _In_z_ unsigned char const* _Str2,
886 _In_opt_ _locale_t _Locale
887 );
888
889 _Check_return_ _Ret_maybenull_
890 _DCRTIMP _CONST_RETURN unsigned char* __cdecl _mbsstr(
891 _In_z_ unsigned char const* _Str,
892 _In_z_ unsigned char const* _Substr
893 );
894
895 _Check_return_ _Ret_maybenull_
896 _DCRTIMP _CONST_RETURN unsigned char* __cdecl _mbsstr_l(
897 _In_z_ unsigned char const* _Str,
898 _In_z_ unsigned char const* _Substr,
899 _In_opt_ _locale_t _Locale
900 );
901
902 _Check_return_ _CRT_INSECURE_DEPRECATE(_mbstok_s)
903 _DCRTIMP unsigned char* __cdecl _mbstok(
904 _Inout_opt_z_ unsigned char* _Str,
905 _In_z_ unsigned char const* _Delim
906 );
907
908 _Check_return_ _CRT_INSECURE_DEPRECATE(_mbstok_s_l)
909 _DCRTIMP unsigned char* __cdecl _mbstok_l(
910 _Inout_opt_z_ unsigned char* _Str,
911 _In_z_ unsigned char const* _Delim,
912 _In_opt_ _locale_t _Locale
913 );
914
915 _Check_return_
916 _DCRTIMP unsigned char* __cdecl _mbstok_s(
917 _Inout_opt_z_ unsigned char* _Str,
918 _In_z_ unsigned char const* _Delim,
919 _Inout_ _Deref_prepost_opt_z_ unsigned char** _Context
920 );
921
922 _Check_return_
923 _DCRTIMP unsigned char* __cdecl _mbstok_s_l(
924 _Inout_opt_z_ unsigned char* _Str,
925 _In_z_ unsigned char const* _Delim,
926 _Inout_ _Deref_prepost_opt_z_ unsigned char** _Context,
927 _In_opt_ _locale_t _Locale
928 );
929
930 _DCRTIMP errno_t __cdecl _mbsupr_s(
931 _Inout_updates_z_(_SizeInBytes) unsigned char* _Str,
932 _In_ size_t _SizeInBytes
933 );
934
935 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(
936 errno_t, _mbsupr_s,
937 _Inout_updates_z_(_Size) unsigned char, _String
938 )
939
940 __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(
941 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsupr,
942 _Inout_z_, unsigned char, _String
943 )
944
945 _DCRTIMP errno_t __cdecl _mbsupr_s_l(
946 _Inout_updates_z_(_SizeInBytes) unsigned char* _Str,
947 _In_ size_t _SizeInBytes,
948 _In_opt_ _locale_t _Locale
949 );
950
951 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
952 errno_t, _mbsupr_s_l,
953 unsigned char, _String,
954 _In_opt_ _locale_t, _Locale
955 )
956
957 __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(
958 unsigned char*, __RETURN_POLICY_DST, _DCRTIMP, _mbsupr_l, _mbsupr_s_l,
959 _Inout_updates_z_(_Size) unsigned char,
960 _Inout_z_, unsigned char, _String,
961 _In_opt_ _locale_t, _Locale
962 )
963
964 _Check_return_
965 _DCRTIMP size_t __cdecl _mbclen(
966 _In_z_ unsigned char const* _String
967 );
968
969 _Check_return_
970 _DCRTIMP size_t __cdecl _mbclen_l(
971 _In_z_ unsigned char const* _String,
972 _In_opt_ _locale_t _Locale
973 );
974
975 _CRT_INSECURE_DEPRECATE(_mbccpy_s)
976 _DCRTIMP void __cdecl _mbccpy(
977 _Out_writes_bytes_(2) unsigned char* _Dst,
978 _In_z_ unsigned char const* _Src
979 );
980
981 _CRT_INSECURE_DEPRECATE(_mbccpy_s_l)
982 _DCRTIMP void __cdecl _mbccpy_l(
983 _Out_writes_bytes_(2) unsigned char* _Dst,
984 _In_z_ unsigned char const* _Src,
985 _In_opt_ _locale_t _Locale
986 );
987
988 _DCRTIMP errno_t __cdecl _mbccpy_s(
989 _Out_writes_z_(_SizeInBytes) unsigned char* _Dst,
990 _In_ size_t _SizeInBytes,
991 _Out_opt_ int* _PCopied,
992 _In_z_ unsigned char const* _Src
993 );
994
995 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
996 errno_t, _mbccpy_s,
997 unsigned char, _Dest,
998 _Out_opt_ int*, _PCopied,
999 _In_z_ unsigned char const*, _Source
1000 )
1001
1002 _DCRTIMP errno_t __cdecl _mbccpy_s_l(
1003 _Out_writes_bytes_(_DstSizeInBytes) unsigned char* _Dst,
1004 _In_ size_t _DstSizeInBytes,
1005 _Out_opt_ int* _PCopied,
1006 _In_z_ unsigned char const* _Src,
1007 _In_opt_ _locale_t _Locale
1008 );
1009
1010 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(
1011 errno_t, _mbccpy_s_l,
1012 unsigned char, _Dest,
1013 _Out_opt_ int*, _PCopied,
1014 _In_z_ unsigned char const*, _Source,
1015 _In_opt_ _locale_t, _Locale
1016 )
1017
1018 #define _mbccmp(_cpc1, _cpc2) _mbsncmp((_cpc1), (_cpc2), 1)
1019
1020
1021
1022 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1023 //
1024 // Const-Correct C++ Overloads
1025 //
1026 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1027 #ifndef _EXCLUDE_MBSTRING_CONST_CORRECT_OVERLOADS
1028 #ifdef __cplusplus
1029 extern "C++" {
1030
1031 _Check_return_
1032 inline unsigned char* __CRTDECL _mbschr(
1033 _In_z_ unsigned char* const _String,
1034 _In_ unsigned int const _Char
1035 )
1036 {
1037 unsigned char const* const _ConstString = _String;
1038 return const_cast<unsigned char*>(_mbschr(_ConstString, _Char));
1039 }
1040
1041 _Check_return_
1042 inline unsigned char* __CRTDECL _mbschr_l(
1043 _In_z_ unsigned char* const _String,
1044 _In_ unsigned int const _Char,
1045 _In_opt_ _locale_t const _Locale
1046 )
1047 {
1048 unsigned char const* const _ConstString = _String;
1049 return const_cast<unsigned char*>(_mbschr_l(_ConstString, _Char, _Locale));
1050 }
1051
1052 _Check_return_
1053 inline unsigned char* __CRTDECL _mbspbrk(
1054 _In_z_ unsigned char* const _String,
1055 _In_z_ unsigned char const* const _CharSet
1056 )
1057 {
1058 unsigned char const* const _ConstString = _String;
1059 return const_cast<unsigned char*>(_mbspbrk(_ConstString, _CharSet));
1060 }
1061
1062 _Check_return_
1063 inline unsigned char* __CRTDECL _mbspbrk_l(
1064 _In_z_ unsigned char* const _String,
1065 _In_z_ unsigned char const* const _CharSet,
1066 _In_opt_ _locale_t const _Locale
1067 )
1068 {
1069 unsigned char const* const _ConstString = _String;
1070 return const_cast<unsigned char*>(_mbspbrk_l(_ConstString, _CharSet, _Locale));
1071 }
1072
1073 _Check_return_
1074 inline unsigned char* __CRTDECL _mbsrchr(
1075 _In_z_ unsigned char* const _String,
1076 _In_ unsigned int const _Char
1077 )
1078 {
1079 unsigned char const* const _ConstString = _String;
1080 return const_cast<unsigned char*>(_mbsrchr(_ConstString, _Char));
1081 }
1082
1083 _Check_return_
1084 inline unsigned char* __CRTDECL _mbsrchr_l(
1085 _In_z_ unsigned char* const _String,
1086 _In_ unsigned int const _Char,
1087 _In_opt_ _locale_t const _Locale
1088 )
1089 {
1090 unsigned char const* const _ConstString = _String;
1091 return const_cast<unsigned char*>(_mbsrchr_l(_ConstString, _Char, _Locale));
1092 }
1093
1094 _Check_return_ _Ret_maybenull_
1095 inline unsigned char* __CRTDECL _mbsstr(
1096 _In_z_ unsigned char* const _String,
1097 _In_z_ unsigned char const* const _Match
1098 )
1099 {
1100 unsigned char const* const _ConstString = _String;
1101 return const_cast<unsigned char*>(_mbsstr(_ConstString, _Match));
1102 }
1103
1104 _Check_return_ _Ret_maybenull_
1105 inline unsigned char* __CRTDECL _mbsstr_l(
1106 _In_z_ unsigned char* const _String,
1107 _In_z_ unsigned char const* const _Match,
1108 _In_opt_ _locale_t const _Locale
1109 )
1110 {
1111 unsigned char const* const _ConstString = _String;
1112 return const_cast<unsigned char*>(_mbsstr_l(_ConstString, _Match, _Locale));
1113 }
1114
1115 } // extern "C++"
1116 #endif // __cplusplus
1117 #endif // _EXCLUDE_MBSTRING_CONST_CORRECT_OVERLOADS
1118
1119
1120
1121 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1122 //
1123 // Multibyte Character Classification and Conversion Functions
1124 //
1125 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1126 _Check_return_ _DCRTIMP int __cdecl _ismbcalnum(_In_ unsigned int _C);
1127 _Check_return_ _DCRTIMP int __cdecl _ismbcalpha(_In_ unsigned int _C);
1128 _Check_return_ _DCRTIMP int __cdecl _ismbcdigit(_In_ unsigned int _C);
1129 _Check_return_ _DCRTIMP int __cdecl _ismbcgraph(_In_ unsigned int _C);
1130 _Check_return_ _DCRTIMP int __cdecl _ismbclegal(_In_ unsigned int _C);
1131 _Check_return_ _DCRTIMP int __cdecl _ismbclower(_In_ unsigned int _C);
1132 _Check_return_ _DCRTIMP int __cdecl _ismbcprint(_In_ unsigned int _C);
1133 _Check_return_ _DCRTIMP int __cdecl _ismbcpunct(_In_ unsigned int _C);
1134 _Check_return_ _DCRTIMP int __cdecl _ismbcblank(_In_ unsigned int _C);
1135 _Check_return_ _DCRTIMP int __cdecl _ismbcspace(_In_ unsigned int _C);
1136 _Check_return_ _DCRTIMP int __cdecl _ismbcupper(_In_ unsigned int _C);
1137
1138 _Check_return_ _DCRTIMP int __cdecl _ismbcalnum_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1139 _Check_return_ _DCRTIMP int __cdecl _ismbcalpha_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1140 _Check_return_ _DCRTIMP int __cdecl _ismbcdigit_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1141 _Check_return_ _DCRTIMP int __cdecl _ismbcgraph_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1142 _Check_return_ _DCRTIMP int __cdecl _ismbclegal_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1143 _Check_return_ _DCRTIMP int __cdecl _ismbclower_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1144 _Check_return_ _DCRTIMP int __cdecl _ismbcprint_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1145 _Check_return_ _DCRTIMP int __cdecl _ismbcpunct_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1146 _Check_return_ _DCRTIMP int __cdecl _ismbcblank_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1147 _Check_return_ _DCRTIMP int __cdecl _ismbcspace_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1148 _Check_return_ _DCRTIMP int __cdecl _ismbcupper_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1149
1150 _Check_return_ _DCRTIMP unsigned int __cdecl _mbctolower(_In_ unsigned int _Ch);
1151 _Check_return_ _DCRTIMP unsigned int __cdecl _mbctoupper(_In_ unsigned int _Ch);
1152
1153 _Check_return_ _DCRTIMP unsigned int __cdecl _mbctolower_l(_In_ unsigned int _Ch, _In_opt_ _locale_t _Locale);
1154 _Check_return_ _DCRTIMP unsigned int __cdecl _mbctoupper_l(_In_ unsigned int _Ch, _In_opt_ _locale_t _Locale);
1155
1156
1157
1158 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1159 //
1160 // Multibyte Character Kanji Classification and Conversion Functions
1161 //
1162 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1163 _Check_return_ _DCRTIMP int __cdecl _ismbchira (_In_ unsigned int _C);
1164 _Check_return_ _DCRTIMP int __cdecl _ismbckata (_In_ unsigned int _C);
1165 _Check_return_ _DCRTIMP int __cdecl _ismbcsymbol(_In_ unsigned int _C);
1166 _Check_return_ _DCRTIMP int __cdecl _ismbcl0 (_In_ unsigned int _C);
1167 _Check_return_ _DCRTIMP int __cdecl _ismbcl1 (_In_ unsigned int _C);
1168 _Check_return_ _DCRTIMP int __cdecl _ismbcl2 (_In_ unsigned int _C);
1169
1170 _Check_return_ _DCRTIMP int __cdecl _ismbchira_l (_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1171 _Check_return_ _DCRTIMP int __cdecl _ismbckata_l (_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1172 _Check_return_ _DCRTIMP int __cdecl _ismbcsymbol_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1173 _Check_return_ _DCRTIMP int __cdecl _ismbcl0_l (_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1174 _Check_return_ _DCRTIMP int __cdecl _ismbcl1_l (_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1175 _Check_return_ _DCRTIMP int __cdecl _ismbcl2_l (_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1176
1177 _Check_return_ _DCRTIMP unsigned int __cdecl _mbcjistojms(_In_ unsigned int _C);
1178 _Check_return_ _DCRTIMP unsigned int __cdecl _mbcjmstojis(_In_ unsigned int _C);
1179 _Check_return_ _DCRTIMP unsigned int __cdecl _mbctohira (_In_ unsigned int _C);
1180 _Check_return_ _DCRTIMP unsigned int __cdecl _mbctokata (_In_ unsigned int _C);
1181
1182 _Check_return_ _DCRTIMP unsigned int __cdecl _mbcjistojms_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1183 _Check_return_ _DCRTIMP unsigned int __cdecl _mbcjmstojis_l(_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1184 _Check_return_ _DCRTIMP unsigned int __cdecl _mbctohira_l (_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1185 _Check_return_ _DCRTIMP unsigned int __cdecl _mbctokata_l (_In_ unsigned int _C, _In_opt_ _locale_t _Locale);
1186
1187#endif // _CRT_USE_WINAPI_FAMILY_DESKTOP_APP
1188
1189
1190
1191#if _CRT_FUNCTIONS_REQUIRED
1192 // Lead and trail bytes do not apply correctly to all encodings, including UTF-8. Applications
1193 // are recommended to use the system codepage conversion APIs and not attempt to reverse
1194 // engineer the behavior of any particular encoding. Lead and trail are always FALSE for UTF-8.
1195 _When_(_Ch == 0, _Post_equal_to_(0))
1196 _Check_return_ _DCRTIMP int __cdecl _ismbblead (_In_ unsigned int _Ch);
1197 _Check_return_ _DCRTIMP int __cdecl _ismbbtrail(_In_ unsigned int _Ch);
1198
1199 _When_(_Ch == 0, _Post_equal_to_(0))
1200 _Check_return_ _DCRTIMP int __cdecl _ismbblead_l (_In_ unsigned int _Ch, _In_opt_ _locale_t _Locale);
1201 _Check_return_ _DCRTIMP int __cdecl _ismbbtrail_l(_In_ unsigned int _Ch, _In_opt_ _locale_t _Locale);
1202
1203 _Check_return_
1204 _DCRTIMP int __cdecl _ismbslead(
1205 _In_reads_z_(_Pos - _String + 1) unsigned char const* _String,
1206 _In_z_ unsigned char const* _Pos
1207 );
1208
1209 _Check_return_
1210 _DCRTIMP int __cdecl _ismbslead_l(
1211 _In_reads_z_(_Pos - _String + 1) unsigned char const* _String,
1212 _In_z_ unsigned char const* _Pos,
1213 _In_opt_ _locale_t _Locale
1214 );
1215
1216 _Check_return_
1217 _ACRTIMP int __cdecl _ismbstrail(
1218 _In_reads_z_(_Pos - _String + 1) unsigned char const* _String,
1219 _In_z_ unsigned char const* _Pos
1220 );
1221
1222 _Check_return_
1223 _ACRTIMP int __cdecl _ismbstrail_l(
1224 _In_reads_z_(_Pos - _String + 1) unsigned char const* _String,
1225 _In_z_ unsigned char const* _Pos,
1226 _In_opt_ _locale_t _Locale
1227 );
1228#endif // _CRT_FUNCTIONS_REQUIRED
1229
1230
1231
1232_CRT_END_C_HEADER
1233_UCRT_RESTORE_CLANG_WARNINGS
1234#pragma warning(pop) // _UCRT_DISABLED_WARNINGS
1235#endif // _INC_MBSTRING