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;
32#define tds_dir_open _wfopen
33#define tds_dir_getenv _wgetenv
34#define tds_dir_dup _wcsdup
35#define tds_dir_len wcslen
36#define tds_dir_cmp wcscmp
38#define tds_dir_snprintf(buf, sz, ...) _snwprintf_s(buf, sz, _TRUNCATE, __VA_ARGS__)
39#define TDS_DIR_(s) L ## s
40#define TDS_DIR(s) TDS_DIR_(s)
42tds_dir_char *tds_dir_from_cstr(
const char *path);
44#define TDS_SDIR_SEPARATOR "/"
45typedef char tds_dir_char;
46#define tds_dir_open fopen
47#define tds_dir_getenv getenv
48#define tds_dir_dup strdup
49#define tds_dir_len strlen
50#define tds_dir_cmp strcmp
51#define tds_dir_snprintf snprintf
54#define tds_dir_from_cstr(s) strdup(s)
57tds_dir_char *tds_get_homedir(
void);
58tds_dir_char* tds_join_path(
const tds_dir_char *dir,
const tds_dir_char *file);
59tds_dir_char *tds_get_home_file(
const tds_dir_char *file);
61#include <freetds/popvis.h>