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, \
35 tds_ ## name ## _put, \
38 tds_func_get_info tds_generic_get_info;
39 tds_func_row_len tds_generic_row_len;
44 tds_func_get_info tds_numeric_get_info;
45 tds_func_row_len tds_numeric_row_len;
46 tds_func_get_data tds_numeric_get;
47 tds_func_put_info tds_numeric_put_info;
48 tds_func_put_data tds_numeric_put;
50 #define tds_variant_get_info tds_generic_get_info
51 #define tds_variant_row_len tds_generic_row_len
52 tds_func_get_data tds_variant_get;
53 tds_func_put_info tds_variant_put_info;
54 tds_func_put_data tds_variant_put;
56 tds_func_get_info tds_msdatetime_get_info;
57 tds_func_row_len tds_msdatetime_row_len;
58 tds_func_get_data tds_msdatetime_get;
59 tds_func_put_info tds_msdatetime_put_info;
60 tds_func_put_data tds_msdatetime_put;
62 tds_func_get_info tds_clrudt_get_info;
63 tds_func_row_len tds_clrudt_row_len;
64 #define tds_clrudt_get tds_generic_get
65 tds_func_put_info tds_clrudt_put_info;
66 #define tds_clrudt_put tds_generic_put
72 #ifndef TDS_DONT_DEFINE_DEFAULT_FUNCTIONS
73 # define TDS_DEFINE_DEFAULT_FUNCS(name) \
74 const TDSCOLUMNFUNCS tds_ ## name ## _funcs = TDS_COMMON_FUNCS(name);
76 TDS_DEFINE_DEFAULT_FUNCS(
generic);
77 TDS_DEFINE_DEFAULT_FUNCS(numeric);
78 TDS_DEFINE_DEFAULT_FUNCS(variant);
79 TDS_DEFINE_DEFAULT_FUNCS(msdatetime);
80 TDS_DEFINE_DEFAULT_FUNCS(clrudt);
83 #include <freetds/popvis.h>
TDSRET tds_generic_get(TDSSOCKET *tds, TDSCOLUMN *curcol)
Read a data from wire.
Definition: data.c:524
TDSRET tds_generic_put(TDSSOCKET *tds, TDSCOLUMN *curcol, int bcp7)
Write data to wire.
Definition: data.c:729
TDSRET tds_generic_put_info(TDSSOCKET *tds, TDSCOLUMN *col)
Put data information to wire.
Definition: data.c:689