about summary refs log tree commit diff
path: root/iconv/gconv.h
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2014-09-12 09:17:32 +0200
committerFlorian Weimer <fweimer@redhat.com>2014-09-12 09:17:32 +0200
commitba7b4d294b01870ce3497971e9d07ee261cdc540 (patch)
treef68e63afa5218a87f37c98c45ce8d7f62ec81bb0 /iconv/gconv.h
parent5379aebddd0a35c052e7149fb4ff88b49676516e (diff)
downloadglibc-ba7b4d294b01870ce3497971e9d07ee261cdc540.tar.gz
glibc-ba7b4d294b01870ce3497971e9d07ee261cdc540.tar.xz
glibc-ba7b4d294b01870ce3497971e9d07ee261cdc540.zip
Complete the removal of __gconv_translit_find
Prior to the 2.20 release, the function was just changed to fail
unconditionally, in commit a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8.
This commit removes the function completely, including gconv bits
which depend on it.

This changes the gconv ABI, which is not a public interface.
Diffstat (limited to 'iconv/gconv.h')
-rw-r--r--iconv/gconv.h48
1 files changed, 11 insertions, 37 deletions
diff --git a/iconv/gconv.h b/iconv/gconv.h
index 108dccbb46..7d59bb06c7 100644
--- a/iconv/gconv.h
+++ b/iconv/gconv.h
@@ -56,7 +56,8 @@ enum
 {
   __GCONV_IS_LAST = 0x0001,
   __GCONV_IGNORE_ERRORS = 0x0002,
-  __GCONV_SWAP = 0x0004
+  __GCONV_SWAP = 0x0004,
+  __GCONV_TRANSLIT = 0x0008
 };
 
 
@@ -64,7 +65,6 @@ enum
 struct __gconv_step;
 struct __gconv_step_data;
 struct __gconv_loaded_object;
-struct __gconv_trans_data;
 
 
 /* Type of a conversion function.  */
@@ -80,38 +80,6 @@ typedef int (*__gconv_init_fct) (struct __gconv_step *);
 typedef void (*__gconv_end_fct) (struct __gconv_step *);
 
 
-/* Type of a transliteration/transscription function.  */
-typedef int (*__gconv_trans_fct) (struct __gconv_step *,
-				  struct __gconv_step_data *, void *,
-				  const unsigned char *,
-				  const unsigned char **,
-				  const unsigned char *, unsigned char **,
-				  size_t *);
-
-/* Function to call to provide transliteration module with context.  */
-typedef int (*__gconv_trans_context_fct) (void *, const unsigned char *,
-					  const unsigned char *,
-					  unsigned char *, unsigned char *);
-
-/* Function to query module about supported encoded character sets.  */
-typedef int (*__gconv_trans_query_fct) (const char *, const char ***,
-					size_t *);
-
-/* Constructor and destructor for local data for transliteration.  */
-typedef int (*__gconv_trans_init_fct) (void **, const char *);
-typedef void (*__gconv_trans_end_fct) (void *);
-
-struct __gconv_trans_data
-{
-  /* Transliteration/Transscription function.  */
-  __gconv_trans_fct __trans_fct;
-  __gconv_trans_context_fct __trans_context_fct;
-  __gconv_trans_end_fct __trans_end_fct;
-  void *__data;
-  struct __gconv_trans_data *__next;
-};
-
-
 /* Description of a conversion step.  */
 struct __gconv_step
 {
@@ -163,9 +131,6 @@ struct __gconv_step_data
   __mbstate_t *__statep;
   __mbstate_t __state;	/* This element must not be used directly by
 			   any module; always use STATEP!  */
-
-  /* Transliteration information.  */
-  struct __gconv_trans_data *__trans;
 };
 
 
@@ -177,4 +142,13 @@ typedef struct __gconv_info
   __extension__ struct __gconv_step_data __data __flexarr;
 } *__gconv_t;
 
+/* Transliteration using the locale's data.  */
+extern int __gconv_transliterate (struct __gconv_step *step,
+				  struct __gconv_step_data *step_data,
+				  const unsigned char *inbufstart,
+				  const unsigned char **inbufp,
+				  const unsigned char *inbufend,
+				  unsigned char **outbufstart,
+				  size_t *irreversible);
+
 #endif /* gconv.h */