xref: /reactos/sdk/include/ucrt/uchar.h (revision b09b5584)
1 //
2 // uchar.h
3 //
4 //      Copyright (c) Microsoft Corporation. All rights reserved.
5 //
6 
7 #pragma once
8 #ifndef _UCHAR // include guard for 3rd party interop
9 #define _UCHAR
10 
11 #include <corecrt.h>
12 
13 #pragma warning(push)
14 #pragma warning(disable: _UCRT_DISABLED_WARNINGS)
15 _UCRT_DISABLE_CLANG_WARNINGS
16 
17 _CRT_BEGIN_C_HEADER
18 
19 #ifndef __STDC_UTF_16__
20     #define __STDC_UTF_16__ 1
21 #endif
22 
23 #ifndef __STDC_UTF_32__
24     #define __STDC_UTF_32__ 1
25 #endif
26 
27 typedef unsigned short _Char16_t;
28 typedef unsigned int _Char32_t;
29 
30 #if !defined __cplusplus || (defined _MSC_VER && _MSC_VER < 1900)
31     typedef unsigned short char16_t;
32     typedef unsigned int char32_t;
33 #endif
34 
35 
36 _Check_return_ _ACRTIMP size_t __cdecl mbrtoc16(_Out_opt_ char16_t *_Pc16, _In_reads_or_z_opt_(_N) const char *_S, _In_ size_t _N, _Inout_ mbstate_t *_Ps);
37 _Check_return_ _ACRTIMP size_t __cdecl c16rtomb(_Out_writes_opt_(4) char *_S, _In_ char16_t _C16, _Inout_ mbstate_t *_Ps);
38 
39 _Check_return_ _ACRTIMP size_t __cdecl mbrtoc32(_Out_opt_ char32_t *_Pc32, _In_reads_or_z_opt_(_N) const char *_S, _In_ size_t _N, _Inout_ mbstate_t *_Ps);
40 _Check_return_ _ACRTIMP size_t __cdecl c32rtomb(_Out_writes_opt_(4) char *_S, _In_ char32_t _C32, _Inout_ mbstate_t *_Ps);
41 
42 _CRT_END_C_HEADER
43 _UCRT_RESTORE_CLANG_WARNINGS
44 #pragma warning(pop) // _UCRT_DISABLED_WARNINGS
45 
46 /*
47  * Copyright (c) 1992-2013 by P.J. Plauger.  ALL RIGHTS RESERVED.
48  * Consult your license regarding permissions and restrictions.
49  V6.40:0009 */
50  #endif // _UCHAR
51