diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2004-06-25 20:33:28 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2004-06-25 20:33:28 +0000 |
commit | 660dade387b1e24665ea8826417b096df2f25e83 (patch) | |
tree | 611b5d25b92b226523a09d99f6dd4514acab5422 /newlib/libc/iconv/lib/local.h | |
parent | 6778dc3f1a5e444c281bf39a3f199abde00478bd (diff) | |
download | cygnal-660dade387b1e24665ea8826417b096df2f25e83.tar.gz cygnal-660dade387b1e24665ea8826417b096df2f25e83.tar.bz2 cygnal-660dade387b1e24665ea8826417b096df2f25e83.zip |
2004-06-25 Artem B. Bityuckiy <dedekind@oktetlabs.ru>
* acinclude.m4: Move iconv options into configure.in.
* aclocal.m4: Regenerated.
* configure: Ditto.
* configure.in: Add iconv options.
* newlib.hin: Add new iconv encodings and remove deleted ones.
* doc/aclocal.m4: Regenerated.
* doc/configure: Ditto.
* iconvdata/aclocal.m4: Ditto.
* iconvdata/configure: Ditto.
* libc/iconv: Design change. New size-optimized ccs format.
* libc/iconv/AUTHORS: Removed.
* libc/iconv/COPYING: Ditto.
* libc/iconv/README.ORIGINAL: Ditto.
* libc/iconv/README.TODO: Ditto.
* libc/iconv/charset.aliases: Ditto.
* libc/iconv/encoding.aliases: New file.
* libc/iconv/Makefile.am: Updated.
* libc/iconv/Makefile.in: Regenerated.
* libc/iconv/iconv.tex: Updated.
* libc/iconv/ccs/Makefile.am: Ditto.
* libc/iconv/ccs/Makefile.in: Regenerated.
* libc/iconv/ccs/big5.c: Updated.
* libc/iconv/ccs/cns11643_plane1.c: Ditto.
* libc/iconv/ccs/cns11643_plane14.c: Ditto.
* libc/iconv/ccs/cns11643_plane2.c: Ditto.
* libc/iconv/ccs/cp775.c: Ditto.
* libc/iconv/ccs/cp850.c: Ditto.
* libc/iconv/ccs/cp852.c: Ditto.
* libc/iconv/ccs/cp855.c: Ditto.
* libc/iconv/ccs/cp866.c: Ditto.
* libc/iconv/ccs/iso_8859_1.c: Ditto.
* libc/iconv/ccs/README.CCS.SOURCES: Removed.
* libc/iconv/ccs/gb_2312_80.c: Ditto.
* libc/iconv/ccs/iconv_mktbl: Ditto.
* libc/iconv/ccs/jis_x0201.c: Ditto.
* libc/iconv/ccs/jis_x0208_1983.c: Ditto.
* libc/iconv/ccs/shift_jis.c: Ditto.
* libc/iconv/ccs/us_ascii.c: Ditto.
* libc/iconv/ccs/ccs.h: New file.
* libc/iconv/ccs/ccsbi.c: Ditto.
* libc/iconv/ccs/ccsbi.h: Ditto.
* libc/iconv/ccs/ccsnames.h: Ditto.
* libc/iconv/ccs/iso_8859_10.c: Ditto.
* libc/iconv/ccs/iso_8859_11.c: Ditto.
* libc/iconv/ccs/iso_8859_13.c: Ditto.
* libc/iconv/ccs/iso_8859_14.c: Ditto.
* libc/iconv/ccs/iso_8859_3.c: Ditto.
* libc/iconv/ccs/iso_8859_6.c: Ditto.
* libc/iconv/ccs/iso_8859_7.c: Ditto.
* libc/iconv/ccs/iso_8859_8.c: Ditto.
* libc/iconv/ccs/iso_8859_9.c: Ditto.
* libc/iconv/ccs/iso_ir_111.c: Ditto.
* libc/iconv/ccs/jis_x0201_1976.c: Ditto.
* libc/iconv/ccs/jis_x0208_1990.c: Ditto.
* libc/iconv/ccs/koi8_ru.c: Ditto.
* libc/iconv/ccs/koi8_uni.c: Ditto.
* libc/iconv/ccs/mktbl.pl: Ditto.
* libc/iconv/ccs/win_1250.c: Ditto.
* libc/iconv/ccs/win_1251.c: Ditto.
* libc/iconv/ccs/win_1252.c: Ditto.
* libc/iconv/ccs/win_1253.c: Ditto.
* libc/iconv/ccs/win_1254.c: Ditto.
* libc/iconv/ccs/win_1255.c: Ditto.
* libc/iconv/ccs/win_1256.c: Ditto.
* libc/iconv/ccs/win_1257.c: Ditto.
* libc/iconv/ccs/win_1258.c: Ditto.
* 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_x0212_1990.c
* libc/iconv/ccs/koi8_r.c
* libc/iconv/ccs/koi8_u.c
* libc/iconv/ccs/ksx1001.c
* libc/iconv/ccs/binary/gb_2312_80.cct: Removed.
* libc/iconv/ccs/binary/jis_x0201.cct: Ditto.
* libc/iconv/ccs/binary/shift_jis.cct: Ditto.
* libc/iconv/ccs/binary/us_ascii.cct: Ditto.
* libc/iconv/ccs/binary/jis_x0208_1983.cct: Ditto.
* libc/iconv/ccs/binary/Makefile.am: Updated.
* libc/iconv/ccs/binary/Makefile.in: Regenerated.
* libc/iconv/ccs/binary/big5.cct: Updated.
* libc/iconv/ccs/binary/cns11643_plane1.cct: Ditto.
* libc/iconv/ccs/binary/cns11643_plane14.cct: Ditto.
* libc/iconv/ccs/binary/cns11643_plane2.cct: Ditto.
* libc/iconv/ccs/binary/cp775.cct: Updated.: Ditto.
* libc/iconv/ccs/binary/cp850.cct: Ditto.: Ditto.
* libc/iconv/ccs/binary/cp852.cct: Ditto.: Ditto.
* libc/iconv/ccs/binary/cp855.cct: Ditto.: Ditto.
* libc/iconv/ccs/binary/cp866.cct: Ditto.: Ditto.
* libc/iconv/ccs/binary/iso_8859_1.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_15.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_4.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_5.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_2.cct: Ditto.
* libc/iconv/ccs/binary/jis_x0212_1990.cct: Ditto.
* libc/iconv/ccs/binary/koi8_r.cct: Ditto.
* libc/iconv/ccs/binary/koi8_u.cct: Ditto.
* libc/iconv/ccs/binary/ksx1001.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_10.cct: New file.
* libc/iconv/ccs/binary/iso_8859_11.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_13.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_14.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_3.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_6.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_7.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_8.cct: Ditto.
* libc/iconv/ccs/binary/iso_8859_9.cct: Ditto.
* libc/iconv/ccs/binary/iso_ir_111.cct: Ditto.
* libc/iconv/ccs/binary/jis_x0201_1976.cct: Ditto.
* libc/iconv/ccs/binary/jis_x0208_1990.cct: Ditto.
* libc/iconv/ccs/binary/koi8_ru.cct: Ditto.
* libc/iconv/ccs/binary/koi8_uni.cct: Ditto.
* libc/iconv/ccs/binary/win_1250.cct: Ditto.
* libc/iconv/ccs/binary/win_1251.cct: Ditto.
* libc/iconv/ccs/binary/win_1252.cct: Ditto.
* libc/iconv/ccs/binary/win_1253.cct: Ditto.
* libc/iconv/ccs/binary/win_1254.cct: Ditto.
* libc/iconv/ccs/binary/win_1255.cct: Ditto.
* libc/iconv/ccs/binary/win_1256.cct: Ditto.
* libc/iconv/ccs/binary/win_1257.cct: Ditto.
* libc/iconv/ccs/binary/win_1258.cct: Ditto.
* libc/iconv/ces/Makefile.am: Updated.
* libc/iconv/ces/Makefile.in: Regenerated.
* libc/iconv/ces/ucs-2-internal.c: Updated.
* libc/iconv/ces/ucs-4-internal.c: Ditto.
* libc/iconv/ces/utf-16.c: Ditto.
* libc/iconv/ces/utf-8.c: Ditto.
* libc/iconv/ces/cesbi.c: New file.
* libc/iconv/ces/cesbi.h: Ditto.
* libc/iconv/ces/cesdeps.h: Ditto.
* libc/iconv/ces/euc.c: Ditto.
* libc/iconv/ces/mkdeps.pl: Ditto.
* libc/iconv/ces/table-pcs.c: Ditto.
* libc/iconv/ces/table.c: Ditto.
* libc/iconv/ces/ucs-2.c: Ditto.
* libc/iconv/ces/ucs-4.c: Ditto.
* libc/iconv/ces/us-ascii.c: Ditto.
* libc/iconv/ces/euc-jp.c: Removed.
* libc/iconv/ces/euc-kr.c: Ditto.
* libc/iconv/ces/euc-tw.c: Ditto.
* libc/iconv/ces/gb2312.c: Ditto.
* libc/iconv/ces/iso-10646-ucs-2.: Ditto.c
* libc/iconv/ces/iso-10646-ucs-4.c: Ditto.
* libc/iconv/lib/Makefile.am: Updated.
* libc/iconv/lib/Makefile.in: Regenerated.
* libc/iconv/lib/endian.h: Updated.
* libc/iconv/lib/iconv.c: Ditto.
* libc/iconv/lib/local.h: Ditto.
* libc/iconv/lib/aliases.c: Removed.
* libc/iconv/lib/bialiasesi.c: Ditto.
* libc/iconv/lib/biccs.c: Ditto.
* libc/iconv/lib/bices.c: Ditto.
* libc/iconv/lib/ccs.c: Ditto.
* libc/iconv/lib/ces.c: Ditto.
* libc/iconv/lib/ces_euc.c: Ditto.
* libc/iconv/lib/ces_iso2022.c: Ditto.
* libc/iconv/lib/ces_table.c: Ditto.
* libc/iconv/lib/converter.c: Ditto.
* libc/iconv/lib/deps.h: Ditto.
* libc/iconv/lib/aliasesbi.c: Ditto.
* libc/iconv/lib/aliasesi.c: Ditto.
* libc/iconv/lib/conv.h: Ditto.
* libc/iconv/lib/encnames.h: Ditto.
* libc/iconv/lib/encoding.deps: Ditto.
* libc/iconv/lib/iconvnls.c: Ditto.
* libc/iconv/lib/iconvnls.h: Ditto.
* libc/iconv/lib/loaddata.c: Ditto.
* libc/iconv/lib/nullconv.c: Ditto.
* libc/iconv/lib/ucsconv.c: Ditto.
* libc/iconv/lib/ucsconv.h: Ditto.
* libc/include/iconv.h: Update copyright.
* libc/*/aclocal.m4: Regenerated.
* libc/*/configure: Ditto.
* libm/*/aclocal.m4: Ditto.
* libm/*/configure: Ditto.
Diffstat (limited to 'newlib/libc/iconv/lib/local.h')
-rw-r--r-- | newlib/libc/iconv/lib/local.h | 310 |
1 files changed, 51 insertions, 259 deletions
diff --git a/newlib/libc/iconv/lib/local.h b/newlib/libc/iconv/lib/local.h index 199fad0cd..85f22634c 100644 --- a/newlib/libc/iconv/lib/local.h +++ b/newlib/libc/iconv/lib/local.h @@ -1,273 +1,65 @@ -#ifndef __LOCAL_H__ -#define __LOCAL_H__ +/* + * Copyright (c) 2003-2004, Artem B. Bityuckiy + * + * 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. + */ +#ifndef __ICONV_LIB_LOCAL_H__ +#define __ICONV_LIB_LOCAL_H__ #include <_ansi.h> #include <reent.h> -#include <wchar.h> #include <sys/types.h> +#include <limits.h> -#ifndef NLS_ENVVAR_NAME -# define NLS_ENVVAR_NAME "NLSPATH" -#endif -#ifndef NLS_DEFAULT_NLSPATH -# define NLS_DEFAULT_NLSPATH "/usr/locale/" -#endif - -/* void* type for K&R compilers compatability */ +/* void* type for K&R compilers compatibility */ #define _VOID_PTR _PTR -/* Charset aliases file */ -#define ICONV_ALIASES_FNAME "charset.aliases" +/* Encodings aliases file */ +#define ICONV_ALIASES_FNAME "encoding.aliases" /* iconv CCS data path */ -#define ICONV_DATA_PATH NLS_DEFAULT_NLSPATH"iconv_data/" -/* iconv data files extention */ -#define ICONV_DATA_EXT ".cct" - -/* Unicode character data types and constants. */ -#define UCS_CHAR_ZERO_WIDTH_NBSP 0xFEFF -#define UCS_CHAR_INVALID 0xFFFE -#define UCS_CHAR_NONE 0xFFFF - -typedef __uint16_t ucs2_t; /* Unicode character [D5] */ -typedef __uint32_t ucs4_t; /* Unicode scalar character [D28] */ -#define ucs_t ucs4_t - -#define iconv_char32bit(ch) ((ch) & 0xFFFF0000) - -/* CCS file descriptor */ -typedef struct -{ - void *mem; - size_t len; -} _iconv_fd_t; - -char * -_EXFUN(_iconv_resolve_cs_name, (struct _reent *, _CONST char *, _CONST char *)); - -char * -_EXFUN(_iconv_resolve_alias, (struct _reent *, _CONST char *, _CONST char *, - int, _CONST char *)); - -int -_EXFUN(_iconv_load_file, (struct _reent *, _CONST char *, _iconv_fd_t *)); - -int -_EXFUN(_iconv_unload_file, (struct _reent *, _iconv_fd_t *)); - -/* Builtin CCS and CES data. */ -typedef struct { - _CONST char *key; - _CONST _VOID_PTR value; -} iconv_builtin_table_t; - -extern _CONST iconv_builtin_table_t _iconv_builtin_ccs[]; -extern _CONST iconv_builtin_table_t _iconv_builtin_ces[]; -extern _CONST char _iconv_builtin_aliases[]; - -/* Table-driven coded character set (CCS) definitions. */ -struct iconv_ccs; - -/* Basic CCS functions */ -typedef ucs2_t -_EXFUN(iconv_ccs_convert_t, (_CONST _VOID_PTR table, ucs2_t ch)); - -typedef int -_EXFUN(iconv_ccs_close_t, (struct _reent *rptr, struct iconv_ccs *desc)); - -/* CCS structure */ -struct iconv_ccs { - _CONST _VOID_PTR from_ucs; /* FROM table pointer */ - _CONST _VOID_PTR to_ucs; /* TO table pointer */ - iconv_ccs_convert_t *convert_from_ucs; /* converter */ - iconv_ccs_convert_t *convert_to_ucs; /* functions */ - iconv_ccs_close_t *close; /* close function */ - _VOID_PTR extra; /* optional extra data */ - unsigned int nbits; /* number of bits */ -}; - -/* CCS initialisation function */ -int -_EXFUN(_iconv_ccs_init, (struct _reent *rptr, struct iconv_ccs *ccs, - _CONST char *name)); - -/* CCS conversion macros */ -#define ICONV_CCS_CONVERT_FROM_UCS(ccs, ch) \ - ((ccs)->convert_from_ucs((ccs)->from_ucs, (ch))) -#define ICONV_CCS_CONVERT_TO_UCS(ccs, ch) \ - ((ccs)->convert_to_ucs((ccs)->to_ucs, (ch))) -#define ICONV_CCS_NBITS - -/* Module-driven character encoding scheme (CES) definitions */ -struct iconv_ces; - -/* Basic CES function types */ -typedef int -_EXFUN(iconv_ces_init_t, (struct _reent *, _VOID_PTR *, /* void** */ - _CONST char *, _CONST _VOID_PTR)); - -typedef int -_EXFUN(iconv_ces_close_t, (struct _reent *, _VOID_PTR)); - -typedef _VOID -_EXFUN(iconv_ces_reset_t, (_VOID_PTR)); - -typedef ssize_t -_EXFUN(iconv_ces_convert_from_ucs_t, (struct iconv_ces *data, ucs_t in, - unsigned char **outbuf, - size_t *outbytesleft)); - -typedef ucs_t -_EXFUN(iconv_ces_convert_to_ucs_t, (struct iconv_ces *data, - _CONST unsigned char **inbuf, - size_t *inbytesleft)); - -/* CES descriptor structure - CES class data */ -struct iconv_ces_desc { - iconv_ces_init_t *init; - iconv_ces_close_t *close; /* class-specific close function */ - iconv_ces_reset_t *reset; - iconv_ces_convert_from_ucs_t *convert_from_ucs; - iconv_ces_convert_to_ucs_t *convert_to_ucs; - _CONST _VOID_PTR data; /* optional specific CES class data */ -}; - -/* explicit CES class for table (CCS) driven charsets */ -extern _CONST struct iconv_ces_desc _iconv_ces_table_driven; - -/* CES structure - CES instance data */ -struct iconv_ces { - _CONST struct iconv_ces_desc *desc; /* descriptor/class pointer */ - iconv_ces_close_t *close; /* instance-specific close function */ - _VOID_PTR data; /* optional extra data */ - _VOID_PTR handle; /* optional handle */ -}; - -/* Basic CES functions and macros */ -extern int -_EXFUN(_iconv_ces_init, (struct _reent *rptr, struct iconv_ces *ces, - _CONST char *name)); - -#define ICONV_CES_CLOSE(rptr, ces) ((ces)->close(rptr, ces)) -#define ICONV_CES_RESET(ces) ((ces)->desc->reset((ces)->data)) -#define ICONV_CES_CONVERT_FROM_UCS(cesd, in, outbuf, outbytes) \ - ((cesd)->desc->convert_from_ucs((cesd), (in), (outbuf), (outbytes))) -#define ICONV_CES_CONVERT_TO_UCS(cesd, inbuf, inbytes) \ - ((cesd)->desc->convert_to_ucs((cesd), (inbuf), (inbytes))) - -/* Virtual CES initialisation function type */ -typedef int -_EXFUN(iconv_ces_init_int_t, (struct _reent *rptr, _VOID_PTR* /* void ** */, - _CONST _VOID_PTR, size_t)); - -/* CES subclass macros (for EUC and ISO-2022) */ -#define ICONV_CES_DRIVER_DECL(name) \ - iconv_ces_init_int_t _iconv_##name##_init; \ - iconv_ces_close_t _iconv_##name##_close; \ - iconv_ces_reset_t _iconv_##name##_reset; \ - iconv_ces_convert_from_ucs_t _iconv_##name##_convert_from_ucs; \ - iconv_ces_convert_to_ucs_t _iconv_##name##_convert_to_ucs; \ - -/* CES functions and macros for stateless encodings */ -iconv_ces_init_t _iconv_ces_init_null; -iconv_ces_close_t _iconv_ces_close_null; -iconv_ces_reset_t _iconv_ces_reset_null; - -#define ICONV_CES_STATELESS_MODULE_DECL(name) \ - _CONST struct iconv_ces_desc _iconv_ces_module_##name = { \ - _iconv_ces_init_null, \ - _iconv_ces_close_null, \ - _iconv_ces_reset_null, \ - convert_from_ucs, \ - convert_to_ucs, \ - NULL \ - } - -/* CES functions and macros for stateful (integer state) encodings */ -iconv_ces_init_t _iconv_ces_init_state; -iconv_ces_close_t _iconv_ces_close_state; -iconv_ces_reset_t _iconv_ces_reset_state; - -#define ICONV_CES_STATEFUL_MODULE_DECL(name) \ - _CONST struct iconv_ces_desc _iconv_ces_module_##name = { \ - _iconv_ces_init_state, \ - _iconv_ces_close_state, \ - _iconv_ces_reset_state, \ - convert_from_ucs, \ - convert_to_ucs, \ - NULL \ - } - -/* CES functions and macros for other encodings */ -#define ICONV_CES_MODULE_DECL(type, name) \ - static int \ - module_init(struct _reent *rptr, _VOID_PTR *data, /* void ** */ \ - _CONST char *cs_name, _CONST _VOID_PTR desc_data) \ - { \ - return _iconv_##type##_init(rptr, data, desc_data, \ - sizeof(ccsattr) / \ - sizeof(iconv_ces_##type##_ccs_t)); \ - } \ - \ - _CONST struct iconv_ces_desc _iconv_ces_module_##name = { \ - module_init, \ - _iconv_##type##_close, \ - _iconv_##type##_reset, \ - _iconv_##type##_convert_from_ucs, \ - _iconv_##type##_convert_to_ucs, \ - &ccsattr \ - } - -/* EUC character encoding schemes and functions */ -typedef struct { - _CONST char *name; - _CONST char *prefix; - size_t prefixlen; -} iconv_ces_euc_ccs_t; - -ICONV_CES_DRIVER_DECL(euc); -#define _iconv_euc_reset _iconv_ces_reset_null - -/* ISO-2022 character encoding schemes and functions. */ -enum {ICONV_SHIFT_SI = 0, ICONV_SHIFT_SO, ICONV_SHIFT_SS2, ICONV_SHIFT_SS3}; - -typedef struct { - _CONST char *name; - _CONST char *designator; - size_t designatorlen; - int shift; -} iconv_ces_iso2022_ccs_t; - -ICONV_CES_DRIVER_DECL(iso2022); - - -/* Converter structure and functions. */ -typedef size_t -_EXFUN(iconv_conv_t, (struct _reent *, _VOID_PTR, _CONST unsigned char **, - size_t *, unsigned char **, size_t *)); - -typedef int -_EXFUN(iconv_close_t, (struct _reent *rptr, _VOID_PTR)); +#define ICONV_SUBDIR "iconv_data" +/* iconv data files extension */ +#define ICONV_DATA_EXT ".cct" + +/* This macro is used to zero mbstate_t objects */ +#define ICONV_ZERO_MB_STATE_T ((mbstate_t){0, {0}}) + +/* Define the maximum multi-byte character length produced by iconv library */ +#if MB_LEN_MAX < 6 +# define ICONV_MB_LEN_MAX 6 +#else +# define ICONV_MB_LEN_MAX MB_LEN_MAX +#endif -/* Generic converter structure. */ -typedef struct { - iconv_conv_t *convert; - iconv_close_t *close; -}iconv_converter_t; +/* 16-bit UCS-2 type */ +typedef __uint16_t ucs2_t; -typedef struct { - struct iconv_ces from; - struct iconv_ces to; - ucs_t missing; -} unicode_converter_t; +/* 32-bit UCS-4 type */ +typedef __uint32_t ucs4_t; -/* Converter initialisers */ -iconv_converter_t * -_EXFUN(_iconv_unicode_conv_init, (struct _reent *rptr, _CONST char *to, - _CONST char *from)); -iconv_converter_t * -_EXFUN(_iconv_null_conv_init, (struct _reent *rptr, _CONST char *to, - _CONST char *from)); +/* The list of built-in encoding names and aliases */ +extern _CONST char * +_iconv_aliases; -#endif /* __LOCAL_H__ */ +#endif /* !__ICONV_LIB_LOCAL_H__ */ |