4ad777602afc2f24eb0735970dd421a0e9a0e61a
[reactos.git] / reactos / lib / mingw / include / 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 _ismbcalnum (unsigned int);
40 _CRTIMP int __cdecl _ismbcalpha (unsigned int);
41 _CRTIMP int __cdecl _ismbcdigit (unsigned int);
42 _CRTIMP int __cdecl _ismbcgraph (unsigned int);
43 _CRTIMP int __cdecl _ismbcprint (unsigned int);
44 _CRTIMP int __cdecl _ismbcpunct (unsigned int);
45 _CRTIMP int __cdecl _ismbcspace (unsigned int);
46 _CRTIMP int __cdecl _ismbclower (unsigned int);
47 _CRTIMP int __cdecl _ismbcupper (unsigned int);
48 _CRTIMP int __cdecl _ismbclegal (unsigned int);
49 _CRTIMP int __cdecl _ismbcsymbol (unsigned int);
50
51
52 /* also in mbctype.h */
53 _CRTIMP int __cdecl _ismbblead (unsigned int );
54 _CRTIMP int __cdecl _ismbbtrail (unsigned int );
55 _CRTIMP int __cdecl _ismbslead ( const unsigned char*, const unsigned char*);
56 _CRTIMP int __cdecl _ismbstrail ( const unsigned char*, const unsigned char*);
57
58 _CRTIMP unsigned int __cdecl _mbctolower (unsigned int);
59 _CRTIMP unsigned int __cdecl _mbctoupper (unsigned int);
60
61 _CRTIMP void __cdecl _mbccpy (unsigned char*, const unsigned char*);
62 _CRTIMP size_t __cdecl _mbclen (const unsigned char*);
63
64 _CRTIMP unsigned int __cdecl _mbbtombc (unsigned int);
65 _CRTIMP unsigned int __cdecl _mbctombb (unsigned int);
66
67 /* Return value constants for these are defined in mbctype.h. */
68 _CRTIMP int __cdecl _mbbtype (unsigned char, int);
69 _CRTIMP int __cdecl _mbsbtype (const unsigned char*, size_t);
70
71 _CRTIMP unsigned char* __cdecl _mbscpy (unsigned char*, const unsigned char*);
72 _CRTIMP unsigned char* __cdecl _mbsncpy (unsigned char*, const unsigned char*, size_t);
73 _CRTIMP unsigned char* __cdecl _mbsnbcpy (unsigned char*, const unsigned char*, size_t);
74 _CRTIMP unsigned char* __cdecl _mbsset (unsigned char*, unsigned int);
75 _CRTIMP unsigned char* __cdecl _mbsnset (unsigned char*, unsigned int, size_t);
76 _CRTIMP unsigned char* __cdecl _mbsnbset (unsigned char*, unsigned int, size_t);
77 _CRTIMP unsigned char* __cdecl _mbsdup (const unsigned char*);
78 _CRTIMP unsigned char* __cdecl _mbsrev (unsigned char*);
79 _CRTIMP unsigned char* __cdecl _mbscat (unsigned char*, const unsigned char*);
80 _CRTIMP unsigned char* __cdecl _mbsncat (unsigned char*, const unsigned char*, size_t);
81 _CRTIMP unsigned char* __cdecl _mbsnbcat (unsigned char*, const unsigned char*, size_t);
82 _CRTIMP size_t __cdecl _mbslen (const unsigned char*);
83 _CRTIMP size_t __cdecl _mbsnbcnt (const unsigned char*, size_t);
84 _CRTIMP size_t __cdecl _mbsnccnt (const unsigned char*, size_t);
85 _CRTIMP unsigned char* __cdecl _mbschr (const unsigned char*, unsigned int);
86 _CRTIMP unsigned char* __cdecl _mbsrchr (const unsigned char*, unsigned int);
87 _CRTIMP size_t __cdecl _mbsspn (const unsigned char*, const unsigned char*);
88 _CRTIMP size_t __cdecl _mbscspn (const unsigned char*, const unsigned char*);
89 _CRTIMP unsigned char* __cdecl _mbsspnp (const unsigned char*, const unsigned char*);
90 _CRTIMP unsigned char* __cdecl _mbspbrk (const unsigned char*, const unsigned char*);
91 _CRTIMP int __cdecl _mbscmp (const unsigned char*, const unsigned char*);
92 _CRTIMP int __cdecl _mbsicmp (const unsigned char*, const unsigned char*);
93 _CRTIMP int __cdecl _mbsncmp (const unsigned char*, const unsigned char*, size_t);
94 _CRTIMP int __cdecl _mbsnicmp (const unsigned char*, const unsigned char*, size_t);
95 _CRTIMP int __cdecl _mbsnbcmp (const unsigned char*, const unsigned char*, size_t);
96 _CRTIMP int __cdecl _mbsnbicmp (const unsigned char*, const unsigned char*, size_t);
97 _CRTIMP int __cdecl _mbscoll (const unsigned char*, const unsigned char*);
98 _CRTIMP int __cdecl _mbsicoll (const unsigned char*, const unsigned char*);
99 _CRTIMP int __cdecl _mbsncoll (const unsigned char*, const unsigned char*, size_t);
100 _CRTIMP int __cdecl _mbsnicoll (const unsigned char*, const unsigned char*, size_t);
101 _CRTIMP int __cdecl _mbsnbcoll (const unsigned char*, const unsigned char*, size_t);
102 _CRTIMP int __cdecl _mbsnbicoll (const unsigned char*, const unsigned char*, size_t);
103
104 _CRTIMP unsigned char* __cdecl _mbsinc (const unsigned char*);
105 _CRTIMP unsigned char* __cdecl _mbsninc (const unsigned char*, size_t);
106 _CRTIMP unsigned char* __cdecl _mbsdec (const unsigned char*, const unsigned char*);
107 _CRTIMP unsigned int __cdecl _mbsnextc (const unsigned char*);
108 _CRTIMP unsigned char* __cdecl _mbslwr (unsigned char*);
109 _CRTIMP unsigned char* __cdecl _mbsupr (unsigned char*);
110 _CRTIMP unsigned char* __cdecl _mbstok (unsigned char*, const unsigned char*);
111
112 /* Kanji */
113 _CRTIMP int __cdecl _ismbchira (unsigned int);
114 _CRTIMP int __cdecl _ismbckata (unsigned int);
115 _CRTIMP int __cdecl _ismbcl0 (unsigned int);
116 _CRTIMP int __cdecl _ismbcl1 (unsigned int);
117 _CRTIMP int __cdecl _ismbcl2 (unsigned int);
118 _CRTIMP unsigned int __cdecl _mbcjistojms (unsigned int);
119 _CRTIMP unsigned int __cdecl _mbcjmstojis (unsigned int);
120 _CRTIMP unsigned int __cdecl _mbctohira (unsigned int);
121 _CRTIMP unsigned int __cdecl _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