#ifndef WIN32
#include <iconv.h>
#else
#ifndef DONE_ZI
#define DONE_ZI TRUE
#include <iconv.h>

struct ZICONV {iconv_t cd;};
typedef struct ZICONV *ziconv_t;
size_t ziconv (ziconv_t cd, const char* * inbuf, size_t * inbytesleft, char* * outbuf, size_t * outbytesleft);
ziconv_t ziconv_open (const char* tocode, const char* fromcode, char *file, int line);
int ziconv_close (ziconv_t cd);
#ifndef ISZI

#ifdef iconv_t
#undef iconv_t
#endif

#ifdef iconv
#undef iconv
#endif

#ifdef iconv_open
#undef iconv_open
#endif

#ifdef iconv_close
#undef iconv_close
#endif

#define iconv_t ziconv_t
#define iconv ziconv
#define iconv_open(a,b) ziconv_open(a,b,__FILE__,__LINE__)
#define iconv_close ziconv_close
#endif

#endif
#endif
