Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > 015211042b50454b9a90b1b1f3a70f38 > files > 728

freetds-doc-1.00.83-2.mga7.i586.rpm

<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FreeTDS API: Configuration</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">FreeTDS API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">Configuration<div class="ingroups"><a class="el" href="a00537.html">LibTDS API</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Handle reading of configuration.  
<a href="#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for Configuration:</div>
<div class="dyncontent">
<center><table><tr><td><div class="center"><iframe scrolling="no" frameborder="0" src="a00529.svg" width="260" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00713.html">tdsvername_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gacc70f24c323b7177050339e069a90c56"><td class="memItemLeft" align="right" valign="top"><a id="gacc70f24c323b7177050339e069a90c56"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>TDS_FIND</b>(k,  b,  c)&#160;&#160;&#160;tds_find(k, b, sizeof(b)/sizeof(b[0]), sizeof(b[0]), c)</td></tr>
<tr class="separator:gacc70f24c323b7177050339e069a90c56"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga369c1a907b111eef229a3e679c914281"><td class="memItemLeft" align="right" valign="top"><a id="ga369c1a907b111eef229a3e679c914281"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>hex2num</b> (char *hex)</td></tr>
<tr class="separator:ga369c1a907b111eef229a3e679c914281"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f90139b7fd8ac8a1b7ec774513786a1"><td class="memItemLeft" align="right" valign="top"><a id="ga9f90139b7fd8ac8a1b7ec774513786a1"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>hexdigit</b> (int c)</td></tr>
<tr class="separator:ga9f90139b7fd8ac8a1b7ec774513786a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9670914093b354e7a123b10ba877813"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#gaa9670914093b354e7a123b10ba877813">parse_server_name_for_port</a> (<a class="el" href="a01101.html">TDSLOGIN</a> *connection, <a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="memdesc:gaa9670914093b354e7a123b10ba877813"><td class="mdescLeft">&#160;</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="#gaa9670914093b354e7a123b10ba877813">More...</a><br /></td></tr>
<tr class="separator:gaa9670914093b354e7a123b10ba877813"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca20b6e5f5a5ac1727126712dd39564b"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#gaca20b6e5f5a5ac1727126712dd39564b">search_interface_file</a> (<a class="el" href="a01101.html">TDSLOGIN</a> *login, const char *dir, const char *file, const char *host)</td></tr>
<tr class="memdesc:gaca20b6e5f5a5ac1727126712dd39564b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open and read the file 'file' searching for a logical server by the name of 'host'.  <a href="#gaca20b6e5f5a5ac1727126712dd39564b">More...</a><br /></td></tr>
<tr class="separator:gaca20b6e5f5a5ac1727126712dd39564b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa3e087e2df44398cbb4741584d2b4f8e"><td class="memItemLeft" align="right" valign="top"><a id="gaa3e087e2df44398cbb4741584d2b4f8e"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>tds_config_boolean</b> (const char *option, const char *value, <a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="separator:gaa3e087e2df44398cbb4741584d2b4f8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga409ea4515b5424920b8371295cebaa48"><td class="memItemLeft" align="right" valign="top"><a id="ga409ea4515b5424920b8371295cebaa48"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>tds_config_encryption</b> (const char *value, <a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="separator:ga409ea4515b5424920b8371295cebaa48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86080f29fb8f43acebbfbb355a4f4874"><td class="memItemLeft" align="right" valign="top"><a id="ga86080f29fb8f43acebbfbb355a4f4874"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>tds_config_env_tdsdump</b> (<a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="separator:ga86080f29fb8f43acebbfbb355a4f4874"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac598ca7c689d62d1535874f40132cc44"><td class="memItemLeft" align="right" valign="top"><a id="gac598ca7c689d62d1535874f40132cc44"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>tds_config_env_tdshost</b> (<a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="separator:gac598ca7c689d62d1535874f40132cc44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d076eb297543cb61e07cabd4220d540"><td class="memItemLeft" align="right" valign="top"><a id="ga9d076eb297543cb61e07cabd4220d540"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>tds_config_env_tdsport</b> (<a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="separator:ga9d076eb297543cb61e07cabd4220d540"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d870fe4597d567aac9c4464b04a3c54"><td class="memItemLeft" align="right" valign="top"><a id="ga6d870fe4597d567aac9c4464b04a3c54"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>tds_config_env_tdsver</b> (<a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="separator:ga6d870fe4597d567aac9c4464b04a3c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8db0faf6db365134a553cc4b43b420e5"><td class="memItemLeft" align="right" valign="top"><a id="ga8db0faf6db365134a553cc4b43b420e5"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>tds_config_login</b> (<a class="el" href="a01101.html">TDSLOGIN</a> *connection, <a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="separator:ga8db0faf6db365134a553cc4b43b420e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade94d7e89ba1f668c82be0b00a7f5cd7"><td class="memItemLeft" align="right" valign="top">TDS_USMALLINT *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#gade94d7e89ba1f668c82be0b00a7f5cd7">tds_config_verstr</a> (const char *tdsver, <a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="memdesc:gade94d7e89ba1f668c82be0b00a7f5cd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set TDS version from given string.  <a href="#gade94d7e89ba1f668c82be0b00a7f5cd7">More...</a><br /></td></tr>
<tr class="separator:gade94d7e89ba1f668c82be0b00a7f5cd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcc0322da1a1d9b47ee4c22aa1d61778"><td class="memItemLeft" align="right" valign="top"><a id="gabcc0322da1a1d9b47ee4c22aa1d61778"></a>
static void *&#160;</td><td class="memItemRight" valign="bottom"><b>tds_find</b> (const void *key, const void *base, size_t nelem, size_t width, int(*compar)(const void *, const void *))</td></tr>
<tr class="separator:gabcc0322da1a1d9b47ee4c22aa1d61778"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacee4f06ba749b10ee9f2e5bb1c4a8910"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#gacee4f06ba749b10ee9f2e5bb1c4a8910">tds_fix_login</a> (<a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="memdesc:gacee4f06ba749b10ee9f2e5bb1c4a8910"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fix configuration after reading it.  <a href="#gacee4f06ba749b10ee9f2e5bb1c4a8910">More...</a><br /></td></tr>
<tr class="separator:gacee4f06ba749b10ee9f2e5bb1c4a8910"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga860690ac47a80f74c83b25cbd8d7703d"><td class="memItemLeft" align="right" valign="top"><a id="ga860690ac47a80f74c83b25cbd8d7703d"></a>
const <a class="el" href="a00434.html#ab30e42bf2bf063932ecd1a8212f617f0">TDS_COMPILETIME_SETTINGS</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#ga860690ac47a80f74c83b25cbd8d7703d">tds_get_compiletime_settings</a> (void)</td></tr>
<tr class="memdesc:ga860690ac47a80f74c83b25cbd8d7703d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a structure capturing the compile-time settings provided to the configure script. <br /></td></tr>
<tr class="separator:ga860690ac47a80f74c83b25cbd8d7703d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf49eca946d1b2457e189de7207e3670c"><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#gaf49eca946d1b2457e189de7207e3670c">tds_get_home_file</a> (const char *file)</td></tr>
<tr class="memdesc:gaf49eca946d1b2457e189de7207e3670c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return filename from HOME directory.  <a href="#gaf49eca946d1b2457e189de7207e3670c">More...</a><br /></td></tr>
<tr class="separator:gaf49eca946d1b2457e189de7207e3670c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa17936ef93e1c68833c4aab769bd90d9"><td class="memItemLeft" align="right" valign="top">struct addrinfo *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#gaa17936ef93e1c68833c4aab769bd90d9">tds_lookup_host</a> (const char *servername)</td></tr>
<tr class="memdesc:gaa17936ef93e1c68833c4aab769bd90d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the IP address for a hostname.  <a href="#gaa17936ef93e1c68833c4aab769bd90d9">More...</a><br /></td></tr>
<tr class="separator:gaa17936ef93e1c68833c4aab769bd90d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15536d5f0812e156705ed168f5b56b35"><td class="memItemLeft" align="right" valign="top"><a id="ga15536d5f0812e156705ed168f5b56b35"></a>
TDSRET&#160;</td><td class="memItemRight" valign="bottom"><b>tds_lookup_host_set</b> (const char *servername, struct addrinfo **addr)</td></tr>
<tr class="separator:ga15536d5f0812e156705ed168f5b56b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45281d1cb2ac649db65d80bb3ff06b66"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#ga45281d1cb2ac649db65d80bb3ff06b66">tds_lookup_port</a> (const char *portname)</td></tr>
<tr class="memdesc:ga45281d1cb2ac649db65d80bb3ff06b66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a portname lookup the port.  <a href="#ga45281d1cb2ac649db65d80bb3ff06b66">More...</a><br /></td></tr>
<tr class="separator:ga45281d1cb2ac649db65d80bb3ff06b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa786931199373e617afbf7198e251ce8"><td class="memItemLeft" align="right" valign="top"><a id="gaa786931199373e617afbf7198e251ce8"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>tds_parse_boolean</b> (const char *value, int default_value)</td></tr>
<tr class="separator:gaa786931199373e617afbf7198e251ce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e63911fa1b576b353452295be13765a"><td class="memItemLeft" align="right" valign="top"><a id="ga3e63911fa1b576b353452295be13765a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>tds_parse_conf_section</b> (const char *option, const char *value, void *param)</td></tr>
<tr class="separator:ga3e63911fa1b576b353452295be13765a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a63cb612f245fd85e56cfea98ff8f3b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#ga0a63cb612f245fd85e56cfea98ff8f3b">tds_read_conf_file</a> (<a class="el" href="a01101.html">TDSLOGIN</a> *login, const char *server)</td></tr>
<tr class="memdesc:ga0a63cb612f245fd85e56cfea98ff8f3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read configuration info for given server return 0 on error.  <a href="#ga0a63cb612f245fd85e56cfea98ff8f3b">More...</a><br /></td></tr>
<tr class="separator:ga0a63cb612f245fd85e56cfea98ff8f3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6580a3a0a6063c8095a3c4405061e068"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#ga6580a3a0a6063c8095a3c4405061e068">tds_read_conf_section</a> (FILE *in, const char *section, TDSCONFPARSE tds_conf_parse, void *param)</td></tr>
<tr class="memdesc:ga6580a3a0a6063c8095a3c4405061e068"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a section of configuration file (INI style file)  <a href="#ga6580a3a0a6063c8095a3c4405061e068">More...</a><br /></td></tr>
<tr class="separator:ga6580a3a0a6063c8095a3c4405061e068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa89225d6a3d1fcc1c40e8ea747f46f1f"><td class="memItemLeft" align="right" valign="top"><a id="gaa89225d6a3d1fcc1c40e8ea747f46f1f"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>tds_read_conf_sections</b> (FILE *in, const char *server, <a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="separator:gaa89225d6a3d1fcc1c40e8ea747f46f1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9af192306186ddf39e09be0fd4ad8aaf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01101.html">TDSLOGIN</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#ga9af192306186ddf39e09be0fd4ad8aaf">tds_read_config_info</a> (<a class="el" href="a01193.html">TDSSOCKET</a> *tds, <a class="el" href="a01101.html">TDSLOGIN</a> *login, <a class="el" href="a01109.html">TDSLOCALE</a> *locale)</td></tr>
<tr class="memdesc:ga9af192306186ddf39e09be0fd4ad8aaf"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="a00529.html#ga9af192306186ddf39e09be0fd4ad8aaf" title="tds_read_config_info() will fill the tds connection structure based on configuration information gath...">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="#ga9af192306186ddf39e09be0fd4ad8aaf">More...</a><br /></td></tr>
<tr class="separator:ga9af192306186ddf39e09be0fd4ad8aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6631af35ee817f93827c62bbda41674a"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#ga6631af35ee817f93827c62bbda41674a">tds_read_interfaces</a> (const char *server, <a class="el" href="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="memdesc:ga6631af35ee817f93827c62bbda41674a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to find the IP number and port for a (possibly) logical server name.  <a href="#ga6631af35ee817f93827c62bbda41674a">More...</a><br /></td></tr>
<tr class="separator:ga6631af35ee817f93827c62bbda41674a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57cea6e376d7c2d28b811a5b0053210c"><td class="memItemLeft" align="right" valign="top">TDSRET&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00529.html#ga57cea6e376d7c2d28b811a5b0053210c">tds_set_interfaces_file_loc</a> (const char *interf)</td></tr>
<tr class="memdesc:ga57cea6e376d7c2d28b811a5b0053210c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the full name of interface file.  <a href="#ga57cea6e376d7c2d28b811a5b0053210c">More...</a><br /></td></tr>
<tr class="separator:ga57cea6e376d7c2d28b811a5b0053210c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c2d0ac2b29c9e1cb379f44c72a8d90b"><td class="memItemLeft" align="right" valign="top"><a id="ga3c2d0ac2b29c9e1cb379f44c72a8d90b"></a>
static int&#160;</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="a01101.html">TDSLOGIN</a> *login)</td></tr>
<tr class="separator:ga3c2d0ac2b29c9e1cb379f44c72a8d90b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36253e4169c83926fe31e3de57ff6ef5"><td class="memItemLeft" align="right" valign="top"><a id="ga36253e4169c83926fe31e3de57ff6ef5"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>tds_vernanme_cmp</b> (const void *key, const void *pelem)</td></tr>
<tr class="separator:ga36253e4169c83926fe31e3de57ff6ef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga6a6305e09d7dc632aedc31748c41a6da"><td class="memItemLeft" >struct {</td></tr>
<tr class="memitem:gabdb79547ea5c54112b48be39b67fc366"><td class="memItemLeft" >
&#160;&#160;&#160;unsigned char&#160;&#160;&#160;<b>to_return</b></td></tr>
<tr class="separator:gabdb79547ea5c54112b48be39b67fc366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1c6db49897958d2399d69712acf6eb4"><td class="memItemLeft" >
&#160;&#160;&#160;char&#160;&#160;&#160;<b>value</b> [7]</td></tr>
<tr class="separator:gad1c6db49897958d2399d69712acf6eb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a6305e09d7dc632aedc31748c41a6da"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><b>boolean_values</b> []</td></tr>
<tr class="separator:ga6a6305e09d7dc632aedc31748c41a6da"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Handle reading of configuration. </p>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaa9670914093b354e7a123b10ba877813"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa9670914093b354e7a123b10ba877813">&sect;&nbsp;</a></span>parse_server_name_for_port()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int parse_server_name_for_port </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01101.html">TDSLOGIN</a> *&#160;</td>
          <td class="paramname"><em>connection</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01101.html">TDSLOGIN</a> *&#160;</td>
          <td class="paramname"><em>login</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </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="section return"><dt>Returns</dt><dd>1 when found, else 0 </dd></dl>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="a00529_gaa9670914093b354e7a123b10ba877813_cgraph.svg" width="543" height="114"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="gaca20b6e5f5a5ac1727126712dd39564b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaca20b6e5f5a5ac1727126712dd39564b">&sect;&nbsp;</a></span>search_interface_file()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int search_interface_file </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01101.html">TDSLOGIN</a> *&#160;</td>
          <td class="paramname"><em>login</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>host</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </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 'login'</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dir</td><td>name of base directory for interface file </td></tr>
    <tr><td class="paramname">file</td><td>name of the interface file </td></tr>
    <tr><td class="paramname">host</td><td>logical host to search for </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if not fount 1 if found </dd></dl>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="a00529_gaca20b6e5f5a5ac1727126712dd39564b_cgraph.svg" width="316" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="gade94d7e89ba1f668c82be0b00a7f5cd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gade94d7e89ba1f668c82be0b00a7f5cd7">&sect;&nbsp;</a></span>tds_config_verstr()</h2>

<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 *&#160;</td>
          <td class="paramname"><em>tdsver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01101.html">TDSLOGIN</a> *&#160;</td>
          <td class="paramname"><em>login</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set TDS version from given string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tdsver</td><td>tds string version </td></tr>
    <tr><td class="paramname">login</td><td>where to store information </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>as encoded hex value: high nybble major, low nybble minor. </dd></dl>

</div>
</div>
<a id="gacee4f06ba749b10ee9f2e5bb1c4a8910"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacee4f06ba749b10ee9f2e5bb1c4a8910">&sect;&nbsp;</a></span>tds_fix_login()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tds_fix_login </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01101.html">TDSLOGIN</a> *&#160;</td>
          <td class="paramname"><em>login</em></td><td>)</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 id="gaf49eca946d1b2457e189de7207e3670c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf49eca946d1b2457e189de7207e3670c">&sect;&nbsp;</a></span>tds_get_home_file()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static char* tds_get_home_file </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return filename from HOME directory. </p>
<dl class="section return"><dt>Returns</dt><dd>allocated string or NULL if error </dd></dl>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="a00529_gaf49eca946d1b2457e189de7207e3670c_cgraph.svg" width="326" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="gaa17936ef93e1c68833c4aab769bd90d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa17936ef93e1c68833c4aab769bd90d9">&sect;&nbsp;</a></span>tds_lookup_host()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct addrinfo* tds_lookup_host </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>servername</em></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 id="ga45281d1cb2ac649db65d80bb3ff06b66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga45281d1cb2ac649db65d80bb3ff06b66">&sect;&nbsp;</a></span>tds_lookup_port()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_lookup_port </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>portname</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </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 class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="a00529_ga45281d1cb2ac649db65d80bb3ff06b66_cgraph.svg" width="296" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="ga0a63cb612f245fd85e56cfea98ff8f3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0a63cb612f245fd85e56cfea98ff8f3b">&sect;&nbsp;</a></span>tds_read_conf_file()</h2>

<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="a01101.html">TDSLOGIN</a> *&#160;</td>
          <td class="paramname"><em>login</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>server</em>&#160;</td>
        </tr>
        <tr>
          <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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">login</td><td>where to store configuration </td></tr>
    <tr><td class="paramname">server</td><td>section of file configuration that hold configuration for a server </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga6580a3a0a6063c8095a3c4405061e068"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6580a3a0a6063c8095a3c4405061e068">&sect;&nbsp;</a></span>tds_read_conf_section()</h2>

<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 *&#160;</td>
          <td class="paramname"><em>in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>section</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TDSCONFPARSE&#160;</td>
          <td class="paramname"><em>tds_conf_parse</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>param</em>&#160;</td>
        </tr>
        <tr>
          <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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">in</td><td>configuration file </td></tr>
    <tr><td class="paramname">section</td><td>section to read </td></tr>
    <tr><td class="paramname">tds_conf_parse</td><td>callback that receive every entry in section </td></tr>
    <tr><td class="paramname">param</td><td>parameter to pass to callback function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga9af192306186ddf39e09be0fd4ad8aaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9af192306186ddf39e09be0fd4ad8aaf">&sect;&nbsp;</a></span>tds_read_config_info()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01101.html">TDSLOGIN</a>* tds_read_config_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01193.html">TDSSOCKET</a> *&#160;</td>
          <td class="paramname"><em>tds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01101.html">TDSLOGIN</a> *&#160;</td>
          <td class="paramname"><em>login</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01109.html">TDSLOCALE</a> *&#160;</td>
          <td class="paramname"><em>locale</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="a00529.html#ga9af192306186ddf39e09be0fd4ad8aaf" title="tds_read_config_info() will fill the tds connection structure based on configuration information gath...">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 id="ga6631af35ee817f93827c62bbda41674a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6631af35ee817f93827c62bbda41674a">&sect;&nbsp;</a></span>tds_read_interfaces()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int tds_read_interfaces </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01101.html">TDSLOGIN</a> *&#160;</td>
          <td class="paramname"><em>login</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </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="section note"><dt>Note</dt><dd>This function uses only the interfaces file and is deprecated. </dd></dl>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="a00529_ga6631af35ee817f93827c62bbda41674a_cgraph.svg" width="310" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="ga57cea6e376d7c2d28b811a5b0053210c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga57cea6e376d7c2d28b811a5b0053210c">&sect;&nbsp;</a></span>tds_set_interfaces_file_loc()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TDSRET tds_set_interfaces_file_loc </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>interf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the full name of interface file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">interf</td><td>file name </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ga6a6305e09d7dc632aedc31748c41a6da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6a6305e09d7dc632aedc31748c41a6da">&sect;&nbsp;</a></span>boolean_values</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const { ... }   boolean_values[]</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    { <span class="stringliteral">&quot;yes&quot;</span>,    1 },</div><div class="line">    { <span class="stringliteral">&quot;no&quot;</span>,     0 },</div><div class="line">    { <span class="stringliteral">&quot;on&quot;</span>,     1 },</div><div class="line">    { <span class="stringliteral">&quot;off&quot;</span>,    0 },</div><div class="line">    { <span class="stringliteral">&quot;true&quot;</span>,   1 },</div><div class="line">    { <span class="stringliteral">&quot;false&quot;</span>,  0 }</div><div class="line">}</div></div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>