blob: 17f60cd0919716a2919728e5e1d93203f02b3841 [file] [log] [blame]
François Gouget63d13312001-12-05 22:11:35 +00001/*
2 * Multibyte string definitions
3 *
4 * Copyright 2001 Francois Gouget.
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00005 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
François Gouget63d13312001-12-05 22:11:35 +000019 */
20#ifndef __WINE_MBSTRING_H
21#define __WINE_MBSTRING_H
Jon Griffiths5f175502003-07-18 22:57:15 +000022#ifndef __WINE_USE_MSVCRT
François Gouget63d13312001-12-05 22:11:35 +000023#define __WINE_USE_MSVCRT
Jon Griffiths5f175502003-07-18 22:57:15 +000024#endif
François Gouget63d13312001-12-05 22:11:35 +000025
Alexandre Julliard3f5ff2f2002-12-18 20:17:20 +000026#ifndef MSVCRT
27# ifdef USE_MSVCRT_PREFIX
28# define MSVCRT(x) MSVCRT_##x
29# else
30# define MSVCRT(x) x
31# endif
François Gouget63d13312001-12-05 22:11:35 +000032#endif
33
34#ifndef MSVCRT_SIZE_T_DEFINED
35typedef unsigned int MSVCRT(size_t);
36#define MSVCRT_SIZE_T_DEFINED
37#endif
38
Alexandre Julliard3f5ff2f2002-12-18 20:17:20 +000039#ifndef MSVCRT_NLSCMP_DEFINED
François Gouget63d13312001-12-05 22:11:35 +000040#define _NLSCMPERROR ((unsigned int)0x7fffffff)
Alexandre Julliard3f5ff2f2002-12-18 20:17:20 +000041#define MSVCRT_NLSCMP_DEFINED
42#endif
François Gouget63d13312001-12-05 22:11:35 +000043
44#ifdef __cplusplus
45extern "C" {
46#endif
47
48int _ismbcalnum(unsigned int);
49int _ismbcalpha(unsigned int);
50int _ismbcdigit(unsigned int);
51int _ismbcgraph(unsigned int);
52int _ismbchira(unsigned int);
53int _ismbckata(unsigned int);
54int _ismbcl0(unsigned int);
55int _ismbcl1(unsigned int);
56int _ismbcl2(unsigned int);
57int _ismbclegal(unsigned int);
58int _ismbclower(unsigned int);
59int _ismbcprint(unsigned int);
60int _ismbcpunct(unsigned int);
61int _ismbcspace(unsigned int);
62int _ismbcsymbol(unsigned int);
63int _ismbcupper(unsigned int);
64unsigned int _mbbtombc(unsigned int);
65int _mbbtype(unsigned char,int);
66#define _mbccmp(_cpc1,_cpc2) _mbsncmp((_cpc1),(_cpc2),1)
67void _mbccpy(unsigned char*,const unsigned char*);
68unsigned int _mbcjistojms(unsigned int);
69unsigned int _mbcjmstojis(unsigned int);
70MSVCRT(size_t) _mbclen(const unsigned char*);
71unsigned int _mbctohira(unsigned int);
72unsigned int _mbctokata(unsigned int);
73unsigned int _mbctolower(unsigned int);
74unsigned int _mbctombb(unsigned int);
75unsigned int _mbctoupper(unsigned int);
76int _mbsbtype(const unsigned char*,MSVCRT(size_t));
77unsigned char* _mbscat(unsigned char*,const unsigned char*);
78unsigned char* _mbschr(const unsigned char*,unsigned int);
79int _mbscmp(const unsigned char*,const unsigned char*);
80int _mbscoll(const unsigned char*,const unsigned char*);
81unsigned char* _mbscpy(unsigned char*,const unsigned char*);
82MSVCRT(size_t) _mbscspn(const unsigned char*,const unsigned char*);
83unsigned char* _mbsdec(const unsigned char*,const unsigned char*);
84unsigned char* _mbsdup(const unsigned char*);
85int _mbsicmp(const unsigned char*,const unsigned char*);
86int _mbsicoll(const unsigned char*,const unsigned char*);
87unsigned char* _mbsinc(const unsigned char*);
88MSVCRT(size_t) _mbslen(const unsigned char*);
89unsigned char* _mbslwr(unsigned char*);
90unsigned char* _mbsnbcat(unsigned char*,const unsigned char*,MSVCRT(size_t));
91int _mbsnbcmp(const unsigned char*,const unsigned char*,MSVCRT(size_t));
92int _mbsnbcoll(const unsigned char*,const unsigned char*,MSVCRT(size_t));
93MSVCRT(size_t) _mbsnbcnt(const unsigned char*,MSVCRT(size_t));
94unsigned char* _mbsnbcpy(unsigned char*,const unsigned char*
95,MSVCRT(size_t));
96int _mbsnbicmp(const unsigned char*,const unsigned char*,MSVCRT(size_t));
97int _mbsnbicoll(const unsigned char*,const unsigned char*,MSVCRT(size_t));
98unsigned char* _mbsnbset(unsigned char*,unsigned int,MSVCRT(size_t))
99;
100unsigned char* _mbsncat(unsigned char*,const unsigned char*,
101 MSVCRT(size_t));
102MSVCRT(size_t) _mbsnccnt(const unsigned char*,MSVCRT(size_t));
103int _mbsncmp(const unsigned char*,const unsigned char*,MSVCRT(size_t));
104int _mbsncoll(const unsigned char*,const unsigned char*,MSVCRT(size_t));
105unsigned char* _mbsncpy(unsigned char*,const unsigned char*,MSVCRT(size_t));
106unsigned int _mbsnextc (const unsigned char*);
107int _mbsnicmp(const unsigned char*,const unsigned char*,MSVCRT(size_t));
108int _mbsnicoll(const unsigned char*,const unsigned char*,MSVCRT(size_t));
109unsigned char* _mbsninc(const unsigned char*,MSVCRT(size_t));
110unsigned char* _mbsnset(unsigned char*,unsigned int,MSVCRT(size_t));
111unsigned char* _mbspbrk(const unsigned char*,const unsigned char*);
112unsigned char* _mbsrchr(const unsigned char*,unsigned int);
113unsigned char* _mbsrev(unsigned char*);
114unsigned char* _mbsset(unsigned char*,unsigned int);
115MSVCRT(size_t) _mbsspn(const unsigned char*,const unsigned char*);
116unsigned char* _mbsspnp(const unsigned char*,const unsigned char*);
117unsigned char* _mbsstr(const unsigned char*,const unsigned char*);
118unsigned char* _mbstok(unsigned char*,const unsigned char*);
119unsigned char* _mbsupr(unsigned char*);
120
Alexandre Julliard3f5ff2f2002-12-18 20:17:20 +0000121#ifndef MSVCRT_MBLEADTRAIL_DEFINED
122#define MSVCRT_MBLEADTRAIL_DEFINED
123int _ismbblead(unsigned int);
124int _ismbbtrail(unsigned int);
125int _ismbslead(const unsigned char*,const unsigned char*);
126int _ismbstrail(const unsigned char*,const unsigned char*);
127#endif /* MSVCRT_MBLEADTRAIL_DEFINED */
128
François Gouget63d13312001-12-05 22:11:35 +0000129#ifdef __cplusplus
130}
131#endif
132
133#endif /* __WINE_MBSTRING_H */