Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 8a57a30ed75c07795d304e1f9d96f5df > files > 65

libfreetds0-doc-0.82-5mdv2009.0.i586.rpm

<!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: Memory allocation</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&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<h1>Memory allocation<br>
<small>
[<a class="el" href="a00294.html">LibTDS API</a>]</small>
</h1>Allocate or free resources.  
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga40" doxytag="mem::SQLS_ENTRY"></a>
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SQLS_ENTRY</b>(number, state)&nbsp;&nbsp;&nbsp;case number: p = state; break</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga6" doxytag="mem::_tds_param_free"></a>
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>_tds_param_free</b> (<a class="el" href="a00140.html">TDSCOLUMN</a> *col)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga11" doxytag="mem::_tds_row_free"></a>
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>_tds_row_free</b> (<a class="el" href="a00143.html">TDSRESULTINFO</a> *res_info, unsigned char *row)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga38" doxytag="mem::tds_alloc_bcp_column_data"></a>
BCPCOLDATA *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_bcp_column_data</b> (int column_size)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga36" doxytag="mem::tds_alloc_client_sqlstate"></a>
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_client_sqlstate</b> (int msgno)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga8" doxytag="mem::tds_alloc_compute_result"></a>
static <a class="el" href="a00143.html">TDSCOMPUTEINFO</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga8">tds_alloc_compute_result</a> (int num_cols, int by_cols)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate memory for storing compute info return NULL on out of memory. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga9" doxytag="mem::tds_alloc_compute_results"></a>
<a class="el" href="a00143.html">TDSCOMPUTEINFO</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_compute_results</b> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds, int num_cols, int by_cols)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga13" doxytag="mem::tds_alloc_compute_row"></a>
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_compute_row</b> (<a class="el" href="a00143.html">TDSCOMPUTEINFO</a> *res_info)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">TDSCONNECTION *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga23">tds_alloc_connection</a> (TDSLOCALE *locale)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate space for configure structure and initialize with default values.  <a href="#ga23"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga20" doxytag="mem::tds_alloc_context"></a>
TDSCONTEXT *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_context</b> (void *parent)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga24" doxytag="mem::tds_alloc_cursor"></a>
<a class="el" href="a00135.html">TDSCURSOR</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_cursor</b> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds, const char *name, TDS_INT namelen, const char *query, TDS_INT querylen)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00141.html">TDSDYNAMIC</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga1">tds_alloc_dynamic</a> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds, const char *id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate a dynamic statement.  <a href="#ga1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga22" doxytag="mem::tds_alloc_locale"></a>
TDSLOCALE *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_locale</b> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga27" doxytag="mem::tds_alloc_login"></a>
TDSLOGIN *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_login</b> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga37" doxytag="mem::tds_alloc_lookup_sqlstate"></a>
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_lookup_sqlstate</b> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds, int msgno)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga7">tds_alloc_param_data</a> (<a class="el" href="a00140.html">TDSCOLUMN</a> *curparam)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate data for a parameter.  <a href="#ga7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00143.html">TDSPARAMINFO</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga4">tds_alloc_param_result</a> (<a class="el" href="a00143.html">TDSPARAMINFO</a> *old_param)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a output parameter to TDSPARAMINFO.  <a href="#ga4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga10" doxytag="mem::tds_alloc_results"></a>
<a class="el" href="a00143.html">TDSRESULTINFO</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_results</b> (int num_cols)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga12" doxytag="mem::tds_alloc_row"></a>
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga12">tds_alloc_row</a> (<a class="el" href="a00143.html">TDSRESULTINFO</a> *res_info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate space for row store return NULL on out of memory. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga29" doxytag="mem::tds_alloc_socket"></a>
<a class="el" href="a00144.html">TDSSOCKET</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_socket</b> (TDSCONTEXT *context, int bufsize)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga25" doxytag="mem::tds_cursor_deallocated"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_cursor_deallocated</b> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds, <a class="el" href="a00135.html">TDSCURSOR</a> *cursor)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga19" doxytag="mem::tds_free_all_results"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_all_results</b> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga39" doxytag="mem::tds_free_bcp_column_data"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_bcp_column_data</b> (BCPCOLDATA *coldata)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga15" doxytag="mem::tds_free_compute_result"></a>
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_compute_result</b> (<a class="el" href="a00143.html">TDSCOMPUTEINFO</a> *comp_info)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga16" doxytag="mem::tds_free_compute_results"></a>
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_compute_results</b> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga33" doxytag="mem::tds_free_connection"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_connection</b> (TDSCONNECTION *connection)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga21" doxytag="mem::tds_free_context"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_context</b> (TDSCONTEXT *context)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga3">tds_free_dynamic</a> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds, <a class="el" href="a00141.html">TDSDYNAMIC</a> *dyn)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees dynamic statement and remove from TDS.  <a href="#ga3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga34" doxytag="mem::tds_free_env"></a>
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_env</b> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga2">tds_free_input_params</a> (<a class="el" href="a00141.html">TDSDYNAMIC</a> *dyn)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees all allocated input parameters of a dynamic statement.  <a href="#ga2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga32" doxytag="mem::tds_free_locale"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_locale</b> (TDSLOCALE *locale)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga28" doxytag="mem::tds_free_login"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_login</b> (TDSLOGIN *login)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga35" doxytag="mem::tds_free_msg"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_msg</b> (TDSMESSAGE *message)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5" doxytag="mem::tds_free_param_result"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga5">tds_free_param_result</a> (<a class="el" href="a00143.html">TDSPARAMINFO</a> *param_info)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete latest parameter. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga14" doxytag="mem::tds_free_param_results"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_param_results</b> (<a class="el" href="a00143.html">TDSPARAMINFO</a> *param_info)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga18" doxytag="mem::tds_free_results"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_results</b> (<a class="el" href="a00143.html">TDSRESULTINFO</a> *res_info)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga17" doxytag="mem::tds_free_row"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_row</b> (<a class="el" href="a00143.html">TDSRESULTINFO</a> *res_info, unsigned char *row)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga31" doxytag="mem::tds_free_socket"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_socket</b> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga30" doxytag="mem::tds_realloc_socket"></a>
<a class="el" href="a00144.html">TDSSOCKET</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_realloc_socket</b> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds, int bufsize)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga26" doxytag="mem::tds_release_cursor"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_release_cursor</b> (<a class="el" href="a00144.html">TDSSOCKET</a> *tds, <a class="el" href="a00135.html">TDSCURSOR</a> *cursor)</td></tr>

<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><b>defaultcaps</b> []</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Allocate or free resources. 
<p>
Allocation can fail only on out of memory. In such case they return NULL and leave the state as before call. Mainly function names are in the form tds_alloc_XX or tds_free_XXX. tds_alloc_XXX functions allocate structures and return pointer to allocated data while tds_free_XXX take structure pointers and free them. Some functions require additional parameters to initialize structure correctly. The main exception are structures that use reference counting. These structures have tds_alloc_XXX functions but instead of tds_free_XXX use tds_release_XXX. <hr><h2>Function Documentation</h2>
<a class="anchor" name="ga23" doxytag="mem.c::tds_alloc_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* tds_alloc_connection           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">TDSLOCALE *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>locale</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Allocate space for configure structure and initialize with default values. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>locale</em>&nbsp;</td><td>locale information (copied to configuration information) </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>allocated structure or NULL if out of memory </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga1" doxytag="mem.c::tds_alloc_dynamic"></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="a00141.html">TDSDYNAMIC</a> * tds_alloc_dynamic           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="a00144.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap> <em>id</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Allocate a dynamic statement. 
<p>
<dl compact><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>the connection within which to allocate the statement. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>a character label identifying the statement. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the allocated structure (NULL on failure).</dd></dl>
tds_alloc_dynamic is used to implement placeholder code under TDS 5.0     </td>
  </tr>
</table>
<a class="anchor" name="ga7" doxytag="mem.c::tds_alloc_param_data"></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">void* tds_alloc_param_data           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="a00140.html">TDSCOLUMN</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>curparam</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Allocate data for a parameter. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>curparam</em>&nbsp;</td><td>parameter to retrieve size information </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>NULL on failure or new data </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga4" doxytag="mem.c::tds_alloc_param_result"></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">TDSPARAMINFO</a> * tds_alloc_param_result           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="a00143.html">TDSPARAMINFO</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>old_param</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Adds a output parameter to TDSPARAMINFO. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>old_param</em>&nbsp;</td><td>a pointer to the TDSPARAMINFO structure containing the current set of output parameter, or NULL if none exists. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>a pointer to the new TDSPARAMINFO structure.</dd></dl>
<a class="el" href="a00289.html#ga4">tds_alloc_param_result()</a> works a bit differently than the other alloc result functions. Output parameters come in individually with no total number given in advance, so we simply call this func every time with get a TDS_PARAM_TOKEN and let it realloc the columns struct one bigger. tds_free_all_results() usually cleans up after us.     </td>
  </tr>
</table>
<a class="anchor" name="ga3" doxytag="mem.c::tds_free_dynamic"></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">void tds_free_dynamic           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="a00144.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap><a class="el" href="a00141.html">TDSDYNAMIC</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>dyn</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Frees dynamic statement and remove from TDS. 
<p>
<dl compact><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>dyn</em>&nbsp;</td><td>dynamic statement to be freed. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="ga2" doxytag="mem.c::tds_free_input_params"></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">void tds_free_input_params           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="a00141.html">TDSDYNAMIC</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>dyn</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Frees all allocated input parameters of a dynamic statement. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dyn</em>&nbsp;</td><td>the dynamic statement whose input parameter are to be freed</td></tr>
  </table>
</dl>
tds_free_input_params frees all parameters for the give dynamic statement     </td>
  </tr>
</table>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="ga0" doxytag="mem.c::defaultcaps"></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">const unsigned char defaultcaps[]<code> [static]</code>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> { 
     
        0x01, 0x09, 0x00, 0x08, 0x0E, 0x6D, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE,
        0x02, 0x09, 0x00, 0x00, 0x00, 0x00, 0x02, 0x68, 0x00, 0x00, 0x00
}
</pre></div>    </td>
  </tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Wed May 7 19:22:11 2008 for FreeTDS API by&nbsp;
<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>