20#ifndef _freetds_data_h_
21#define _freetds_data_h_
24# error Include tds.h before data.h
27#include <freetds/pushvis.h>
29#define TDS_COMMON_FUNCS(name) \
31 tds_ ## name ## _get_info, \
32 tds_ ## name ## _get, \
33 tds_ ## name ## _row_len, \
34 tds_ ## name ## _put_info_len, \
35 tds_ ## name ## _put_info, \
36 tds_ ## name ## _put, \
37 TDS_EXTRA_CHECK(tds_ ## name ## _check) \
40tds_func_get_info tds_invalid_get_info;
41tds_func_row_len tds_invalid_row_len;
42tds_func_get_data tds_invalid_get;
43tds_func_put_info_len tds_invalid_put_info_len;
44tds_func_put_info tds_invalid_put_info;
45tds_func_put_data tds_invalid_put;
46tds_func_check tds_invalid_check;
48tds_func_get_info tds_generic_get_info;
49tds_func_row_len tds_generic_row_len;
50tds_func_get_data tds_generic_get;
51tds_func_put_info_len tds_generic_put_info_len;
52tds_func_put_info tds_generic_put_info;
53tds_func_put_data tds_generic_put;
54tds_func_check tds_generic_check;
56tds_func_get_info tds_numeric_get_info;
57tds_func_row_len tds_numeric_row_len;
58tds_func_get_data tds_numeric_get;
59tds_func_put_info_len tds_numeric_put_info_len;
60tds_func_put_info tds_numeric_put_info;
61tds_func_put_data tds_numeric_put;
62tds_func_check tds_numeric_check;
64#define tds_variant_get_info tds_generic_get_info
65#define tds_variant_row_len tds_generic_row_len
66tds_func_get_data tds_variant_get;
67#define tds_variant_put_info_len tds_generic_put_info_len
68tds_func_put_info tds_variant_put_info;
69tds_func_put_data tds_variant_put;
70tds_func_check tds_variant_check;
72tds_func_get_info tds_msdatetime_get_info;
73tds_func_row_len tds_msdatetime_row_len;
74tds_func_get_data tds_msdatetime_get;
75#define tds_msdatetime_put_info_len tds_generic_put_info_len
76tds_func_put_info tds_msdatetime_put_info;
77tds_func_put_data tds_msdatetime_put;
78tds_func_check tds_msdatetime_check;
80tds_func_get_info tds_clrudt_get_info;
81tds_func_row_len tds_clrudt_row_len;
82#define tds_clrudt_get tds_generic_get
83tds_func_put_info_len tds_clrudt_put_info_len;
84tds_func_put_info tds_clrudt_put_info;
85#define tds_clrudt_put tds_generic_put
86tds_func_check tds_clrudt_check;
88tds_func_get_info tds_sybbigtime_get_info;
89tds_func_row_len tds_sybbigtime_row_len;
90tds_func_get_data tds_sybbigtime_get;
91tds_func_put_info_len tds_sybbigtime_put_info_len;
92tds_func_put_info tds_sybbigtime_put_info;
93tds_func_put_data tds_sybbigtime_put;
94tds_func_check tds_sybbigtime_check;
100#ifndef TDS_DONT_DEFINE_DEFAULT_FUNCTIONS
101# define TDS_DEFINE_DEFAULT_FUNCS(name) \
102 const TDSCOLUMNFUNCS tds_ ## name ## _funcs = TDS_COMMON_FUNCS(name)
104TDS_DEFINE_DEFAULT_FUNCS(invalid);
105TDS_DEFINE_DEFAULT_FUNCS(generic);
106TDS_DEFINE_DEFAULT_FUNCS(numeric);
107TDS_DEFINE_DEFAULT_FUNCS(variant);
108TDS_DEFINE_DEFAULT_FUNCS(msdatetime);
109TDS_DEFINE_DEFAULT_FUNCS(clrudt);
110TDS_DEFINE_DEFAULT_FUNCS(sybbigtime);
113#include <freetds/popvis.h>