Result of three way diffing with include/crtdll and the winapi2 headers.
[reactos.git] / reactos / include / msvcrt / 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 #include <msvcrt/stddef.h>
25
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31
32 /* character routines */
33 int _ismbcalnum(unsigned int);
34 int _ismbcalpha(unsigned int);
35 int _ismbcdigit(unsigned int);
36 int _ismbcgraph(unsigned int);
37 int _ismbcprint(unsigned int);
38 int _ismbcpunct(unsigned int);
39 int _ismbcspace(unsigned int);
40 int _ismbclower(unsigned int);
41 int _ismbcupper(unsigned int);
42 int _ismbclegal(unsigned int);
43
44 int _ismbblead(unsigned int);
45 int _ismbbtrail(unsigned int);
46 int _ismbslead(const unsigned char*, const unsigned char*);
47 int _ismbstrail(const unsigned char*, const unsigned char*);
48
49 unsigned int _mbctolower(unsigned int);
50 unsigned int _mbctoupper(unsigned int);
51
52 void _mbccpy(unsigned char*, const unsigned char*);
53 size_t _mbclen(const unsigned char*);
54
55 unsigned int _mbbtombc(unsigned int);
56 unsigned int _mbctombb(unsigned int);
57
58 /* Return value constants for these are defined in mbctype.h. */
59 int _mbbtype(unsigned char, int);
60 int _mbsbtype(const unsigned char*, size_t);
61
62 unsigned char* _mbscpy(unsigned char*, const unsigned char*);
63 unsigned char* _mbsncpy(unsigned char*, const unsigned char*, size_t);
64 unsigned char* _mbsnbcpy(unsigned char*, const unsigned char*, size_t);
65 unsigned char* _mbsset(unsigned char*, unsigned int);
66 unsigned char* _mbsnset(unsigned char*, unsigned int, size_t);
67 unsigned char* _mbsnbset(unsigned char*, unsigned int, size_t);
68
69 unsigned char* _mbsdup(const unsigned char*);
70 unsigned char* _mbsrev(unsigned char*);
71 unsigned char* _mbscat(unsigned char*, const unsigned char*);
72 unsigned char* _mbsncat(unsigned char*, const unsigned char*, size_t);
73 unsigned char* _mbsnbcat(unsigned char*, const unsigned char*, size_t);
74 size_t _mbslen(const unsigned char*);
75 size_t _mbsnbcnt(const unsigned char*, size_t);
76 size_t _mbsnccnt(const unsigned char*, size_t);
77 unsigned char* _mbschr(unsigned char*, unsigned char*);
78 unsigned char* _mbsrchr(const unsigned char*, unsigned int);
79 size_t _mbsspn(const unsigned char*, const unsigned char*);
80 size_t _mbscspn(const unsigned char*, const unsigned char*);
81 unsigned char* _mbsspnp(const unsigned char*, const unsigned char*);
82 unsigned char* _mbspbrk(const unsigned char*, const unsigned char*);
83 int _mbscmp(const unsigned char*, const unsigned char*);
84 int _mbsicmp(const unsigned char*, const unsigned char*);
85 int _mbsncmp(const unsigned char*, const unsigned char*, size_t);
86 int _mbsnicmp(const unsigned char*, const unsigned char*, size_t);
87 int _mbsnbcmp(const unsigned char*, const unsigned char*, size_t);
88 int _mbsnbicmp(const unsigned char*, const unsigned char*, size_t);
89 int _mbscoll(const unsigned char*, const unsigned char*);
90 int _mbsicoll(const unsigned char*, const unsigned char*);
91 int _mbsncoll(const unsigned char*, const unsigned char*, size_t);
92 int _mbsnicoll(const unsigned char*, const unsigned char*, size_t);
93 int _mbsnbcoll(const unsigned char*, const unsigned char*, size_t);
94
95 int _mbsnbicoll(const unsigned char*, const unsigned char*, size_t);
96
97 unsigned char* _mbsinc(const unsigned char*);
98 unsigned char* _mbsninc(const unsigned char*, size_t);
99 unsigned char* _mbsdec(const unsigned char*, const unsigned char*);
100 unsigned int _mbsnextc (const unsigned char*);
101 unsigned char* _mbslwr(unsigned char*);
102 unsigned char* _mbsupr(unsigned char*);
103 unsigned char* _mbstok(unsigned char*, unsigned char*);
104
105 unsigned char* _mbsstr(const unsigned char*, const unsigned char*);
106 size_t _mbstrlen(const char*str);
107
108
109 #ifdef __cplusplus
110 }
111 #endif
112
113 #endif /* Not _MBSTRING_H_ */
114