Sophie

Sophie

distrib > Mageia > 1 > i586 > media > core-release > by-pkgid > f0bc842dcf666302badcfd2545f3387c > files > 49

libfreetds0-doc-0.82-12.mga1.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: /usr/local/users/home/jklowden/projects/releases/freetds/0.82/src/dblib/dblib.c File Reference</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>
<div class="nav">
<a class="el" href="dir_000002.html">src</a>&nbsp;/&nbsp;<a class="el" href="dir_000006.html">dblib</a></div>
<h1>dblib.c File Reference</h1>Main implementation file for <code>db-lib</code>. <a href="#_details">More...</a>
<p>
<code>#include &lt;stdarg.h&gt;</code><br>
<code>#include &lt;time.h&gt;</code><br>
<code>#include &lt;assert.h&gt;</code><br>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include "<a class="el" href="a00311.html">tds.h</a>"</code><br>
<code>#include "tdsthread.h"</code><br>
<code>#include "sybfront.h"</code><br>
<code>#include "<a class="el" href="a00308.html">sybdb.h</a>"</code><br>
<code>#include "syberror.h"</code><br>
<code>#include "dblib.h"</code><br>
<code>#include "tdsconvert.h"</code><br>
<code>#include "replacements.h"</code><br>
<code>#include "buffering.h"</code><br>
<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">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga99">SYBDBLIB</a>&nbsp;&nbsp;&nbsp;1</td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00133.html">_dblib_error_message</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga0">DBLIB_ERROR_MESSAGE</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a00137.html">dblib_context</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00195.html#a4">DBLIBCONTEXT</a></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="a27" doxytag="dblib.c::_db_get_server_type"></a>
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>_db_get_server_type</b> (int bindtype)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a30" doxytag="dblib.c::_dbnullable"></a>
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>_dbnullable</b> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a29" doxytag="dblib.c::_dbprdate"></a>
static char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_dbprdate</b> (char *timestr)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a26" doxytag="dblib.c::_dbresults"></a>
static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><b>_dbresults</b> (DBPROCESS *dbproc)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a28" doxytag="dblib.c::_get_printable_size"></a>
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>_get_printable_size</b> (<a class="el" href="a00140.html">TDSCOLUMN</a> *colinfo)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a32" doxytag="dblib.c::copy_data_to_host_var"></a>
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>copy_data_to_host_var</b> (DBPROCESS *, int, const BYTE *, DBINT, int, BYTE *, DBINT, int, DBSMALLINT *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga51">dbadata</a> (DBPROCESS *dbproc, int computeid, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get address of compute column data.  <a href="a00275.html#ga51"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga48">dbadlen</a> (DBPROCESS *dbproc, int computeid, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of data in a compute column.  <a href="a00275.html#ga48"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga50">dbaltbind</a> (DBPROCESS *dbproc, int computeid, int column, int vartype, DBINT varlen, BYTE *varaddr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Bind a compute column to a program variable.  <a href="a00275.html#ga50"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga47">dbaltcolid</a> (DBPROCESS *dbproc, int computeid, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get column ID of a compute column.  <a href="a00275.html#ga47"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga96">dbaltlen</a> (DBPROCESS *dbproc, int computeid, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of data in compute column.  <a href="a00275.html#ga96"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga52">dbaltop</a> (DBPROCESS *dbproc, int computeid, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get aggregation operator for a compute column.  <a href="a00275.html#ga52"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga49">dbalttype</a> (DBPROCESS *dbproc, int computeid, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get datatype for a compute column.  <a href="a00275.html#ga49"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga95">dbaltutype</a> (DBPROCESS *dbproc, int computeid, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get user-defined datatype of a compute column.  <a href="a00275.html#ga95"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga22">dbanullbind</a> (DBPROCESS *dbproc, int computeid, int column, DBINT *indicator)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tie a null-indicator to a compute result column.  <a href="a00275.html#ga22"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga19">dbbind</a> (DBPROCESS *dbproc, int column, int vartype, DBINT varlen, BYTE *varaddr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tie a host variable to a resultset column.  <a href="a00275.html#ga19"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a36" doxytag="dblib.c::dbbindtype"></a>
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dbbindtype</b> (int datatype)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga58">dbbylist</a> (DBPROCESS *dbproc, int computeid, int *size)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get <code>bylist</code> for a compute row.  <a href="a00275.html#ga58"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga33">dbcancel</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cancel the current command batch.  <a href="a00275.html#ga33"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga68">dbcanquery</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cancel the query currently being retrieved, discarding all pending rows.  <a href="a00275.html#ga68"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga91">dbchange</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if a command caused the current database to change.  <a href="a00275.html#ga91"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga8">dbclose</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close a connection to the server and free associated resources.  <a href="a00275.html#ga8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga23">dbclrbuf</a> (DBPROCESS *dbproc, DBINT n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear <em>n</em> rows from the row buffer.  <a href="a00275.html#ga23"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga70">dbclropt</a> (DBPROCESS *dbproc, int option, char *param)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset an option.  <a href="a00275.html#ga70"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga5">dbcmd</a> (DBPROCESS *dbproc, const char *cmdstring)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>Append</code> SQL to the command buffer.  <a href="a00275.html#ga5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga8">dbcmdrow</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if the current command can return rows.  <a href="a00281.html#ga8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00195.html#a82">dbcolinfo</a> (DBPROCESS *dbproc, CI_TYPE type, DBINT column, DBINT computeid, DBCOL *pdbcol)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a bunch of column attributes with a single call (Microsoft-compatibility feature).  <a href="#a82"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga29">dbcollen</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of a regular result column.  <a href="a00275.html#ga29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga12">dbcolname</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return name of a regular result column.  <a href="a00275.html#ga12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga28">dbcolsource</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get base database column name for a result set column.  <a href="a00275.html#ga28"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga25">dbcoltype</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the datatype of a regular result set column.  <a href="a00275.html#ga25"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBTYPEINFO *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga27">dbcoltypeinfo</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get precision and scale information for a regular result column.  <a href="a00275.html#ga27"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga26">dbcolutype</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get user-defined datatype of a regular result column.  <a href="a00275.html#ga26"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga17">dbconvert</a> (DBPROCESS *dbproc, int srctype, const BYTE *src, DBINT srclen, int desttype, BYTE *dest, DBINT destlen)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert one datatype to another.  <a href="a00275.html#ga17"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga18">dbconvert_ps</a> (DBPROCESS *dbproc, int srctype, BYTE *src, DBINT srclen, int desttype, BYTE *dest, DBINT destlen, DBTYPEINFO *typeinfo)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cf. <a class="el" href="a00275.html#ga17">dbconvert()</a>, above  <a href="a00275.html#ga18"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga6">dbcount</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get count of rows processed.  <a href="a00281.html#ga6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga13">dbcurcmd</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get number of the row just returned.  <a href="a00281.html#ga13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga11">dbcurrow</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get number of the row currently being read.  <a href="a00281.html#ga11"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga32">dbdata</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get address of data in a regular result column.  <a href="a00275.html#ga32"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#ga0">dbdatecmp</a> (DBPROCESS *dbproc, DBDATETIME *d1, DBDATETIME *d2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare DBDATETIME values, similar to strcmp(3).  <a href="a00280.html#ga0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga61">dbdatecrack</a> (DBPROCESS *dbproc, DBDATEREC *di, DBDATETIME *datetime)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Break a DBDATETIME value into useful pieces.  <a href="a00275.html#ga61"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga31">dbdatlen</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of current row's data in a regular result column.  <a href="a00275.html#ga31"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBBOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga9">dbdead</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if <em>dbproc</em> is an ex-parrot.  <a href="a00281.html#ga9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">EHANDLEFUNC&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga59">dberrhandle</a> (EHANDLEFUNC handler)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an error handler, for messages from db-lib.  <a href="a00275.html#ga59"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga9">dbexit</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close server connections and free all related structures.  <a href="a00275.html#ga9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga4">dbfcmd</a> (DBPROCESS *dbproc, const char *fmt,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><code>printf-like</code> way to form SQL to send to the server.  <a href="a00275.html#ga4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga15">dbfirstrow</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get number of the first row in the row buffer.  <a href="a00281.html#ga15"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga69">dbfreebuf</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Erase the command buffer, in case <code>DBNOAUTOFREE</code> was set with <a class="el" href="a00275.html#ga53">dbsetopt()</a>.  <a href="a00275.html#ga69"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga74">dbgetchar</a> (DBPROCESS *dbproc, int pos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get address of a position in the command buffer.  <a href="a00275.html#ga74"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga43">dbgetmaxprocs</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get maximum simultaneous connections db-lib will open to the server.  <a href="a00275.html#ga43"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00195.html#a34">dbgetnull</a> (DBPROCESS *dbproc, int bindtype, int varlen, BYTE *varaddr)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga41">dbgetpacket</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get TDS packet size for the connection.  <a href="a00275.html#ga41"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga13">dbgetrow</a> (DBPROCESS *dbproc, DBINT row)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a row from the row buffer.  <a href="a00275.html#ga13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga45">dbgettime</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get maximum seconds db-lib waits for a server response to query.  <a href="a00275.html#ga45"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga66">dbgetuserdata</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get address of user-allocated data from a <code>DBPROCESS</code>.  <a href="a00275.html#ga66"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBBOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga0">dbhasretstat</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine if query generated a return status number.  <a href="a00276.html#ga0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga0">dbinit</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize db-lib.  <a href="a00275.html#ga0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga17">dbiordesc</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get file descriptor of the socket used by a <code>DBPROCESS</code> to read data coming from the server. (!).  <a href="a00281.html#ga17"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga18">dbiowdesc</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get file descriptor of the socket used by a <code>DBPROCESS</code> to write data coming to the server. (!).  <a href="a00281.html#ga18"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a197" doxytag="dblib.c::dbisavail"></a>
DBBOOL&nbsp;</td><td class="memItemRight" valign="bottom"><b>dbisavail</b> (DBPROCESS *dbproc)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">DBBOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga71">dbisopt</a> (DBPROCESS *dbproc, int option, char *param)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get value of an option.  <a href="a00275.html#ga71"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga16">dblastrow</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get number of the last row in the row buffer.  <a href="a00281.html#ga16"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">LOGINREC *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga1">dblogin</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate a <code>LOGINREC</code> structure.  <a href="a00275.html#ga1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga2" doxytag="dblib.c::dbloginfree"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga2">dbloginfree</a> (LOGINREC *login)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">free the <code>LOGINREC</code> <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga17">dbmny4add</a> (DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2, DBMONEY4 *sum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add two DBMONEY4 values.  <a href="a00279.html#ga17"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga21">dbmny4cmp</a> (DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two DBMONEY4 values.  <a href="a00279.html#ga21"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga22">dbmny4copy</a> (DBPROCESS *dbproc, DBMONEY4 *src, DBMONEY4 *dest)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy a DBMONEY4 value.  <a href="a00279.html#ga22"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga20">dbmny4divide</a> (DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2, DBMONEY4 *quotient)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divide two DBMONEY4 values.  <a href="a00279.html#ga20"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga15">dbmny4minus</a> (DBPROCESS *dbproc, DBMONEY4 *src, DBMONEY4 *dest)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Negate a DBMONEY4 value.  <a href="a00279.html#ga15"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga19">dbmny4mul</a> (DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2, DBMONEY4 *prod)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply two DBMONEY4 values.  <a href="a00279.html#ga19"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga18">dbmny4sub</a> (DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2, DBMONEY4 *diff)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract two DBMONEY4 values.  <a href="a00279.html#ga18"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga16">dbmny4zero</a> (DBPROCESS *dbproc, DBMONEY4 *dest)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Zero a DBMONEY4 value.  <a href="a00279.html#ga16"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga0">dbmnyadd</a> (DBPROCESS *dbproc, DBMONEY *m1, DBMONEY *m2, DBMONEY *sum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add two DBMONEY values.  <a href="a00279.html#ga0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga4">dbmnycmp</a> (DBPROCESS *dbproc, DBMONEY *m1, DBMONEY *m2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two DBMONEY values.  <a href="a00279.html#ga4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga23">dbmnycopy</a> (DBPROCESS *dbproc, DBMONEY *src, DBMONEY *dest)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy a DBMONEY value.  <a href="a00279.html#ga23"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga13">dbmnydec</a> (DBPROCESS *dbproc, DBMONEY *amount)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract $0.0001 from a DBMONEY value.  <a href="a00279.html#ga13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga3">dbmnydivide</a> (DBPROCESS *dbproc, DBMONEY *m1, DBMONEY *m2, DBMONEY *quotient)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divide two DBMONEY values.  <a href="a00279.html#ga3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga11">dbmnydown</a> (DBPROCESS *dbproc, DBMONEY *amount, int divisor, int *remainder)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Divide a DBMONEY value by a positive integer.  <a href="a00279.html#ga11"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga12">dbmnyinc</a> (DBPROCESS *dbproc, DBMONEY *amount)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add $0.0001 to a DBMONEY value.  <a href="a00279.html#ga12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga10">dbmnyinit</a> (DBPROCESS *dbproc, DBMONEY *amount, int trim, DBBOOL *negative)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepare a DBMONEY value for use with <a class="el" href="a00279.html#ga9">dbmnyndigit()</a>.  <a href="a00279.html#ga10"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga8">dbmnymaxneg</a> (DBPROCESS *dbproc, DBMONEY *amount)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get maximum negative DBMONEY value supported.  <a href="a00279.html#ga8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga7">dbmnymaxpos</a> (DBPROCESS *dbproc, DBMONEY *amount)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get maximum positive DBMONEY value supported.  <a href="a00279.html#ga7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga14">dbmnyminus</a> (DBPROCESS *dbproc, DBMONEY *src, DBMONEY *dest)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Negate a DBMONEY value.  <a href="a00279.html#ga14"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga2">dbmnymul</a> (DBPROCESS *dbproc, DBMONEY *m1, DBMONEY *m2, DBMONEY *prod)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply two DBMONEY values.  <a href="a00279.html#ga2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga9">dbmnyndigit</a> (DBPROCESS *dbproc, DBMONEY *mnyptr, DBCHAR *digit, DBBOOL *zero)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the least significant digit of a DBMONEY value, represented as a character.  <a href="a00279.html#ga9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga5">dbmnyscale</a> (DBPROCESS *dbproc, DBMONEY *amount, int multiplier, int addend)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiply a DBMONEY value by a positive integer, and add an amount.  <a href="a00279.html#ga5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga1">dbmnysub</a> (DBPROCESS *dbproc, DBMONEY *m1, DBMONEY *m2, DBMONEY *difference)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract two DBMONEY values.  <a href="a00279.html#ga1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#ga6">dbmnyzero</a> (DBPROCESS *dbproc, DBMONEY *dest)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a DBMONEY value to zero.  <a href="a00279.html#ga6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#ga1">dbmonthname</a> (DBPROCESS *dbproc, char *language, int monthnum, DBBOOL shortform)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get name of a month, in some human language.  <a href="a00280.html#ga1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga72">dbmorecmds</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if more commands are to be processed.  <a href="a00275.html#ga72"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga83">dbmoretext</a> (DBPROCESS *dbproc, DBINT size, BYTE *text)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send chunk of a text/image value to the server.  <a href="a00275.html#ga83"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">MHANDLEFUNC&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga60">dbmsghandle</a> (MHANDLEFUNC handler)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a message handler, for messages from the server.  <a href="a00275.html#ga60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga92">dbname</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get name of current database.  <a href="a00275.html#ga92"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga16">dbnextrow</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read result row into the row buffer and into any bound host variables.  <a href="a00275.html#ga16"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga21">dbnullbind</a> (DBPROCESS *dbproc, int column, DBINT *indicator)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tie a null-indicator to a regular result column.  <a href="a00275.html#ga21"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga56">dbnumalts</a> (DBPROCESS *dbproc, int computeid)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get count of columns in a compute row.  <a href="a00275.html#ga56"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga11">dbnumcols</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return number of regular columns in a result set.  <a href="a00275.html#ga11"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga57">dbnumcompute</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get count of <code>COMPUTE</code> clauses for a result set.  <a href="a00275.html#ga57"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga2">dbnumrets</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get count of output parameters filled by a stored procedure.  <a href="a00276.html#ga2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga20">dbperror</a> (DBPROCESS *dbproc, DBINT msgno, long errnum,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call client-installed error handler.  <a href="a00281.html#ga20"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga97">dbpoll</a> (DBPROCESS *dbproc, long milliseconds, DBPROCESS **ready_dbproc, int *return_reason)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See if a server response has arrived.  <a href="a00275.html#ga97"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga39">dbprhead</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print result set headings to stdout.  <a href="a00275.html#ga39"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga36">dbprrow</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a result set to stdout.  <a href="a00275.html#ga36"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga77">dbprtype</a> (int token)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a token value's name to a buffer.  <a href="a00275.html#ga77"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">STATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga82">dbreadtext</a> (DBPROCESS *dbproc, void *buf, DBINT bufsize)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch part of a text or image value from the server.  <a href="a00275.html#ga82"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga84">dbrecftos</a> (char *filename)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Record to a file all SQL commands sent to the server.  <a href="a00275.html#ga84"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga90">dbregexec</a> (DBPROCESS *dbproc, DBUSMALLINT options)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute a registered procedure.  <a href="a00275.html#ga90"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga87">dbreginit</a> (DBPROCESS *dbproc, DBCHAR *procedure_name, DBSMALLINT namelen)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ready execution of a registered procedure.  <a href="a00275.html#ga87"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga88">dbreglist</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get names of Open Server registered procedures.  <a href="a00275.html#ga88"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga89">dbregparam</a> (DBPROCESS *dbproc, char *param_name, int type, DBINT datalen, BYTE *data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Describe parameter of registered procedure .  <a href="a00275.html#ga89"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga10">dbresults</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up query results.  <a href="a00275.html#ga10"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">BYTE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga4">dbretdata</a> (DBPROCESS *dbproc, int retnum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get value of an output parameter filled by a stored procedure.  <a href="a00276.html#ga4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga5">dbretlen</a> (DBPROCESS *dbproc, int retnum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of an output parameter filled by a stored procedure.  <a href="a00276.html#ga5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga3">dbretname</a> (DBPROCESS *dbproc, int retnum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get name of an output parameter filled by a stored procedure.  <a href="a00276.html#ga3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga1">dbretstatus</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch status value returned by query or remote procedure call.  <a href="a00276.html#ga1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#ga6">dbrettype</a> (DBPROCESS *dbproc, int retnum)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get datatype of a stored procedure's return parameter.  <a href="a00276.html#ga6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga7">dbrows</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Indicate whether a query returned rows.  <a href="a00281.html#ga7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">STATUS&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga12">dbrowtype</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get returned row's type.  <a href="a00281.html#ga12"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga62">dbrpwclr</a> (LOGINREC *login)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear remote passwords from the LOGINREC structure.  <a href="a00275.html#ga62"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga63">dbrpwset</a> (LOGINREC *login, char *srvname, char *password, int pwlen)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a remote password to the LOGINREC structure.  <a href="a00275.html#ga63"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga76">dbsafestr</a> (DBPROCESS *dbproc, const char *src, DBINT srclen, char *dest, DBINT destlen, int quotetype)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">safely quotes character values in SQL text.  <a href="a00275.html#ga76"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga93">dbservcharset</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get <code>syscharset</code> name of the server character set.  <a href="a00275.html#ga93"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga19">dbsetavail</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark a <code>DBPROCESS</code> as "available".  <a href="a00281.html#ga19"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga86">dbsetdefcharset</a> (char *charset)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the default character set.  <a href="a00275.html#ga86"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga40">dbsetdeflang</a> (char *language)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the default character set for an application.  <a href="a00275.html#ga40"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga20">dbsetifile</a> (char *filename)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set name and location of the <code>interfaces</code> file FreeTDS should use to look up a servername.  <a href="a00275.html#ga20"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga54">dbsetinterrupt</a> (DBPROCESS *dbproc, DB_DBCHKINTR_FUNC chkintr, DB_DBHNDLINTR_FUNC hndlintr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set interrupt handler for db-lib to use while blocked against a read from the server.  <a href="a00275.html#ga54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga4">dbsetlbool</a> (LOGINREC *login, int value, int which)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a boolean value in a <code>LOGINREC</code> structure.  <a href="a00281.html#ga4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga2">dbsetllong</a> (LOGINREC *login, long value, int which)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an integer value in a <code>LOGINREC</code> structure.  <a href="a00281.html#ga2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga1">dbsetlname</a> (LOGINREC *login, const char *value, int which)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value of a string in a <code>LOGINREC</code> structure.  <a href="a00281.html#ga1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga46">dbsetlogintime</a> (int seconds)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set maximum seconds db-lib waits for a server response to a login attempt.  <a href="a00275.html#ga46"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga3">dbsetlshort</a> (LOGINREC *login, int value, int which)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an integer value in a <code>LOGINREC</code> structure.  <a href="a00281.html#ga3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga3" doxytag="dblib.c::dbsetlversion"></a>
RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga3">dbsetlversion</a> (LOGINREC *login, BYTE version)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set TDS version for future connections. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga42">dbsetmaxprocs</a> (int maxprocs)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set maximum simultaneous connections db-lib will open to the server.  <a href="a00275.html#ga42"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga14">dbsetnull</a> (DBPROCESS *dbproc, int bindtype, int bindlen, BYTE *bindval)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define substitution values to be used when binding null values.  <a href="a00275.html#ga14"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga53">dbsetopt</a> (DBPROCESS *dbproc, int option, const char *char_param, int int_param)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set db-lib or server option.  <a href="a00275.html#ga53"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga15">dbsetrow</a> (DBPROCESS *dbproc, DBINT row)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make a buffered row "current" without fetching it into bound variables.  <a href="a00275.html#ga15"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga44">dbsettime</a> (int seconds)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set maximum seconds db-lib waits for a server response to query.  <a href="a00275.html#ga44"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga65">dbsetuserdata</a> (DBPROCESS *dbproc, BYTE *ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Associate client-allocated (and defined) data with a <code>DBPROCESS</code>.  <a href="a00275.html#ga65"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga67">dbsetversion</a> (DBINT version)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify a db-lib version level.  <a href="a00275.html#ga67"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga64">dbspid</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get server process ID for a <code>DBPROCESS</code>.  <a href="a00275.html#ga64"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga35">dbspr1row</a> (DBPROCESS *dbproc, char *buffer, DBINT buf_len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a regular result row to a buffer.  <a href="a00275.html#ga35"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga34">dbspr1rowlen</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine size buffer required to hold the results returned by <a class="el" href="a00275.html#ga38">dbsprhead()</a>, <a class="el" href="a00275.html#ga37">dbsprline()</a>, and <a class="el" href="a00275.html#ga35">dbspr1row()</a>.  <a href="a00275.html#ga34"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga38">dbsprhead</a> (DBPROCESS *dbproc, char *buffer, DBINT buf_len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print result set headings to a buffer.  <a href="a00275.html#ga38"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga37">dbsprline</a> (DBPROCESS *dbproc, char *buffer, DBINT buf_len, DBCHAR line_char)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get formatted string for underlining <a class="el" href="a00275.html#ga38">dbsprhead()</a> column names.  <a href="a00275.html#ga37"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga6">dbsqlexec</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">send the SQL command to the server and wait for an answer.  <a href="a00275.html#ga6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga55">dbsqlok</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait for results of a query from the server.  <a href="a00275.html#ga55"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga94">dbsqlsend</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Transmit the command buffer to the server. <em>Non-blocking</em>, does not wait for a response.  <a href="a00275.html#ga94"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga98">dbstrbuild</a> (DBPROCESS *dbproc, char *charbuf, int bufsize, char *text, char *formats,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Build a printable string from text containing placeholders for variables.  <a href="a00275.html#ga98"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga75">dbstrcpy</a> (DBPROCESS *dbproc, int start, int numbytes, char *dest)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a copy of a chunk of the command buffer.  <a href="a00275.html#ga75"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a47" doxytag="dblib.c::dbstring_assign"></a>
static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><b>dbstring_assign</b> (DBSTRING **dbstrp, const char *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a46" doxytag="dblib.c::dbstring_concat"></a>
static RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><b>dbstring_concat</b> (DBSTRING **dbstrp, const char *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a45" doxytag="dblib.c::dbstring_free"></a>
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>dbstring_free</b> (DBSTRING **dbstrp)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a50" doxytag="dblib.c::dbstring_get"></a>
static char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>dbstring_get</b> (DBSTRING *dbstr)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a49" doxytag="dblib.c::dbstring_getchar"></a>
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dbstring_getchar</b> (DBSTRING *dbstr, int i)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a48" doxytag="dblib.c::dbstring_length"></a>
static DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><b>dbstring_length</b> (DBSTRING *dbstr)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga73">dbstrlen</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get size of the command buffer, in bytes.  <a href="a00275.html#ga73"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga78">dbtablecolinfo</a> (DBPROCESS *dbproc, DBINT column, DBCOL *pdbcol)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">describe table column attributes with a single call (Freetds-only API function modelled on dbcolinfo)  <a href="a00275.html#ga78"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga14">dbtds</a> (DBPROCESS *dbproc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the TDS version in use for <em>dbproc</em>.  <a href="a00281.html#ga14"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBBINARY *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga80">dbtxptr</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get text pointer for a column in the current row.  <a href="a00275.html#ga80"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBBINARY *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga79">dbtxtimestamp</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get text timestamp for a column in the current row.  <a href="a00275.html#ga79"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga7">dbuse</a> (DBPROCESS *dbproc, const char *name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change current database.  <a href="a00275.html#ga7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga30">dbvarylen</a> (DBPROCESS *dbproc, int column)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether a column can vary in size.  <a href="a00275.html#ga30"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga85">dbversion</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See which version of db-lib is in use.  <a href="a00275.html#ga85"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBBOOL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga24">dbwillconvert</a> (int srctype, int desttype)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test whether or not a datatype can be converted to another datatype.  <a href="a00275.html#ga24"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">RETCODE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#ga81">dbwritetext</a> (DBPROCESS *dbproc, char *objname, DBBINARY *textptr, DBTINYINT textptrlen, DBBINARY *timestamp, DBBOOL log, DBINT size, BYTE *text)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send text or image data to the server.  <a href="a00275.html#ga81"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga10">default_err_handler</a> (DBPROCESS *dbproc, int severity, int dberr, int oserr, char *dberrstr, char *oserrstr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">default error handler for db-lib (handles library-generated errors)  <a href="a00281.html#ga10"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a51" doxytag="dblib.c::init_dboptions"></a>
static DBOPTION *&nbsp;</td><td class="memItemRight" valign="bottom"><b>init_dboptions</b> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a59" doxytag="dblib.c::prdbresults_state"></a>
static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>prdbresults_state</b> (int retcode)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a60" doxytag="dblib.c::prdbretcode"></a>
static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>prdbretcode</b> (int retcode)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a62" doxytag="dblib.c::prresult_type"></a>
static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>prresult_type</b> (int result_type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a61" doxytag="dblib.c::prretcode"></a>
static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>prretcode</b> (int retcode)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a35" doxytag="dblib.c::TDS_MUTEX_DECLARE"></a>
static&nbsp;</td><td class="memItemRight" valign="bottom"><b>TDS_MUTEX_DECLARE</b> (dblib_mutex)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a31" doxytag="dblib.c::tds_prdatatype"></a>
static char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_prdatatype</b> (TDS_SERVER_TYPE datatype_token)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a25" doxytag="dblib.c::TDS_RCSID"></a>
&nbsp;</td><td class="memItemRight" valign="bottom"><b>TDS_RCSID</b> (var,"$Id: dblib.c,v 1.320 2008/01/01 23:09:46 freddy77 Exp $")</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">DBPROCESS *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#ga5">tdsdbopen</a> (LOGINREC *login, const char *server, int msdblib)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Form a connection with the server.  <a href="a00281.html#ga5"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3" doxytag="dblib.c::_dblib_err_handler"></a>
EHANDLEFUNC&nbsp;</td><td class="memItemRight" valign="bottom"><b>_dblib_err_handler</b> = default_err_handler</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2" doxytag="dblib.c::_dblib_msg_handler"></a>
MHANDLEFUNC&nbsp;</td><td class="memItemRight" valign="bottom"><b>_dblib_msg_handler</b> = NULL</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a24" doxytag="dblib.c::dblib_error_messages"></a>
static const <a class="el" href="a00133.html">DBLIB_ERROR_MESSAGE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>dblib_error_messages</b> []</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static NULLREP&nbsp;</td><td class="memItemRight" valign="bottom"><b>default_null_representations</b> [MAXBINDTYPES]</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1" doxytag="dblib.c::errno"></a>
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>errno</b> = 0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5" doxytag="dblib.c::g_dblib_ctx"></a>
static <a class="el" href="a00137.html">DBLIBCONTEXT</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>g_dblib_ctx</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6" doxytag="dblib.c::g_dblib_version"></a>
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>g_dblib_version</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a14" doxytag="dblib.c::null_BINARY"></a>
static const DBBINARY&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_BINARY</b> = 0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a12" doxytag="dblib.c::null_CHAR"></a>
static const DBCHAR&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_CHAR</b> = '\0'</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a15" doxytag="dblib.c::null_DATETIME"></a>
static const DBDATETIME&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_DATETIME</b> = { 0, 0 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a10" doxytag="dblib.c::null_FLT8"></a>
static const DBFLT8&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_FLT8</b> = 0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9" doxytag="dblib.c::null_INT"></a>
static const DBINT&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_INT</b> = 0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a17" doxytag="dblib.c::null_MONEY"></a>
static const DBMONEY&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_MONEY</b> = { 0, 0 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a19" doxytag="dblib.c::null_NUMERIC"></a>
static const DBNUMERIC&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_NUMERIC</b> = { 0, 0, {0} }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a11" doxytag="dblib.c::null_REAL"></a>
static const DBREAL&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_REAL</b> = 0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a16" doxytag="dblib.c::null_SMALLDATETIME"></a>
static const DBDATETIME4&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_SMALLDATETIME</b> = { 0, 0 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8" doxytag="dblib.c::null_SMALLINT"></a>
static const DBSMALLINT&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_SMALLINT</b> = 0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a18" doxytag="dblib.c::null_SMALLMONEY"></a>
static const DBMONEY4&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_SMALLMONEY</b> = {0}</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7" doxytag="dblib.c::null_TINYINT"></a>
static const DBTINYINT&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_TINYINT</b> = 0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a13" doxytag="dblib.c::null_VARYCHAR"></a>
static const DBVARYCHAR&nbsp;</td><td class="memItemRight" valign="bottom"><b>null_VARYCHAR</b> = { 0, {0} }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a21" doxytag="dblib.c::opttext"></a>
static const char *const&nbsp;</td><td class="memItemRight" valign="bottom"><b>opttext</b> [DBNUMOPTIONS]</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a22" doxytag="dblib.c::STD_DATETIME_FMT"></a>
const char&nbsp;</td><td class="memItemRight" valign="bottom"><b>STD_DATETIME_FMT</b> []</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Main implementation file for <code>db-lib</code>. 
<p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="a4" doxytag="dblib.c::DBLIBCONTEXT"></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">typedef struct <a class="el" href="a00137.html">dblib_context</a>
 <a class="el" href="a00137.html">DBLIBCONTEXT</a>          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<p><b>For internal use only.</b></p>
<p>
<dl compact><dt><b>Remarks:</b></dt><dd>A db-lib connection has an implicit TDS context. </dd></dl>
</p>
    </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="a82" doxytag="dblib.c::dbcolinfo"></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">RETCODE dbcolinfo           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname" nowrap> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>CI_TYPE&nbsp;</td>
          <td class="mdname" nowrap> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>DBINT&nbsp;</td>
          <td class="mdname" nowrap> <em>column</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>DBINT&nbsp;</td>
          <td class="mdname" nowrap> <em>computeid</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>DBCOL *&nbsp;</td>
          <td class="mdname" nowrap> <em>pdbcol</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>
Get a bunch of column attributes with a single call (Microsoft-compatibility feature). 
<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>dbproc</em>&nbsp;</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>type</em>&nbsp;</td><td>must be CI_REGULAR or CI_ALTERNATE (CI_CURSOR is defined by the vendor, but is not yet implemented). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>column</em>&nbsp;</td><td>Nth in the result set, starting from 1. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>computeid</em>&nbsp;</td><td>(ignored) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdbcol</em>&nbsp;</td><td>address of structure to be populated by this function. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>SUCCEED or FAIL. </dd></dl>
<dl compact><dt><b>See also:</b></dt><dd>dbcolbrowse(), dbqual(), dbtabbrowse(), dbtabcount(), dbtabname(), dbtabsource(), dbtsnewlen(), dbtsnewval(), dbtsput(). </dd></dl>
<dl compact><dt><b><a class="el" href="todo.html#_todo000015">Todo:</a></b></dt><dd>Support cursor rows. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a34" doxytag="dblib.c::dbgetnull"></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">static RETCODE dbgetnull           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">DBPROCESS *&nbsp;</td>
          <td class="mdname" nowrap> <em>dbproc</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>bindtype</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap> <em>varlen</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>BYTE *&nbsp;</td>
          <td class="mdname" nowrap> <em>varaddr</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [static]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<p><b>For internal use only.</b></p>
<p>
<a class="el" href="a00275.html#ga19">dbbind()</a> says: "Note that if varlen is 0, no padding takes place" <a class="el" href="a00195.html#a34">dbgetnull()</a> will not pad varaddr unless varlen is positive. Vartype Program Type Padding Terminator ------------------- -------------- -------------- ---------- CHARBIND DBCHAR blanks none STRINGBIND DBCHAR blanks  NTBSTRINGBIND DBCHAR none  VARYCHARBIND DBVARYCHAR none none BOUNDARYBIND DBCHAR none  SENSITIVITYBIND DBCHAR none  </p>
    </td>
  </tr>
</table>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="a20" doxytag="dblib.c::default_null_representations"></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">NULLREP default_null_representations[MAXBINDTYPES]<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"> {
                  {         NULL, 0 }
                , {         NULL, 0 }
                , { (BYTE*) &amp;null_CHAR, <span class="keyword">sizeof</span>(null_CHAR) }
                , { (BYTE*) &amp;null_VARYCHAR, <span class="keyword">sizeof</span>(null_VARYCHAR) }
                , {         &amp;null_BINARY, <span class="keyword">sizeof</span>(null_BINARY) }
                , {         NULL, 0 }                   
                , {         &amp;null_TINYINT, <span class="keyword">sizeof</span>(null_TINYINT) }
                , { (BYTE*) &amp;null_SMALLINT, <span class="keyword">sizeof</span>(null_SMALLINT) }
                , { (BYTE*) &amp;null_INT, <span class="keyword">sizeof</span>(null_INT) }
                , { (BYTE*) &amp;null_FLT8, <span class="keyword">sizeof</span>(null_FLT8) }
                , { (BYTE*) &amp;null_REAL, <span class="keyword">sizeof</span>(null_REAL) }
                , { (BYTE*) &amp;null_DATETIME, <span class="keyword">sizeof</span>(null_DATETIME) }
                , { (BYTE*) &amp;null_SMALLDATETIME, <span class="keyword">sizeof</span>(null_SMALLDATETIME) }
                , { (BYTE*) &amp;null_MONEY, <span class="keyword">sizeof</span>(null_MONEY) }
                , { (BYTE*) &amp;null_SMALLMONEY, <span class="keyword">sizeof</span>(null_SMALLMONEY) }
                , {         NULL, 0 }               
                , {         &amp;null_BIT, <span class="keyword">sizeof</span>(null_BIT) }
                , { (BYTE*) &amp;null_NUMERIC, <span class="keyword">sizeof</span>(null_NUMERIC) }
                , { (BYTE*) &amp;null_NUMERIC, <span class="keyword">sizeof</span>(null_NUMERIC) }
        
}
</pre></div>    </td>
  </tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Wed May 7 19:22:10 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>