summary refs log tree commit diff
path: root/iconv/gconv.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-04-04 07:25:25 +0000
committerUlrich Drepper <drepper@redhat.com>1998-04-04 07:25:25 +0000
commit0d9f67937f0c9329c35c2c0d15848ab8316dc520 (patch)
treeee2b01470306f95f731e268aab1c0712f9e9d50c /iconv/gconv.h
parente62c19f12cfc377ac9ce7c037713ead5dc6b57d9 (diff)
downloadglibc-0d9f67937f0c9329c35c2c0d15848ab8316dc520.tar.gz
glibc-0d9f67937f0c9329c35c2c0d15848ab8316dc520.tar.xz
glibc-0d9f67937f0c9329c35c2c0d15848ab8316dc520.zip
Update.
1998-04-03 23:17  Ulrich Drepper  <drepper@cygnus.com>

	* 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.
Diffstat (limited to 'iconv/gconv.h')
-rw-r--r--iconv/gconv.h18
1 files changed, 13 insertions, 5 deletions
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 <features.h>
+#include <wchar.h>
 #define __need_size_t
 #include <stddef.h>
 
@@ -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!  */
 };