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, \ 
   36    TDS_EXTRA_CHECK(tds_ ## name ## _check) \ 
   39tds_func_get_info tds_invalid_get_info;
 
   40tds_func_row_len  tds_invalid_row_len;
 
   41tds_func_get_data tds_invalid_get;
 
   42tds_func_put_info tds_invalid_put_info;
 
   43tds_func_put_data tds_invalid_put;
 
   44tds_func_check    tds_invalid_check;
 
   46tds_func_get_info tds_generic_get_info;
 
   47tds_func_row_len  tds_generic_row_len;
 
   48tds_func_get_data tds_generic_get;
 
   49tds_func_put_info tds_generic_put_info;
 
   50tds_func_put_data tds_generic_put;
 
   51tds_func_check    tds_generic_check;
 
   53tds_func_get_info tds_numeric_get_info;
 
   54tds_func_row_len  tds_numeric_row_len;
 
   55tds_func_get_data tds_numeric_get;
 
   56tds_func_put_info tds_numeric_put_info;
 
   57tds_func_put_data tds_numeric_put;
 
   58tds_func_check    tds_numeric_check;
 
   60#define tds_variant_get_info tds_generic_get_info 
   61#define tds_variant_row_len  tds_generic_row_len 
   62tds_func_get_data tds_variant_get;
 
   63tds_func_put_info tds_variant_put_info;
 
   64tds_func_put_data tds_variant_put;
 
   65tds_func_check    tds_variant_check;
 
   67tds_func_get_info tds_msdatetime_get_info;
 
   68tds_func_row_len  tds_msdatetime_row_len;
 
   69tds_func_get_data tds_msdatetime_get;
 
   70tds_func_put_info tds_msdatetime_put_info;
 
   71tds_func_put_data tds_msdatetime_put;
 
   72tds_func_check    tds_msdatetime_check;
 
   74tds_func_get_info tds_clrudt_get_info;
 
   75tds_func_row_len  tds_clrudt_row_len;
 
   76#define tds_clrudt_get tds_generic_get 
   77tds_func_put_info tds_clrudt_put_info;
 
   78#define tds_clrudt_put tds_generic_put 
   79tds_func_check    tds_clrudt_check;
 
   81tds_func_get_info tds_sybbigtime_get_info;
 
   82tds_func_row_len  tds_sybbigtime_row_len;
 
   83tds_func_get_data tds_sybbigtime_get;
 
   84tds_func_put_info tds_sybbigtime_put_info;
 
   85tds_func_put_data tds_sybbigtime_put;
 
   86tds_func_check    tds_sybbigtime_check;
 
   88tds_func_get_info tds_mstabletype_get_info;
 
   89tds_func_row_len  tds_mstabletype_row_len;
 
   90tds_func_get_data tds_mstabletype_get;
 
   91tds_func_put_info tds_mstabletype_put_info;
 
   92tds_func_put_data tds_mstabletype_put;
 
   93tds_func_check    tds_mstabletype_check;
 
   99#ifndef TDS_DONT_DEFINE_DEFAULT_FUNCTIONS 
  100#  define TDS_DEFINE_DEFAULT_FUNCS(name) \ 
  101    const TDSCOLUMNFUNCS tds_ ## name ## _funcs = TDS_COMMON_FUNCS(name) 
  103TDS_DEFINE_DEFAULT_FUNCS(invalid);
 
  104TDS_DEFINE_DEFAULT_FUNCS(generic);
 
  105TDS_DEFINE_DEFAULT_FUNCS(numeric);
 
  106TDS_DEFINE_DEFAULT_FUNCS(variant);
 
  107TDS_DEFINE_DEFAULT_FUNCS(msdatetime);
 
  108TDS_DEFINE_DEFAULT_FUNCS(clrudt);
 
  109TDS_DEFINE_DEFAULT_FUNCS(sybbigtime);
 
  110TDS_DEFINE_DEFAULT_FUNCS(mstabletype);
 
  113#include <freetds/popvis.h>