.bm 8
.fm 4
.bt $Copyright by   SAP AG, 2002$$Page %$
.tm 12
.hm 6
.hs 3
.tt 1 $SQL$Project Distributed Database System$VPA80WC$
.tt 2 $$$
.TT 3 $BurkhardD$ODBC GENERATE SOURCE BEGIN$1995-11-08$
***********************************************************
.nf


    ========== licence begin LGPL
    Copyright (C) 2000 SAP AG

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    ========== licence end

.fo
Module  :  ODBC ODBC GENERATE TRACE ENTRY HEADER
=========
.sp
Purpose :
.CM *-END-* purpose -------------------------------------
Define  :
#ifndef DEBUG
#line 19 "vpa80wc"
#endif
#ifndef PA80_LIBNAME			/* don't reinclude */
#ifdef WIN
#include <windows.h>
#define PA81_MODULPREFIX "pa81"
#define PA80_LIBNAME "sqlodan.dll"
#define PA80_TRACE_ON 1
#define PA80_END      99

#define PA80_PROCADDRTYPE(x) (FAR PASCAL *t_##x)
#define PA80_DECPROCADDR(x) t_##x lp##x
#define PA80_PROCADDR(x) lp##x
#define PA80_MAKEPROCADDR(x) (PASCAL FAR *lp##x)
#define PA80_PROC(x) PA_PROC(x)

#define PA80_INITPROCADDR(p, hinst, x) (FARPROC)p->lp##x = GetProcAddress( hinst, PA81_MODULPREFIX#x)
#define PA80_GETPROCADDR(hinst, x) (FARPROC)lp##x = GetProcAddress( hinst, #x)

typedef struct {
UCHAR FunctionName[20];
SWORD OrdinalNumber;
VOID FAR *FunctionAddr;
SDWORD Switch;
} pa80ODBCFunctionNameStruct;

/* defines the struct entry  {FunctionName, OrdinalNumber, FunctionAddr, Switch}, */
#define PA80_MAKESTRUCTENTRY(x, n) {#x, n, NULL, PA80_TRACE_ON},

#define PA80_CASESTRING(buffer, x) \
case (##x): {\
API_STRCPY(buffer, #x);\
break;\
}

typedef VOID PA80_PROCADDRTYPE(SQLAllocConnect) ( HENV henv, HDBC FAR *phdbc);
typedef VOID PA80_PROCADDRTYPE(SQLAllocEnv) ( HENV FAR *phenv);
typedef VOID PA80_PROCADDRTYPE(SQLAllocStmt) ( HDBC hdbc, HSTMT FAR *phstmt);
typedef VOID PA80_PROCADDRTYPE(SQLBindCol) ( SQLHSTMT hstmt, SQLUSMALLINT icol, SQLSMALLINT fCType, SQLPOINTER rgbValue, SQLLEN cbValueMax, SQLLEN FAR *pcbValue);
typedef VOID PA80_PROCADDRTYPE(SQLBindParameter) ( SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT fParamType, SQLSMALLINT fCType, SQLSMALLINT fSqlType, SQLULEN cbColDef, SQLSMALLINT ibScale, SQLPOINTER rgbValue, SQLLEN cbValueMax, SQLLEN *pcbValue);
typedef VOID PA80_PROCADDRTYPE(SQLBrowseConnect) ( HDBC hdbc, UCHAR FAR *szConnStrIn, SWORD cbConnStrIn, UCHAR FAR *szConnStrOut, SWORD cbConnStrOutMax, SWORD FAR *pcbConnStrOut);
typedef VOID PA80_PROCADDRTYPE(SQLCancel) ( HSTMT hstmt);
typedef VOID PA80_PROCADDRTYPE(SQLColAttributes) ( HSTMT hstmt, UWORD icol, UWORD fDescType, PTR rgbDesc, SWORD cbDescMax, SWORD FAR *pcbDesc, SDWORD FAR *pfDesc);
typedef VOID PA80_PROCADDRTYPE(SQLColumnPrivileges) ( HSTMT hstmt, UCHAR FAR *szTableQualifier, SWORD cbTableQualifier, UCHAR FAR *szTableOwner, SWORD cbTableOwner, UCHAR FAR *szTableName, SWORD cbTableName, UCHAR FAR *szColumnName, SWORD cbColumnName);
typedef VOID PA80_PROCADDRTYPE(SQLColumns) ( HSTMT hstmt, UCHAR FAR *szTableQualifier, SWORD cbTableQualifier, UCHAR FAR *szTableOwner, SWORD cbTableOwner, UCHAR FAR *szTableName, SWORD cbTableName, UCHAR FAR *szColumnName, SWORD cbColumnName);
typedef VOID PA80_PROCADDRTYPE(SQLConnect) ( HDBC hdbc, UCHAR FAR *szDSN, SWORD cbDSN, UCHAR FAR *szUID, SWORD cbUID, UCHAR FAR *szAuthStr, SWORD cbAuthStr);
typedef VOID PA80_PROCADDRTYPE(SQLDataSources) ( HENV henv, UWORD fDirection, UCHAR FAR *szDSN, SWORD cbDSNMax, SWORD FAR *pcbDSN, UCHAR FAR *szDescription, SWORD cbDescriptionMax, SWORD FAR *pcbDescription);
typedef VOID PA80_PROCADDRTYPE(SQLDescribeCol) ( HSTMT hstmt, UWORD icol, UCHAR FAR *szColName, SWORD cbColNameMax, SWORD FAR *pcbColName, SWORD FAR *pfSqlType, UDWORD FAR *pcbColDef, SWORD FAR *pibScale, SWORD FAR *pfNullable);
typedef VOID PA80_PROCADDRTYPE(SQLDescribeParam) ( HSTMT hstmt, UWORD ipar, SWORD FAR *pfSqlType, UDWORD FAR *pcbColDef, SWORD FAR *pibScale, SWORD FAR *pfNullable);
typedef VOID PA80_PROCADDRTYPE(SQLDisconnect) ( HDBC hdbc);
typedef VOID PA80_PROCADDRTYPE(SQLDriverConnect) ( HDBC hdbc, HWND hwnd, UCHAR FAR *szConnStrIn, SWORD cbConnStrIn, UCHAR FAR *szConnStrOut, SWORD cbConnStrOutMax, SWORD FAR *pcbConnStrOut, UWORD fDriverCompletion);
typedef VOID PA80_PROCADDRTYPE(SQLError) ( HENV henv, HDBC hdbc, HSTMT hstmt, UCHAR FAR *szSqlState, SDWORD FAR *pfNativeError, UCHAR FAR *szErrorMsg, SWORD cbErrorMsgMax, SWORD FAR *pcbErrorMsg);
typedef VOID PA80_PROCADDRTYPE(SQLExecDirect) ( HSTMT hstmt, UCHAR FAR *szSqlStr, SDWORD cbSqlStr);
typedef VOID PA80_PROCADDRTYPE(SQLExecute) ( HSTMT hstmt);
typedef VOID PA80_PROCADDRTYPE(SQLExtendedFetch) ( SQLHSTMT hstmt, SQLUSMALLINT fFetchType, SQLROWOFFSET irow, SQLROWSETSIZE *pcrow, SQLUSMALLINT *rgfRowStatus);
typedef VOID PA80_PROCADDRTYPE(SQLFetch) ( HSTMT hstmt);
typedef VOID PA80_PROCADDRTYPE(SQLForeignKeys) ( HSTMT hstmt, UCHAR FAR *szPkTableQualifier, SWORD cbPkTableQualifier, UCHAR FAR *szPkTableOwner, SWORD cbPkTableOwner, UCHAR FAR *szPkTableName, SWORD cbPkTableName, 
UCHAR FAR *szFkTableQualifier, SWORD cbFkTableQualifier, UCHAR FAR *szFkTableOwner, SWORD cbFkTableOwner, UCHAR FAR *szFkTableName, SWORD cbFkTableName);
typedef VOID PA80_PROCADDRTYPE(SQLFreeConnect) ( HDBC hdbc);
typedef VOID PA80_PROCADDRTYPE(SQLFreeEnv) ( HENV henv);
typedef VOID PA80_PROCADDRTYPE(SQLFreeStmt) ( HSTMT hstmt, UWORD fOption);
typedef VOID PA80_PROCADDRTYPE(SQLGetConnectOption) ( HDBC hdbc, UWORD fOption, PTR pvParam);
typedef VOID PA80_PROCADDRTYPE(SQLGetCursorName) ( HSTMT hstmt, UCHAR FAR *szCursor, SWORD cbCursorMax, SWORD FAR *pcbCursor);
typedef VOID PA80_PROCADDRTYPE(SQLGetData) ( SQLHSTMT hstmt, SQLUSMALLINT icol, SQLSMALLINT fCType, SQLPOINTER rgbValue, SQLLEN cbValueMax, SQLLEN *pcbValue);
typedef VOID PA80_PROCADDRTYPE(SQLGetFunctions) ( HDBC hdbc, UWORD fFunction, UWORD FAR *pfExists);
typedef VOID PA80_PROCADDRTYPE(SQLGetInfo) ( HDBC hdbc, UWORD fInfoType, PTR rgbInfoValue, SWORD cbInfoValueMax, SWORD FAR *pcbInfoValue);
typedef VOID PA80_PROCADDRTYPE(SQLGetStmtOption) ( HSTMT hstmt, UWORD fOption, PTR pvParam);
typedef VOID PA80_PROCADDRTYPE(SQLGetTypeInfo) ( HSTMT hstmt, SWORD fSqlType);
typedef VOID PA80_PROCADDRTYPE(SQLMoreResults) ( HSTMT hstmt);
typedef VOID PA80_PROCADDRTYPE(SQLNativeSql) ( HDBC hdbc, UCHAR FAR *szSqlStrIn, SDWORD cbSqlStrIn, UCHAR FAR *szSqlStr, SDWORD cbSqlStrMax, SDWORD FAR *pcbSqlStr);
typedef VOID PA80_PROCADDRTYPE(SQLNumParams) ( HSTMT hstmt, SWORD FAR *pcpar);
typedef VOID PA80_PROCADDRTYPE(SQLNumResultCols) ( HSTMT hstmt, SWORD FAR *pccol);
typedef VOID PA80_PROCADDRTYPE(SQLParamData) ( HSTMT hstmt, PTR FAR *prgbValue);
typedef VOID PA80_PROCADDRTYPE(SQLParamOptions) ( HSTMT hstmt, UDWORD crow, UDWORD FAR *pirow);
typedef VOID PA80_PROCADDRTYPE(SQLPrepare) ( HSTMT hstmt, UCHAR FAR *szSqlStr, SDWORD cbSqlStr);
typedef VOID PA80_PROCADDRTYPE(SQLPrimaryKeys) ( HSTMT hstmt, UCHAR FAR *szTableQualifier, SWORD cbTableQualifier, UCHAR FAR *szTableOwner, SWORD cbTableOwner, UCHAR FAR *szTableName, SWORD cbTableName);
typedef VOID PA80_PROCADDRTYPE(SQLProcedureColumns) ( HSTMT hstmt, UCHAR FAR *szProcQualifier, SWORD cbProcQualifier, UCHAR FAR *szProcOwner, SWORD cbProcOwner, UCHAR FAR *szProcName, SWORD cbProcName, UCHAR FAR *szColumnName, SWORD cbColumnName);
typedef VOID PA80_PROCADDRTYPE(SQLProcedures) ( HSTMT hstmt, UCHAR FAR *szProcQualifier, SWORD cbProcQualifier, UCHAR FAR *szProcOwner, SWORD cbProcOwner, UCHAR FAR *szProcName, SWORD cbProcName);
typedef VOID PA80_PROCADDRTYPE(SQLPutData) ( HSTMT hstmt, PTR rgbValue, SDWORD cbValue);
typedef VOID PA80_PROCADDRTYPE(SQLRowCount) ( HSTMT hstmt, SDWORD FAR *pcrow);
typedef VOID PA80_PROCADDRTYPE(SQLSetConnectOption) ( HDBC hdbc, UWORD fOption, UDWORD vParam);
typedef VOID PA80_PROCADDRTYPE(SQLSetCursorName) ( HSTMT hstmt, UCHAR FAR *szCursor, SWORD cbCursor);
typedef VOID PA80_PROCADDRTYPE(SQLSetParam) (SQLHSTMT hstmt, SQLUSMALLINT ipar, SQLSMALLINT fCType, SQLSMALLINT fSqlType, SQLULEN cbColDef, SQLSMALLINT ibScale, SQLPOINTER  rgbValue, SQLLEN *pcbValue);
typedef VOID PA80_PROCADDRTYPE(SQLSetPos) ( SQLHSTMT hstmt, SQLSETPOSIROW irow, SQLUSMALLINT fOption, SQLUSMALLINT fLock);
typedef VOID PA80_PROCADDRTYPE(SQLSetScrollOptions) ( SQLHSTMT hstmt, SQLUSMALLINT fConcurrency, SQLLEN crowKeyset, SQLUSMALLINT crowRowset);
typedef VOID PA80_PROCADDRTYPE(SQLSetStmtOption) ( HSTMT hstmt, UWORD fOption, UDWORD vParam);
typedef VOID PA80_PROCADDRTYPE(SQLSpecialColumns) ( HSTMT hstmt, UWORD fColType, UCHAR FAR *szTableQualifier, SWORD cbTableQualifier, UCHAR FAR *szTableOwner, SWORD cbTableOwner, UCHAR FAR *szTableName, SWORD cbTableName, UWORD fScope, UWORD fNullable);
typedef VOID PA80_PROCADDRTYPE(SQLStatistics) ( HSTMT hstmt, UCHAR FAR *szTableQualifier, SWORD cbTableQualifier, UCHAR FAR *szTableOwner, SWORD cbTableOwner, UCHAR FAR *szTableName, SWORD cbTableName, UWORD fUnique, UWORD fAccuracy);
typedef VOID PA80_PROCADDRTYPE(SQLTablePrivileges) ( HSTMT hstmt, UCHAR FAR *szTableQualifier, SWORD cbTableQualifier, 
UCHAR FAR *szTableOwner, SWORD cbTableOwner, UCHAR FAR *szTableName, SWORD cbTableName);
typedef VOID PA80_PROCADDRTYPE(SQLTables) ( HSTMT hstmt, UCHAR FAR *szTableQualifier, SWORD cbTableQualifier, UCHAR FAR *szTableOwner, SWORD cbTableOwner, UCHAR FAR *szTableName, SWORD cbTableName, UCHAR FAR *szTableType, SWORD cbTableType);
typedef VOID PA80_PROCADDRTYPE(SQLTransact) ( HENV henv, HDBC hdbc, UWORD fType);

typedef struct {
PA80_DECPROCADDR(SQLAllocConnect);
PA80_DECPROCADDR(SQLAllocEnv);
PA80_DECPROCADDR(SQLAllocStmt);
PA80_DECPROCADDR(SQLBindCol);
PA80_DECPROCADDR(SQLBindParameter);
PA80_DECPROCADDR(SQLBrowseConnect);
PA80_DECPROCADDR(SQLCancel);
PA80_DECPROCADDR(SQLColAttributes);
PA80_DECPROCADDR(SQLColumnPrivileges);
PA80_DECPROCADDR(SQLColumns);
PA80_DECPROCADDR(SQLConnect);
PA80_DECPROCADDR(SQLDataSources);
PA80_DECPROCADDR(SQLDescribeCol);
PA80_DECPROCADDR(SQLDescribeParam);
PA80_DECPROCADDR(SQLDisconnect);
PA80_DECPROCADDR(SQLDriverConnect);
PA80_DECPROCADDR(SQLError);
PA80_DECPROCADDR(SQLExecDirect);
PA80_DECPROCADDR(SQLExecute);
PA80_DECPROCADDR(SQLExtendedFetch);
PA80_DECPROCADDR(SQLFetch);
PA80_DECPROCADDR(SQLForeignKeys);
PA80_DECPROCADDR(SQLFreeConnect);
PA80_DECPROCADDR(SQLFreeEnv);
PA80_DECPROCADDR(SQLFreeStmt);
PA80_DECPROCADDR(SQLGetConnectOption);
PA80_DECPROCADDR(SQLGetCursorName);
PA80_DECPROCADDR(SQLGetData);
PA80_DECPROCADDR(SQLGetFunctions);
PA80_DECPROCADDR(SQLGetInfo);
PA80_DECPROCADDR(SQLGetStmtOption);
PA80_DECPROCADDR(SQLGetTypeInfo);
PA80_DECPROCADDR(SQLMoreResults);
PA80_DECPROCADDR(SQLNativeSql);
PA80_DECPROCADDR(SQLNumParams);
PA80_DECPROCADDR(SQLNumResultCols);
PA80_DECPROCADDR(SQLParamData);
PA80_DECPROCADDR(SQLParamOptions);
PA80_DECPROCADDR(SQLPrepare);
PA80_DECPROCADDR(SQLPrimaryKeys);
PA80_DECPROCADDR(SQLProcedureColumns);
PA80_DECPROCADDR(SQLProcedures);
PA80_DECPROCADDR(SQLPutData);
PA80_DECPROCADDR(SQLRowCount);
PA80_DECPROCADDR(SQLSetConnectOption);
PA80_DECPROCADDR(SQLSetCursorName);
PA80_DECPROCADDR(SQLSetParam);
PA80_DECPROCADDR(SQLSetPos);
PA80_DECPROCADDR(SQLSetScrollOptions);
PA80_DECPROCADDR(SQLSetStmtOption);
PA80_DECPROCADDR(SQLSpecialColumns);
PA80_DECPROCADDR(SQLStatistics);
PA80_DECPROCADDR(SQLTablePrivileges);
PA80_DECPROCADDR(SQLTables);
PA80_DECPROCADDR(SQLTransact);
} pa80ODBCFunctionsStruct;

pa80ODBCFunctionsStruct pa80AnalyserFunctions;

VOID PA80_MAKEPROCADDR(pa81InitLibrary) ( HANDLE hModule, pa80ODBCFunctionsStruct *ODBCFunctions);
#else /* WIN */
#define PA80_PROC(x)
#endif /* WIN */			   
#endif /* PA80_LIBNAME */
.CM *-END-* define --------------------------------------
Use     :
.CM *-END-* use -----------------------------------------
Synonym :
.CM *-END-* synonym -------------------------------------
.sp;.cp 3
Author  : BurkhardD
.sp
.cp 3
Created : 08-31-1993
.sp
.cp 3
Version : 1994-04-25
.sp
.cp 3
Release : 6.1.2      Date : 1995-11-03
.sp
Specification:
.CM *-END-* specification -------------------------------
.sp 2
***********************************************************
.sp
.cp 10
.fo
.oc _/1
Description:
.CM *-END-* description ---------------------------------
.sp 2
***********************************************************
.sp
.cp 10
.nf
.oc _/1
Structure:
.CM *-END-* structure -----------------------------------
.sp 2
**********************************************************
.sp
.cp 10
.nf
.CM -lll-
Code    :

.CM *-END-* code ----------------------------------------
.SP 2 
***********************************************************
