Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-release > by-pkgid > 13eec89779171a321fe518ddb0e0fec6 > files > 226

freetds-doc-0.91-8.mga5.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: Memory allocation</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>Memory allocation<br/>
<small>
[<a class="el" href="a00305.html">LibTDS API</a>]</small>
</h1>
<p>Allocate or free resources.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga634dbadee4f429a23163185637b194ee"></a><!-- doxytag: member="mem::SQLS_ENTRY" ref="ga634dbadee4f429a23163185637b194ee" args="(number, state)" -->
#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"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga884491b7e4534597a53c38bddfce0bad"></a><!-- doxytag: member="mem::tds_alloc_bcp_column_data" ref="ga884491b7e4534597a53c38bddfce0bad" args="(int column_size)" -->
<a class="el" href="a00089.html">BCPCOLDATA</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_bcp_column_data</b> (int column_size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad4cc5d27725d190502ca22e63c9443a1"></a><!-- doxytag: member="mem::tds_alloc_client_sqlstate" ref="gad4cc5d27725d190502ca22e63c9443a1" args="(int msgno)" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_client_sqlstate</b> (int msgno)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga77a99691666902881031333fc851c336"></a><!-- doxytag: member="mem::tds_alloc_compute_result" ref="ga77a99691666902881031333fc851c336" args="(int num_cols, int by_cols)" -->
static <a class="el" href="a00118.html">TDSCOMPUTEINFO</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#ga77a99691666902881031333fc851c336">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" align="right" valign="top"><a class="anchor" id="ga51cfb98063bd8c20a427c261ae9da688"></a><!-- doxytag: member="mem::tds_alloc_compute_results" ref="ga51cfb98063bd8c20a427c261ae9da688" args="(TDSSOCKET *tds, int num_cols, int by_cols)" -->
<a class="el" href="a00118.html">TDSCOMPUTEINFO</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_compute_results</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, int num_cols, int by_cols)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1dabf2f115385d609521dfee1198a72c"></a><!-- doxytag: member="mem::tds_alloc_compute_row" ref="ga1dabf2f115385d609521dfee1198a72c" args="(TDSCOMPUTEINFO *res_info)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_compute_row</b> (<a class="el" href="a00118.html">TDSCOMPUTEINFO</a> *res_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00094.html">TDSCONNECTION</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#gac2aac38d0e71f0131af07dedaa5c99cc">tds_alloc_connection</a> (<a class="el" href="a00106.html">TDSLOCALE</a> *locale)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate space for configure structure and initialize with default values.  <a href="#gac2aac38d0e71f0131af07dedaa5c99cc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga60a7e05801373e2d63d028d1efdf5824"></a><!-- doxytag: member="mem::tds_alloc_context" ref="ga60a7e05801373e2d63d028d1efdf5824" args="(void *parent)" -->
<a class="el" href="a00095.html">TDSCONTEXT</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_context</b> (void *parent)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga03efb3a4934d0524958c5cbf4018561d"></a><!-- doxytag: member="mem::tds_alloc_cursor" ref="ga03efb3a4934d0524958c5cbf4018561d" args="(TDSSOCKET *tds, const char *name, TDS_INT namelen, const char *query, TDS_INT querylen)" -->
<a class="el" href="a00096.html">TDSCURSOR</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_cursor</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, const char *name, TDS_INT namelen, const char *query, TDS_INT querylen)</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="a00300.html#gabce856d3fe501d44fe6533b537f2740b">tds_alloc_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">Allocate a dynamic statement.  <a href="#gabce856d3fe501d44fe6533b537f2740b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga674b341ded4e7f8958361d5d4c4e50fe"></a><!-- doxytag: member="mem::tds_alloc_locale" ref="ga674b341ded4e7f8958361d5d4c4e50fe" args="(void)" -->
<a class="el" href="a00106.html">TDSLOCALE</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_locale</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga46fe3b63a9f1839a0ba7e6910177fa07"></a><!-- doxytag: member="mem::tds_alloc_login" ref="ga46fe3b63a9f1839a0ba7e6910177fa07" args="(void)" -->
<a class="el" href="a00107.html">TDSLOGIN</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_login</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga42b012c67d9e190ac3d5f330613a02b1"></a><!-- doxytag: member="mem::tds_alloc_lookup_sqlstate" ref="ga42b012c67d9e190ac3d5f330613a02b1" args="(TDSSOCKET *tds, int msgno)" -->
char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_lookup_sqlstate</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, int msgno)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#ga282d67682d293810625d87d566443c2d">tds_alloc_param_data</a> (<a class="el" href="a00092.html">TDSCOLUMN</a> *curparam)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate data for a parameter.  <a href="#ga282d67682d293810625d87d566443c2d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00118.html">TDSPARAMINFO</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#ga314c65c067570dc1ef3e58bbfc4eb763">tds_alloc_param_result</a> (<a class="el" href="a00118.html">TDSPARAMINFO</a> *old_param)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a output parameter to TDSPARAMINFO.  <a href="#ga314c65c067570dc1ef3e58bbfc4eb763"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga429580f5fd8c143b497fd7cfca43fead"></a><!-- doxytag: member="mem::tds_alloc_results" ref="ga429580f5fd8c143b497fd7cfca43fead" args="(int num_cols)" -->
<a class="el" href="a00118.html">TDSRESULTINFO</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_results</b> (int num_cols)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2593825c7b2d819c32043e3130724d83"></a><!-- doxytag: member="mem::tds_alloc_row" ref="ga2593825c7b2d819c32043e3130724d83" args="(TDSRESULTINFO *res_info)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#ga2593825c7b2d819c32043e3130724d83">tds_alloc_row</a> (<a class="el" href="a00118.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" align="right" valign="top"><a class="anchor" id="ga5dedb2041b68478b7a869d658eb22856"></a><!-- doxytag: member="mem::tds_alloc_socket" ref="ga5dedb2041b68478b7a869d658eb22856" args="(TDSCONTEXT *context, int bufsize)" -->
<a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_alloc_socket</b> (<a class="el" href="a00095.html">TDSCONTEXT</a> *context, int bufsize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga280bcaa64534c314ff5fde69f260b40b"></a><!-- doxytag: member="mem::tds_cursor_deallocated" ref="ga280bcaa64534c314ff5fde69f260b40b" args="(TDSSOCKET *tds, TDSCURSOR *cursor)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_cursor_deallocated</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, <a class="el" href="a00096.html">TDSCURSOR</a> *cursor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8d9feb841c35d1d6cef4563778082cec"></a><!-- doxytag: member="mem::tds_free_all_results" ref="ga8d9feb841c35d1d6cef4563778082cec" args="(TDSSOCKET *tds)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_all_results</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga08d525b2e939e860ad3f7c024ddbac17"></a><!-- doxytag: member="mem::tds_free_bcp_column_data" ref="ga08d525b2e939e860ad3f7c024ddbac17" args="(BCPCOLDATA *coldata)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_bcp_column_data</b> (<a class="el" href="a00089.html">BCPCOLDATA</a> *coldata)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga50f986f347399f6b5dd4ef5c7196be16"></a><!-- doxytag: member="mem::tds_free_compute_result" ref="ga50f986f347399f6b5dd4ef5c7196be16" args="(TDSCOMPUTEINFO *comp_info)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_compute_result</b> (<a class="el" href="a00118.html">TDSCOMPUTEINFO</a> *comp_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac1aea61de548160e53538ba32343378d"></a><!-- doxytag: member="mem::tds_free_compute_results" ref="gac1aea61de548160e53538ba32343378d" args="(TDSSOCKET *tds)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_compute_results</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad8c15852d649d740b2743b94bbfe405e"></a><!-- doxytag: member="mem::tds_free_connection" ref="gad8c15852d649d740b2743b94bbfe405e" args="(TDSCONNECTION *connection)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_connection</b> (<a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga96e58df914233f14c06dd5ddcae61c1e"></a><!-- doxytag: member="mem::tds_free_context" ref="ga96e58df914233f14c06dd5ddcae61c1e" args="(TDSCONTEXT *context)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_context</b> (<a class="el" href="a00095.html">TDSCONTEXT</a> *context)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#gaee50cf5388ae905357beab1459446179">tds_free_dynamic</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, <a class="el" href="a00101.html">TDSDYNAMIC</a> *dyn)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees dynamic statement and remove from TDS.  <a href="#gaee50cf5388ae905357beab1459446179"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac0bf4204fec605ab8dfd5468002da783"></a><!-- doxytag: member="mem::tds_free_env" ref="gac0bf4204fec605ab8dfd5468002da783" args="(TDSSOCKET *tds)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_env</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#gabdc5fee73b22345c02ab894e49ad7f95">tds_free_input_params</a> (<a class="el" href="a00101.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="#gabdc5fee73b22345c02ab894e49ad7f95"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacbf7aa586828a445f0aa4a03939df99c"></a><!-- doxytag: member="mem::tds_free_locale" ref="gacbf7aa586828a445f0aa4a03939df99c" args="(TDSLOCALE *locale)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_locale</b> (<a class="el" href="a00106.html">TDSLOCALE</a> *locale)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac92bb6c3c7467bba3a8255e0ee7dffc0"></a><!-- doxytag: member="mem::tds_free_login" ref="gac92bb6c3c7467bba3a8255e0ee7dffc0" args="(TDSLOGIN *login)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_login</b> (<a class="el" href="a00107.html">TDSLOGIN</a> *login)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacb11b12b4a7be12aa60979b3d6f2548c"></a><!-- doxytag: member="mem::tds_free_msg" ref="gacb11b12b4a7be12aa60979b3d6f2548c" args="(TDSMESSAGE *message)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_msg</b> (<a class="el" href="a00108.html">TDSMESSAGE</a> *message)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga66cd6e3c5089ced9415a8a0e258d205a"></a><!-- doxytag: member="mem::tds_free_param_result" ref="ga66cd6e3c5089ced9415a8a0e258d205a" args="(TDSPARAMINFO *param_info)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#ga66cd6e3c5089ced9415a8a0e258d205a">tds_free_param_result</a> (<a class="el" href="a00118.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" align="right" valign="top"><a class="anchor" id="ga6589548b0fe303cb816a0c136a992b04"></a><!-- doxytag: member="mem::tds_free_param_results" ref="ga6589548b0fe303cb816a0c136a992b04" args="(TDSPARAMINFO *param_info)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_param_results</b> (<a class="el" href="a00118.html">TDSPARAMINFO</a> *param_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf3268b18aa9df3475cdc48012bf7ddea"></a><!-- doxytag: member="mem::tds_free_results" ref="gaf3268b18aa9df3475cdc48012bf7ddea" args="(TDSRESULTINFO *res_info)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_results</b> (<a class="el" href="a00118.html">TDSRESULTINFO</a> *res_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa92e13cfc04c6c243fa42282d5da7cce"></a><!-- doxytag: member="mem::tds_free_row" ref="gaa92e13cfc04c6c243fa42282d5da7cce" args="(TDSRESULTINFO *res_info, unsigned char *row)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_row</b> (<a class="el" href="a00118.html">TDSRESULTINFO</a> *res_info, unsigned char *row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafe4c00cab901638857e7df9e515adb09"></a><!-- doxytag: member="mem::tds_free_socket" ref="gafe4c00cab901638857e7df9e515adb09" args="(TDSSOCKET *tds)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_free_socket</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#ga0a679c67b7655de761bb537eaa665526">tds_get_dynid</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, char *id)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an id for dynamic query based on TDS information.  <a href="#ga0a679c67b7655de761bb537eaa665526"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga74bac2493f24764fc18ad25c10ab7faf"></a><!-- doxytag: member="mem::tds_param_free" ref="ga74bac2493f24764fc18ad25c10ab7faf" args="(TDSCOLUMN *col)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_param_free</b> (<a class="el" href="a00092.html">TDSCOLUMN</a> *col)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5d7bab3aa5e12a6df144d2caa85ece55"></a><!-- doxytag: member="mem::tds_realloc_socket" ref="ga5d7bab3aa5e12a6df144d2caa85ece55" args="(TDSSOCKET *tds, size_t bufsize)" -->
<a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_realloc_socket</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, size_t bufsize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga201c9288e52f8870b801a4b92539d190"></a><!-- doxytag: member="mem::tds_release_cursor" ref="ga201c9288e52f8870b801a4b92539d190" args="(TDSSOCKET *tds, TDSCURSOR *cursor)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_release_cursor</b> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, <a class="el" href="a00096.html">TDSCURSOR</a> *cursor)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga38e6909ccbe74eccbfab20d7f0b20f0c"></a><!-- doxytag: member="mem::tds_row_free" ref="ga38e6909ccbe74eccbfab20d7f0b20f0c" args="(TDSRESULTINFO *res_info, unsigned char *row)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_row_free</b> (<a class="el" href="a00118.html">TDSRESULTINFO</a> *res_info, unsigned char *row)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga64b5a882ae1508c23cb399cc7ea828ac"></a><!-- doxytag: member="mem::winsock_initialized" ref="ga64b5a882ae1508c23cb399cc7ea828ac" args="(void)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>winsock_initialized</b> (void)</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><b>defaultcaps</b> []</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga14dcc6ce1f69acd58c51895c1549a818"></a><!-- doxytag: member="mem::inc_num" ref="ga14dcc6ce1f69acd58c51895c1549a818" args="" -->
static volatile int&nbsp;</td><td class="memItemRight" valign="bottom"><b>inc_num</b> = 1</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Allocate or free resources. </p>
<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. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gac2aac38d0e71f0131af07dedaa5c99cc"></a><!-- doxytag: member="mem.c::tds_alloc_connection" ref="gac2aac38d0e71f0131af07dedaa5c99cc" args="(TDSLOCALE *locale)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00094.html">TDSCONNECTION</a>* tds_alloc_connection </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00106.html">TDSLOCALE</a> *&nbsp;</td>
          <td class="paramname"> <em>locale</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate space for configure structure and initialize with default values. </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>allocated structure or NULL if out of memory </dd></dl>

</div>
</div>
<a class="anchor" id="gabce856d3fe501d44fe6533b537f2740b"></a><!-- doxytag: member="mem.c::tds_alloc_dynamic" ref="gabce856d3fe501d44fe6533b537f2740b" 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_alloc_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>Allocate a dynamic statement. </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>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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the allocated structure (NULL on failure).</dd></dl>
<p>tds_alloc_dynamic is used to implement placeholder code under TDS 5.0 </p>

</div>
</div>
<a class="anchor" id="ga282d67682d293810625d87d566443c2d"></a><!-- doxytag: member="mem.c::tds_alloc_param_data" ref="ga282d67682d293810625d87d566443c2d" args="(TDSCOLUMN *curparam)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* tds_alloc_param_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00092.html">TDSCOLUMN</a> *&nbsp;</td>
          <td class="paramname"> <em>curparam</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate data for a parameter. </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on failure or new data </dd></dl>

</div>
</div>
<a class="anchor" id="ga314c65c067570dc1ef3e58bbfc4eb763"></a><!-- doxytag: member="mem.c::tds_alloc_param_result" ref="ga314c65c067570dc1ef3e58bbfc4eb763" args="(TDSPARAMINFO *old_param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00118.html">TDSPARAMINFO</a> * tds_alloc_param_result </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00118.html">TDSPARAMINFO</a> *&nbsp;</td>
          <td class="paramname"> <em>old_param</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a output parameter to TDSPARAMINFO. </p>
<dl><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>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the new TDSPARAMINFO structure.</dd></dl>
<p><a class="el" href="a00300.html#ga314c65c067570dc1ef3e58bbfc4eb763" title="Adds a output parameter to TDSPARAMINFO.">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. </p>

</div>
</div>
<a class="anchor" id="gaee50cf5388ae905357beab1459446179"></a><!-- doxytag: member="mem.c::tds_free_dynamic" ref="gaee50cf5388ae905357beab1459446179" args="(TDSSOCKET *tds, TDSDYNAMIC *dyn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tds_free_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"><a class="el" href="a00101.html">TDSDYNAMIC</a> *&nbsp;</td>
          <td class="paramname"> <em>dyn</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Frees dynamic statement and remove from TDS. </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>dyn</em>&nbsp;</td><td>dynamic statement to be freed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gabdc5fee73b22345c02ab894e49ad7f95"></a><!-- doxytag: member="mem.c::tds_free_input_params" ref="gabdc5fee73b22345c02ab894e49ad7f95" args="(TDSDYNAMIC *dyn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tds_free_input_params </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00101.html">TDSDYNAMIC</a> *&nbsp;</td>
          <td class="paramname"> <em>dyn</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Frees all allocated input parameters of a dynamic statement. </p>
<dl><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>
  </dd>
</dl>
<p>tds_free_input_params frees all parameters for the give dynamic statement </p>

</div>
</div>
<a class="anchor" id="ga0a679c67b7655de761bb537eaa665526"></a><!-- doxytag: member="mem.c::tds_get_dynid" ref="ga0a679c67b7655de761bb537eaa665526" args="(TDSSOCKET *tds, char *id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static char* tds_get_dynid </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>id</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>Get an id for dynamic query based on TDS information. </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>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TDS_FAIL or TDS_SUCCEED </dd></dl>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="ga8d05a92dc60ee47045600ab918f46359"></a><!-- doxytag: member="mem.c::defaultcaps" ref="ga8d05a92dc60ee47045600ab918f46359" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const unsigned char defaultcaps[]<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<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>
</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>