File indexing completed on 2024-05-18 08:29:50
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef FAKESQL_H_INCLUDED
0018 #define FAKESQL_H_INCLUDED
0019
0020 #include <stddef.h>
0021
0022 #ifndef MODULE_SCOPE
0023 #define MODULE_SCOPE extern
0024 #endif
0025
0026
0027
0028 #define SQL_MAX_DSN_LENGTH 32
0029 #define SQL_MAX_MESSAGE_LENGTH 512
0030
0031
0032
0033 #ifndef _WIN32
0034 typedef int BOOL;
0035 typedef unsigned int DWORD;
0036 typedef void* HANDLE;
0037 typedef HANDLE HWND;
0038 typedef unsigned short WCHAR;
0039 typedef char* LPSTR;
0040 typedef WCHAR* LPWSTR;
0041 typedef const char* LPCSTR;
0042 typedef const WCHAR* LPCWSTR;
0043 typedef unsigned short WORD;
0044 #endif
0045 typedef void* PVOID;
0046 typedef short RETCODE;
0047 typedef long SDWORD;
0048 typedef short SWORD;
0049 typedef unsigned short USHORT;
0050 typedef USHORT UWORD;
0051
0052
0053
0054 typedef Tcl_WideInt SQLBIGINT;
0055 typedef unsigned char SQLCHAR;
0056 typedef double SQLDOUBLE;
0057 typedef void* SQLHANDLE;
0058 typedef SDWORD SQLINTEGER;
0059 typedef PVOID SQLPOINTER;
0060 typedef SWORD SQLSMALLINT;
0061 typedef Tcl_WideUInt SQLUBIGINT;
0062 typedef unsigned char SQLUCHAR;
0063 typedef unsigned int SQLUINTEGER;
0064 typedef UWORD SQLUSMALLINT;
0065 typedef WCHAR SQLWCHAR;
0066
0067 typedef SQLSMALLINT SQLRETURN;
0068
0069
0070
0071
0072 #if defined(_WIN64)
0073 typedef Tcl_WideInt SQLLEN;
0074 typedef Tcl_WideUInt SQLULEN;
0075 #else
0076 typedef SQLINTEGER SQLLEN;
0077 typedef SQLUINTEGER SQLULEN;
0078 #endif
0079
0080
0081
0082 typedef SQLHANDLE SQLHENV;
0083 typedef SQLHANDLE SQLHDBC;
0084 typedef SQLHANDLE SQLHSTMT;
0085 typedef HWND SQLHWND;
0086
0087 #define SQL_HANDLE_DBC 2
0088 #define SQL_HANDLE_ENV 1
0089 #define SQL_HANDLE_STMT 3
0090
0091
0092
0093 #define SQL_NULL_HANDLE ((SQLHANDLE) 0)
0094 #define SQL_NULL_HENV ((SQLHENV) 0)
0095 #define SQL_NULL_HDBC ((SQLHDBC) 0)
0096 #define SQL_NULL_HSTMT ((SQLHSTMT) 0)
0097
0098
0099
0100 enum _SQL_DATATYPE {
0101 SQL_BIGINT = -5,
0102 SQL_BINARY = -2,
0103 SQL_BIT = -7,
0104 SQL_CHAR = 1,
0105 SQL_DATE = 9,
0106 SQL_DECIMAL = 3,
0107 SQL_DOUBLE = 8,
0108 SQL_FLOAT = 6,
0109 SQL_INTEGER = 4,
0110 SQL_LONGVARBINARY = -4,
0111 SQL_LONGVARCHAR = -1,
0112 SQL_NUMERIC = 2,
0113 SQL_REAL = 7,
0114 SQL_SMALLINT = 5,
0115 SQL_TIME = 10,
0116 SQL_TIMESTAMP = 11,
0117 SQL_TINYINT = -6,
0118 SQL_VARBINARY = -3,
0119 SQL_VARCHAR = 12,
0120 SQL_WCHAR = -8,
0121 SQL_WVARCHAR = -9,
0122 SQL_WLONGVARCHAR = -10,
0123 };
0124
0125
0126
0127 #define SQL_SIGNED_OFFSET (-20)
0128
0129 #define SQL_C_BINARY SQL_BINARY
0130 #define SQL_C_CHAR SQL_CHAR
0131 #define SQL_C_DOUBLE SQL_DOUBLE
0132 #define SQL_C_LONG SQL_INTEGER
0133 #define SQL_C_SBIGINT SQL_BIGINT + SQL_SIGNED_OFFSET
0134 #define SQL_C_SLONG SQL_INTEGER + SQL_SIGNED_OFFSET
0135 #define SQL_C_WCHAR SQL_WCHAR
0136
0137
0138
0139 #define SQL_PARAM_INPUT 1
0140
0141
0142
0143 #define SQL_ERROR (-1)
0144 #define SQL_NO_DATA 100
0145 #define SQL_NO_TOTAL (-4)
0146 #define SQL_SUCCESS 0
0147 #define SQL_SUCCESS_WITH_INFO 1
0148 #define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
0149
0150
0151
0152 enum _SQL_DIAG {
0153 SQL_DIAG_SQLSTATE = 4,
0154 };
0155
0156
0157
0158 #define SQL_TXN_READ_COMMITTED 2
0159 #define SQL_TXN_READ_UNCOMMITTED 1
0160 #define SQL_TXN_REPEATABLE_READ 4
0161 #define SQL_TXN_SERIALIZABLE 8
0162
0163
0164
0165 #define SQL_MODE_READ_ONLY 1UL
0166 #define SQL_MODE_READ_WRITE 0UL
0167
0168
0169
0170 #define SQL_ACCESS_MODE 101
0171 #define SQL_AUTOCOMMIT 102
0172 #define SQL_TXN_ISOLATION 108
0173
0174
0175
0176 #define SQL_ATTR_ACCESS_MODE SQL_ACCESS_MODE
0177 #define SQL_ATTR_CONNECTION_TIMEOUT 113
0178 #define SQL_ATTR_ODBC_VERSION 200
0179 #define SQL_ATTR_TXN_ISOLATION SQL_TXN_ISOLATION
0180 #define SQL_ATTR_AUTOCOMMIT SQL_AUTOCOMMIT
0181
0182
0183
0184 #define SQL_NULLABLE_UNKNOWN 2
0185
0186
0187
0188 #define SQL_NULL_DATA (-1)
0189
0190
0191
0192 #define SQL_OV_ODBC3 3UL
0193 #define SQL_ODBC_VER 10
0194
0195
0196
0197 #define SQL_DRIVER_COMPLETE_REQUIRED 3
0198 #define SQL_DRIVER_NOPROMPT 0
0199
0200
0201
0202 #define SQL_ALL_TYPES 0
0203
0204
0205
0206 #define SQL_COMMIT 0
0207 #define SQL_ROLLBACK 1
0208
0209
0210
0211 #define SQL_FETCH_FIRST 2
0212 #define SQL_FETCH_FIRST_SYSTEM 32
0213 #define SQL_FETCH_FIRST_USER 31
0214 #define SQL_FETCH_NEXT 1
0215
0216
0217
0218 #define ODBC_ADD_DSN 1
0219 #define ODBC_CONFIG_DSN 2
0220 #define ODBC_REMOVE_DSN 3
0221 #define ODBC_ADD_SYS_DSN 4
0222 #define ODBC_CONFIG_SYS_DSN 5
0223 #define ODBC_REMOVE_SYS_DSN 6
0224
0225
0226
0227 #define ODBC_ERROR_GENERAL_ERR 1
0228 #define ODBC_ERROR_INVALID_BUFF_LEN 2
0229 #define ODBC_ERROR_INVALID_HWND 3
0230 #define ODBC_ERROR_INVALID_STR 4
0231 #define ODBC_ERROR_INVALID_REQUEST_TYPE 5
0232 #define ODBC_ERROR_COMPONENT_NOT_FOUND 6
0233 #define ODBC_ERROR_INVALID_NAME 7
0234 #define ODBC_ERROR_INVALID_KEYWORD_VALUE 8
0235 #define ODBC_ERROR_INVALID_DSN 9
0236 #define ODBC_ERROR_INVALID_INF 10
0237 #define ODBC_ERROR_REQUEST_FAILED 11
0238 #define ODBC_ERROR_INVALID_PATH 12
0239 #define ODBC_ERROR_LOAD_LIB_FAILED 13
0240 #define ODBC_ERROR_INVALID_PARAM_SEQUENCE 14
0241 #define ODBC_ERROR_INVALID_LOG_FILE 15
0242 #define ODBC_ERROR_USER_CANCELED 16
0243 #define ODBC_ERROR_USAGE_UPDATE_FAILED 17
0244 #define ODBC_ERROR_CREATE_DSN_FAILED 18
0245 #define ODBC_ERROR_WRITING_SYSINFO_FAILED 19
0246 #define ODBC_ERROR_REMOVE_DSN_FAILED 20
0247 #define ODBC_ERROR_OUT_OF_MEM 21
0248 #define ODBC_ERROR_OUTPUT_STRING_TRUNCATED 22
0249
0250
0251
0252 #ifdef _WIN32
0253 #define SQL_API __stdcall
0254 #define INSTAPI __stdcall
0255 #else
0256 #define SQL_API
0257 #define INSTAPI
0258 #endif
0259
0260 #include "odbcStubs.h"
0261 MODULE_SCOPE const odbcStubDefs* odbcStubs;
0262
0263
0264
0265
0266
0267
0268 MODULE_SCOPE BOOL (INSTAPI* SQLConfigDataSourceW)(HWND, WORD, LPCWSTR,
0269 LPCWSTR);
0270 MODULE_SCOPE BOOL (INSTAPI* SQLConfigDataSource)(HWND, WORD, LPCSTR, LPCSTR);
0271 MODULE_SCOPE BOOL (INSTAPI* SQLInstallerErrorW)(WORD, DWORD*, LPWSTR, WORD,
0272 WORD*);
0273 MODULE_SCOPE BOOL (INSTAPI* SQLInstallerError)(WORD, DWORD*, LPSTR, WORD,
0274 WORD*);
0275
0276
0277
0278
0279
0280 MODULE_SCOPE Tcl_LoadHandle OdbcInitStubs(Tcl_Interp*, Tcl_LoadHandle*);
0281
0282 #endif