<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>FreeTDS API: tds_socket Struct Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.1 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>tds_socket Struct Reference</h1>Hold information for a server connection. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="a00311.html">tds.h</a>></code> <p> <a href="a00112.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o0" doxytag="tds_socket::authentication"></a> TDSAUTHENTICATION * </td><td class="memItemRight" valign="bottom"><b>authentication</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o1" doxytag="tds_socket::broken_dates"></a> unsigned char </td><td class="memItemRight" valign="bottom"><b>broken_dates</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o2" doxytag="tds_socket::capabilities"></a> unsigned char </td><td class="memItemRight" valign="bottom"><b>capabilities</b> [TDS_MAX_CAPABILITY]</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o3" doxytag="tds_socket::char_conv_count"></a> int </td><td class="memItemRight" valign="bottom"><b>char_conv_count</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o4" doxytag="tds_socket::char_convs"></a> TDSICONV ** </td><td class="memItemRight" valign="bottom"><b>char_convs</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o5" doxytag="tds_socket::collation"></a> TDS_UCHAR </td><td class="memItemRight" valign="bottom"><b>collation</b> [5]</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o6" doxytag="tds_socket::comp_info"></a> <a class="el" href="a00143.html">TDSCOMPUTEINFO</a> ** </td><td class="memItemRight" valign="bottom"><b>comp_info</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">TDSCONNECTION * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o7">connection</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">config for login stuff. <a href="#o7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o8" doxytag="tds_socket::cur_cursor"></a> <a class="el" href="a00135.html">TDSCURSOR</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o8">cur_cursor</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">cursor in use <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o9" doxytag="tds_socket::cur_dyn"></a> <a class="el" href="a00141.html">TDSDYNAMIC</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o9">cur_dyn</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">dynamic structure in use <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00143.html">TDSRESULTINFO</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o10">current_results</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">info about current query. <a href="#o10"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o11" doxytag="tds_socket::cursors"></a> <a class="el" href="a00135.html">TDSCURSOR</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o11">cursors</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">linked list of cursors allocated for this connection <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o12" doxytag="tds_socket::date_fmt"></a> char * </td><td class="memItemRight" valign="bottom"><b>date_fmt</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o13" doxytag="tds_socket::dyns"></a> <a class="el" href="a00141.html">TDSDYNAMIC</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o13">dyns</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">list of dynamic allocate for this connection <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o14" doxytag="tds_socket::emul_little_endian"></a> int </td><td class="memItemRight" valign="bottom"><b>emul_little_endian</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o15" doxytag="tds_socket::env"></a> <a class="el" href="a00142.html">TDSENV</a> </td><td class="memItemRight" valign="bottom"><b>env</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o16" doxytag="tds_socket::env_chg_func"></a> void(* </td><td class="memItemRight" valign="bottom"><b>env_chg_func</b> )(<a class="el" href="a00144.html">TDSSOCKET</a> *tds, int type, char *oldval, char *newval)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o17" doxytag="tds_socket::has_status"></a> TDS_TINYINT </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o17">has_status</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">true is ret_status is valid <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o18" doxytag="tds_socket::in_buf"></a> unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o18">in_buf</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">input buffer <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o19" doxytag="tds_socket::in_buf_max"></a> unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o19">in_buf_max</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">allocated input buffer <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o20" doxytag="tds_socket::in_cancel"></a> volatile unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o20">in_cancel</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">indicate we are waiting a cancel reply so discard tokens till acknowledge <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o21" doxytag="tds_socket::in_flag"></a> unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o21">in_flag</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">input buffer type <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o22" doxytag="tds_socket::in_len"></a> unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o22">in_len</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">input buffer length <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o23" doxytag="tds_socket::in_pos"></a> unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o23">in_pos</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">current position in in_buf <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o24" doxytag="tds_socket::internal_sp_called"></a> int </td><td class="memItemRight" valign="bottom"><b>internal_sp_called</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o25" doxytag="tds_socket::last_packet"></a> unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o25">last_packet</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">true if current input buffer is the last one <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o26" doxytag="tds_socket::major_version"></a> TDS_SMALLINT </td><td class="memItemRight" valign="bottom"><b>major_version</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o27" doxytag="tds_socket::minor_version"></a> TDS_SMALLINT </td><td class="memItemRight" valign="bottom"><b>minor_version</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o28" doxytag="tds_socket::num_comp_info"></a> TDS_INT </td><td class="memItemRight" valign="bottom"><b>num_comp_info</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o29" doxytag="tds_socket::option_flag2"></a> unsigned char </td><td class="memItemRight" valign="bottom"><b>option_flag2</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o30" doxytag="tds_socket::option_value"></a> int </td><td class="memItemRight" valign="bottom"><b>option_value</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o31" doxytag="tds_socket::out_buf"></a> unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o31">out_buf</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">output buffer <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o32" doxytag="tds_socket::out_flag"></a> unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o32">out_flag</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">output buffer type <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o33" doxytag="tds_socket::out_pos"></a> unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o33">out_pos</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">current position in out_buf <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o34" doxytag="tds_socket::param_info"></a> <a class="el" href="a00143.html">TDSPARAMINFO</a> * </td><td class="memItemRight" valign="bottom"><b>param_info</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o35" doxytag="tds_socket::parent"></a> void * </td><td class="memItemRight" valign="bottom"><b>parent</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o36" doxytag="tds_socket::product_name"></a> char * </td><td class="memItemRight" valign="bottom"><b>product_name</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o37" doxytag="tds_socket::product_version"></a> TDS_UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o37">product_version</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">version of product (Sybase/MS and full version) <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o38" doxytag="tds_socket::query_timeout"></a> TDS_INT </td><td class="memItemRight" valign="bottom"><b>query_timeout</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o39" doxytag="tds_socket::res_info"></a> <a class="el" href="a00143.html">TDSRESULTINFO</a> * </td><td class="memItemRight" valign="bottom"><b>res_info</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o40" doxytag="tds_socket::ret_status"></a> TDS_INT </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o40">ret_status</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return status from store procedure <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o41" doxytag="tds_socket::rows_affected"></a> TDS_INT8 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o41">rows_affected</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">rows updated/deleted/inserted/selected, TDS_NO_COUNT if not valid <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o42" doxytag="tds_socket::s"></a> TDS_SYS_SOCKET </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#o42">s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">tcp socket, INVALID_SOCKET if not connected <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o43" doxytag="tds_socket::spid"></a> int </td><td class="memItemRight" valign="bottom"><b>spid</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o44" doxytag="tds_socket::state"></a> <a class="el" href="a00163.html#a305">TDS_STATE</a> </td><td class="memItemRight" valign="bottom"><b>state</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o45" doxytag="tds_socket::tds9_transaction"></a> TDS_UCHAR </td><td class="memItemRight" valign="bottom"><b>tds9_transaction</b> [8]</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o46" doxytag="tds_socket::tds_ctx"></a> const TDSCONTEXT * </td><td class="memItemRight" valign="bottom"><b>tds_ctx</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o47" doxytag="tds_socket::tls_credentials"></a> void * </td><td class="memItemRight" valign="bottom"><b>tls_credentials</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="o48" doxytag="tds_socket::tls_session"></a> void * </td><td class="memItemRight" valign="bottom"><b>tls_session</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Hold information for a server connection. <p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="o7" doxytag="tds_socket::connection"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">TDSCONNECTION* <a class="el" href="a00144.html#o7">tds_socket::connection</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> config for login stuff. <p> After login this field is NULL </td> </tr> </table> <a class="anchor" name="o10" doxytag="tds_socket::current_results"></a><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="a00143.html">TDSRESULTINFO</a>* <a class="el" href="a00144.html#o10">tds_socket::current_results</a> </td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> info about current query. <p> Contains information in process, both normal and compute results. This pointer shouldn't be freed; it's just an alias to another structure. </td> </tr> </table> <hr>The documentation for this struct was generated from the following file:<ul> <li>/usr/local/users/home/jklowden/projects/releases/freetds/0.82/include/<a class="el" href="a00311.html">tds.h</a></ul> <hr size="1"><address style="align: right;"><small>Generated on Wed May 7 19:22:10 2008 for FreeTDS API by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address> </body> </html>