Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcvs2svn <>2002-04-20 17:50:05 +0400
committercvs2svn <>2002-04-20 17:50:05 +0400
commit719dad2b86e769bde54df44371c92354eedde74b (patch)
treeac6f705710c6c89afa918f9bec71c6666c75b8ae
parent57fd42afdfb5aa938d813c446086d337c13fb6f7 (diff)
This commit was manufactured by cvs2svn to create branch 'mingwex'.
Cherrypick from master 2002-04-20 13:50:04 UTC Danny Smith <dannysmith@users.sourceforge.net> ' * include/mbstring.h: New file.': winsup/mingw/include/mbctype.h winsup/mingw/include/mbstring.h
-rw-r--r--winsup/mingw/include/mbctype.h97
-rw-r--r--winsup/mingw/include/mbstring.h132
2 files changed, 229 insertions, 0 deletions
diff --git a/winsup/mingw/include/mbctype.h b/winsup/mingw/include/mbctype.h
new file mode 100644
index 000000000..346e6d790
--- /dev/null
+++ b/winsup/mingw/include/mbctype.h
@@ -0,0 +1,97 @@
+/*
+ * mbctype.h
+ *
+ * Functions for testing multibyte character types and converting characters.
+ *
+ * This file is part of the Mingw32 package.
+ *
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may
+ * use, modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+
+#ifndef _MBCTYPE_H_
+#define _MBCTYPE_H_
+
+/* All the headers include this file. */
+#include <_mingw.h>
+
+/* return values for _mbsbtype and _mbbtype in mbstring.h */
+#define _MBC_SINGLE 0
+#define _MBC_LEAD 1
+#define _MBC_TRAIL 2
+#define _MBC_ILLEGAL (-1)
+
+/* args for setmbcp (in lieu of actual codepage) */
+#define _MB_CP_SBCS 0
+#define _MB_CP_OEM (-2)
+#define _MB_CP_ANSI (-3)
+#define _MB_CP_LOCALE (-4)
+
+/* TODO: bit masks */
+/*
+#define _MS
+#define _MP
+#define _M1
+#define _M2
+#define _SBUP
+#define _SBLOW
+*/
+
+#ifndef RC_INVOKED
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef __STRICT_ANSI__
+
+int _setmbcp (int);
+int _getmbcp (void);
+
+/* byte classification */
+/* NB: Corresponding _ismbc* functions are in mbstring.h */
+
+int _ismbbalpha (unsigned int);
+int _ismbbalnum (unsigned int);
+int _ismbbgraph (unsigned int);
+int _ismbbprint (unsigned int);
+int _ismbbpunct (unsigned int);
+
+int _ismbbkana (unsigned int);
+int _ismbbkalnum (unsigned int);
+int _ismbbkprint (unsigned int);
+int _ismbbkpunct (unsigned int);
+
+
+/* these are also in mbstring.h */
+int _ismbblead (unsigned int);
+int _ismbbtrail (unsigned int);
+int _ismbslead (const unsigned char*, const unsigned char*);
+int _ismbstrail (const unsigned char*, const unsigned char*);
+
+#ifdef __DECLSPEC_SUPPORTED
+__MINGW_IMPORT unsigned char _mbctype[];
+__MINGW_IMPORT unsigned char _mbcasemap[];
+#endif
+
+/* TODO : _MBCS_ mappings go in tchar.h */
+
+#endif /* Not strict ANSI */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* Not RC_INVOKED */
+
+#endif /* Not _MCTYPE_H_ */
+
diff --git a/winsup/mingw/include/mbstring.h b/winsup/mingw/include/mbstring.h
new file mode 100644
index 000000000..d4afc1a54
--- /dev/null
+++ b/winsup/mingw/include/mbstring.h
@@ -0,0 +1,132 @@
+/*
+ * mbstring.h
+ *
+ * Protototypes for string functions supporting multibyte characters.
+ *
+ * This file is part of the Mingw32 package.
+ *
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may
+ * use, modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+
+#ifndef _MBSTRING_H_
+#define _MBSTRING_H_
+
+/* All the headers include this file. */
+#include <_mingw.h>
+
+#ifndef RC_INVOKED
+
+#define __need_size_t
+#include <stddef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef __STRICT_ANSI__
+
+/* character classification */
+int _ismbcalnum (unsigned int);
+int _ismbcalpha (unsigned int);
+int _ismbcdigit (unsigned int);
+int _ismbcgraph (unsigned int);
+int _ismbcprint (unsigned int);
+int _ismbcpunct (unsigned int);
+int _ismbcspace (unsigned int);
+int _ismbclower (unsigned int);
+int _ismbcupper (unsigned int);
+int _ismbclegal (unsigned int);
+int _ismbcsymbol (unsigned int);
+
+
+/* also in mbctype.h */
+int _ismbblead (unsigned int );
+int _ismbbtrail (unsigned int );
+int _ismbslead ( const unsigned char*, const unsigned char*);
+int _ismbstrail ( const unsigned char*, const unsigned char*);
+
+unsigned int _mbctolower (unsigned int);
+unsigned int _mbctoupper (unsigned int);
+
+void _mbccpy (unsigned char*, const unsigned char*);
+size_t _mbclen (const unsigned char*);
+
+unsigned int _mbbtombc (unsigned int);
+unsigned int _mbctombb (unsigned int);
+
+/* Return value constants for these are defined in mbctype.h. */
+int _mbbtype (unsigned char, int);
+int _mbsbtype (const unsigned char*, size_t);
+
+unsigned char* _mbscpy (unsigned char*, const unsigned char*);
+unsigned char* _mbsncpy (unsigned char*, const unsigned char*, size_t);
+unsigned char* _mbsnbcpy (unsigned char*, const unsigned char*, size_t);
+unsigned char* _mbsset (unsigned char*, unsigned int);
+unsigned char* _mbsnset (unsigned char*, unsigned int, size_t);
+unsigned char* _mbsnbset (unsigned char*, unsigned int, size_t);
+unsigned char* _mbsdup (const unsigned char*);
+unsigned char* _mbsrev (unsigned char*);
+unsigned char* _mbscat (unsigned char*, const unsigned char*); /* also in string.h */
+unsigned char* _mbsncat (unsigned char*, const unsigned char*, size_t);
+unsigned char* _mbsnbcat (unsigned char*, const unsigned char*, size_t);
+size_t _mbslen (const unsigned char*);
+size_t _mbsnbcnt (const unsigned char*, size_t);
+size_t _mbsnccnt (const unsigned char*, size_t);
+unsigned char* _mbschr (const unsigned char*, unsigned int); /* also in string.h */
+unsigned char* _mbsrchr (const unsigned char*, unsigned int);
+size_t _mbsspn (const unsigned char*, const unsigned char*);
+size_t _mbscspn (const unsigned char*, const unsigned char*);
+unsigned char* _mbsspnp (const unsigned char*, const unsigned char*);
+unsigned char* _mbspbrk (const unsigned char*, const unsigned char*);
+int _mbscmp (const unsigned char*, const unsigned char*);
+int _mbsicmp (const unsigned char*, const unsigned char*);
+int _mbsncmp (const unsigned char*, const unsigned char*, size_t);
+int _mbsnicmp (const unsigned char*, const unsigned char*, size_t);
+int _mbsnbcmp (const unsigned char*, const unsigned char*, size_t);
+int _mbsnbicmp (const unsigned char*, const unsigned char*, size_t);
+int _mbscoll (const unsigned char*, const unsigned char*);
+int _mbsicoll (const unsigned char*, const unsigned char*);
+int _mbsncoll (const unsigned char*, const unsigned char*, size_t);
+int _mbsnicoll (const unsigned char*, const unsigned char*, size_t);
+int _mbsnbcoll (const unsigned char*, const unsigned char*, size_t);
+int _mbsnbicoll (const unsigned char*, const unsigned char*, size_t);
+
+unsigned char* _mbsinc (const unsigned char*);
+unsigned char* _mbsninc (const unsigned char*, size_t);
+unsigned char* _mbsdec (const unsigned char*, const unsigned char*);
+unsigned int _mbsnextc (const unsigned char*);
+unsigned char* _mbslwr (unsigned char*);
+unsigned char* _mbsupr (unsigned char*);
+unsigned char* _mbstok (unsigned char*, const unsigned char*); /* also in string.h */
+
+/* Kanji */
+int _ismbchira (unsigned int);
+int _ismbckata (unsigned int);
+int _ismbcl0 (unsigned int);
+int _ismbcl1 (unsigned int);
+int _ismbcl2 (unsigned int);
+unsigned int _mbcjistojms (unsigned int);
+unsigned int _mbcjmstojis (unsigned int);
+unsigned int _mbctohira (unsigned int);
+unsigned int _mbctokata (unsigned int);
+
+#endif /* Not strict ANSI */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* Not RC_INVOKED */
+#endif /* Not _MBSTRING_H_ */
+
+