<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.12"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>FreeTDS API: tds_socket Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">FreeTDS API </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.12 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); </script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-attribs">Public Attributes</a> | <a href="a01190.html">List of all members</a> </div> <div class="headertitle"> <div class="title">tds_socket Struct Reference</div> </div> </div><!--header--> <div class="contents"> <p>Information for a server connection. <a href="a01193.html#details">More...</a></p> <p><code>#include <<a class="el" href="a00434_source.html">tds.h</a>></code></p> <div class="dynheader"> Collaboration diagram for tds_socket:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a01191.svg" width="1662" height="604"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr class="memitem:a8c44578d269fafd7249f43593958b0be"><td class="memItemLeft" align="right" valign="top"><a id="a8c44578d269fafd7249f43593958b0be"></a> TDS_TINYINT </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a8c44578d269fafd7249f43593958b0be">bulk_query</a></td></tr> <tr class="memdesc:a8c44578d269fafd7249f43593958b0be"><td class="mdescLeft"> </td><td class="mdescRight">true is query sent was a bulk query so we need to switch state to QUERYING <br /></td></tr> <tr class="separator:a8c44578d269fafd7249f43593958b0be"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2a19fc20a3b7193fd25698eefbadd9e0"><td class="memItemLeft" align="right" valign="top"><a id="a2a19fc20a3b7193fd25698eefbadd9e0"></a> <a class="el" href="a01141.html">TDSCOMPUTEINFO</a> ** </td><td class="memItemRight" valign="bottom"><b>comp_info</b></td></tr> <tr class="separator:a2a19fc20a3b7193fd25698eefbadd9e0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afcb8f515d4cbc7d08f675e831330010a"><td class="memItemLeft" align="right" valign="top"><a id="afcb8f515d4cbc7d08f675e831330010a"></a> <a class="el" href="a01189.html">TDSCONNECTION</a> </td><td class="memItemRight" valign="bottom"><b>conn</b> [1]</td></tr> <tr class="separator:afcb8f515d4cbc7d08f675e831330010a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa708effeb88270302ab5524f0c0366ac"><td class="memItemLeft" align="right" valign="top"><a id="aa708effeb88270302ab5524f0c0366ac"></a> <a class="el" href="a00434.html#aad3739704ca49d8ebe445ca9b5e3b8b2">TDSCURSOR</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#aa708effeb88270302ab5524f0c0366ac">cur_cursor</a></td></tr> <tr class="memdesc:aa708effeb88270302ab5524f0c0366ac"><td class="mdescLeft"> </td><td class="mdescRight">cursor in use <br /></td></tr> <tr class="separator:aa708effeb88270302ab5524f0c0366ac"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afb404985164205ebdc9b0c18fabb47e2"><td class="memItemLeft" align="right" valign="top"><a id="afb404985164205ebdc9b0c18fabb47e2"></a> <a class="el" href="a00434.html#a4a7511ca7305098f5bb111aa9214810b">TDSDYNAMIC</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#afb404985164205ebdc9b0c18fabb47e2">cur_dyn</a></td></tr> <tr class="memdesc:afb404985164205ebdc9b0c18fabb47e2"><td class="mdescLeft"> </td><td class="mdescRight">dynamic structure in use <br /></td></tr> <tr class="separator:afb404985164205ebdc9b0c18fabb47e2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af9c89edaa55cd8235feae521af5cf4aa"><td class="memItemLeft" align="right" valign="top"><a id="af9c89edaa55cd8235feae521af5cf4aa"></a> TDS_OPERATION </td><td class="memItemRight" valign="bottom"><b>current_op</b></td></tr> <tr class="separator:af9c89edaa55cd8235feae521af5cf4aa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4b77fb56b92b93e413fcbb8ba5633ce4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00434.html#a22c989e4b40c76c0bfb64c6610f4a8b6">TDSRESULTINFO</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a4b77fb56b92b93e413fcbb8ba5633ce4">current_results</a></td></tr> <tr class="memdesc:a4b77fb56b92b93e413fcbb8ba5633ce4"><td class="mdescLeft"> </td><td class="mdescRight">Current query information. <a href="#a4b77fb56b92b93e413fcbb8ba5633ce4">More...</a><br /></td></tr> <tr class="separator:a4b77fb56b92b93e413fcbb8ba5633ce4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3b4c67a49ca09f74827b263f7d926d5c"><td class="memItemLeft" align="right" valign="top"><a id="a3b4c67a49ca09f74827b263f7d926d5c"></a> void(* </td><td class="memItemRight" valign="bottom"><b>env_chg_func</b> )(<a class="el" href="a01193.html">TDSSOCKET</a> *tds, int type, char *oldval, char *newval)</td></tr> <tr class="separator:a3b4c67a49ca09f74827b263f7d926d5c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a75ab58b901d242ae27e36bd39b23a54f"><td class="memItemLeft" align="right" valign="top"><a id="a75ab58b901d242ae27e36bd39b23a54f"></a> TDS_TINYINT </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a75ab58b901d242ae27e36bd39b23a54f">has_status</a></td></tr> <tr class="memdesc:a75ab58b901d242ae27e36bd39b23a54f"><td class="mdescLeft"> </td><td class="mdescRight">true is ret_status is valid <br /></td></tr> <tr class="separator:a75ab58b901d242ae27e36bd39b23a54f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a24c1995f6e8d0f9a5990998524b00b6b"><td class="memItemLeft" align="right" valign="top">unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a24c1995f6e8d0f9a5990998524b00b6b">in_buf</a></td></tr> <tr class="memdesc:a24c1995f6e8d0f9a5990998524b00b6b"><td class="mdescLeft"> </td><td class="mdescRight">Input buffer. <a href="#a24c1995f6e8d0f9a5990998524b00b6b">More...</a><br /></td></tr> <tr class="separator:a24c1995f6e8d0f9a5990998524b00b6b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae67d850cfbedf6b1e6b02111d4388d42"><td class="memItemLeft" align="right" valign="top">volatile unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#ae67d850cfbedf6b1e6b02111d4388d42">in_cancel</a></td></tr> <tr class="memdesc:ae67d850cfbedf6b1e6b02111d4388d42"><td class="mdescLeft"> </td><td class="mdescRight">indicate we are waiting a cancel reply; discard tokens till acknowledge; 1 mean we have to send cancel packet, 2 already sent. <a href="#ae67d850cfbedf6b1e6b02111d4388d42">More...</a><br /></td></tr> <tr class="separator:ae67d850cfbedf6b1e6b02111d4388d42"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a765e007b69a2e188c989f05a689f6a11"><td class="memItemLeft" align="right" valign="top"><a id="a765e007b69a2e188c989f05a689f6a11"></a> unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a765e007b69a2e188c989f05a689f6a11">in_flag</a></td></tr> <tr class="memdesc:a765e007b69a2e188c989f05a689f6a11"><td class="mdescLeft"> </td><td class="mdescRight">input buffer type <br /></td></tr> <tr class="separator:a765e007b69a2e188c989f05a689f6a11"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0b6e65b9d00b3a4efbf78b2d866cca20"><td class="memItemLeft" align="right" valign="top"><a id="a0b6e65b9d00b3a4efbf78b2d866cca20"></a> unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a0b6e65b9d00b3a4efbf78b2d866cca20">in_len</a></td></tr> <tr class="memdesc:a0b6e65b9d00b3a4efbf78b2d866cca20"><td class="mdescLeft"> </td><td class="mdescRight">input buffer length <br /></td></tr> <tr class="separator:a0b6e65b9d00b3a4efbf78b2d866cca20"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9d1b4fc8e1e801fdc703ee7bb68d9838"><td class="memItemLeft" align="right" valign="top"><a id="a9d1b4fc8e1e801fdc703ee7bb68d9838"></a> unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a9d1b4fc8e1e801fdc703ee7bb68d9838">in_pos</a></td></tr> <tr class="memdesc:a9d1b4fc8e1e801fdc703ee7bb68d9838"><td class="mdescLeft"> </td><td class="mdescRight">current position in in_buf <br /></td></tr> <tr class="separator:a9d1b4fc8e1e801fdc703ee7bb68d9838"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab6a91be7f3b9966216e621c60e8151f2"><td class="memItemLeft" align="right" valign="top"><a id="ab6a91be7f3b9966216e621c60e8151f2"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#ab6a91be7f3b9966216e621c60e8151f2">in_row</a></td></tr> <tr class="memdesc:ab6a91be7f3b9966216e621c60e8151f2"><td class="mdescLeft"> </td><td class="mdescRight">true if we are getting rows <br /></td></tr> <tr class="separator:ab6a91be7f3b9966216e621c60e8151f2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a00c22eeebbdb781ab7b9d5e8403e451e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01101.html">TDSLOGIN</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a00c22eeebbdb781ab7b9d5e8403e451e">login</a></td></tr> <tr class="memdesc:a00c22eeebbdb781ab7b9d5e8403e451e"><td class="mdescLeft"> </td><td class="mdescRight">config for login stuff. <a href="#a00c22eeebbdb781ab7b9d5e8403e451e">More...</a><br /></td></tr> <tr class="separator:a00c22eeebbdb781ab7b9d5e8403e451e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adfc4e4ec51bab5b53a4d8a23fdc06d1f"><td class="memItemLeft" align="right" valign="top"><a id="adfc4e4ec51bab5b53a4d8a23fdc06d1f"></a> TDS_UINT </td><td class="memItemRight" valign="bottom"><b>num_comp_info</b></td></tr> <tr class="separator:adfc4e4ec51bab5b53a4d8a23fdc06d1f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac40723f809630cb4d8a942ed6d756ed3"><td class="memItemLeft" align="right" valign="top"><a id="ac40723f809630cb4d8a942ed6d756ed3"></a> int </td><td class="memItemRight" valign="bottom"><b>option_value</b></td></tr> <tr class="separator:ac40723f809630cb4d8a942ed6d756ed3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad6b5121e435d22d640a645b98833cb9d"><td class="memItemLeft" align="right" valign="top">unsigned char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#ad6b5121e435d22d640a645b98833cb9d">out_buf</a></td></tr> <tr class="memdesc:ad6b5121e435d22d640a645b98833cb9d"><td class="mdescLeft"> </td><td class="mdescRight">Output buffer. <a href="#ad6b5121e435d22d640a645b98833cb9d">More...</a><br /></td></tr> <tr class="separator:ad6b5121e435d22d640a645b98833cb9d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae6fc66be718f3211fac3b835557e330e"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#ae6fc66be718f3211fac3b835557e330e">out_buf_max</a></td></tr> <tr class="memdesc:ae6fc66be718f3211fac3b835557e330e"><td class="mdescLeft"> </td><td class="mdescRight">Maximum size of packet pointed by out_buf. <a href="#ae6fc66be718f3211fac3b835557e330e">More...</a><br /></td></tr> <tr class="separator:ae6fc66be718f3211fac3b835557e330e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9bb663ee7c71f56f1602cbfcd993018c"><td class="memItemLeft" align="right" valign="top"><a id="a9bb663ee7c71f56f1602cbfcd993018c"></a> unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a9bb663ee7c71f56f1602cbfcd993018c">out_flag</a></td></tr> <tr class="memdesc:a9bb663ee7c71f56f1602cbfcd993018c"><td class="mdescLeft"> </td><td class="mdescRight">output buffer type <br /></td></tr> <tr class="separator:a9bb663ee7c71f56f1602cbfcd993018c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a426adbd80f29f477377e42e8f78d3ff0"><td class="memItemLeft" align="right" valign="top"><a id="a426adbd80f29f477377e42e8f78d3ff0"></a> unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a426adbd80f29f477377e42e8f78d3ff0">out_pos</a></td></tr> <tr class="memdesc:a426adbd80f29f477377e42e8f78d3ff0"><td class="mdescLeft"> </td><td class="mdescRight">current position in out_buf <br /></td></tr> <tr class="separator:a426adbd80f29f477377e42e8f78d3ff0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab8c2056530a6671f135ce9319b0c31d8"><td class="memItemLeft" align="right" valign="top"><a id="ab8c2056530a6671f135ce9319b0c31d8"></a> <a class="el" href="a01141.html">TDSPARAMINFO</a> * </td><td class="memItemRight" valign="bottom"><b>param_info</b></td></tr> <tr class="separator:ab8c2056530a6671f135ce9319b0c31d8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a048e875522643b5581e4b7ca1110c97c"><td class="memItemLeft" align="right" valign="top"><a id="a048e875522643b5581e4b7ca1110c97c"></a> void * </td><td class="memItemRight" valign="bottom"><b>parent</b></td></tr> <tr class="separator:a048e875522643b5581e4b7ca1110c97c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae86c58446d815aa23ec77e5099475025"><td class="memItemLeft" align="right" valign="top"><a id="ae86c58446d815aa23ec77e5099475025"></a> TDS_INT </td><td class="memItemRight" valign="bottom"><b>query_timeout</b></td></tr> <tr class="separator:ae86c58446d815aa23ec77e5099475025"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa3f099d2c5d8acdc7e901d1467781f6c"><td class="memItemLeft" align="right" valign="top"><a id="aa3f099d2c5d8acdc7e901d1467781f6c"></a> <a class="el" href="a01181.html">TDSPACKET</a> * </td><td class="memItemRight" valign="bottom"><b>recv_packet</b></td></tr> <tr class="separator:aa3f099d2c5d8acdc7e901d1467781f6c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e5757047e5b82e3b4c615f9d65c83ff"><td class="memItemLeft" align="right" valign="top"><a id="a7e5757047e5b82e3b4c615f9d65c83ff"></a> <a class="el" href="a00434.html#a22c989e4b40c76c0bfb64c6610f4a8b6">TDSRESULTINFO</a> * </td><td class="memItemRight" valign="bottom"><b>res_info</b></td></tr> <tr class="separator:a7e5757047e5b82e3b4c615f9d65c83ff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a355e0b8c6219908747f82cd7482c6efb"><td class="memItemLeft" align="right" valign="top"><a id="a355e0b8c6219908747f82cd7482c6efb"></a> TDS_INT </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a355e0b8c6219908747f82cd7482c6efb">ret_status</a></td></tr> <tr class="memdesc:a355e0b8c6219908747f82cd7482c6efb"><td class="mdescLeft"> </td><td class="mdescRight">return status from store procedure <br /></td></tr> <tr class="separator:a355e0b8c6219908747f82cd7482c6efb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a803e29dabc76d35227f5de2488f29877"><td class="memItemLeft" align="right" valign="top"><a id="a803e29dabc76d35227f5de2488f29877"></a> TDS_INT8 </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a803e29dabc76d35227f5de2488f29877">rows_affected</a></td></tr> <tr class="memdesc:a803e29dabc76d35227f5de2488f29877"><td class="mdescLeft"> </td><td class="mdescRight">rows updated/deleted/inserted/selected, TDS_NO_COUNT if not valid <br /></td></tr> <tr class="separator:a803e29dabc76d35227f5de2488f29877"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1c7c38af79f5845b90f19aaf5f63ce18"><td class="memItemLeft" align="right" valign="top"><a id="a1c7c38af79f5845b90f19aaf5f63ce18"></a> <a class="el" href="a01181.html">TDSPACKET</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01193.html#a1c7c38af79f5845b90f19aaf5f63ce18">send_packet</a></td></tr> <tr class="memdesc:a1c7c38af79f5845b90f19aaf5f63ce18"><td class="mdescLeft"> </td><td class="mdescRight">packet we are preparing to send <br /></td></tr> <tr class="separator:a1c7c38af79f5845b90f19aaf5f63ce18"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaaa3e8fe4b18605ffca0ca6d7b444fa0"><td class="memItemLeft" align="right" valign="top"><a id="aaaa3e8fe4b18605ffca0ca6d7b444fa0"></a> <a class="el" href="a00434.html#a58f34a3a686a968357537c7486521b51">TDS_STATE</a> </td><td class="memItemRight" valign="bottom"><b>state</b></td></tr> <tr class="separator:aaaa3e8fe4b18605ffca0ca6d7b444fa0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7b741ccd81d59f136081bd209a7cf7f0"><td class="memItemLeft" align="right" valign="top"><a id="a7b741ccd81d59f136081bd209a7cf7f0"></a> tds_mutex </td><td class="memItemRight" valign="bottom"><b>wire_mtx</b></td></tr> <tr class="separator:a7b741ccd81d59f136081bd209a7cf7f0"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Information for a server connection. </p> </div><h2 class="groupheader">Member Data Documentation</h2> <a id="a4b77fb56b92b93e413fcbb8ba5633ce4"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4b77fb56b92b93e413fcbb8ba5633ce4">§ </a></span>current_results</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00434.html#a22c989e4b40c76c0bfb64c6610f4a8b6">TDSRESULTINFO</a>* tds_socket::current_results</td> </tr> </table> </div><div class="memdoc"> <p>Current query information. </p> <p>Contains information in process, both normal and compute results. This pointer shouldn't be freed; it's just an alias to another structure. </p> </div> </div> <a id="a24c1995f6e8d0f9a5990998524b00b6b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a24c1995f6e8d0f9a5990998524b00b6b">§ </a></span>in_buf</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char* tds_socket::in_buf</td> </tr> </table> </div><div class="memdoc"> <p>Input buffer. </p> <p>Points to receiving packet buffer. As input buffer contains just the raw packet actually this pointer is the address of recv_packet->buf. </p> </div> </div> <a id="ae67d850cfbedf6b1e6b02111d4388d42"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae67d850cfbedf6b1e6b02111d4388d42">§ </a></span>in_cancel</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">volatile unsigned char tds_socket::in_cancel</td> </tr> </table> </div><div class="memdoc"> <p>indicate we are waiting a cancel reply; discard tokens till acknowledge; 1 mean we have to send cancel packet, 2 already sent. </p> </div> </div> <a id="a00c22eeebbdb781ab7b9d5e8403e451e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a00c22eeebbdb781ab7b9d5e8403e451e">§ </a></span>login</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a01101.html">TDSLOGIN</a>* tds_socket::login</td> </tr> </table> </div><div class="memdoc"> <p>config for login stuff. </p> <p>After login this field is NULL </p> </div> </div> <a id="ad6b5121e435d22d640a645b98833cb9d"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad6b5121e435d22d640a645b98833cb9d">§ </a></span>out_buf</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char* tds_socket::out_buf</td> </tr> </table> </div><div class="memdoc"> <p>Output buffer. </p> <p>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. </p> </div> </div> <a id="ae6fc66be718f3211fac3b835557e330e"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae6fc66be718f3211fac3b835557e330e">§ </a></span>out_buf_max</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int tds_socket::out_buf_max</td> </tr> </table> </div><div class="memdoc"> <p>Maximum size of packet pointed by out_buf. </p> <p>The buffer is actually a bit larger to make possible to do some optimizations (at least TDS_ADDITIONAL_SPACE bytes). </p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li>include/freetds/<a class="el" href="a00434_source.html">tds.h</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.12 </small></address> </body> </html>