20#ifndef _tdsguard_c6YssGkHHqKMDRUMOWVASl_
21#define _tdsguard_c6YssGkHHqKMDRUMOWVASl_
26#if defined(_LIBICONV_H) && defined(WINICONV_CONST)
57#include <freetds/pushvis.h>
66size_t tds_sys_iconv(iconv_t cd,
const char **inbuf,
size_t * inbytesleft,
char **outbuf,
size_t * outbytesleft);
67int tds_sys_iconv_close(iconv_t cd);
69#define tds_sys_iconv_open iconv_open
70#define tds_sys_iconv iconv
71#define tds_sys_iconv_close iconv_close
76{ to_server, to_client } TDS_ICONV_DIRECTION;
86 unsigned int eilseq:1;
87 unsigned int einval:1;
101#define TDS_ENCODING_MEMCPY 1
118# define ICONV_CONST const
122 const char **inbuf,
size_t * inbytesleft,
char **outbuf,
size_t * outbytesleft);
125TDSICONV *tds_iconv_get(
TDSCONNECTION * conn,
const char *client_charset,
const char *server_charset);
132#include <freetds/popvis.h>
TDSICONV * tds_iconv_get_info(TDSCONNECTION *conn, int canonic_client, int canonic_server)
Get a iconv info structure, allocate and initialize if needed.
Definition iconv.c:762
const char * tds_canonical_charset_name(const char *charset_name)
Determine canonical iconv character set name.
Definition iconv.c:986
size_t tds_iconv(TDSSOCKET *tds, TDSICONV *char_conv, TDS_ICONV_DIRECTION io, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)
Wrapper around iconv(3).
Definition iconv.c:593
iconv_t tds_sys_iconv_open(const char *tocode, const char *fromcode)
Inputs are FreeTDS canonical names, no other.
Definition iconv.c:345
int tds_canonical_charset(const char *charset_name)
Determine canonical iconv character set.
Definition iconv.c:974
Information relevant to libiconv.
Definition tds.h:603
Information for a server connection.
Definition tds.h:1163