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]
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

## 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:

- include/freetds/tds.h