iconv_t
extern iconv_t iconv_open(const char* tocode, const char* fromcode);
extern size_t iconv(iconv_t cd, char* * inbuf, size_t *inbytesleft,
extern int iconv_close(iconv_t cd);
extern int iconvctl(iconv_t cd, int request, void* argument);
iconv_t descriptor = iconv_open(to, from);
if (descriptor == (iconv_t)(-1))
iconv_t* descriptor = (iconv_t*)handle;
iconv_t iso8859_1to = iconv_open(to,"ISO-8859-1");
if (iso8859_1to != (iconv_t)-1) {
int iconvctl(iconv_t icd, int request, void* argument);
discard_invalid_input_character(iconv_t* conversion, char** inputBuffer,
iconv_t conversion = iconv_open(to, from);
if (conversion == (iconv_t)-1) {
iconv_t iconv_open (const char* tocode, const char* fromcode)
return (iconv_t)(-1);
return (iconv_t)cd;
return (iconv_t)(-1);
size_t iconv (iconv_t icd,
int iconv_close (iconv_t icd)
int iconvctl (iconv_t icd, int request, void* argument)
size_t (*loop_convert) (iconv_t icd,
size_t (*loop_reset) (iconv_t icd,
static size_t unicode_loop_convert (iconv_t icd,
static size_t unicode_loop_reset (iconv_t icd,
static size_t wchar_from_loop_convert (iconv_t icd,
static size_t wchar_from_loop_reset (iconv_t icd,
static size_t wchar_to_loop_convert (iconv_t icd,
static size_t wchar_to_loop_reset (iconv_t icd,
static size_t wchar_id_loop_convert (iconv_t icd,
static size_t wchar_id_loop_reset (iconv_t icd,
if (cc->__cd_in != (iconv_t) -1)
if (cc->__cd_in == (iconv_t) -1 || cc->__cd_out == (iconv_t) -1)
if (cc->__cd_in != (iconv_t) -1)