OSDN Git Service

* include/mbstring.h: New file.
authordannysmith <dannysmith>
Sat, 20 Apr 2002 13:50:03 +0000 (13:50 +0000)
committerdannysmith <dannysmith>
Sat, 20 Apr 2002 13:50:03 +0000 (13:50 +0000)
* include/mbctype.h: New file.

Correct some email address dyslexia.

winsup/mingw/ChangeLog
winsup/mingw/include/mbctype.h [new file with mode: 0644]
winsup/mingw/include/mbstring.h [new file with mode: 0644]

index 1d0a841..c2a4516 100644 (file)
@@ -1,5 +1,10 @@
 2002-04-20  Danny Smith  <dannysmith@users.sourceforge.net>
 
+       * include/mbstring.h: New file.
+       * include/mbctype.h: New file.
+
+2002-04-20  Danny Smith  <dannysmith@users.sourceforge.net>
+
        * include/tchar.h (__TEXT): Make same as define in
        w32api/include/winnt.h.
 
@@ -40,7 +45,7 @@
        * include/wchar.h (_snwprintf): Correct spelling.
        (_vsnwprintf): Likewise.
 
-2002-03-26  Danny Smith  <dannysmith@sourceforge.users.net>
+2002-03-26  Danny Smith  <dannysmith@users.sourceforge.net>
 
        * moldname.def.in (__MSVCRT__): Replace with !(__CRTDLL__).
        (wpopen): Add if !(__CRTDLL__).
diff --git a/winsup/mingw/include/mbctype.h b/winsup/mingw/include/mbctype.h
new file mode 100644 (file)
index 0000000..346e6d7
--- /dev/null
@@ -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 (file)
index 0000000..d4afc1a
--- /dev/null
@@ -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_ */
+
+