FreeTDS API
Loading...
Searching...
No Matches
Public Attributes | List of all members
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
 
TDSPACKETfrozen_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
 
TDSLOGINlogin
 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
 
TDSPARAMINFOparam_info
 
void * parent
 
TDS_INT query_timeout
 
TDSPACKETrecv_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
 
TDSPACKETsend_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: