Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Related Pages

Configuration
[LibTDS API]

Handle reading of configuration. More...

Functions

static int hex2num (char *hex)
static int hexdigit (char c)
static int parse_server_name_for_port (TDSCONNECTION *connection, TDSLOGIN *login)
 Check the server name to find port info first Warning: connection-> & login-> are all modified when needed.
static int search_interface_file (TDSCONNECTION *connection, const char *dir, const char *file, const char *host)
 Open and read the file 'file' searching for a logical server by the name of 'host'.
static int tds_config_boolean (const char *value)
static void tds_config_env_tdsdump (TDSCONNECTION *connection)
static void tds_config_env_tdshost (TDSCONNECTION *connection)
static void tds_config_env_tdsport (TDSCONNECTION *connection)
static void tds_config_env_tdsquery (TDSCONNECTION *connection)
static void tds_config_env_tdsver (TDSCONNECTION *connection)
static void tds_config_login (TDSCONNECTION *connection, TDSLOGIN *login)
void tds_config_verstr (const char *tdsver, TDSCONNECTION *connection)
 Set TDS version from given string.
void tds_fix_connection (TDSCONNECTION *connection)
 Fix configuration after reading it.
const TDS_COMPILETIME_SETTINGStds_get_compiletime_settings (void)
 Return a structure capturing the compile-time settings provided to the configure script.
static char * tds_get_home_file (const char *file)
 Return filename from HOME directory.
void tds_lookup_host (const char *servername, char *ip)
 Given a servername and port name or number, lookup the hostname and service.
static int tds_lookup_port (const char *portname)
static void tds_parse_conf_section (const char *option, const char *value, void *param)
int tds_read_conf_file (TDSCONNECTION *connection, const char *server)
 Read configuration info for given server return 0 on error.
int tds_read_conf_section (FILE *in, const char *section, TDSCONFPARSE tds_conf_parse, void *param)
 Read a section of configuration file (INI style file).
static int tds_read_conf_sections (FILE *in, const char *server, TDSCONNECTION *connection)
TDSCONNECTION * tds_read_config_info (TDSSOCKET *tds, TDSLOGIN *login, TDSLOCALE *locale)
 tds_read_config_info() 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
static void tds_read_interfaces (const char *server, TDSCONNECTION *connection)
 Try to find the IP number and port for a (possibly) logical server name.
int tds_set_interfaces_file_loc (const char *interf)
 Set the full name of interface file.
static int tds_try_conf_file (const char *path, const char *how, const char *server, TDSCONNECTION *connection)

Detailed Description

Handle reading of configuration.


Function Documentation

static int parse_server_name_for_port TDSCONNECTION *  connection,
TDSLOGIN *  login
[static]
 

Check the server name to find port info first Warning: connection-> & login-> are all modified when needed.

Returns:
1 when found, else 0

static int search_interface_file TDSCONNECTION *  connection,
const char *  dir,
const char *  file,
const char *  host
[static]
 

Open and read the file 'file' searching for a logical server by the name of 'host'.

If one is found then lookup the IP address and port number and store them in 'connection'

Parameters:
dir name of base directory for interface file
file name of the interface file
host logical host to search for
Returns:
0 if not fount 1 if found

void tds_config_verstr const char *  tdsver,
TDSCONNECTION *  connection
 

Set TDS version from given string.

Parameters:
tdsver tds string version
connection where to store information

void tds_fix_connection TDSCONNECTION *  connection  ) 
 

Fix configuration after reading it.

Currently this read some environment variables and replace some options.

static char* tds_get_home_file const char *  file  )  [static]
 

Return filename from HOME directory.

Returns:
allocated string or NULL if error

void tds_lookup_host const char *  servername,
char *  ip
 

Given a servername and port name or number, lookup the hostname and service.

The server ip will be stored in the string 'servername' in dotted-decimal notation. The service port number will be stored in string form in the 'port' parameter.

If we can't determine both the IP address and port number then 'ip' and 'port' will be set to empty strings.

int tds_read_conf_file TDSCONNECTION *  connection,
const char *  server
 

Read configuration info for given server return 0 on error.

Parameters:
connection where to store configuration
server section of file configuration that hold configuration for a server

int tds_read_conf_section FILE *  in,
const char *  section,
TDSCONFPARSE  tds_conf_parse,
void *  param
 

Read a section of configuration file (INI style file).

Parameters:
in configuration file
section section to read
tds_conf_parse callback that receive every entry in section
param parameter to pass to callback function

TDSCONNECTION* tds_read_config_info TDSSOCKET *  tds,
TDSLOGIN *  login,
TDSLOCALE *  locale
 

tds_read_config_info() 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

.tdsrc and freetds.conf have been added to make the package easier to integration with various Linux and *BSD distributions.

static void tds_read_interfaces const char *  server,
TDSCONNECTION *  connection
[static]
 

Try to find the IP number and port for a (possibly) logical server name.

Note:
This function uses only the interfaces file and is deprecated.

int tds_set_interfaces_file_loc const char *  interf  ) 
 

Set the full name of interface file.

Parameters:
interf file name


Generated on Sat Jul 1 11:11:46 2006 for FreeTDS API by  doxygen 1.4.1