4static SQLRETURN _SQLGetDiagRec(SQLSMALLINT handleType,
 
    8    SQLINTEGER * pfNativeError,
 
    9    ODBC_CHAR * szErrorMsg, SQLSMALLINT cbErrorMsgMax, SQLSMALLINT FAR* pcbErrorMsg, 
int wide);
 
   11SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDiagRecW(
 
   12    SQLSMALLINT handleType,
 
   14    SQLSMALLINT numRecord,
 
   16    SQLINTEGER * pfNativeError,
 
   17    SQLWCHAR * szErrorMsg, SQLSMALLINT cbErrorMsgMax, SQLSMALLINT FAR* pcbErrorMsg)
 
   19    TDSDUMP_LOG_FAST(TDS_DBG_FUNC, 
"SQLGetDiagRecW(%d, %p, %d, %p, %p, %p, %d, %p)\n",
 
   25            szErrorMsg, (
int) cbErrorMsgMax, pcbErrorMsg);
 
   26    return _SQLGetDiagRec(handleType,
 
   29        (ODBC_CHAR*) szSqlStat,
 
   31        (ODBC_CHAR*) szErrorMsg, cbErrorMsgMax, pcbErrorMsg, 1);
 
   35SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDiagRec(
 
   36    SQLSMALLINT handleType,
 
   38    SQLSMALLINT numRecord,
 
   40    SQLINTEGER * pfNativeError,
 
   41    SQLCHAR * szErrorMsg, SQLSMALLINT cbErrorMsgMax, SQLSMALLINT FAR* pcbErrorMsg)
 
   43    TDSDUMP_LOG_FAST(TDS_DBG_FUNC, 
"SQLGetDiagRec(%d, %p, %d, %p, %p, %p, %d, %p)\n",
 
   49            szErrorMsg, (
int) cbErrorMsgMax, pcbErrorMsg);
 
   50#ifdef ENABLE_ODBC_WIDE 
   51    return _SQLGetDiagRec(handleType,
 
   54        (ODBC_CHAR*) szSqlStat,
 
   56        (ODBC_CHAR*) szErrorMsg, cbErrorMsgMax, pcbErrorMsg, 0);
 
   58    return _SQLGetDiagRec(handleType,
 
   63        szErrorMsg, cbErrorMsgMax, pcbErrorMsg);
 
   67#ifdef ENABLE_ODBC_WIDE 
   68static SQLRETURN _SQLError(SQLHENV henv,
 
   71    ODBC_CHAR * szSqlStat,
 
   72    SQLINTEGER * pfNativeError,
 
   73    ODBC_CHAR * szErrorMsg, SQLSMALLINT cbErrorMsgMax, SQLSMALLINT FAR* pcbErrorMsg, 
int wide);
 
   75SQLRETURN ODBC_PUBLIC ODBC_API SQLErrorW(
 
   80    SQLINTEGER * pfNativeError,
 
   81    SQLWCHAR * szErrorMsg, SQLSMALLINT cbErrorMsgMax, SQLSMALLINT FAR* pcbErrorMsg)
 
   83    TDSDUMP_LOG_FAST(TDS_DBG_FUNC, 
"SQLErrorW(%p, %p, %p, %p, %p, %p, %d, %p)\n",
 
   89            szErrorMsg, (
int) cbErrorMsgMax, pcbErrorMsg);
 
   90    return _SQLError(henv,
 
   93        (ODBC_CHAR*) szSqlStat,
 
   95        (ODBC_CHAR*) szErrorMsg, cbErrorMsgMax, pcbErrorMsg, 1);
 
   99SQLRETURN ODBC_PUBLIC ODBC_API SQLError(
 
  104    SQLINTEGER * pfNativeError,
 
  105    SQLCHAR * szErrorMsg, SQLSMALLINT cbErrorMsgMax, SQLSMALLINT FAR* pcbErrorMsg)
 
  107    TDSDUMP_LOG_FAST(TDS_DBG_FUNC, 
"SQLError(%p, %p, %p, %p, %p, %p, %d, %p)\n",
 
  113            szErrorMsg, (
int) cbErrorMsgMax, pcbErrorMsg);
 
  114#ifdef ENABLE_ODBC_WIDE 
  115    return _SQLError(henv,
 
  118        (ODBC_CHAR*) szSqlStat,
 
  120        (ODBC_CHAR*) szErrorMsg, cbErrorMsgMax, pcbErrorMsg, 0);
 
  122    return _SQLError(henv,
 
  127        szErrorMsg, cbErrorMsgMax, pcbErrorMsg);
 
  131#ifdef ENABLE_ODBC_WIDE 
  132static SQLRETURN _SQLGetDiagField(SQLSMALLINT handleType,
 
  134    SQLSMALLINT numRecord,
 
  135    SQLSMALLINT diagIdentifier,
 
  137    SQLSMALLINT cbBuffer,
 
  138    SQLSMALLINT * pcbBuffer, 
int wide);
 
  140SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDiagFieldW(
 
  141    SQLSMALLINT handleType,
 
  143    SQLSMALLINT numRecord,
 
  144    SQLSMALLINT diagIdentifier,
 
  146    SQLSMALLINT cbBuffer,
 
  147    SQLSMALLINT * pcbBuffer)
 
  149    TDSDUMP_LOG_FAST(TDS_DBG_FUNC, 
"SQLGetDiagFieldW(%d, %p, %d, %d, %p, %d, %p)\n",
 
  153            (
int) diagIdentifier,
 
  157    return _SQLGetDiagField(handleType,
 
  167SQLRETURN ODBC_PUBLIC ODBC_API SQLGetDiagField(
 
  168    SQLSMALLINT handleType,
 
  170    SQLSMALLINT numRecord,
 
  171    SQLSMALLINT diagIdentifier,
 
  173    SQLSMALLINT cbBuffer,
 
  174    SQLSMALLINT * pcbBuffer)
 
  176    TDSDUMP_LOG_FAST(TDS_DBG_FUNC, 
"SQLGetDiagField(%d, %p, %d, %d, %p, %d, %p)\n",
 
  180            (
int) diagIdentifier,
 
  184#ifdef ENABLE_ODBC_WIDE 
  185    return _SQLGetDiagField(handleType,
 
  193    return _SQLGetDiagField(handleType,
 
  203#define tdsdump_log TDSDUMP_LOG_FAST