#ifndef DATABASE_ODBC_COMMON_BMX_RELEASE_WIN32_X64_H
#define DATABASE_ODBC_COMMON_BMX_RELEASE_WIN32_X64_H

#include <brl.mod/blitz.mod/.bmx/blitz.bmx.release.win32.x64.h>
int _bb_database_odbc_common();
extern BBINT bmx_odbc_SQLAllocHandle(BBINT bbt__type,BBBYTE* bbt_a,BBBYTE* bbt_handle);
extern BBINT bmx_odbc_freeEnvHandle(BBBYTE* bbt_handle);
extern BBINT bmx_odbc_freeStmtHandle(BBBYTE* bbt_handle);
extern BBSTRING bmx_odbc_envError(BBBYTE* bbt_envHandle,BBINT* bbt_code);
extern BBSTRING bmx_odbc_connError(BBBYTE* bbt_envHandle,BBINT* bbt_code);
extern BBSTRING bmx_odbc_stmtError(BBBYTE* bbt_envHandle,BBINT* bbt_code);
extern void bmx_odbc_setattr_odbc3(BBBYTE* bbt_envHandle);
extern BBINT bmx_odbc_SQLDriverConnect(BBBYTE* bbt_handle,BBBYTE* bbt_connectString,BBINT bbt_connLength);
extern BBINT bmx_odbc_toggleTransaction(BBBYTE* bbt_handle,BBINT bbt_toggle);
extern BBINT bmx_odbc_commitTransaction(BBBYTE* bbt_handle);
extern BBINT bmx_odbc_rollbackTransaction(BBBYTE* bbt_handle);
extern void bmx_odbc_disconnectAndFree(BBBYTE* bbt_handle);
extern BBINT bmx_odbc_SQLRowCount(BBBYTE* bbt_stmt,BBINT* bbt_num);
extern BBINT bmx_odbc_setForwardCursor(BBBYTE* bbt_stmt);
extern BBINT bmx_odbc_execute(BBBYTE* bbt_stmt,BBBYTE* bbt_query,BBINT bbt_size);
extern void bmx_odbc_SQLNumResultCols(BBBYTE* bbt_stmt,BBINT* bbt_count);
extern BBINT bmx_odbc_SQLDescribeCol(BBBYTE* bbt_stmt,BBINT bbt_column,BBBYTE* bbt_columnName,BBINT bbt_bufferLength,BBINT* bbt_nameLength,BBINT* bbt_dataType,BBINT* bbt_columnSize,BBINT* bbt_decimalDigits,BBINT* bbt_nullable);
extern BBINT bmx_odbc_SQLFetchScroll(BBBYTE* bbt_stmt);
extern BBINT bmx_odbc_SQLGetData_int(BBBYTE* bbt_stmt,BBINT bbt_index,BBINT* bbt_value,BBINT* bbt_indicator);
extern BBINT bmx_odbc_SQLGetData_long(BBBYTE* bbt_stmt,BBINT bbt_index,BBLONG* bbt_value,BBINT* bbt_indicator);
extern BBINT bmx_odbc_SQLGetData_double(BBBYTE* bbt_stmt,BBINT bbt_index,BBDOUBLE* bbt_value,BBINT* bbt_indicator);
extern BBINT bmx_odbc_SQLGetData_string(BBBYTE* bbt_stmt,BBINT bbt_index,BBBYTE* bbt_buffer,BBINT bbt_bufferLength,BBINT* bbt_indicator);
extern BBINT bmx_odbc_SQLGetData_datetime(BBBYTE* bbt_stmt,BBINT bbt_index,BBINT* bbt_y,BBINT* bbt_m,BBINT* bbt_d,BBINT* bbt_hh,BBINT* bbt_mm,BBINT* bbt_ss,BBINT* bbt_indicator);
extern BBINT bmx_odbc_SQLGetData_date(BBBYTE* bbt_stmt,BBINT bbt_index,BBINT* bbt_y,BBINT* bbt_m,BBINT* bbt_d,BBINT* bbt_indicator);
extern BBINT bmx_odbc_SQLGetData_time(BBBYTE* bbt_stmt,BBINT bbt_index,BBINT* bbt_hh,BBINT* bbt_mm,BBINT* bbt_ss,BBINT* bbt_indicator);
extern BBINT bmx_odbc_prepare(BBBYTE* bbt_stmt,BBBYTE* bbt_query,BBINT bbt_size);
extern BBINT bmx_odbc_executePrepared(BBBYTE* bbt_stmt);
extern BBINT bmx_odbc_SQLBindParameter_int(BBBYTE* bbt_stmt,BBINT bbt_index,BBINT* bbt_value,BBINT* bbt_isNull);
extern BBINT bmx_odbc_SQLBindParameter_double(BBBYTE* bbt_stmt,BBINT bbt_index,BBDOUBLE* bbt_value,BBINT* bbt_isNull);
extern BBINT bmx_odbc_SQLBindParameter_long(BBBYTE* bbt_stmt,BBINT bbt_index,BBLONG* bbt_value,BBINT* bbt_isNull);
extern BBINT bmx_odbc_SQLBindParameter_string(BBBYTE* bbt_stmt,BBINT bbt_index,BBBYTE* bbt_value,BBINT bbt_length,BBINT* bbt_isNull);
extern BBINT bmx_odbc_SQLTables(BBBYTE* bbt_stmt,BBBYTE* bbt__type,BBINT bbt_length);

#endif
