summaryrefslogtreecommitdiffstats
path: root/newlib/libc/iconv/lib/biccs.c
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2004-01-23 21:37:46 +0000
committerJeff Johnston <jjohnstn@redhat.com>2004-01-23 21:37:46 +0000
commit786ab12ce20d68e4e5ace47ccf1c0d9b0129c875 (patch)
treebb9b930ea477a5e91dc4936a240b2685677174bd /newlib/libc/iconv/lib/biccs.c
parent35b7fc6c0035075cb75997e4f60f17337333c0bc (diff)
downloadcygnal-786ab12ce20d68e4e5ace47ccf1c0d9b0129c875.tar.gz
cygnal-786ab12ce20d68e4e5ace47ccf1c0d9b0129c875.tar.bz2
cygnal-786ab12ce20d68e4e5ace47ccf1c0d9b0129c875.zip
2004-01-23 Artem B. Bityuckiy <abitytsky@softminecorp.com>
* acinclude.m4 (--enable-newlib-iconv): New configuration option. (--enable-newlib-builtin-converters): Ditto. * configure.in: Add code to set _ICONV_ENABLED flag. Set _MB_LEN_MAX to 1 if not mb enabled. * configure: Regenerated. * aclocal.m4: Ditto. * Makefile.in: Ditto. * newlib.hin: Add _ICONV_ENABLED flag. * libc/Makefile.am: Add support for iconv. * libc/configure.in: Ditto. * libc/Makefile.in: Regenerated. * libc/aclocal.m4: Ditto. * libc/configure: Ditto. * libc/libc.texinfo: Add iconv documentation. * libc/iconv/AUTHORS, libc/iconv/COPYING, libc/iconv/Makefile.am, libc/iconv/Makefile.in, libc/iconv/README.ORIGINAL, libc/iconv/README.TODO, libc/iconv/charset.aliases, libc/iconv/iconv.tex, libc/iconv/ccs/Makefile.am, libc/iconv/ccs/Makefile.in, libc/iconv/ccs/README.CCS.SOURCES, libc/iconv/ccs/big5.c, libc/iconv/ccs/cns11643_plane1.c, libc/iconv/ccs/cns11643_plane14.c, libc/iconv/ccs/cns11643_plane2.c, libc/iconv/ccs/cp775.c, libc/iconv/ccs/cp850.c, libc/iconv/ccs/cp852.c, libc/iconv/ccs/cp855.c, libc/iconv/ccs/cp866.c, libc/iconv/ccs/gb_2312_80.c, libc/iconv/ccs/iconv_mktbl, libc/iconv/ccs/iso_8859_1.c, libc/iconv/ccs/iso_8859_15.c, libc/iconv/ccs/iso_8859_2.c, libc/iconv/ccs/iso_8859_4.c, libc/iconv/ccs/iso_8859_5.c, libc/iconv/ccs/jis_x0201.c, libc/iconv/ccs/jis_x0208_1983.c, libc/iconv/ccs/jis_x0212_1990.c, libc/iconv/ccs/koi8_r.c, libc/iconv/ccs/koi8_u.c, libc/iconv/ccs/ksx1001.c, libc/iconv/ccs/shift_jis.c, libc/iconv/ccs/us_ascii.c, libc/iconv/ccs/binary/Makefile.am, libc/iconv/ccs/binary/Makefile.in, libc/iconv/ccs/binary/big5.cct, libc/iconv/ccs/binary/cns11643_plane1.cct, libc/iconv/ccs/binary/cns11643_plane14.cct, libc/iconv/ccs/binary/cns11643_plane2.cct, libc/iconv/ccs/binary/cp775.cct, libc/iconv/ccs/binary/cp850.cct, libc/iconv/ccs/binary/cp852.cct, libc/iconv/ccs/binary/cp855.cct, libc/iconv/ccs/binary/cp866.cct, libc/iconv/ccs/binary/gb_2312_80.cct, libc/iconv/ccs/binary/iso_8859_1.cct, libc/iconv/ccs/binary/iso_8859_15.cct, libc/iconv/ccs/binary/iso_8859_2.cct, libc/iconv/ccs/binary/iso_8859_4.cct, libc/iconv/ccs/binary/iso_8859_5.cct, libc/iconv/ccs/binary/jis_x0201.cct, libc/iconv/ccs/binary/jis_x0208_1983.cct, libc/iconv/ccs/binary/jis_x0212_1990.cct, libc/iconv/ccs/binary/koi8_r.cct, libc/iconv/ccs/binary/koi8_u.cct, libc/iconv/ccs/binary/ksx1001.cct, libc/iconv/ccs/binary/shift_jis.cct, libc/iconv/ccs/binary/us_ascii.cct, libc/iconv/ces/Makefile.am, libc/iconv/ces/Makefile.in, libc/iconv/ces/euc-jp.c, libc/iconv/ces/euc-kr.c, libc/iconv/ces/euc-tw.c, libc/iconv/ces/gb2312.c, libc/iconv/ces/iso-10646-ucs-2.c, libc/iconv/ces/iso-10646-ucs-4.c, libc/iconv/ces/ucs-2-internal.c, libc/iconv/ces/ucs-4-internal.c, libc/iconv/ces/utf-16.c, libc/iconv/ces/utf-8.c, libc/iconv/lib/Makefile.am, libc/iconv/lib/Makefile.in, libc/iconv/lib/aliases.c, libc/iconv/lib/bialiasesi.c, libc/iconv/lib/biccs.c, libc/iconv/lib/bices.c, libc/iconv/lib/ccs.c, libc/iconv/lib/ces.c, libc/iconv/lib/ces_euc.c, libc/iconv/lib/ces_iso2022.c, libc/iconv/lib/ces_table.c, libc/iconv/lib/converter.c, libc/iconv/lib/deps.h, libc/iconv/lib/endian.h, libc/iconv/lib/iconv.c, libc/iconv/lib/loaddata.c, libc/iconv/lib/local.h, libc/include/iconv.h: New files. * libc/sys/linux/include/iconv.h: Ditto. * libc/include/sys/_types.h (_iconv_t): Added. * doc/aclocal.m4: Regenerated. * doc/configure: Ditto. * doc/Makefile.in: Ditto. * iconvdata/Makefile.in: Ditto. * iconvdata/aclocal.m4: Ditto. * iconvdata/configure: Ditto. * libc/*aclocal.m4: Ditto. * libc/*Makefile.in: Ditto. * libc/*configure: Ditto. * libm/*aclocal.m4: Ditto. * libm/*Makefile.in: Ditto. * libm/*configure: Ditto.
Diffstat (limited to 'newlib/libc/iconv/lib/biccs.c')
-rw-r--r--newlib/libc/iconv/lib/biccs.c177
1 files changed, 177 insertions, 0 deletions
diff --git a/newlib/libc/iconv/lib/biccs.c b/newlib/libc/iconv/lib/biccs.c
new file mode 100644
index 000000000..5a8a951b7
--- /dev/null
+++ b/newlib/libc/iconv/lib/biccs.c
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation.
+ * Rights transferred to Franklin Electronic Publishers.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+#ifdef ENABLE_ICONV
+
+#include "deps.h"
+#include <_ansi.h>
+#include "local.h"
+
+#ifdef ICONV_CONVERTER_BIG5
+extern _CONST unsigned char iconv_ccs_table_big5[];
+#endif
+#ifdef ICONV_CONVERTER_CNS11643_PLANE1
+extern _CONST unsigned char iconv_ccs_table_cns11643_plane1[];
+#endif
+#ifdef ICONV_CONVERTER_CNS11643_PLANE2
+extern _CONST unsigned char iconv_ccs_table_cns11643_plane2[];
+#endif
+#ifdef ICONV_CONVERTER_CNS11643_PLANE14
+extern _CONST unsigned char iconv_ccs_table_cns11643_plane14[];
+#endif
+#ifdef ICONV_CONVERTER_CP775
+extern _CONST unsigned char iconv_ccs_table_cp775[];
+#endif
+#ifdef ICONV_CONVERTER_CP850
+extern _CONST unsigned char iconv_ccs_table_cp850[];
+#endif
+#ifdef ICONV_CONVERTER_CP852
+extern _CONST unsigned char iconv_ccs_table_cp852[];
+#endif
+#ifdef ICONV_CONVERTER_CP855
+extern _CONST unsigned char iconv_ccs_table_cp855[];
+#endif
+#ifdef ICONV_CONVERTER_CP866
+extern _CONST unsigned char iconv_ccs_table_cp866[];
+#endif
+#ifdef ICONV_CONVERTER_GB_2312_80
+extern _CONST unsigned char iconv_ccs_table_gb_2312_80[];
+#endif
+#ifdef ICONV_CONVERTER_ISO_8859_1
+extern _CONST unsigned char iconv_ccs_table_iso_8859_1[];
+#endif
+#ifdef ICONV_CONVERTER_ISO_8859_15
+extern _CONST unsigned char iconv_ccs_table_iso_8859_15[];
+#endif
+#ifdef ICONV_CONVERTER_ISO_8859_2
+extern _CONST unsigned char iconv_ccs_table_iso_8859_2[];
+#endif
+#ifdef ICONV_CONVERTER_ISO_8859_4
+extern _CONST unsigned char iconv_ccs_table_iso_8859_4[];
+#endif
+#ifdef ICONV_CONVERTER_ISO_8859_5
+extern _CONST unsigned char iconv_ccs_table_iso_8859_5[];
+#endif
+#ifdef ICONV_CONVERTER_JIS_X0201
+extern _CONST unsigned char iconv_ccs_table_jis_x0201[];
+#endif
+#ifdef ICONV_CONVERTER_JIS_X0208_1983
+extern _CONST unsigned char iconv_ccs_table_jis_x0208_1983[];
+#endif
+#ifdef ICONV_CONVERTER_JIS_X0212_1990
+extern _CONST unsigned char iconv_ccs_table_jis_x0212_1990[];
+#endif
+#ifdef ICONV_CONVERTER_KOI8_R
+extern _CONST unsigned char iconv_ccs_table_koi8_r[];
+#endif
+#ifdef ICONV_CONVERTER_KOI8_U
+extern _CONST unsigned char iconv_ccs_table_koi8_u[];
+#endif
+#ifdef ICONV_CONVERTER_KSX1001
+extern _CONST unsigned char iconv_ccs_table_ksx1001[];
+#endif
+#ifdef ICONV_CONVERTER_SHIFT_JIS
+extern _CONST unsigned char iconv_ccs_table_shift_jis[];
+#endif
+#ifdef ICONV_CONVERTER_US_ASCII
+extern _CONST unsigned char iconv_ccs_table_us_ascii[];
+#endif
+
+_CONST iconv_builtin_table iconv_builtin_ccs[] =
+{
+#ifdef ICONV_CONVERTER_BIG5
+ {"big5", (_CONST _VOID_PTR)&iconv_ccs_table_big5},
+#endif
+#ifdef ICONV_CONVERTER_CNS11643_PLANE1
+ {"cns11643_plane1", (_CONST _VOID_PTR)&iconv_ccs_table_cns11643_plane1},
+#endif
+#ifdef ICONV_CONVERTER_CNS11643_PLANE2
+ {"cns11643_plane2", (_CONST _VOID_PTR)&iconv_ccs_table_cns11643_plane2},
+#endif
+#ifdef ICONV_CONVERTER_CNS11643_PLANE14
+ {"cns11643_plane14", (_CONST _VOID_PTR)&iconv_ccs_table_cns11643_plane14},
+#endif
+#ifdef ICONV_CONVERTER_CP775
+ {"cp775", (_CONST _VOID_PTR)&iconv_ccs_table_cp775},
+#endif
+#ifdef ICONV_CONVERTER_CP850
+ {"cp850", (_CONST _VOID_PTR)&iconv_ccs_table_cp850},
+#endif
+#ifdef ICONV_CONVERTER_CP852
+ {"cp852", (_CONST _VOID_PTR)&iconv_ccs_table_cp852},
+#endif
+#ifdef ICONV_CONVERTER_CP855
+ {"cp855", (_CONST _VOID_PTR)&iconv_ccs_table_cp855},
+#endif
+#ifdef ICONV_CONVERTER_CP866
+ {"cp866", (_CONST _VOID_PTR)&iconv_ccs_table_cp866},
+#endif
+#ifdef ICONV_CONVERTER_GB_2312_80
+ {"gb_2312_80", (_CONST _VOID_PTR)&iconv_ccs_table_gb_2312_80},
+#endif
+#ifdef ICONV_CONVERTER_ISO_8859_1
+ {"iso_8859_1", (_CONST _VOID_PTR)&iconv_ccs_table_iso_8859_1},
+#endif
+#ifdef ICONV_CONVERTER_ISO_8859_15
+ {"iso_8859_15", (_CONST _VOID_PTR)&iconv_ccs_table_iso_8859_15},
+#endif
+#ifdef ICONV_CONVERTER_ISO_8859_2
+ {"iso_8859_2", (_CONST _VOID_PTR)&iconv_ccs_table_iso_8859_2},
+#endif
+#ifdef ICONV_CONVERTER_ISO_8859_4
+ {"iso_8859_4", (_CONST _VOID_PTR)&iconv_ccs_table_iso_8859_4},
+#endif
+#ifdef ICONV_CONVERTER_ISO_8859_5
+ {"iso_8859_5", (_CONST _VOID_PTR)&iconv_ccs_table_iso_8859_5},
+#endif
+#ifdef ICONV_CONVERTER_JIS_X0201
+ {"jis_x0201", (_CONST _VOID_PTR)&iconv_ccs_table_jis_x0201},
+#endif
+#ifdef ICONV_CONVERTER_JIS_X0208_1983
+ {"jis_x0208_1983", (_CONST _VOID_PTR)&iconv_ccs_table_jis_x0208_1983},
+#endif
+#ifdef ICONV_CONVERTER_JIS_X0212_1990
+ {"jis_x0212_1990", (_CONST _VOID_PTR)&iconv_ccs_table_jis_x0212_1990},
+#endif
+#ifdef ICONV_CONVERTER_KOI8_R
+ {"koi8_r", (_CONST _VOID_PTR)&iconv_ccs_table_koi8_r},
+#endif
+#ifdef ICONV_CONVERTER_KOI8_U
+ {"koi8_u", (_CONST _VOID_PTR)&iconv_ccs_table_koi8_u},
+#endif
+#ifdef ICONV_CONVERTER_KSX1001
+ {"ksx1001", (_CONST _VOID_PTR)&iconv_ccs_table_ksx1001},
+#endif
+#ifdef ICONV_CONVERTER_SHIFT_JIS
+ {"shift_jis", (_CONST _VOID_PTR)&iconv_ccs_table_shift_jis},
+#endif
+#ifdef ICONV_CONVERTER_US_ASCII
+ {"us_ascii", (_CONST _VOID_PTR)&iconv_ccs_table_us_ascii},
+#endif
+ {NULL, NULL}
+};
+
+#endif /* #ifdef ENABLE_ICONV */
+