From 0d9f67937f0c9329c35c2c0d15848ab8316dc520 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 4 Apr 1998 07:25:25 +0000 Subject: Update. 1998-04-03 23:17 Ulrich Drepper * iconv/gconv.c: Rewrite of the low-level of gconv. * iconv/gconv.h: Likewise. * iconv/gconv_builtin.h: Likewise. * iconv/gconv_close.c: Likewise. * iconv/gconv_db.: Likewise. * iconv/gconv_dl.c: Likewise. * iconv/gconv_int.h: Likewise. * iconv/gconv_open.c: Likewise. * iconv/gconv_simple.c: Likewise. * iconvdata/8bit-gap.c: Adapt for rewrite. * iconvdata/8bit-generic.c: Likewise. * iconvdata/euckr.c: Likewise. * iconvdata/iso646.c: Likewise. * iconvdata/iso6937.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t61.c: Likewise. * iconvdata/uhc.c: Likewise. --- iconv/gconv.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'iconv/gconv.h') diff --git a/iconv/gconv.h b/iconv/gconv.h index 76a719785e..f3f80f4c14 100644 --- a/iconv/gconv.h +++ b/iconv/gconv.h @@ -24,6 +24,7 @@ #define _GCONV_H 1 #include +#include #define __need_size_t #include @@ -51,6 +52,7 @@ enum /* Forward declarations. */ struct gconv_step; struct gconv_step_data; +struct gconv_loaded_object; /* Type of a conversion function. */ @@ -59,15 +61,17 @@ typedef int (*gconv_fct) __P ((struct gconv_step *, __const char *, size_t *, size_t *, int)); /* Constructor and destructor for local data for conversion step. */ -typedef int (*gconv_init_fct) __P ((struct gconv_step *, - struct gconv_step_data *)); -typedef void (*gconv_end_fct) __P ((struct gconv_step_data *)); +typedef int (*gconv_init_fct) __P ((struct gconv_step *)); +typedef void (*gconv_end_fct) __P ((struct gconv_step *)); /* Description of a conversion step. */ struct gconv_step { - void *shlib_handle; + struct gconv_loaded_object *shlib_handle; + const char *modname; + + int counter; __const char *from_name; __const char *to_name; @@ -75,6 +79,8 @@ struct gconv_step gconv_fct fct; gconv_init_fct init_fct; gconv_end_fct end_fct; + + void *data; /* Pointer to step-local data. */ }; /* Additional data for steps in use of conversion descriptor. This is @@ -87,7 +93,9 @@ struct gconv_step_data int is_last; - void *data; /* Pointer to step-local data. */ + mbstate_t *statep; + mbstate_t __state; /* This element should not be used directly by + any module; always use STATEP! */ }; -- cgit v1.2.3