FreeTDS API
Loading...
Searching...
No Matches
tds_socket Struct Reference

Information for a server connection. More...

#include <tds.h>

Collaboration diagram for tds_socket:
[legend]

Public Attributes

bool bulk_query
 true is query sent was a bulk query so we need to switch state to QUERYING
TDSCOMPUTEINFO ** comp_info
TDSCONNECTION conn [1]
TDSCURSORcur_cursor
 cursor in use
TDSDYNAMICcur_dyn
 dynamic structure in use
TDS_OPERATION current_op
TDSRESULTINFOcurrent_results
 Current query information.
void(* env_chg_func )(TDSSOCKET *tds, int type, char *oldval, char *newval)
unsigned frozen
TDSPACKET * frozen_packets
 list of packets frozen, points to first one.
bool has_status
 true is ret_status is valid
unsigned char * in_buf
 Input buffer.
volatile unsigned char in_cancel
 indicate we are waiting a cancel reply; discard tokens till acknowledge; 1 mean we have to send cancel packet, 2 already sent.
unsigned char in_flag
 input buffer type
unsigned in_len
 input buffer length
unsigned in_pos
 current position in in_buf
bool in_row
 true if we are getting rows
TDSLOGIN * login
 config for login stuff.
TDS_UINT num_comp_info
int option_value
unsigned char * out_buf
 Output buffer.
unsigned int out_buf_max
 Maximum size of packet pointed by out_buf.
unsigned char out_flag
 output buffer type
unsigned out_pos
 current position in out_buf
TDSPARAMINFO * param_info
void * parent
TDS_INT query_timeout
TDSPACKET * recv_packet
TDSRESULTINFOres_info
TDS_INT ret_status
 return status from store procedure
TDS_INT8 rows_affected
 rows updated/deleted/inserted/selected, TDS_NO_COUNT if not valid
TDSPACKET * send_packet
 packet we are preparing to send
TDS_STATE state
tds_mutex wire_mtx

Detailed Description

Information for a server connection.

Member Data Documentation

◆ current_results

TDSRESULTINFO* tds_socket::current_results

Current query information.

Contains information in process, both normal and compute results. This pointer shouldn't be freed; it's just an alias to another structure.

◆ frozen_packets

TDSPACKET* tds_socket::frozen_packets

list of packets frozen, points to first one.

send_packet is the last packet in the list.

◆ in_buf

unsigned char* tds_socket::in_buf

Input buffer.

Points to receiving packet buffer. As input buffer contains just the raw packet actually this pointer is the address of recv_packet->buf.

◆ login

TDSLOGIN* tds_socket::login

config for login stuff.

After login this field is NULL

◆ out_buf

unsigned char* tds_socket::out_buf

Output buffer.

Points to sending packet buffer. Output buffer can contain additional data before the raw TDS packet so this buffer can point some bytes after send_packet->buf. Specifically this will point to send_packet->buf + send_packet->data_start.

◆ out_buf_max

unsigned int tds_socket::out_buf_max

Maximum size of packet pointed by out_buf.

The buffer is actually a bit larger to make possible to do some optimizations (at least TDS_ADDITIONAL_SPACE bytes).


The documentation for this struct was generated from the following file: