Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > ce0cb4aec597dde3226843045ded906f > files > 213

freetds-doc-0.91-1.fc14.x86_64.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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"/>
<title>FreeTDS API: Results processing</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Results processing<br/>
<small>
[<a class="el" href="a00305.html">LibTDS API</a>]</small>
</h1>
<p>Handle tokens in packets.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html">namelist</a></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4969a643a6479bd22f20ff9d0195b97b"></a><!-- doxytag: member="token::tds5_process_dyn_result2" ref="ga4969a643a6479bd22f20ff9d0195b97b" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga4969a643a6479bd22f20ff9d0195b97b">tds5_process_dyn_result2</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">New TDS 5.0 token for describing output parameters. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0657fc4642e0192f6173690fcf332092"></a><!-- doxytag: member="token::tds5_process_optioncmd" ref="ga0657fc4642e0192f6173690fcf332092" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds5_process_optioncmd</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga1f57db9c106b9f83de2b315bbd85490e">tds5_process_result</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#ga1f57db9c106b9f83de2b315bbd85490e" title="tds5_process_result() is the new TDS 5.0 result set processing routine.">tds5_process_result()</a> is the new TDS 5.0 result set processing routine.  <a href="#ga1f57db9c106b9f83de2b315bbd85490e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga725036cf489cec592c6520c8970b2862">tds7_get_data_info</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, <a class="el" href="a00092.html">TDSCOLUMN</a> *curcol)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read data information from wire.  <a href="#ga725036cf489cec592c6520c8970b2862"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf3f3a8e4c19c21b5f0bd859355f42b32"></a><!-- doxytag: member="token::tds7_get_variant" ref="gaf3f3a8e4c19c21b5f0bd859355f42b32" args="(TDSSOCKET *tds, TDSCOLUMN *curcol)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds7_get_variant</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, <a class="el" href="a00092.html">TDSCOLUMN</a> *curcol)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga25a263c2380852a0cc3778019ee9394e">tds7_process_compute_result</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#ga25a263c2380852a0cc3778019ee9394e" title="tds7_process_compute_result() processes compute result sets for TDS 7/8.">tds7_process_compute_result()</a> processes compute result sets for TDS 7/8.  <a href="#ga25a263c2380852a0cc3778019ee9394e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga840577abf76ba70bef5366faa5d1628a">tds7_process_result</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#ga840577abf76ba70bef5366faa5d1628a" title="tds7_process_result() is the TDS 7.0 result set processing routine.">tds7_process_result()</a> is the TDS 7.0 result set processing routine.  <a href="#ga840577abf76ba70bef5366faa5d1628a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga76b6d6b25aec7741b0dba178e981151b"></a><!-- doxytag: member="token::tds8_read_table_names" ref="ga76b6d6b25aec7741b0dba178e981151b" args="(TDSSOCKET *tds, int remainder, struct namelist **p_head)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds8_read_table_names</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, int remainder, struct <a class="el" href="a00074.html">namelist</a> **p_head)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf2097ec0504340a0b43bee72e1d027cf"></a><!-- doxytag: member="token::tds9_get_varmax" ref="gaf2097ec0504340a0b43bee72e1d027cf" args="(TDSSOCKET *tds, TDSCOLUMN *curcol)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds9_get_varmax</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, <a class="el" href="a00092.html">TDSCOLUMN</a> *curcol)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga65dd8718ec11eb8a5b5c045fcec87fd9">tds_alloc_get_string</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, char **string, int len)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a string from wire in a new allocated buffer.  <a href="#ga65dd8718ec11eb8a5b5c045fcec87fd9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga21e9de33de9c8c492aa2f96c823596bb"></a><!-- doxytag: member="token::tds_free_namelist" ref="ga21e9de33de9c8c492aa2f96c823596bb" args="(struct namelist *head)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_namelist</b> (struct <a class="el" href="a00074.html">namelist</a> *head)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga61b6fcb02532bb9ce09bb71005220965">tds_get_data</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, <a class="el" href="a00092.html">TDSCOLUMN</a> *curcol)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a data from wire.  <a href="#ga61b6fcb02532bb9ce09bb71005220965"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#gaeeed36ee07559582c3cd18e04c3abe19">tds_get_data_info</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, <a class="el" href="a00092.html">TDSCOLUMN</a> *curcol, int is_param)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read data information from wire.  <a href="#gaeeed36ee07559582c3cd18e04c3abe19"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga995b82e53aeac5bede01ef16e9aeaa65"></a><!-- doxytag: member="token::tds_get_token_size" ref="ga995b82e53aeac5bede01ef16e9aeaa65" args="(int marker)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga995b82e53aeac5bede01ef16e9aeaa65">tds_get_token_size</a> (int marker)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#ga995b82e53aeac5bede01ef16e9aeaa65" title="tds_get_token_size() returns the size of a fixed length token used by tds_process_cancel()...">tds_get_token_size()</a> returns the size of a fixed length token used by <a class="el" href="a00304.html#ga72c312610135deb3ffd3355b5564bf72">tds_process_cancel()</a> to determine how to read past a token <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00101.html">TDSDYNAMIC</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga6c0a61982dc123b9f817c99f8d5c051c">tds_lookup_dynamic</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, const char *id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find a dynamic given string id.  <a href="#ga6c0a61982dc123b9f817c99f8d5c051c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga62dc14d21453e88e24880ee0acaca73a"></a><!-- doxytag: member="token::tds_pr_op" ref="ga62dc14d21453e88e24880ee0acaca73a" args="(int op)" -->
static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_pr_op</b> (int op)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga704eae411d68d8ec85875b104d6c2984"></a><!-- doxytag: member="token::tds_process_auth" ref="ga704eae411d68d8ec85875b104d6c2984" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_process_auth</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga72c312610135deb3ffd3355b5564bf72">tds_process_cancel</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga2370da101e6b70bff594ef8beb3cc79a">tds_process_col_fmt</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#ga2370da101e6b70bff594ef8beb3cc79a" title="tds_process_col_fmt() is the other half of result set processing under TDS 4.2.">tds_process_col_fmt()</a> is the other half of result set processing under TDS 4.2.  <a href="#ga2370da101e6b70bff594ef8beb3cc79a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga387e54f0efb6bbe3611c85f3002f5b47"></a><!-- doxytag: member="token::tds_process_col_name" ref="ga387e54f0efb6bbe3611c85f3002f5b47" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga387e54f0efb6bbe3611c85f3002f5b47">tds_process_col_name</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#ga387e54f0efb6bbe3611c85f3002f5b47" title="tds_process_col_name() is one half of the result set under TDS 4.2 it contains all...">tds_process_col_name()</a> is one half of the result set under TDS 4.2 it contains all the column names, a TDS_COLFMT_TOKEN should immediately follow this token with the datatype/size information This is a 4.2 only function <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae88b439f30d5b9a0f67a033c0c605123"></a><!-- doxytag: member="token::tds_process_colinfo" ref="gae88b439f30d5b9a0f67a033c0c605123" args="(TDSSOCKET *tds, char **names, int num_names)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_process_colinfo</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, char **names, int num_names)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1c736b4a54376bd22c77b44d107e92e1"></a><!-- doxytag: member="token::tds_process_compute" ref="ga1c736b4a54376bd22c77b44d107e92e1" args="(TDSSOCKET *tds, TDS_INT *pcomputeid)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga1c736b4a54376bd22c77b44d107e92e1">tds_process_compute</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, TDS_INT *pcomputeid)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#ga1c736b4a54376bd22c77b44d107e92e1" title="tds_process_compute() processes compute rows and places them in the row buffer.">tds_process_compute()</a> processes compute rows and places them in the row buffer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab1fb02e3340f0a086c26e16a4dbb065e"></a><!-- doxytag: member="token::tds_process_compute_names" ref="gab1fb02e3340f0a086c26e16a4dbb065e" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#gab1fb02e3340f0a086c26e16a4dbb065e">tds_process_compute_names</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#gab1fb02e3340f0a086c26e16a4dbb065e" title="tds_process_compute_names() processes compute result sets.">tds_process_compute_names()</a> processes compute result sets. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#gadc508a2b978fca74a7794ceb2443fd91">tds_process_compute_result</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#gadc508a2b978fca74a7794ceb2443fd91" title="tds_process_compute_result() processes compute result sets.">tds_process_compute_result()</a> processes compute result sets.  <a href="#gadc508a2b978fca74a7794ceb2443fd91"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga47b4219a299c15d80af6e1c42cda3a9e"></a><!-- doxytag: member="token::tds_process_cursor_tokens" ref="ga47b4219a299c15d80af6e1c42cda3a9e" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_process_cursor_tokens</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadf19e3e28a926c69e9fd6fb4ac5d47a6"></a><!-- doxytag: member="token::tds_process_default_tokens" ref="gadf19e3e28a926c69e9fd6fb4ac5d47a6" args="(TDSSOCKET *tds, int marker)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#gadf19e3e28a926c69e9fd6fb4ac5d47a6">tds_process_default_tokens</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, int marker)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#gadf19e3e28a926c69e9fd6fb4ac5d47a6" title="tds_process_default_tokens() is a catch all function that is called to process tokens...">tds_process_default_tokens()</a> is a catch all function that is called to process tokens not known to other tds_process_* routines <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabe46444d37a930c26c76782768c3b2a5"></a><!-- doxytag: member="token::tds_process_dyn_result" ref="gabe46444d37a930c26c76782768c3b2a5" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_process_dyn_result</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5cfc0340d8d717e67f60037e029b2142"></a><!-- doxytag: member="token::tds_process_dynamic" ref="ga5cfc0340d8d717e67f60037e029b2142" args="(TDSSOCKET *tds)" -->
static <a class="el" href="a00101.html">TDSDYNAMIC</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga5cfc0340d8d717e67f60037e029b2142">tds_process_dynamic</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#ga5cfc0340d8d717e67f60037e029b2142" title="tds_process_dynamic() finds the element of the dyns array for the id">tds_process_dynamic()</a> finds the element of the dyns array for the id <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#gafc8589aeb82b9e8f1b0de62ed23fd269">tds_process_end</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, int marker, int *flags_parm)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#gafc8589aeb82b9e8f1b0de62ed23fd269" title="tds_process_end() processes any of the DONE, DONEPROC, or DONEINPROC tokens.">tds_process_end()</a> processes any of the DONE, DONEPROC, or DONEINPROC tokens.  <a href="#gafc8589aeb82b9e8f1b0de62ed23fd269"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga64817b8ef0ed7f1ac199fc1f2e23955b">tds_process_env_chg</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#ga64817b8ef0ed7f1ac199fc1f2e23955b" title="tds_process_env_chg() when ever certain things change on the server, such as database...">tds_process_env_chg()</a> when ever certain things change on the server, such as database, character set, language, or block size.  <a href="#ga64817b8ef0ed7f1ac199fc1f2e23955b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#gac5822f65c45d60fc403103d8241e968d">tds_process_login_tokens</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#gac5822f65c45d60fc403103d8241e968d" title="tds_process_login_tokens() is called after sending the login packet to the server...">tds_process_login_tokens()</a> is called after sending the login packet to the server.  <a href="#gac5822f65c45d60fc403103d8241e968d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae5173dee5de4acb12fafc8632631df07"></a><!-- doxytag: member="token::tds_process_msg" ref="gae5173dee5de4acb12fafc8632631df07" args="(TDSSOCKET *tds, int marker)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#gae5173dee5de4acb12fafc8632631df07">tds_process_msg</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, int marker)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#gae5173dee5de4acb12fafc8632631df07" title="tds_process_msg() is called for MSG, ERR, or EED tokens and is responsible for calling...">tds_process_msg()</a> is called for MSG, ERR, or EED tokens and is responsible for calling the CLI's message handling routine returns TDS_SUCCEED if informational, TDS_FAIL if error. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#gaeb0cbf8325ebcfc931b39a548af599d8">tds_process_param_result</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, <a class="el" href="a00118.html">TDSPARAMINFO</a> **pinfo)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">process output parameters of a stored procedure.  <a href="#gaeb0cbf8325ebcfc931b39a548af599d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9204800dd66bc77eaaf875c5e2e9f77d"></a><!-- doxytag: member="token::tds_process_param_result_tokens" ref="ga9204800dd66bc77eaaf875c5e2e9f77d" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_process_param_result_tokens</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga14bb97548986d15cafb32a343739855f"></a><!-- doxytag: member="token::tds_process_params_result_token" ref="ga14bb97548986d15cafb32a343739855f" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga14bb97548986d15cafb32a343739855f">tds_process_params_result_token</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#ga14bb97548986d15cafb32a343739855f" title="tds_process_params_result_token() processes params on TDS5.">tds_process_params_result_token()</a> processes params on TDS5. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#gaac39b12a565804494665d46a6a147824">tds_process_result</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#gaac39b12a565804494665d46a6a147824" title="tds_process_result() is the TDS 5.0 result set processing routine.">tds_process_result()</a> is the TDS 5.0 result set processing routine.  <a href="#gaac39b12a565804494665d46a6a147824"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabf35d3c6731625cdb9f22b25b8dea0e3"></a><!-- doxytag: member="token::tds_process_row" ref="gabf35d3c6731625cdb9f22b25b8dea0e3" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#gabf35d3c6731625cdb9f22b25b8dea0e3">tds_process_row</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00304.html#gabf35d3c6731625cdb9f22b25b8dea0e3" title="tds_process_row() processes rows and places them in the row buffer.">tds_process_row()</a> processes rows and places them in the row buffer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga47118d65c41124d2e8e0a72b7680270f">tds_process_simple_query</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process results for simple query as "SET TEXTSIZE" or "USE dbname" If the statement returns results, beware they are discarded.  <a href="#ga47118d65c41124d2e8e0a72b7680270f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga677921c275a493d20f37ac1f03e946dd"></a><!-- doxytag: member="token::tds_process_tabname" ref="ga677921c275a493d20f37ac1f03e946dd" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_process_tabname</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ga121792195f5fd8c07a0a5f2f5ae61d8c">tds_process_tokens</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, TDS_INT *result_type, int *done_flags, unsigned flag)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">process all streams.  <a href="#ga121792195f5fd8c07a0a5f2f5ae61d8c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeeeb7d59a4fefb3d9e53fa15e47935bf"></a><!-- doxytag: member="token::tds_prtype" ref="gaeeeb7d59a4fefb3d9e53fa15e47935bf" args="(int token)" -->
const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_prtype</b> (int token)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeaaed2ea1d8c827da1a0f5b419524ae1"></a><!-- doxytag: member="token::tds_read_namelist" ref="gaeaaed2ea1d8c827da1a0f5b419524ae1" args="(TDSSOCKET *tds, int remainder, struct namelist **p_head, int large)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_read_namelist</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, int remainder, struct <a class="el" href="a00074.html">namelist</a> **p_head, int large)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaac3e533d6ef756c6646eee37fa8df822"></a><!-- doxytag: member="token::tds_set_spid" ref="gaac3e533d6ef756c6646eee37fa8df822" args="(TDSSOCKET *tds)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_set_spid</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga26d620aed52224548f3773b0eab4e440"></a><!-- doxytag: member="token::tds_swap_numeric" ref="ga26d620aed52224548f3773b0eab4e440" args="(TDS_NUMERIC *num)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_swap_numeric</b> (<a class="el" href="a00133.html">TDS_NUMERIC</a> *num)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Handle tokens in packets. </p>
<p>Many PDU (packets data unit) contain tokens. (like result description, rows, data, errors and many other). </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga1f57db9c106b9f83de2b315bbd85490e"></a><!-- doxytag: member="token.c::tds5_process_result" ref="ga1f57db9c106b9f83de2b315bbd85490e" args="(TDSSOCKET *tds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds5_process_result </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="a00304.html#ga1f57db9c106b9f83de2b315bbd85490e" title="tds5_process_result() is the new TDS 5.0 result set processing routine.">tds5_process_result()</a> is the new TDS 5.0 result set processing routine. </p>
<p>It is responsible for populating the tds-&gt;res_info structure. This is a TDS 5.0 only function </p>

</div>
</div>
<a class="anchor" id="ga725036cf489cec592c6520c8970b2862"></a><!-- doxytag: member="token.c::tds7_get_data_info" ref="ga725036cf489cec592c6520c8970b2862" args="(TDSSOCKET *tds, TDSCOLUMN *curcol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds7_get_data_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00092.html">TDSCOLUMN</a> *&nbsp;</td>
          <td class="paramname"> <em>curcol</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read data information from wire. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tds</em>&nbsp;</td><td>state information for the socket and the TDS protocol </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>curcol</em>&nbsp;</td><td>column where to store information </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga25a263c2380852a0cc3778019ee9394e"></a><!-- doxytag: member="token.c::tds7_process_compute_result" ref="ga25a263c2380852a0cc3778019ee9394e" args="(TDSSOCKET *tds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds7_process_compute_result </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="a00304.html#ga25a263c2380852a0cc3778019ee9394e" title="tds7_process_compute_result() processes compute result sets for TDS 7/8.">tds7_process_compute_result()</a> processes compute result sets for TDS 7/8. </p>
<p>They is are very similar to normal result sets. </p>

</div>
</div>
<a class="anchor" id="ga840577abf76ba70bef5366faa5d1628a"></a><!-- doxytag: member="token.c::tds7_process_result" ref="ga840577abf76ba70bef5366faa5d1628a" args="(TDSSOCKET *tds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds7_process_result </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="a00304.html#ga840577abf76ba70bef5366faa5d1628a" title="tds7_process_result() is the TDS 7.0 result set processing routine.">tds7_process_result()</a> is the TDS 7.0 result set processing routine. </p>
<p>It is responsible for populating the tds-&gt;res_info structure. This is a TDS 7.0 only function </p>

</div>
</div>
<a class="anchor" id="ga65dd8718ec11eb8a5b5c045fcec87fd9"></a><!-- doxytag: member="token.c::tds_alloc_get_string" ref="ga65dd8718ec11eb8a5b5c045fcec87fd9" args="(TDSSOCKET *tds, char **string, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_alloc_get_string </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>string</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a string from wire in a new allocated buffer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tds</em>&nbsp;</td><td>state information for the socket and the TDS protocol </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>length of string to read </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga61b6fcb02532bb9ce09bb71005220965"></a><!-- doxytag: member="token.c::tds_get_data" ref="ga61b6fcb02532bb9ce09bb71005220965" args="(TDSSOCKET *tds, TDSCOLUMN *curcol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_get_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00092.html">TDSCOLUMN</a> *&nbsp;</td>
          <td class="paramname"> <em>curcol</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a data from wire. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tds</em>&nbsp;</td><td>state information for the socket and the TDS protocol </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>curcol</em>&nbsp;</td><td>column where store column information </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TDS_FAIL on error or TDS_SUCCEED </dd></dl>

</div>
</div>
<a class="anchor" id="gaeeed36ee07559582c3cd18e04c3abe19"></a><!-- doxytag: member="token.c::tds_get_data_info" ref="gaeeed36ee07559582c3cd18e04c3abe19" args="(TDSSOCKET *tds, TDSCOLUMN *curcol, int is_param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_get_data_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00092.html">TDSCOLUMN</a> *&nbsp;</td>
          <td class="paramname"> <em>curcol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>is_param</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read data information from wire. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tds</em>&nbsp;</td><td>state information for the socket and the TDS protocol </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>curcol</em>&nbsp;</td><td>column where to store information </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6c0a61982dc123b9f817c99f8d5c051c"></a><!-- doxytag: member="token.c::tds_lookup_dynamic" ref="ga6c0a61982dc123b9f817c99f8d5c051c" args="(TDSSOCKET *tds, const char *id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00101.html">TDSDYNAMIC</a>* tds_lookup_dynamic </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Find a dynamic given string id. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>dynamic or NULL is not found </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tds</em>&nbsp;</td><td>state information for the socket and the TDS protocol </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>dynamic id to search </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga72c312610135deb3ffd3355b5564bf72"></a><!-- doxytag: member="token.c::tds_process_cancel" ref="ga72c312610135deb3ffd3355b5564bf72" args="(TDSSOCKET *tds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tds_process_cancel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="remark"><dt><b>Remarks:</b></dt><dd>Process the incoming token stream until it finds an end token (DONE, DONEPROC, DONEINPROC) with the cancel flag set. At that point the connection should be ready to handle a new query. </dd></dl>

</div>
</div>
<a class="anchor" id="ga2370da101e6b70bff594ef8beb3cc79a"></a><!-- doxytag: member="token.c::tds_process_col_fmt" ref="ga2370da101e6b70bff594ef8beb3cc79a" args="(TDSSOCKET *tds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_process_col_fmt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="a00304.html#ga2370da101e6b70bff594ef8beb3cc79a" title="tds_process_col_fmt() is the other half of result set processing under TDS 4.2.">tds_process_col_fmt()</a> is the other half of result set processing under TDS 4.2. </p>
<p>It follows <a class="el" href="a00304.html#ga387e54f0efb6bbe3611c85f3002f5b47" title="tds_process_col_name() is one half of the result set under TDS 4.2 it contains all...">tds_process_col_name()</a>. It contains all the column type and size information. This is a 4.2 only function </p>

</div>
</div>
<a class="anchor" id="gadc508a2b978fca74a7794ceb2443fd91"></a><!-- doxytag: member="token.c::tds_process_compute_result" ref="gadc508a2b978fca74a7794ceb2443fd91" args="(TDSSOCKET *tds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_process_compute_result </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="a00304.html#gadc508a2b978fca74a7794ceb2443fd91" title="tds_process_compute_result() processes compute result sets.">tds_process_compute_result()</a> processes compute result sets. </p>
<p>These functions need work but since they get little use, nobody has complained! It is very similar to normal result sets. </p>

</div>
</div>
<a class="anchor" id="gafc8589aeb82b9e8f1b0de62ed23fd269"></a><!-- doxytag: member="token.c::tds_process_end" ref="gafc8589aeb82b9e8f1b0de62ed23fd269" args="(TDSSOCKET *tds, int marker, int *flags_parm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_process_end </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>marker</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>flags_parm</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="a00304.html#gafc8589aeb82b9e8f1b0de62ed23fd269" title="tds_process_end() processes any of the DONE, DONEPROC, or DONEINPROC tokens.">tds_process_end()</a> processes any of the DONE, DONEPROC, or DONEINPROC tokens. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tds</em>&nbsp;</td><td>state information for the socket and the TDS protocol </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>marker</em>&nbsp;</td><td>TDS token number </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags_parm</em>&nbsp;</td><td>filled with bit flags (see TDS_DONE_ constants). Is NULL nothing is returned </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga64817b8ef0ed7f1ac199fc1f2e23955b"></a><!-- doxytag: member="token.c::tds_process_env_chg" ref="ga64817b8ef0ed7f1ac199fc1f2e23955b" args="(TDSSOCKET *tds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_process_env_chg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="a00304.html#ga64817b8ef0ed7f1ac199fc1f2e23955b" title="tds_process_env_chg() when ever certain things change on the server, such as database...">tds_process_env_chg()</a> when ever certain things change on the server, such as database, character set, language, or block size. </p>
<p>A environment change message is generated There is no action taken currently, but certain functions at the CLI level that return the name of the current database will need to use this. </p>

</div>
</div>
<a class="anchor" id="gac5822f65c45d60fc403103d8241e968d"></a><!-- doxytag: member="token.c::tds_process_login_tokens" ref="gac5822f65c45d60fc403103d8241e968d" args="(TDSSOCKET *tds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tds_process_login_tokens </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="a00304.html#gac5822f65c45d60fc403103d8241e968d" title="tds_process_login_tokens() is called after sending the login packet to the server...">tds_process_login_tokens()</a> is called after sending the login packet to the server. </p>
<p>It returns the success or failure of the login dependent on the protocol version. 4.2 sends an ACK token only when successful, TDS 5.0 sends it always with a success byte within </p>

</div>
</div>
<a class="anchor" id="gaeb0cbf8325ebcfc931b39a548af599d8"></a><!-- doxytag: member="token.c::tds_process_param_result" ref="gaeb0cbf8325ebcfc931b39a548af599d8" args="(TDSSOCKET *tds, TDSPARAMINFO **pinfo)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_process_param_result </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00118.html">TDSPARAMINFO</a> **&nbsp;</td>
          <td class="paramname"> <em>pinfo</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>process output parameters of a stored procedure. </p>
<p>This differs from regular row/compute results in that there is no total number of parameters given, they just show up singly. </p>

</div>
</div>
<a class="anchor" id="gaac39b12a565804494665d46a6a147824"></a><!-- doxytag: member="token.c::tds_process_result" ref="gaac39b12a565804494665d46a6a147824" args="(TDSSOCKET *tds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_process_result </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="a00304.html#gaac39b12a565804494665d46a6a147824" title="tds_process_result() is the TDS 5.0 result set processing routine.">tds_process_result()</a> is the TDS 5.0 result set processing routine. </p>
<p>It is responsible for populating the tds-&gt;res_info structure. This is a TDS 5.0 only function </p>

</div>
</div>
<a class="anchor" id="ga47118d65c41124d2e8e0a72b7680270f"></a><!-- doxytag: member="token.c::tds_process_simple_query" ref="ga47118d65c41124d2e8e0a72b7680270f" args="(TDSSOCKET *tds)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tds_process_simple_query </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Process results for simple query as "SET TEXTSIZE" or "USE dbname" If the statement returns results, beware they are discarded. </p>
<p>This function was written to avoid direct calls to tds_process_default_tokens (which caused problems such as ignoring query errors). Results are read until idle state or severe failure (do not stop for statement failure). </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>see tds_process_tokens for results (TDS_NO_MORE_RESULTS is never returned) </dd></dl>

</div>
</div>
<a class="anchor" id="ga121792195f5fd8c07a0a5f2f5ae61d8c"></a><!-- doxytag: member="token.c::tds_process_tokens" ref="ga121792195f5fd8c07a0a5f2f5ae61d8c" args="(TDSSOCKET *tds, TDS_INT *result_type, int *done_flags, unsigned flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tds_process_tokens </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TDS_INT *&nbsp;</td>
          <td class="paramname"> <em>result_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>done_flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>flag</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>process all streams. </p>
<p><a class="el" href="a00304.html#ga121792195f5fd8c07a0a5f2f5ae61d8c" title="process all streams.">tds_process_tokens()</a> is called after submitting a query with <a class="el" href="a00301.html#ga49926242495661c63cc42820a5f530c6" title="tds_submit_query() sends a language string to the database server for processing...">tds_submit_query()</a> and is responsible for calling the routines to populate tds-&gt;res_info if appropriate (some query have no result sets) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tds</em>&nbsp;</td><td>A pointer to the TDSSOCKET structure managing a client/server operation. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>result_type</em>&nbsp;</td><td>A pointer to an integer variable which tds_process_tokens sets to indicate the current type of result. </td></tr>
  </table>
  </dd>
</dl>
<dl class="user"><dt><b></b></dt><dd><b>Values that indicate command status</b> <table class="doxtable">
<tr>
<td>TDS_DONE_RESULT</td><td>The results of a command have been completely processed. This command returned no rows. </td></tr>
<tr>
<td>TDS_DONEPROC_RESULT</td><td>The results of a command have been completely processed. This command returned rows. </td></tr>
<tr>
<td>TDS_DONEINPROC_RESULT</td><td>The results of a command have been completely processed. This command returned rows. </td></tr>
</table>
<b>Values that indicate results information is available</b> <table class="doxtable">
<tr>
<td>TDS_ROWFMT_RESULT</td><td>Regular Data format information </td><td>tds-&gt;res_info now contains the result details ; tds-&gt;current_results now points to that data </td></tr>
<tr>
<td>TDS_COMPUTEFMT_ RESULT</td><td>Compute data format information </td><td>tds-&gt;comp_info now contains the result data; tds-&gt;current_results now points to that data </td></tr>
<tr>
<td>TDS_DESCRIBE_RESULT</td><td></td><td></td></tr>
</table>
<b>Values that indicate data is available</b> <table class="doxtable">
<tr>
<td><b>Value</b></td><td><b>Meaning</b></td><td><b>Information returned</b> </td></tr>
<tr>
<td>TDS_ROW_RESULT</td><td>Regular row results </td><td>1 or more rows of regular data can now be retrieved </td></tr>
<tr>
<td>TDS_COMPUTE_RESULT</td><td>Compute row results </td><td>A single row of compute data can now be retrieved </td></tr>
<tr>
<td>TDS_PARAM_RESULT</td><td>Return parameter results </td><td>param_info or cur_dyn-&gt;params contain returned parameters </td></tr>
<tr>
<td>TDS_STATUS_RESULT</td><td>Stored procedure status results </td><td>tds-&gt;ret_status contain the returned code </td></tr>
</table>
</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>flag</em>&nbsp;</td><td>Flags to select token type to stop/return </td></tr>
  </table>
  </dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="a00306.html#_todo000021">Todo:</a></b></dt><dd>Complete TDS_DESCRIBE_RESULT description </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>TDS_SUCCEED</em>&nbsp;</td><td>if a result set is available for processing. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>TDS_FAIL</em>&nbsp;</td><td>on error. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>TDS_NO_MORE_RESULTS</em>&nbsp;</td><td>if all results have been completely processed. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>anything</em>&nbsp;</td><td>returned by one of the many functions it calls. :-( </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Aug 17 22:22:32 2011 for FreeTDS API by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>