Spaces:
Sleeping
Sleeping
/* | |
* fakesql.h -- | |
* | |
* Include file that defines the subset of SQL/CLI that TDBC | |
* uses, so that tdbc::odbc can build without an explicit ODBC | |
* dependency. It comprises only data type, constant and | |
* function declarations. | |
* | |
* The programmers of this file believe that it contains material not | |
* subject to copyright under the doctrines of scenes a faire and | |
* of merger of idea and expression. Accordingly, this file is in the | |
* public domain. | |
* | |
*----------------------------------------------------------------------------- | |
*/ | |
/* Limits */ | |
/* Fundamental data types */ | |
typedef int BOOL; | |
typedef unsigned int DWORD; | |
typedef void* HANDLE; | |
typedef HANDLE HWND; | |
typedef unsigned short WCHAR; | |
typedef char* LPSTR; | |
typedef WCHAR* LPWSTR; | |
typedef const char* LPCSTR; | |
typedef const WCHAR* LPCWSTR; | |
typedef unsigned short WORD; | |
typedef void* PVOID; | |
typedef short RETCODE; | |
typedef long SDWORD; | |
typedef short SWORD; | |
typedef unsigned short USHORT; | |
typedef USHORT UWORD; | |
/* ODBC data types */ | |
typedef Tcl_WideInt SQLBIGINT; | |
typedef unsigned char SQLCHAR; | |
typedef double SQLDOUBLE; | |
typedef void* SQLHANDLE; | |
typedef SDWORD SQLINTEGER; | |
typedef PVOID SQLPOINTER; | |
typedef SWORD SQLSMALLINT; | |
typedef Tcl_WideUInt SQLUBIGINT; | |
typedef unsigned char SQLUCHAR; | |
typedef unsigned int SQLUINTEGER; | |
typedef UWORD SQLUSMALLINT; | |
typedef WCHAR SQLWCHAR; | |
typedef SQLSMALLINT SQLRETURN; | |
/* TODO - Check how the SQLLEN and SQLULEN types are handled on | |
* 64-bit Unix. */ | |
typedef Tcl_WideInt SQLLEN; | |
typedef Tcl_WideUInt SQLULEN; | |
typedef SQLINTEGER SQLLEN; | |
typedef SQLUINTEGER SQLULEN; | |
/* Handle types */ | |
typedef SQLHANDLE SQLHENV; | |
typedef SQLHANDLE SQLHDBC; | |
typedef SQLHANDLE SQLHSTMT; | |
typedef HWND SQLHWND; | |
/* Null handles */ | |
/* SQL data types */ | |
enum _SQL_DATATYPE { | |
SQL_BIGINT = -5, | |
SQL_BINARY = -2, | |
SQL_BIT = -7, | |
SQL_CHAR = 1, | |
SQL_DATE = 9, | |
SQL_DECIMAL = 3, | |
SQL_DOUBLE = 8, | |
SQL_FLOAT = 6, | |
SQL_INTEGER = 4, | |
SQL_LONGVARBINARY = -4, | |
SQL_LONGVARCHAR = -1, | |
SQL_NUMERIC = 2, | |
SQL_REAL = 7, | |
SQL_SMALLINT = 5, | |
SQL_TIME = 10, | |
SQL_TIMESTAMP = 11, | |
SQL_TINYINT = -6, | |
SQL_VARBINARY = -3, | |
SQL_VARCHAR = 12, | |
SQL_WCHAR = -8, | |
SQL_WVARCHAR = -9, | |
SQL_WLONGVARCHAR = -10, | |
}; | |
/* C data types */ | |
/* Parameter transmission diretions */ | |
/* Status returns */ | |
/* Diagnostic fields */ | |
enum _SQL_DIAG { | |
SQL_DIAG_SQLSTATE = 4, | |
}; | |
/* Transaction isolation levels */ | |
/* Access modes */ | |
/* ODBC properties */ | |
/* ODBC attributes */ | |
/* Nullable? */ | |
/* Placeholder for length of missing data */ | |
/* ODBC versions */ | |
/* SQLDriverConnect flags */ | |
/* SQLGetTypeInfo flags */ | |
/* Transaction actions */ | |
/* Data source fetch flags */ | |
/* ODBCINST actions */ | |
/* ODBCINST errors */ | |
/* ODBC client library entry points */ | |
MODULE_SCOPE const odbcStubDefs* odbcStubs; | |
/* | |
* Additional entry points in ODBCINST - all of these are optional | |
* and resolved with Tcl_FindSymbol, not directly in Tcl_LoadLibrary. | |
*/ | |
MODULE_SCOPE BOOL (INSTAPI* SQLConfigDataSourceW)(HWND, WORD, LPCWSTR, | |
LPCWSTR); | |
MODULE_SCOPE BOOL (INSTAPI* SQLConfigDataSource)(HWND, WORD, LPCSTR, LPCSTR); | |
MODULE_SCOPE BOOL (INSTAPI* SQLInstallerErrorW)(WORD, DWORD*, LPWSTR, WORD, | |
WORD*); | |
MODULE_SCOPE BOOL (INSTAPI* SQLInstallerError)(WORD, DWORD*, LPSTR, WORD, | |
WORD*); | |
/* | |
* Function that initialises the stubs | |
*/ | |
MODULE_SCOPE Tcl_LoadHandle OdbcInitStubs(Tcl_Interp*, Tcl_LoadHandle*); | |