Handle reading of configuration. More...
Functions | |
| static int | hex2num (char *hex) |
| static int | hexdigit (int 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'. | |
| int | tds_config_boolean (const char *value) |
| static void | tds_config_encryption (const char *value, TDSCONNECTION *connection) |
| 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_tdsver (TDSCONNECTION *connection) |
| static void | tds_config_login (TDSCONNECTION *connection, TDSLOGIN *login) |
| TDS_USMALLINT | 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_SETTINGS * | tds_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. | |
| int | tds_lookup_host (const char *servername, char *ip) |
| Get the IP address for a hostname. | |
| static int | tds_lookup_port (const char *portname) |
| Given a portname lookup the port. | |
| 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 int | 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) |
Variables | |
| struct { | |
| unsigned char to_return | |
| char value [7] | |
| } | boolean_values [] |
Handle reading of configuration.
| 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.
| 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'
| dir | name of base directory for interface file | |
| file | name of the interface file | |
| host | logical host to search for |
| TDS_USMALLINT tds_config_verstr | ( | const char * | tdsver, | |
| TDSCONNECTION * | connection | |||
| ) |
Set TDS version from given string.
| 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.
| int tds_lookup_host | ( | const char * | servername, | |
| char * | ip | |||
| ) |
Get the IP address for a hostname.
Store server's IP address in the string 'ip' in dotted-decimal notation. (The "hostname" might itself be a dotted-decimal address.
If we can't determine the IP address then 'ip' will be set to empty string.
| static int tds_lookup_port | ( | const char * | portname | ) | [static] |
Given a portname lookup the port.
If we can't determine the port number then return 0.
| int tds_read_conf_file | ( | TDSCONNECTION * | connection, | |
| const char * | server | |||
| ) |
Read configuration info for given server return 0 on error.
| 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).
| 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 int tds_read_interfaces | ( | const char * | server, | |
| TDSCONNECTION * | connection | |||
| ) | [static] |
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.
| interf | file name |
1.6.3