35 static const uint16_t cp1252_0080_00a0[] = {
70 TDS_COMPILE_CHECK(cp1252size,
sizeof(cp1252_0080_00a0) == 0x20*
sizeof(uint16_t));
DSTR user_name
account for login
Definition: tds.h:529
static const char * tds_set_iconv_name(int charset)
Get iconv name given canonic.
Definition: iconv.c:197
int tds_iconv_alloc(TDSCONNECTION *conn)
Allocate iconv stuff.
Definition: iconv.c:266
DSTR server_charset
charset of server e.g.
Definition: tds.h:518
static size_t skip_one_input_sequence(iconv_t cd, const TDS_ENCODING *charset, const char **input, size_t *input_size)
Move the input sequence pointer to the next valid position.
Definition: iconv.c:824
void tdsdump_log(const char *file, unsigned int level_line, const char *fmt,...)
Write a message to the debug log.
Definition: log.c:354
TDSCURSOR * cur_cursor
cursor in use
Definition: tds.h:1199
TDSRET tds_flush_packet(TDSSOCKET *tds)
Flush packet to server.
Definition: write.c:285
TDSRET tds_process_simple_query(TDSSOCKET *tds)
Process results for simple query as "SET TEXTSIZE" or "USE dbname" If the statement returns results,...
Definition: token.c:876
@ TDS_PENDING
cilent is waiting for data
Definition: tds.h:794
unsigned char canonic
internal numeric index into array of all encodings
Definition: tds.h:619
TDS_STATE tds_set_state(TDSSOCKET *tds, TDS_STATE state)
Set state of TDS connection, with logging and checking.
Definition: util.c:58
unsigned in_len
input buffer length
Definition: tds.h:1170
static int tds_dstr_isempty(const DSTR *s)
test if string is empty
Definition: string.h:60
size_t tds_iconv(TDSSOCKET *tds, TDSICONV *conv, TDS_ICONV_DIRECTION io, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)
Wrapper around iconv(3).
Definition: iconv.c:551
static 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:716
Definition: replacements.h:88
TDSENV env
environment is shared between all sessions
Definition: tds.h:1080
@ TDS_DEAD
no connection
Definition: tds.h:796
@ TDS_READING
client is reading data
Definition: tds.h:795
DSTR server_name
server name (in freetds.conf)
Definition: tds.h:513
int block_size
packet size (512-65535)
Definition: tds.h:966
static const char * tds_dstr_cstr(const DSTR *s)
Returns a C version (NUL terminated string) of dstr.
Definition: string.h:78
unsigned char in_flag
input buffer type
Definition: tds.h:1171
enum tds_states TDS_STATE
values for tds->state
TDSRET tds_send_cancel(TDSSOCKET *tds)
tds_send_cancel() sends an empty packet (8 byte header only) tds_process_cancel should be called dire...
Definition: query.c:2123
char * tds_strndup(const void *s, TDS_INTPTR len)
Copy a string of length len to a new allocated buffer This function does not read more than len bytes...
Definition: util.c:394
Information relevant to libiconv.
Definition: tds.h:612
int tds_read_packet(TDSSOCKET *tds)
Read in one 'packet' from the server.
Definition: packet.c:531
static int tds_iconv_init(void)
Initialize charset searching for UTF-8, UCS-2 and ISO8859-1.
Definition: iconv.c:80
TDS_INT8 rows_affected
rows updated/deleted/inserted/selected, TDS_NO_COUNT if not valid
Definition: tds.h:1209
dlist_users waiters
users in wait state
Definition: pool.h:128
@ TDS_IDLE
no data expected
Definition: tds.h:791
@ TDS_SENDING
client would send data
Definition: tds.h:793
unsigned in_pos
current position in in_buf
Definition: tds.h:1168
const char * tds_canonical_charset_name(const char *charset_name)
Determine canonical iconv character set name.
Definition: iconv.c:958
static int tds_iconv_info_init(TDSICONV *char_conv, int client_canonic, int server_canonic)
Open iconv descriptors to convert between character sets (both directions).
Definition: iconv.c:403
static int tds_canonical_charset(const char *charset_name)
Determine canonical iconv character set.
Definition: iconv.c:939
iconv_t tds_sys_iconv_open(const char *tocode, const char *fromcode)
Inputs are FreeTDS canonical names, no other.
Definition: iconv.c:344
TDSICONV * tds_iconv_from_collate(TDSCONNECTION *conn, TDS_UCHAR collate[5])
Get iconv information from a LCID (to support different column encoding under MSSQL2K)
Definition: iconv.c:1210
unsigned char * in_buf
Input buffer.
Definition: tds.h:1154
TDS_UINT product_version
version of product (Sybase/MS and full version)
Definition: tds.h:1072
unsigned char out_flag
output buffer type
Definition: tds.h:1172
@ TDS_WRITING
client is writing data
Definition: tds.h:792
int tdserror(const TDSCONTEXT *tds_ctx, TDSSOCKET *tds, int msgno, int errnum)
Call the client library's error handler (for library-generated errors only)
Definition: util.c:307
int tds_socket_set_nonblocking(TDS_SYS_SOCKET sock)
Set socket to non-blocking.
Definition: net.c:168
DSTR password
password of account login
Definition: tds.h:530
Information for a server connection.
Definition: tds.h:1141
char * charset
character set encoding
Definition: tds.h:969
const char * name
name of the encoding (ie UTF-8)
Definition: tds.h:615
size_t tds_quote_id(TDSSOCKET *tds, char *buffer, const char *id, int idlen)
Quote an id.
Definition: query.c:2266
void tdsdump_dump_buf(const char *file, unsigned int level_line, const char *msg, const void *buf, size_t length)
Dump the contents of data into the log file in a human readable format.
Definition: log.c:256
TDSRET tds_submit_query(TDSSOCKET *tds, const char *query)
Sends a language string to the database server for processing.
Definition: query.c:207