20#ifndef _tdsguard_eI8iNo9FExd6aRlc3im79S_
21#define _tdsguard_eI8iNo9FExd6aRlc3im79S_
27#include <freetds/pushvis.h>
30#define TDS_SDIR_SEPARATOR L"\\"
31typedef wchar_t tds_dir_char;
33#define tds_dir_open _wfopen
34#define tds_dir_getenv _wgetenv
35#define tds_dir_dup _wcsdup
36#define tds_dir_len wcslen
37#define tds_dir_cmp wcscmp
39#define tds_dir_snprintf(buf, sz, ...) _snwprintf_s(buf, sz, _TRUNCATE, __VA_ARGS__)
40#define TDS_DIR_(s) L ## s
41#define TDS_DIR(s) TDS_DIR_(s)
43tds_dir_char *tds_dir_from_cstr(
const char *path);
45#define TDS_SDIR_SEPARATOR "/"
46typedef char tds_dir_char;
48#define tds_dir_open fopen
49#define tds_dir_getenv getenv
50#define tds_dir_dup strdup
51#define tds_dir_len strlen
52#define tds_dir_cmp strcmp
53#define tds_dir_snprintf snprintf
56#define tds_dir_from_cstr(s) strdup(s)
59tds_dir_char *tds_get_homedir(
void);
60tds_dir_char *tds_join_path(
const tds_dir_char * dir,
const tds_dir_char * file);
61tds_dir_char *tds_get_home_file(
const tds_dir_char * file);
63#include <freetds/popvis.h>