<!-- 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: Internal bcp functions</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 Page</span></a></li> <li><a href="pages.html"><span>Related 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>Internal bcp functions<br/> <small> [<a class="el" href="a00288.html">Bulk copy functions</a>]</small> </h1> <p>Static functions internal to the bcp library. <a href="#_details">More...</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static RETCODE </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga7370f1223f13510d6b33e98f2de09fb5">_bcp_exec_in</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, DBINT *rows_copied)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static RETCODE </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#gae67546338cb9542a4902aa914f57f314">_bcp_exec_out</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, DBINT *rows_copied)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#gaf4e2c59203f2af21bb2803ef4a69bfa8">_bcp_fgets</a> (char *buffer, int size, FILE *f)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#gacf69ac4cbe8e3c3e6ea665e31e5e85b8">_bcp_free_columns</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#gaa134c1c3ccc4326e693adb8357272f1d">_bcp_free_storage</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga452c66e8e42628176ef00842c20c2c3f">_bcp_get_col_data</a> (<a class="el" href="a00090.html">TDSBCPINFO</a> *bcpinfo, <a class="el" href="a00092.html">TDSCOLUMN</a> *bindcol, int offset)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">For a bcp in from program variables, get the data from the host variable. <a href="#ga452c66e8e42628176ef00842c20c2c3f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#gac82ffc5c1f71cbf453d81d1057004f1e">_bcp_get_term_var</a> (BYTE *pdata, BYTE *term, int term_len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the data for bcp-in from program variables, where the program data have been identified as character terminated, This is a low-level, internal function. <a href="#gac82ffc5c1f71cbf453d81d1057004f1e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static offset_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga5bdfff94543faf573c5d8b9a27d0098d">_bcp_measure_terminated_field</a> (FILE *hostfile, BYTE *terminator, int term_len)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static RETCODE </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga1c0c494e4b75fd88176a3ae4b5acc2c5">_bcp_read_hostfile</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, FILE *hostfile, int *row_error)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#gafc23d62bc86b38fb757e3ac4aadca0a4">_bcp_readfmt_colinfo</a> (<a class="el" href="a00098.html">DBPROCESS</a> *dbproc, char *buf, <a class="el" href="a00045.html">BCP_HOSTCOLINFO</a> *ci)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html#ga4d5be57b25a0654e2170fd656dc35489">rtrim</a> (char *str, int len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">trim a string of trailing blanks <a href="#ga4d5be57b25a0654e2170fd656dc35489"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Static functions internal to the bcp library. </p> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ga7370f1223f13510d6b33e98f2de09fb5"></a><!-- doxytag: member="bcp.c::_bcp_exec_in" ref="ga7370f1223f13510d6b33e98f2de09fb5" args="(DBPROCESS *dbproc, DBINT *rows_copied)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static RETCODE _bcp_exec_in </td> <td>(</td> <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> * </td> <td class="paramname"> <em>dbproc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DBINT * </td> <td class="paramname"> <em>rows_copied</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dbproc</em> </td><td>contains all information needed by db-lib to manage communications with the server. </td></tr> <tr><td valign="top"></td><td valign="top"><em>rows_copied</em> </td><td></td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>SUCCEED or FAIL. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00285.html#ga5a626d228e82be0af8449d2b8c278241" title="Enable (or prevent) bcp operations for connections made with a login.">BCP_SETL()</a>, <a class="el" href="a00288.html#gaa23f8e5c7f437a94746c90292dd1cb01" title="Commit a set of rows to the table.">bcp_batch()</a>, <a class="el" href="a00288.html#gaf08c7f8e74ddf23b83800bc378821b35" title="Bind a program host variable to a database column.">bcp_bind()</a>, <a class="el" href="a00288.html#ga0ed03c69e698336d015bb315ad755fd5" title="Specify the format of a datafile prior to writing to a table.">bcp_colfmt()</a>, <a class="el" href="a00288.html#gaf13b2bb12b4200752718f3a3face3870" title="Specify the format of a host file for bulk copy purposes, with precision and scale...">bcp_colfmt_ps()</a>, <a class="el" href="a00288.html#gae41d196a22c544d66212dacc5b555791" title="Set the length of a host variable to be written to a table.">bcp_collen()</a>, <a class="el" href="a00288.html#ga6498235e4ef8e41ea43b01494b28998d" title="Override bcp_bind() by pointing to a different host variable.">bcp_colptr()</a>, <a class="el" href="a00288.html#ga330b9f1028f856a9eec5115550bcb4f7" title="Indicate how many columns are to be found in the datafile.">bcp_columns()</a>, <a class="el" href="a00288.html#ga244547855b41788fa3a67756956fbc81" title="Set BCP options for uploading a datafile.">bcp_control()</a>, <a class="el" href="a00288.html#ga8b85f79f53a62ac7a728fe626d609b65" title="Conclude the transfer of data from program variables.">bcp_done()</a>, <a class="el" href="a00288.html#ga7a184158b27a50f713e9cfae3b746209" title="Write a datafile to a table.">bcp_exec()</a>, <a class="el" href="a00288.html#ga220f6b043602da1028f98dacb2fd00c0" title="See if BCP_SETL() was used to set the LOGINREC for BCP work.">bcp_getl()</a>, <a class="el" href="a00288.html#gada8e987c4a6225b9276c05ba3a4f47a0" title="Prepare for bulk copy operation on a table.">bcp_init()</a>, bcp_moretext(), <a class="el" href="a00288.html#gafec3feb5bac1cb33545ba01efb0a67b8" title="Set "hints" for uploading a file.">bcp_options()</a>, <a class="el" href="a00288.html#ga963c5e38bca7668afc57f5cc123d10fb" title="Read a format definition file.">bcp_readfmt()</a>, <a class="el" href="a00288.html#gaf1130ac97f6af55e86ec70b0aa4f5b40" title="Write data in host variables to the table.">bcp_sendrow()</a> </dd></dl> </div> </div> <a class="anchor" id="gae67546338cb9542a4902aa914f57f314"></a><!-- doxytag: member="bcp.c::_bcp_exec_out" ref="gae67546338cb9542a4902aa914f57f314" args="(DBPROCESS *dbproc, DBINT *rows_copied)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static RETCODE _bcp_exec_out </td> <td>(</td> <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> * </td> <td class="paramname"> <em>dbproc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DBINT * </td> <td class="paramname"> <em>rows_copied</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dbproc</em> </td><td>contains all information needed by db-lib to manage communications with the server. </td></tr> <tr><td valign="top"></td><td valign="top"><em>rows_copied</em> </td><td></td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>SUCCEED or FAIL. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00285.html#ga5a626d228e82be0af8449d2b8c278241" title="Enable (or prevent) bcp operations for connections made with a login.">BCP_SETL()</a>, <a class="el" href="a00288.html#gaa23f8e5c7f437a94746c90292dd1cb01" title="Commit a set of rows to the table.">bcp_batch()</a>, <a class="el" href="a00288.html#gaf08c7f8e74ddf23b83800bc378821b35" title="Bind a program host variable to a database column.">bcp_bind()</a>, <a class="el" href="a00288.html#ga0ed03c69e698336d015bb315ad755fd5" title="Specify the format of a datafile prior to writing to a table.">bcp_colfmt()</a>, <a class="el" href="a00288.html#gaf13b2bb12b4200752718f3a3face3870" title="Specify the format of a host file for bulk copy purposes, with precision and scale...">bcp_colfmt_ps()</a>, <a class="el" href="a00288.html#gae41d196a22c544d66212dacc5b555791" title="Set the length of a host variable to be written to a table.">bcp_collen()</a>, <a class="el" href="a00288.html#ga6498235e4ef8e41ea43b01494b28998d" title="Override bcp_bind() by pointing to a different host variable.">bcp_colptr()</a>, <a class="el" href="a00288.html#ga330b9f1028f856a9eec5115550bcb4f7" title="Indicate how many columns are to be found in the datafile.">bcp_columns()</a>, <a class="el" href="a00288.html#ga244547855b41788fa3a67756956fbc81" title="Set BCP options for uploading a datafile.">bcp_control()</a>, <a class="el" href="a00288.html#ga8b85f79f53a62ac7a728fe626d609b65" title="Conclude the transfer of data from program variables.">bcp_done()</a>, <a class="el" href="a00288.html#ga7a184158b27a50f713e9cfae3b746209" title="Write a datafile to a table.">bcp_exec()</a>, <a class="el" href="a00288.html#ga220f6b043602da1028f98dacb2fd00c0" title="See if BCP_SETL() was used to set the LOGINREC for BCP work.">bcp_getl()</a>, <a class="el" href="a00288.html#gada8e987c4a6225b9276c05ba3a4f47a0" title="Prepare for bulk copy operation on a table.">bcp_init()</a>, bcp_moretext(), <a class="el" href="a00288.html#gafec3feb5bac1cb33545ba01efb0a67b8" title="Set "hints" for uploading a file.">bcp_options()</a>, <a class="el" href="a00288.html#ga963c5e38bca7668afc57f5cc123d10fb" title="Read a format definition file.">bcp_readfmt()</a>, <a class="el" href="a00288.html#gaf1130ac97f6af55e86ec70b0aa4f5b40" title="Write data in host variables to the table.">bcp_sendrow()</a> </dd></dl> </div> </div> <a class="anchor" id="gaf4e2c59203f2af21bb2803ef4a69bfa8"></a><!-- doxytag: member="bcp.c::_bcp_fgets" ref="gaf4e2c59203f2af21bb2803ef4a69bfa8" args="(char *buffer, int size, FILE *f)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static char* _bcp_fgets </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"> <em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">FILE * </td> <td class="paramname"> <em>f</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>buffer</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>f</em> </td><td></td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>SUCCEED or FAIL. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00285.html#ga5a626d228e82be0af8449d2b8c278241" title="Enable (or prevent) bcp operations for connections made with a login.">BCP_SETL()</a>, <a class="el" href="a00288.html#gaa23f8e5c7f437a94746c90292dd1cb01" title="Commit a set of rows to the table.">bcp_batch()</a>, <a class="el" href="a00288.html#gaf08c7f8e74ddf23b83800bc378821b35" title="Bind a program host variable to a database column.">bcp_bind()</a>, <a class="el" href="a00288.html#ga0ed03c69e698336d015bb315ad755fd5" title="Specify the format of a datafile prior to writing to a table.">bcp_colfmt()</a>, <a class="el" href="a00288.html#gaf13b2bb12b4200752718f3a3face3870" title="Specify the format of a host file for bulk copy purposes, with precision and scale...">bcp_colfmt_ps()</a>, <a class="el" href="a00288.html#gae41d196a22c544d66212dacc5b555791" title="Set the length of a host variable to be written to a table.">bcp_collen()</a>, <a class="el" href="a00288.html#ga6498235e4ef8e41ea43b01494b28998d" title="Override bcp_bind() by pointing to a different host variable.">bcp_colptr()</a>, <a class="el" href="a00288.html#ga330b9f1028f856a9eec5115550bcb4f7" title="Indicate how many columns are to be found in the datafile.">bcp_columns()</a>, <a class="el" href="a00288.html#ga244547855b41788fa3a67756956fbc81" title="Set BCP options for uploading a datafile.">bcp_control()</a>, <a class="el" href="a00288.html#ga8b85f79f53a62ac7a728fe626d609b65" title="Conclude the transfer of data from program variables.">bcp_done()</a>, <a class="el" href="a00288.html#ga7a184158b27a50f713e9cfae3b746209" title="Write a datafile to a table.">bcp_exec()</a>, <a class="el" href="a00288.html#ga220f6b043602da1028f98dacb2fd00c0" title="See if BCP_SETL() was used to set the LOGINREC for BCP work.">bcp_getl()</a>, <a class="el" href="a00288.html#gada8e987c4a6225b9276c05ba3a4f47a0" title="Prepare for bulk copy operation on a table.">bcp_init()</a>, bcp_moretext(), <a class="el" href="a00288.html#gafec3feb5bac1cb33545ba01efb0a67b8" title="Set "hints" for uploading a file.">bcp_options()</a>, <a class="el" href="a00288.html#ga963c5e38bca7668afc57f5cc123d10fb" title="Read a format definition file.">bcp_readfmt()</a>, <a class="el" href="a00288.html#gaf1130ac97f6af55e86ec70b0aa4f5b40" title="Write data in host variables to the table.">bcp_sendrow()</a> </dd></dl> </div> </div> <a class="anchor" id="gacf69ac4cbe8e3c3e6ea665e31e5e85b8"></a><!-- doxytag: member="bcp.c::_bcp_free_columns" ref="gacf69ac4cbe8e3c3e6ea665e31e5e85b8" args="(DBPROCESS *dbproc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void _bcp_free_columns </td> <td>(</td> <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> * </td> <td class="paramname"> <em>dbproc</em></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dbproc</em> </td><td>contains all information needed by db-lib to manage communications with the server. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="gaa134c1c3ccc4326e693adb8357272f1d"></a><!-- doxytag: member="bcp.c::_bcp_free_storage" ref="gaa134c1c3ccc4326e693adb8357272f1d" args="(DBPROCESS *dbproc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static void _bcp_free_storage </td> <td>(</td> <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> * </td> <td class="paramname"> <em>dbproc</em></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dbproc</em> </td><td>contains all information needed by db-lib to manage communications with the server.</td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00288.html#ga8b85f79f53a62ac7a728fe626d609b65" title="Conclude the transfer of data from program variables.">bcp_done()</a>, <a class="el" href="a00288.html#ga7a184158b27a50f713e9cfae3b746209" title="Write a datafile to a table.">bcp_exec()</a>, <a class="el" href="a00288.html#gada8e987c4a6225b9276c05ba3a4f47a0" title="Prepare for bulk copy operation on a table.">bcp_init()</a> </dd></dl> </div> </div> <a class="anchor" id="ga452c66e8e42628176ef00842c20c2c3f"></a><!-- doxytag: member="bcp.c::_bcp_get_col_data" ref="ga452c66e8e42628176ef00842c20c2c3f" args="(TDSBCPINFO *bcpinfo, TDSCOLUMN *bindcol, int offset)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int _bcp_get_col_data </td> <td>(</td> <td class="paramtype"><a class="el" href="a00090.html">TDSBCPINFO</a> * </td> <td class="paramname"> <em>bcpinfo</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00092.html">TDSCOLUMN</a> * </td> <td class="paramname"> <em>bindcol</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>offset</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>For a bcp in from program variables, get the data from the host variable. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dbproc</em> </td><td>contains all information needed by db-lib to manage communications with the server. </td></tr> <tr><td valign="top"></td><td valign="top"><em>bindcol</em> </td><td></td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>TDS_SUCCEED or TDS_FAIL. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd>_bcp_add_fixed_columns, _bcp_add_variable_columns, _bcp_send_bcp_record </dd></dl> </div> </div> <a class="anchor" id="gac82ffc5c1f71cbf453d81d1057004f1e"></a><!-- doxytag: member="bcp.c::_bcp_get_term_var" ref="gac82ffc5c1f71cbf453d81d1057004f1e" args="(BYTE *pdata, BYTE *term, int term_len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int _bcp_get_term_var </td> <td>(</td> <td class="paramtype">BYTE * </td> <td class="paramname"> <em>pdata</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">BYTE * </td> <td class="paramname"> <em>term</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>term_len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the data for bcp-in from program variables, where the program data have been identified as character terminated, This is a low-level, internal function. </p> <p>Call it correctly.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pdata</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>term</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>term_len</em> </td><td></td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>data length. </dd></dl> </div> </div> <a class="anchor" id="ga5bdfff94543faf573c5d8b9a27d0098d"></a><!-- doxytag: member="bcp.c::_bcp_measure_terminated_field" ref="ga5bdfff94543faf573c5d8b9a27d0098d" args="(FILE *hostfile, BYTE *terminator, int term_len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static offset_type _bcp_measure_terminated_field </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"> <em>hostfile</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">BYTE * </td> <td class="paramname"> <em>terminator</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>term_len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>hostfile</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>terminator</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>term_len</em> </td><td></td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>SUCCEED or FAIL. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00285.html#ga5a626d228e82be0af8449d2b8c278241" title="Enable (or prevent) bcp operations for connections made with a login.">BCP_SETL()</a>, <a class="el" href="a00288.html#gaa23f8e5c7f437a94746c90292dd1cb01" title="Commit a set of rows to the table.">bcp_batch()</a>, <a class="el" href="a00288.html#gaf08c7f8e74ddf23b83800bc378821b35" title="Bind a program host variable to a database column.">bcp_bind()</a>, <a class="el" href="a00288.html#ga0ed03c69e698336d015bb315ad755fd5" title="Specify the format of a datafile prior to writing to a table.">bcp_colfmt()</a>, <a class="el" href="a00288.html#gaf13b2bb12b4200752718f3a3face3870" title="Specify the format of a host file for bulk copy purposes, with precision and scale...">bcp_colfmt_ps()</a>, <a class="el" href="a00288.html#gae41d196a22c544d66212dacc5b555791" title="Set the length of a host variable to be written to a table.">bcp_collen()</a>, <a class="el" href="a00288.html#ga6498235e4ef8e41ea43b01494b28998d" title="Override bcp_bind() by pointing to a different host variable.">bcp_colptr()</a>, <a class="el" href="a00288.html#ga330b9f1028f856a9eec5115550bcb4f7" title="Indicate how many columns are to be found in the datafile.">bcp_columns()</a>, <a class="el" href="a00288.html#ga244547855b41788fa3a67756956fbc81" title="Set BCP options for uploading a datafile.">bcp_control()</a>, <a class="el" href="a00288.html#ga8b85f79f53a62ac7a728fe626d609b65" title="Conclude the transfer of data from program variables.">bcp_done()</a>, <a class="el" href="a00288.html#ga7a184158b27a50f713e9cfae3b746209" title="Write a datafile to a table.">bcp_exec()</a>, <a class="el" href="a00288.html#ga220f6b043602da1028f98dacb2fd00c0" title="See if BCP_SETL() was used to set the LOGINREC for BCP work.">bcp_getl()</a>, <a class="el" href="a00288.html#gada8e987c4a6225b9276c05ba3a4f47a0" title="Prepare for bulk copy operation on a table.">bcp_init()</a>, bcp_moretext(), <a class="el" href="a00288.html#gafec3feb5bac1cb33545ba01efb0a67b8" title="Set "hints" for uploading a file.">bcp_options()</a>, <a class="el" href="a00288.html#ga963c5e38bca7668afc57f5cc123d10fb" title="Read a format definition file.">bcp_readfmt()</a>, <a class="el" href="a00288.html#gaf1130ac97f6af55e86ec70b0aa4f5b40" title="Write data in host variables to the table.">bcp_sendrow()</a> </dd></dl> </div> </div> <a class="anchor" id="ga1c0c494e4b75fd88176a3ae4b5acc2c5"></a><!-- doxytag: member="bcp.c::_bcp_read_hostfile" ref="ga1c0c494e4b75fd88176a3ae4b5acc2c5" args="(DBPROCESS *dbproc, FILE *hostfile, int *row_error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static RETCODE _bcp_read_hostfile </td> <td>(</td> <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> * </td> <td class="paramname"> <em>dbproc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">FILE * </td> <td class="paramname"> <em>hostfile</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>row_error</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dbproc</em> </td><td>contains all information needed by db-lib to manage communications with the server. </td></tr> <tr><td valign="top"></td><td valign="top"><em>hostfile</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>row_error</em> </td><td></td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>MORE_ROWS, NO_MORE_ROWS, or FAIL. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00285.html#ga5a626d228e82be0af8449d2b8c278241" title="Enable (or prevent) bcp operations for connections made with a login.">BCP_SETL()</a>, <a class="el" href="a00288.html#gaa23f8e5c7f437a94746c90292dd1cb01" title="Commit a set of rows to the table.">bcp_batch()</a>, <a class="el" href="a00288.html#gaf08c7f8e74ddf23b83800bc378821b35" title="Bind a program host variable to a database column.">bcp_bind()</a>, <a class="el" href="a00288.html#ga0ed03c69e698336d015bb315ad755fd5" title="Specify the format of a datafile prior to writing to a table.">bcp_colfmt()</a>, <a class="el" href="a00288.html#gaf13b2bb12b4200752718f3a3face3870" title="Specify the format of a host file for bulk copy purposes, with precision and scale...">bcp_colfmt_ps()</a>, <a class="el" href="a00288.html#gae41d196a22c544d66212dacc5b555791" title="Set the length of a host variable to be written to a table.">bcp_collen()</a>, <a class="el" href="a00288.html#ga6498235e4ef8e41ea43b01494b28998d" title="Override bcp_bind() by pointing to a different host variable.">bcp_colptr()</a>, <a class="el" href="a00288.html#ga330b9f1028f856a9eec5115550bcb4f7" title="Indicate how many columns are to be found in the datafile.">bcp_columns()</a>, <a class="el" href="a00288.html#ga244547855b41788fa3a67756956fbc81" title="Set BCP options for uploading a datafile.">bcp_control()</a>, <a class="el" href="a00288.html#ga8b85f79f53a62ac7a728fe626d609b65" title="Conclude the transfer of data from program variables.">bcp_done()</a>, <a class="el" href="a00288.html#ga7a184158b27a50f713e9cfae3b746209" title="Write a datafile to a table.">bcp_exec()</a>, <a class="el" href="a00288.html#ga220f6b043602da1028f98dacb2fd00c0" title="See if BCP_SETL() was used to set the LOGINREC for BCP work.">bcp_getl()</a>, <a class="el" href="a00288.html#gada8e987c4a6225b9276c05ba3a4f47a0" title="Prepare for bulk copy operation on a table.">bcp_init()</a>, bcp_moretext(), <a class="el" href="a00288.html#gafec3feb5bac1cb33545ba01efb0a67b8" title="Set "hints" for uploading a file.">bcp_options()</a>, <a class="el" href="a00288.html#ga963c5e38bca7668afc57f5cc123d10fb" title="Read a format definition file.">bcp_readfmt()</a>, <a class="el" href="a00288.html#gaf1130ac97f6af55e86ec70b0aa4f5b40" title="Write data in host variables to the table.">bcp_sendrow()</a> </dd></dl> </div> </div> <a class="anchor" id="gafc23d62bc86b38fb757e3ac4aadca0a4"></a><!-- doxytag: member="bcp.c::_bcp_readfmt_colinfo" ref="gafc23d62bc86b38fb757e3ac4aadca0a4" args="(DBPROCESS *dbproc, char *buf, BCP_HOSTCOLINFO *ci)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int _bcp_readfmt_colinfo </td> <td>(</td> <td class="paramtype"><a class="el" href="a00098.html">DBPROCESS</a> * </td> <td class="paramname"> <em>dbproc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00045.html">BCP_HOSTCOLINFO</a> * </td> <td class="paramname"> <em>ci</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dbproc</em> </td><td>contains all information needed by db-lib to manage communications with the server. </td></tr> <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>ci</em> </td><td></td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>SUCCEED or FAIL. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="a00285.html#ga5a626d228e82be0af8449d2b8c278241" title="Enable (or prevent) bcp operations for connections made with a login.">BCP_SETL()</a>, <a class="el" href="a00288.html#gaa23f8e5c7f437a94746c90292dd1cb01" title="Commit a set of rows to the table.">bcp_batch()</a>, <a class="el" href="a00288.html#gaf08c7f8e74ddf23b83800bc378821b35" title="Bind a program host variable to a database column.">bcp_bind()</a>, <a class="el" href="a00288.html#ga0ed03c69e698336d015bb315ad755fd5" title="Specify the format of a datafile prior to writing to a table.">bcp_colfmt()</a>, <a class="el" href="a00288.html#gaf13b2bb12b4200752718f3a3face3870" title="Specify the format of a host file for bulk copy purposes, with precision and scale...">bcp_colfmt_ps()</a>, <a class="el" href="a00288.html#gae41d196a22c544d66212dacc5b555791" title="Set the length of a host variable to be written to a table.">bcp_collen()</a>, <a class="el" href="a00288.html#ga6498235e4ef8e41ea43b01494b28998d" title="Override bcp_bind() by pointing to a different host variable.">bcp_colptr()</a>, <a class="el" href="a00288.html#ga330b9f1028f856a9eec5115550bcb4f7" title="Indicate how many columns are to be found in the datafile.">bcp_columns()</a>, <a class="el" href="a00288.html#ga244547855b41788fa3a67756956fbc81" title="Set BCP options for uploading a datafile.">bcp_control()</a>, <a class="el" href="a00288.html#ga8b85f79f53a62ac7a728fe626d609b65" title="Conclude the transfer of data from program variables.">bcp_done()</a>, <a class="el" href="a00288.html#ga7a184158b27a50f713e9cfae3b746209" title="Write a datafile to a table.">bcp_exec()</a>, <a class="el" href="a00288.html#ga220f6b043602da1028f98dacb2fd00c0" title="See if BCP_SETL() was used to set the LOGINREC for BCP work.">bcp_getl()</a>, <a class="el" href="a00288.html#gada8e987c4a6225b9276c05ba3a4f47a0" title="Prepare for bulk copy operation on a table.">bcp_init()</a>, bcp_moretext(), <a class="el" href="a00288.html#gafec3feb5bac1cb33545ba01efb0a67b8" title="Set "hints" for uploading a file.">bcp_options()</a>, <a class="el" href="a00288.html#ga963c5e38bca7668afc57f5cc123d10fb" title="Read a format definition file.">bcp_readfmt()</a>, <a class="el" href="a00288.html#gaf1130ac97f6af55e86ec70b0aa4f5b40" title="Write data in host variables to the table.">bcp_sendrow()</a> </dd></dl> </div> </div> <a class="anchor" id="ga4d5be57b25a0654e2170fd656dc35489"></a><!-- doxytag: member="bcp.c::rtrim" ref="ga4d5be57b25a0654e2170fd656dc35489" args="(char *str, int len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int rtrim </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"> <em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>trim a string of trailing blanks </p> <p>Replaces spaces at the end of a string with NULs </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>str</em> </td><td>pointer to a character buffer (not null-terminated) </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>size of the <em>str</em> in bytes</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>modified length </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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </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:31 2011 for FreeTDS API by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address> </body> </html>