Sophie

Sophie

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

freetds-doc-0.91-8.mga5.x86_64.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>FreeTDS API: Configuration</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Configuration<br/>
<small>
[<a class="el" href="a00305.html">LibTDS API</a>]</small>
</h1>
<p>Handle reading of configuration.  
<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"><a class="anchor" id="ga369c1a907b111eef229a3e679c914281"></a><!-- doxytag: member="config::hex2num" ref="ga369c1a907b111eef229a3e679c914281" args="(char *hex)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>hex2num</b> (char *hex)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9f90139b7fd8ac8a1b7ec774513786a1"></a><!-- doxytag: member="config::hexdigit" ref="ga9f90139b7fd8ac8a1b7ec774513786a1" args="(int c)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>hexdigit</b> (int c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#gaf19ef62b462f3fb2481244580d112883">parse_server_name_for_port</a> (<a class="el" href="a00094.html">TDSCONNECTION</a> *connection, <a class="el" href="a00107.html">TDSLOGIN</a> *login)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check the server name to find port info first Warning: connection-&gt; &amp; login-&gt; are all modified when needed.  <a href="#gaf19ef62b462f3fb2481244580d112883"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ga332d1b8cbb95d2b56a53020b6fa62170">search_interface_file</a> (<a class="el" href="a00094.html">TDSCONNECTION</a> *connection, const char *dir, const char *file, const char *host)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open and read the file 'file' searching for a logical server by the name of 'host'.  <a href="#ga332d1b8cbb95d2b56a53020b6fa62170"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabeebe2f9cbcd6a6ba4f2b6aa059091dc"></a><!-- doxytag: member="config::tds_config_boolean" ref="gabeebe2f9cbcd6a6ba4f2b6aa059091dc" args="(const char *value)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_config_boolean</b> (const char *value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga17dc881955cfb8421982fee0322ce394"></a><!-- doxytag: member="config::tds_config_encryption" ref="ga17dc881955cfb8421982fee0322ce394" args="(const char *value, TDSCONNECTION *connection)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_config_encryption</b> (const char *value, <a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga838242db6972bbed17579806a9054ea6"></a><!-- doxytag: member="config::tds_config_env_tdsdump" ref="ga838242db6972bbed17579806a9054ea6" args="(TDSCONNECTION *connection)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_config_env_tdsdump</b> (<a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa2bb30e61abf0db18f34758585f86ee6"></a><!-- doxytag: member="config::tds_config_env_tdshost" ref="gaa2bb30e61abf0db18f34758585f86ee6" args="(TDSCONNECTION *connection)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_config_env_tdshost</b> (<a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6da100a712a3ff9dbec46ab88325316c"></a><!-- doxytag: member="config::tds_config_env_tdsport" ref="ga6da100a712a3ff9dbec46ab88325316c" args="(TDSCONNECTION *connection)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_config_env_tdsport</b> (<a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8557586d4df6bd00aad98d3e7db70949"></a><!-- doxytag: member="config::tds_config_env_tdsver" ref="ga8557586d4df6bd00aad98d3e7db70949" args="(TDSCONNECTION *connection)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_config_env_tdsver</b> (<a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac7423e8ab12dd816ec443521e8c4b705"></a><!-- doxytag: member="config::tds_config_login" ref="gac7423e8ab12dd816ec443521e8c4b705" args="(TDSCONNECTION *connection, TDSLOGIN *login)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_config_login</b> (<a class="el" href="a00094.html">TDSCONNECTION</a> *connection, <a class="el" href="a00107.html">TDSLOGIN</a> *login)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">TDS_USMALLINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ga662970d69d4ab4880a734a774f10f754">tds_config_verstr</a> (const char *tdsver, <a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set TDS version from given string.  <a href="#ga662970d69d4ab4880a734a774f10f754"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ga48a24de61ee487c736a8775937b8493c">tds_fix_connection</a> (<a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fix configuration after reading it.  <a href="#ga48a24de61ee487c736a8775937b8493c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga860690ac47a80f74c83b25cbd8d7703d"></a><!-- doxytag: member="config::tds_get_compiletime_settings" ref="ga860690ac47a80f74c83b25cbd8d7703d" args="(void)" -->
const <a class="el" href="a00093.html">TDS_COMPILETIME_SETTINGS</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ga860690ac47a80f74c83b25cbd8d7703d">tds_get_compiletime_settings</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a structure capturing the compile-time settings provided to the configure script. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#gaf49eca946d1b2457e189de7207e3670c">tds_get_home_file</a> (const char *file)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return filename from HOME directory.  <a href="#gaf49eca946d1b2457e189de7207e3670c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ga9098567ae179fa9f5ab117d36947f993">tds_lookup_host</a> (const char *servername, char *ip)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the IP address for a hostname.  <a href="#ga9098567ae179fa9f5ab117d36947f993"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ga45281d1cb2ac649db65d80bb3ff06b66">tds_lookup_port</a> (const char *portname)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Given a portname lookup the port.  <a href="#ga45281d1cb2ac649db65d80bb3ff06b66"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3e63911fa1b576b353452295be13765a"></a><!-- doxytag: member="config::tds_parse_conf_section" ref="ga3e63911fa1b576b353452295be13765a" args="(const char *option, const char *value, void *param)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_parse_conf_section</b> (const char *option, const char *value, void *param)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#gaac3f1471754edaaa2ab95b0a31fbf17e">tds_read_conf_file</a> (<a class="el" href="a00094.html">TDSCONNECTION</a> *connection, const char *server)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read configuration info for given server return 0 on error.  <a href="#gaac3f1471754edaaa2ab95b0a31fbf17e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ga6580a3a0a6063c8095a3c4405061e068">tds_read_conf_section</a> (FILE *in, const char *section, TDSCONFPARSE tds_conf_parse, void *param)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a section of configuration file (INI style file).  <a href="#ga6580a3a0a6063c8095a3c4405061e068"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6be0eed88ec2903157b291ca77081c66"></a><!-- doxytag: member="config::tds_read_conf_sections" ref="ga6be0eed88ec2903157b291ca77081c66" args="(FILE *in, const char *server, TDSCONNECTION *connection)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_read_conf_sections</b> (FILE *in, const char *server, <a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00094.html">TDSCONNECTION</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ga03612ea81c8a94144818b813b126d4ff">tds_read_config_info</a> (<a class="el" href="a00122.html">TDSSOCKET</a> *tds, <a class="el" href="a00107.html">TDSLOGIN</a> *login, <a class="el" href="a00106.html">TDSLOCALE</a> *locale)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a00297.html#ga03612ea81c8a94144818b813b126d4ff" title="tds_read_config_info() will fill the tds connection structure based on configuration...">tds_read_config_info()</a> will fill the tds connection structure based on configuration information gathered in the following order: 1) Program specified in TDSLOGIN structure 2) The environment variables TDSVER, TDSDUMP, TDSPORT, TDSQUERY, TDSHOST 3) A config file with the following search order: a) a readable file specified by environment variable FREETDSCONF b) a readable file in ~/.freetds.conf c) a readable file in $prefix/etc/freetds.conf 3) ~/.interfaces if exists 4) $SYBASE/interfaces if exists 5) TDS_DEF_* default values  <a href="#ga03612ea81c8a94144818b813b126d4ff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ga92087e8f31696931016ced1d3e8466bc">tds_read_interfaces</a> (const char *server, <a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Try to find the IP number and port for a (possibly) logical server name.  <a href="#ga92087e8f31696931016ced1d3e8466bc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ga5c7db4ea00d307c2637349ed0799675d">tds_set_interfaces_file_loc</a> (const char *interf)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the full name of interface file.  <a href="#ga5c7db4ea00d307c2637349ed0799675d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadc420e4411ba91f044d79d5414b9923d"></a><!-- doxytag: member="config::tds_try_conf_file" ref="gadc420e4411ba91f044d79d5414b9923d" args="(const char *path, const char *how, const char *server, TDSCONNECTION *connection)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><b>tds_try_conf_file</b> (const char *path, const char *how, const char *server, <a class="el" href="a00094.html">TDSCONNECTION</a> *connection)</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" ><a class="anchor" id="ga2c32497a669f9aa16807adef07dff998"></a><!-- doxytag: member="config::boolean_values" ref="ga2c32497a669f9aa16807adef07dff998" args="[]" -->
struct {</td></tr>
<tr><td class="memItemLeft" >&nbsp;&nbsp;&nbsp;unsigned char&nbsp;&nbsp;&nbsp;<b>to_return</b></td></tr>
<tr><td class="memItemLeft" >&nbsp;&nbsp;&nbsp;char&nbsp;&nbsp;&nbsp;<b>value</b> [7]</td></tr>
<tr><td class="memItemLeft" valign="top">}&nbsp;</td><td class="memItemRight" valign="bottom"><b>boolean_values</b> []</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Handle reading of configuration. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gaf19ef62b462f3fb2481244580d112883"></a><!-- doxytag: member="config.c::parse_server_name_for_port" ref="gaf19ef62b462f3fb2481244580d112883" args="(TDSCONNECTION *connection, TDSLOGIN *login)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int parse_server_name_for_port </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00094.html">TDSCONNECTION</a> *&nbsp;</td>
          <td class="paramname"> <em>connection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00107.html">TDSLOGIN</a> *&nbsp;</td>
          <td class="paramname"> <em>login</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check the server name to find port info first Warning: connection-&gt; &amp; login-&gt; are all modified when needed. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 when found, else 0 </dd></dl>

</div>
</div>
<a class="anchor" id="ga332d1b8cbb95d2b56a53020b6fa62170"></a><!-- doxytag: member="config.c::search_interface_file" ref="ga332d1b8cbb95d2b56a53020b6fa62170" args="(TDSCONNECTION *connection, const char *dir, const char *file, const char *host)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int search_interface_file </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00094.html">TDSCONNECTION</a> *&nbsp;</td>
          <td class="paramname"> <em>connection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>host</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Open and read the file 'file' searching for a logical server by the name of 'host'. </p>
<p>If one is found then lookup the IP address and port number and store them in 'connection'</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>name of base directory for interface file </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>name of the interface file </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>host</em>&nbsp;</td><td>logical host to search for </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if not fount 1 if found </dd></dl>

</div>
</div>
<a class="anchor" id="ga662970d69d4ab4880a734a774f10f754"></a><!-- doxytag: member="config.c::tds_config_verstr" ref="ga662970d69d4ab4880a734a774f10f754" args="(const char *tdsver, TDSCONNECTION *connection)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TDS_USMALLINT tds_config_verstr </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>tdsver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00094.html">TDSCONNECTION</a> *&nbsp;</td>
          <td class="paramname"> <em>connection</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set TDS version from given string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>tdsver</em>&nbsp;</td><td>tds string version </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>connection</em>&nbsp;</td><td>where to store information </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>as encoded hex value: high nybble major, low nybble minor. </dd></dl>

</div>
</div>
<a class="anchor" id="ga48a24de61ee487c736a8775937b8493c"></a><!-- doxytag: member="config.c::tds_fix_connection" ref="ga48a24de61ee487c736a8775937b8493c" args="(TDSCONNECTION *connection)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tds_fix_connection </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00094.html">TDSCONNECTION</a> *&nbsp;</td>
          <td class="paramname"> <em>connection</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Fix configuration after reading it. </p>
<p>Currently this read some environment variables and replace some options. </p>

</div>
</div>
<a class="anchor" id="gaf49eca946d1b2457e189de7207e3670c"></a><!-- doxytag: member="config.c::tds_get_home_file" ref="gaf49eca946d1b2457e189de7207e3670c" args="(const char *file)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static char* tds_get_home_file </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>file</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return filename from HOME directory. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>allocated string or NULL if error </dd></dl>

</div>
</div>
<a class="anchor" id="ga9098567ae179fa9f5ab117d36947f993"></a><!-- doxytag: member="config.c::tds_lookup_host" ref="ga9098567ae179fa9f5ab117d36947f993" args="(const char *servername, char *ip)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tds_lookup_host </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>servername</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>ip</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the IP address for a hostname. </p>
<p>Store server's IP address in the string 'ip' in dotted-decimal notation. (The "hostname" might itself be a dotted-decimal address.</p>
<p>If we can't determine the IP address then 'ip' will be set to empty string. </p>

</div>
</div>
<a class="anchor" id="ga45281d1cb2ac649db65d80bb3ff06b66"></a><!-- doxytag: member="config.c::tds_lookup_port" ref="ga45281d1cb2ac649db65d80bb3ff06b66" args="(const char *portname)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_lookup_port </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>portname</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Given a portname lookup the port. </p>
<p>If we can't determine the port number then return 0. </p>

</div>
</div>
<a class="anchor" id="gaac3f1471754edaaa2ab95b0a31fbf17e"></a><!-- doxytag: member="config.c::tds_read_conf_file" ref="gaac3f1471754edaaa2ab95b0a31fbf17e" args="(TDSCONNECTION *connection, const char *server)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tds_read_conf_file </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00094.html">TDSCONNECTION</a> *&nbsp;</td>
          <td class="paramname"> <em>connection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>server</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read configuration info for given server return 0 on error. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>connection</em>&nbsp;</td><td>where to store configuration </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>server</em>&nbsp;</td><td>section of file configuration that hold configuration for a server </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6580a3a0a6063c8095a3c4405061e068"></a><!-- doxytag: member="config.c::tds_read_conf_section" ref="ga6580a3a0a6063c8095a3c4405061e068" args="(FILE *in, const char *section, TDSCONFPARSE tds_conf_parse, void *param)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tds_read_conf_section </td>
          <td>(</td>
          <td class="paramtype">FILE *&nbsp;</td>
          <td class="paramname"> <em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TDSCONFPARSE&nbsp;</td>
          <td class="paramname"> <em>tds_conf_parse</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>param</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a section of configuration file (INI style file). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>configuration file </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>section</em>&nbsp;</td><td>section to read </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tds_conf_parse</em>&nbsp;</td><td>callback that receive every entry in section </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>parameter to pass to callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga03612ea81c8a94144818b813b126d4ff"></a><!-- doxytag: member="config.c::tds_read_config_info" ref="ga03612ea81c8a94144818b813b126d4ff" args="(TDSSOCKET *tds, TDSLOGIN *login, TDSLOCALE *locale)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00094.html">TDSCONNECTION</a>* tds_read_config_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00122.html">TDSSOCKET</a> *&nbsp;</td>
          <td class="paramname"> <em>tds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00107.html">TDSLOGIN</a> *&nbsp;</td>
          <td class="paramname"> <em>login</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00106.html">TDSLOCALE</a> *&nbsp;</td>
          <td class="paramname"> <em>locale</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p><a class="el" href="a00297.html#ga03612ea81c8a94144818b813b126d4ff" title="tds_read_config_info() will fill the tds connection structure based on configuration...">tds_read_config_info()</a> will fill the tds connection structure based on configuration information gathered in the following order: 1) Program specified in TDSLOGIN structure 2) The environment variables TDSVER, TDSDUMP, TDSPORT, TDSQUERY, TDSHOST 3) A config file with the following search order: a) a readable file specified by environment variable FREETDSCONF b) a readable file in ~/.freetds.conf c) a readable file in $prefix/etc/freetds.conf 3) ~/.interfaces if exists 4) $SYBASE/interfaces if exists 5) TDS_DEF_* default values </p>
<p>.tdsrc and freetds.conf have been added to make the package easier to integration with various Linux and *BSD distributions. </p>

</div>
</div>
<a class="anchor" id="ga92087e8f31696931016ced1d3e8466bc"></a><!-- doxytag: member="config.c::tds_read_interfaces" ref="ga92087e8f31696931016ced1d3e8466bc" args="(const char *server, TDSCONNECTION *connection)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_read_interfaces </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00094.html">TDSCONNECTION</a> *&nbsp;</td>
          <td class="paramname"> <em>connection</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Try to find the IP number and port for a (possibly) logical server name. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>This function uses only the interfaces file and is deprecated. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5c7db4ea00d307c2637349ed0799675d"></a><!-- doxytag: member="config.c::tds_set_interfaces_file_loc" ref="ga5c7db4ea00d307c2637349ed0799675d" args="(const char *interf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int tds_set_interfaces_file_loc </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>interf</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the full name of interface file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>interf</em>&nbsp;</td><td>file name </td></tr>
  </table>
  </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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Generated on Wed Aug 17 22:22:31 2011 for FreeTDS API by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>