(__GCONV_IS_LAST, __GCONV_IGNORE_ERRORS): Define.
[kopensolaris-gnu/glibc.git] / iconv / gconv.h
index f4a66c6..1821844 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -50,6 +50,14 @@ enum
 };
 
 
+/* Flags the `__gconv_open' function can set.  */
+enum
+{
+  __GCONV_IS_LAST = 0x0001,
+  __GCONV_IGNORE_ERRORS = 0x0002
+};
+
+
 /* Forward declarations.  */
 struct __gconv_step;
 struct __gconv_step_data;
@@ -57,14 +65,13 @@ struct __gconv_loaded_object;
 
 
 /* Type of a conversion function.  */
-typedef int (*__gconv_fct) __PMT ((struct __gconv_step *,
-                                  struct __gconv_step_data *,
-                                  __const unsigned char **,
-                                  __const unsigned char *, size_t *, int));
+typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
+                           __const unsigned char **, __const unsigned char *,
+                           size_t *, int, int);
 
 /* Constructor and destructor for local data for conversion step.  */
-typedef int (*__gconv_init_fct) __PMT ((struct __gconv_step *));
-typedef void (*__gconv_end_fct) __PMT ((struct __gconv_step *));
+typedef int (*__gconv_init_fct) (struct __gconv_step *);
+typedef void (*__gconv_end_fct) (struct __gconv_step *);
 
 
 /* Description of a conversion step.  */
@@ -101,10 +108,10 @@ struct __gconv_step_data
 {
   unsigned char *__outbuf;    /* Output buffer for this step.  */
   unsigned char *__outbufend; /* Address of first byte after the output
-                                buffer.*/
+                                buffer.  */
 
   /* Is this the last module in the chain.  */
-  int __is_last;
+  int __flags;
 
   /* Counter for number of invocations of the module function for this
      descriptor.  */
@@ -115,7 +122,7 @@ struct __gconv_step_data
   int __internal_use;
 
   __mbstate_t *__statep;
-  __mbstate_t __state; /* This element should not be used directly by
+  __mbstate_t __state; /* This element must not be used directly by
                           any module; always use STATEP!  */
 };
 
@@ -125,7 +132,7 @@ typedef struct __gconv_info
 {
   size_t __nsteps;
   struct __gconv_step *__steps;
-  struct __gconv_step_data __data[0];
+  __extension__ struct __gconv_step_data __data[0];
 } *__gconv_t;
 
 #endif /* gconv.h */