<!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 Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>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 </td><td class="memItemRight" valign="bottom"><b>SQLS_ENTRY</b>(number, state) 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 </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 </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 * </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 * </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> * </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"> </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> ** </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 </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 * </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"> </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 * </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> * </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> * </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"> </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 * </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 * </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 * </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 * </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"> </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> * </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"> </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> * </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 </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"> </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> * </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 </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 </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 </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 </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 </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 </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 </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 </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"> </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 </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 </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"> </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 </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 </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 </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 </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"> </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 </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 </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 </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 </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> * </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 </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 </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">( </td> <td class="md" nowrap valign="top">TDSLOCALE * </td> <td class="mdname1" valign="top" nowrap> <em>locale</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="a00144.html">TDSSOCKET</a> * </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 * </td> <td class="mdname" nowrap> <em>id</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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> </td><td>the connection within which to allocate the statement. </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="a00140.html">TDSCOLUMN</a> * </td> <td class="mdname1" valign="top" nowrap> <em>curparam</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="a00143.html">TDSPARAMINFO</a> * </td> <td class="mdname1" valign="top" nowrap> <em>old_param</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="a00144.html">TDSSOCKET</a> * </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> * </td> <td class="mdname" nowrap> <em>dyn</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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> </td><td>state information for the socket and the TDS protocol </td></tr> <tr><td valign="top"></td><td valign="top"><em>dyn</em> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="a00141.html">TDSDYNAMIC</a> * </td> <td class="mdname1" valign="top" nowrap> <em>dyn</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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> </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> </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 <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>