diff options
author | Florian Weimer <fweimer@redhat.com> | 2014-09-12 09:17:32 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2014-09-12 09:17:32 +0200 |
commit | ba7b4d294b01870ce3497971e9d07ee261cdc540 (patch) | |
tree | f68e63afa5218a87f37c98c45ce8d7f62ec81bb0 /iconv/gconv.h | |
parent | 5379aebddd0a35c052e7149fb4ff88b49676516e (diff) | |
download | glibc-ba7b4d294b01870ce3497971e9d07ee261cdc540.zip glibc-ba7b4d294b01870ce3497971e9d07ee261cdc540.tar.gz glibc-ba7b4d294b01870ce3497971e9d07ee261cdc540.tar.bz2 |
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.h | 48 |
1 files changed, 11 insertions, 37 deletions
diff --git a/iconv/gconv.h b/iconv/gconv.h index 108dccb..7d59bb0 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 */ |