00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef TDS_CHECKS_H
00021 #define TDS_CHECKS_H
00022
00023
00024
00025 #if ENABLE_EXTRA_CHECKS
00026 #define CHECK_STRUCT_EXTRA(func,s) func(s)
00027 #else
00028 #define CHECK_STRUCT_EXTRA(func,s)
00029 #endif
00030
00031 #define CHECK_TDS_EXTRA(tds) CHECK_STRUCT_EXTRA(tds_check_tds_extra,tds)
00032 #define CHECK_CONTEXT_EXTRA(ctx) CHECK_STRUCT_EXTRA(tds_check_context_extra,ctx)
00033 #define CHECK_TDSENV_EXTRA(env) CHECK_STRUCT_EXTRA(tds_check_env_extra,env)
00034 #define CHECK_COLUMN_EXTRA(column) CHECK_STRUCT_EXTRA(tds_check_column_extra,column)
00035 #define CHECK_RESULTINFO_EXTRA(res_info) CHECK_STRUCT_EXTRA(tds_check_resultinfo_extra,res_info)
00036 #define CHECK_PARAMINFO_EXTRA(res_info) CHECK_STRUCT_EXTRA(tds_check_resultinfo_extra,res_info)
00037 #define CHECK_CURSOR_EXTRA(cursor) CHECK_STRUCT_EXTRA(tds_check_cursor_extra,cursor)
00038 #define CHECK_DYNAMIC_EXTRA(dynamic) CHECK_STRUCT_EXTRA(tds_check_dynamic_extra,dynamic)
00039
00040 #if ENABLE_EXTRA_CHECKS
00041 void tds_check_tds_extra(const TDSSOCKET * tds);
00042 void tds_check_context_extra(const TDSCONTEXT * ctx);
00043 void tds_check_env_extra(const TDSENV * env);
00044 void tds_check_column_extra(const TDSCOLUMN * column);
00045 void tds_check_resultinfo_extra(const TDSRESULTINFO * res_info);
00046 void tds_check_cursor_extra(const TDSCURSOR * cursor);
00047 void tds_check_dynamic_extra(const TDSDYNAMIC * dynamic);
00048
00049 int tds_get_cardinal_type(int datatype);
00050 int tds_get_varint_size(TDSSOCKET * tds, int datatype);
00051 #endif
00052
00053 #endif