| FreeTDS API
    | 
Information for a server connection. More...
#include <tds.h>
| 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] | 
| TDSCURSOR * | cur_cursor | 
| cursor in use | |
| TDSDYNAMIC * | cur_dyn | 
| dynamic structure in use | |
| TDS_OPERATION | current_op | 
| TDSRESULTINFO * | current_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 | 
| TDSRESULTINFO * | res_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 | 
Information for a server connection.
| 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.
| TDSPACKET* tds_socket::frozen_packets | 
list of packets frozen, points to first one.
send_packet is the last packet in the list.
| 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.
| TDSLOGIN* tds_socket::login | 
config for login stuff.
After login this field is NULL
| 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.
| 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).