Merging r37048, r37051, r37052, r37055 from the-real-msvc branch
[reactos.git] / reactos / include / crt / mbstring.h
1 /*
2 * mbstring.h
3 *
4 * Protototypes for string functions supporting multibyte characters.
5 *
6 * This file is part of the Mingw32 package.
7 *
8 *
9 * THIS SOFTWARE IS NOT COPYRIGHTED
10 *
11 * This source code is offered for use in the public domain. You may
12 * use, modify or distribute it freely.
13 *
14 * This code is distributed in the hope that it will be useful but
15 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
16 * DISCLAIMED. This includes but is not limited to warranties of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 *
19 */
20
21 #ifndef _MBSTRING_H_
22 #define _MBSTRING_H_
23
24 /* All the headers include this file. */
25 #include <_mingw.h>
26
27 #ifndef RC_INVOKED
28
29 #define __need_size_t
30 #include <stddef.h>
31
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35
36 #ifndef __STRICT_ANSI__
37
38 /* character classification */
39 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcalnum (unsigned int);
40 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcalpha (unsigned int);
41 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcdigit (unsigned int);
42 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcgraph (unsigned int);
43 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcprint (unsigned int);
44 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcpunct (unsigned int);
45 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcspace (unsigned int);
46 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbclower (unsigned int);
47 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcupper (unsigned int);
48 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbclegal (unsigned int);
49 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcsymbol (unsigned int);
50
51
52 /* also in mbctype.h */
53 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbblead (unsigned int );
54 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbbtrail (unsigned int );
55 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbslead ( const unsigned char*, const unsigned char*);
56 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbstrail ( const unsigned char*, const unsigned char*);
57
58 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctolower (unsigned int);
59 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctoupper (unsigned int);
60
61 _CRTIMP void __cdecl __MINGW_NOTHROW _mbccpy (unsigned char*, const unsigned char*);
62 _CRTIMP size_t __cdecl __MINGW_NOTHROW _mbclen (const unsigned char*);
63
64 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbbtombc (unsigned int);
65 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctombb (unsigned int);
66
67 /* Return value constants for these are defined in mbctype.h. */
68 _CRTIMP int __cdecl __MINGW_NOTHROW _mbbtype (unsigned char, int);
69 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsbtype (const unsigned char*, size_t);
70
71 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbscpy (unsigned char*, const unsigned char*);
72 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsncpy (unsigned char*, const unsigned char*, size_t);
73 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsnbcpy (unsigned char*, const unsigned char*, size_t);
74 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsset (unsigned char*, unsigned int);
75 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsnset (unsigned char*, unsigned int, size_t);
76 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsnbset (unsigned char*, unsigned int, size_t);
77 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsdup (const unsigned char*);
78 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsrev (unsigned char*);
79 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbscat (unsigned char*, const unsigned char*);
80 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsncat (unsigned char*, const unsigned char*, size_t);
81 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsnbcat (unsigned char*, const unsigned char*, size_t);
82 _CRTIMP size_t __cdecl __MINGW_NOTHROW _mbslen (const unsigned char*);
83 _CRTIMP size_t __cdecl __MINGW_NOTHROW _mbsnbcnt (const unsigned char*, size_t);
84 _CRTIMP size_t __cdecl __MINGW_NOTHROW _mbsnccnt (const unsigned char*, size_t);
85 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbschr (const unsigned char*, unsigned int);
86 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsrchr (const unsigned char*, unsigned int);
87 _CRTIMP size_t __cdecl __MINGW_NOTHROW _mbsspn (const unsigned char*, const unsigned char*);
88 _CRTIMP size_t __cdecl __MINGW_NOTHROW _mbscspn (const unsigned char*, const unsigned char*);
89 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsspnp (const unsigned char*, const unsigned char*);
90 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbspbrk (const unsigned char*, const unsigned char*);
91 _CRTIMP int __cdecl __MINGW_NOTHROW _mbscmp (const unsigned char*, const unsigned char*);
92 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsicmp (const unsigned char*, const unsigned char*);
93 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsncmp (const unsigned char*, const unsigned char*, size_t);
94 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsnicmp (const unsigned char*, const unsigned char*, size_t);
95 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbcmp (const unsigned char*, const unsigned char*, size_t);
96 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbicmp (const unsigned char*, const unsigned char*, size_t);
97 _CRTIMP int __cdecl __MINGW_NOTHROW _mbscoll (const unsigned char*, const unsigned char*);
98 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsicoll (const unsigned char*, const unsigned char*);
99 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsncoll (const unsigned char*, const unsigned char*, size_t);
100 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsnicoll (const unsigned char*, const unsigned char*, size_t);
101 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbcoll (const unsigned char*, const unsigned char*, size_t);
102 _CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbicoll (const unsigned char*, const unsigned char*, size_t);
103
104 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsinc (const unsigned char*);
105 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsninc (const unsigned char*, size_t);
106 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsdec (const unsigned char*, const unsigned char*);
107 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbsnextc (const unsigned char*);
108 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbslwr (unsigned char*);
109 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsupr (unsigned char*);
110 _CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbstok (unsigned char*, const unsigned char*);
111
112 /* Kanji */
113 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbchira (unsigned int);
114 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbckata (unsigned int);
115 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcl0 (unsigned int);
116 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcl1 (unsigned int);
117 _CRTIMP int __cdecl __MINGW_NOTHROW _ismbcl2 (unsigned int);
118 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbcjistojms (unsigned int);
119 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbcjmstojis (unsigned int);
120 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctohira (unsigned int);
121 _CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctokata (unsigned int);
122
123 #endif /* Not strict ANSI */
124
125 #ifdef __cplusplus
126 }
127 #endif
128
129 #endif /* Not RC_INVOKED */
130 #endif /* Not _MBSTRING_H_ */
131
132
133