mirror of
git://source.winehq.org/git/wine.git
synced 2024-07-27 18:12:06 +00:00
af3a8fa27b
Implementations are guarded by native function pointer checks but all functions have been present in libodbc for a very long time, so it doesn't appear to be needed anymore. The loading code checks the LIB_ODBC_DRIVER_MANAGER environment variable to allow the user to override the system version of the library. This can be achieved by other means, if it's still needed.
1257 lines
23 KiB
C
1257 lines
23 KiB
C
/*
|
|
* Win32 ODBC functions
|
|
*
|
|
* Copyright 1999 Xiang Li, Corel Corporation
|
|
*
|
|
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*
|
|
* NOTES:
|
|
* Proxy ODBC driver manager. This manager delegates all ODBC
|
|
* calls to a real ODBC driver manager named by the environment
|
|
* variable LIB_ODBC_DRIVER_MANAGER, or to libodbc.so if the
|
|
* variable is not set.
|
|
*/
|
|
|
|
#include <stdarg.h>
|
|
#include "windef.h"
|
|
#include "winbase.h"
|
|
#include "wine/unixlib.h"
|
|
|
|
#define SUCCESS(ret) (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO)
|
|
|
|
enum sql_funcs
|
|
{
|
|
process_attach,
|
|
unix_SQLAllocConnect,
|
|
unix_SQLAllocEnv,
|
|
unix_SQLAllocHandle,
|
|
unix_SQLAllocHandleStd,
|
|
unix_SQLAllocStmt,
|
|
unix_SQLBindCol,
|
|
unix_SQLBindParam,
|
|
unix_SQLBindParameter,
|
|
unix_SQLBrowseConnect,
|
|
unix_SQLBrowseConnectW,
|
|
unix_SQLBulkOperations,
|
|
unix_SQLCancel,
|
|
unix_SQLCloseCursor,
|
|
unix_SQLColAttribute,
|
|
unix_SQLColAttributeW,
|
|
unix_SQLColAttributes,
|
|
unix_SQLColAttributesW,
|
|
unix_SQLColumnPrivileges,
|
|
unix_SQLColumnPrivilegesW,
|
|
unix_SQLColumns,
|
|
unix_SQLColumnsW,
|
|
unix_SQLConnect,
|
|
unix_SQLConnectW,
|
|
unix_SQLCopyDesc,
|
|
unix_SQLDataSources,
|
|
unix_SQLDataSourcesW,
|
|
unix_SQLDescribeCol,
|
|
unix_SQLDescribeColW,
|
|
unix_SQLDescribeParam,
|
|
unix_SQLDisconnect,
|
|
unix_SQLDriverConnect,
|
|
unix_SQLDriverConnectW,
|
|
unix_SQLDrivers,
|
|
unix_SQLDriversW,
|
|
unix_SQLEndTran,
|
|
unix_SQLError,
|
|
unix_SQLErrorW,
|
|
unix_SQLExecDirect,
|
|
unix_SQLExecDirectW,
|
|
unix_SQLExecute,
|
|
unix_SQLExtendedFetch,
|
|
unix_SQLFetch,
|
|
unix_SQLFetchScroll,
|
|
unix_SQLForeignKeys,
|
|
unix_SQLForeignKeysW,
|
|
unix_SQLFreeConnect,
|
|
unix_SQLFreeEnv,
|
|
unix_SQLFreeHandle,
|
|
unix_SQLFreeStmt,
|
|
unix_SQLGetConnectAttr,
|
|
unix_SQLGetConnectAttrW,
|
|
unix_SQLGetConnectOption,
|
|
unix_SQLGetConnectOptionW,
|
|
unix_SQLGetCursorName,
|
|
unix_SQLGetCursorNameW,
|
|
unix_SQLGetData,
|
|
unix_SQLGetDescField,
|
|
unix_SQLGetDescFieldW,
|
|
unix_SQLGetDescRec,
|
|
unix_SQLGetDescRecW,
|
|
unix_SQLGetDiagField,
|
|
unix_SQLGetDiagFieldW,
|
|
unix_SQLGetDiagRec,
|
|
unix_SQLGetDiagRecW,
|
|
unix_SQLGetEnvAttr,
|
|
unix_SQLGetFunctions,
|
|
unix_SQLGetInfo,
|
|
unix_SQLGetInfoW,
|
|
unix_SQLGetStmtAttr,
|
|
unix_SQLGetStmtAttrW,
|
|
unix_SQLGetStmtOption,
|
|
unix_SQLGetTypeInfo,
|
|
unix_SQLGetTypeInfoW,
|
|
unix_SQLMoreResults,
|
|
unix_SQLNativeSql,
|
|
unix_SQLNativeSqlW,
|
|
unix_SQLNumParams,
|
|
unix_SQLNumResultCols,
|
|
unix_SQLParamData,
|
|
unix_SQLParamOptions,
|
|
unix_SQLPrepare,
|
|
unix_SQLPrepareW,
|
|
unix_SQLPrimaryKeys,
|
|
unix_SQLPrimaryKeysW,
|
|
unix_SQLProcedureColumns,
|
|
unix_SQLProcedureColumnsW,
|
|
unix_SQLProcedures,
|
|
unix_SQLProceduresW,
|
|
unix_SQLPutData,
|
|
unix_SQLRowCount,
|
|
unix_SQLSetConnectAttr,
|
|
unix_SQLSetConnectAttrW,
|
|
unix_SQLSetConnectOption,
|
|
unix_SQLSetConnectOptionW,
|
|
unix_SQLSetCursorName,
|
|
unix_SQLSetCursorNameW,
|
|
unix_SQLSetDescField,
|
|
unix_SQLSetDescFieldW,
|
|
unix_SQLSetDescRec,
|
|
unix_SQLSetEnvAttr,
|
|
unix_SQLSetParam,
|
|
unix_SQLSetPos,
|
|
unix_SQLSetScrollOptions,
|
|
unix_SQLSetStmtAttr,
|
|
unix_SQLSetStmtAttrW,
|
|
unix_SQLSetStmtOption,
|
|
unix_SQLSpecialColumns,
|
|
unix_SQLSpecialColumnsW,
|
|
unix_SQLStatistics,
|
|
unix_SQLStatisticsW,
|
|
unix_SQLTablePrivileges,
|
|
unix_SQLTablePrivilegesW,
|
|
unix_SQLTables,
|
|
unix_SQLTablesW,
|
|
unix_SQLTransact,
|
|
unix_funcs_count
|
|
};
|
|
|
|
struct param
|
|
{
|
|
INT64 len; /* result length stored in Unix lib */
|
|
void *ptr; /* result length ptr passed by client */
|
|
};
|
|
|
|
struct param_binding
|
|
{
|
|
UINT32 count;
|
|
struct param *param;
|
|
};
|
|
|
|
struct handle
|
|
{
|
|
UINT64 unix_handle;
|
|
struct param_binding bind_col;
|
|
struct param_binding bind_param;
|
|
struct param_binding bind_parameter;
|
|
};
|
|
|
|
struct SQLAllocConnect_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
UINT64 ConnectionHandle;
|
|
};
|
|
|
|
struct SQLAllocEnv_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
};
|
|
|
|
struct SQLAllocHandle_params
|
|
{
|
|
INT16 HandleType;
|
|
UINT64 InputHandle;
|
|
UINT64 OutputHandle;
|
|
};
|
|
|
|
struct SQLAllocHandleStd_params
|
|
{
|
|
INT16 HandleType;
|
|
UINT64 InputHandle;
|
|
UINT64 OutputHandle;
|
|
};
|
|
|
|
struct SQLAllocStmt_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
UINT64 StatementHandle;
|
|
};
|
|
|
|
struct SQLBindCol_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ColumnNumber;
|
|
INT16 TargetType;
|
|
void *TargetValue;
|
|
INT64 BufferLength;
|
|
INT64 *StrLen_or_Ind;
|
|
};
|
|
|
|
struct SQLBindParam_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ParameterNumber;
|
|
INT16 ValueType;
|
|
INT16 ParameterType;
|
|
UINT64 LengthPrecision;
|
|
INT16 ParameterScale;
|
|
void *ParameterValue;
|
|
INT64 *StrLen_or_Ind;
|
|
};
|
|
|
|
struct SQLBindParameter_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ParameterNumber;
|
|
INT16 InputOutputType;
|
|
INT16 ValueType;
|
|
INT16 ParameterType;
|
|
UINT64 ColumnSize;
|
|
INT16 DecimalDigits;
|
|
void *ParameterValue;
|
|
INT64 BufferLength;
|
|
INT64 *StrLen_or_Ind;
|
|
};
|
|
|
|
struct SQLBrowseConnect_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
UCHAR *InConnectionString;
|
|
INT16 StringLength1;
|
|
UCHAR *OutConnectionString;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength2;
|
|
};
|
|
|
|
struct SQLBrowseConnectW_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
WCHAR *InConnectionString;
|
|
INT16 StringLength1;
|
|
WCHAR *OutConnectionString;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength2;
|
|
};
|
|
|
|
struct SQLBulkOperations_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT16 Operation;
|
|
};
|
|
|
|
struct SQLCancel_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
};
|
|
|
|
struct SQLCloseCursor_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
};
|
|
|
|
struct SQLColAttribute_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ColumnNumber;
|
|
UINT16 FieldIdentifier;
|
|
void *CharacterAttribute;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength;
|
|
INT64 *NumericAttribute;
|
|
};
|
|
|
|
struct SQLColAttributeW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ColumnNumber;
|
|
UINT16 FieldIdentifier;
|
|
void *CharacterAttribute;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength;
|
|
INT64 *NumericAttribute;
|
|
};
|
|
|
|
struct SQLColAttributes_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ColumnNumber;
|
|
UINT16 FieldIdentifier;
|
|
void *CharacterAttributes;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength;
|
|
INT64 *NumericAttributes;
|
|
};
|
|
|
|
struct SQLColAttributesW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ColumnNumber;
|
|
UINT16 FieldIdentifier;
|
|
void *CharacterAttributes;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength;
|
|
INT64 *NumericAttributes;
|
|
};
|
|
|
|
struct SQLColumnPrivileges_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
UCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
UCHAR *TableName;
|
|
INT16 NameLength3;
|
|
UCHAR *ColumnName;
|
|
INT16 NameLength4;
|
|
};
|
|
|
|
struct SQLColumnPrivilegesW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
WCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
WCHAR *TableName;
|
|
INT16 NameLength3;
|
|
WCHAR *ColumnName;
|
|
INT16 NameLength4;
|
|
};
|
|
|
|
struct SQLColumns_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
UCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
UCHAR *TableName;
|
|
INT16 NameLength3;
|
|
UCHAR *ColumnName;
|
|
INT16 NameLength4;
|
|
};
|
|
|
|
struct SQLColumnsW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
WCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
WCHAR *TableName;
|
|
INT16 NameLength3;
|
|
WCHAR *ColumnName;
|
|
INT16 NameLength4;
|
|
};
|
|
|
|
struct SQLConnect_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
UCHAR *ServerName;
|
|
INT16 NameLength1;
|
|
UCHAR *UserName;
|
|
INT16 NameLength2;
|
|
UCHAR *Authentication;
|
|
INT16 NameLength3;
|
|
};
|
|
|
|
struct SQLConnectW_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
WCHAR *ServerName;
|
|
INT16 NameLength1;
|
|
WCHAR *UserName;
|
|
INT16 NameLength2;
|
|
WCHAR *Authentication;
|
|
INT16 NameLength3;
|
|
};
|
|
|
|
struct SQLCopyDesc_params
|
|
{
|
|
UINT64 SourceDescHandle;
|
|
UINT64 TargetDescHandle;
|
|
};
|
|
|
|
struct SQLDataSources_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
UINT16 Direction;
|
|
UCHAR *ServerName;
|
|
INT16 BufferLength1;
|
|
INT16 *NameLength1;
|
|
UCHAR *Description;
|
|
INT16 BufferLength2;
|
|
INT16 *NameLength2;
|
|
};
|
|
|
|
struct SQLDataSourcesW_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
UINT16 Direction;
|
|
WCHAR *ServerName;
|
|
INT16 BufferLength1;
|
|
INT16 *NameLength1;
|
|
WCHAR *Description;
|
|
INT16 BufferLength2;
|
|
INT16 *NameLength2;
|
|
};
|
|
|
|
struct SQLDescribeCol_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ColumnNumber;
|
|
UCHAR *ColumnName;
|
|
INT16 BufferLength;
|
|
INT16 *NameLength;
|
|
INT16 *DataType;
|
|
UINT64 *ColumnSize;
|
|
INT16 *DecimalDigits;
|
|
INT16 *Nullable;
|
|
};
|
|
|
|
struct SQLDescribeColW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ColumnNumber;
|
|
WCHAR *ColumnName;
|
|
INT16 BufferLength;
|
|
INT16 *NameLength;
|
|
INT16 *DataType;
|
|
UINT64 *ColumnSize;
|
|
INT16 *DecimalDigits;
|
|
INT16 *Nullable;
|
|
};
|
|
|
|
struct SQLDescribeParam_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ParameterNumber;
|
|
INT16 *DataType;
|
|
UINT64 *ParameterSize;
|
|
INT16 *DecimalDigits;
|
|
INT16 *Nullable;
|
|
};
|
|
|
|
struct SQLDisconnect_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
};
|
|
|
|
struct SQLDriverConnect_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
void *WindowHandle;
|
|
UCHAR *ConnectionString;
|
|
INT16 Length;
|
|
UCHAR *OutConnectionString;
|
|
INT16 BufferLength;
|
|
INT16 *Length2;
|
|
UINT16 DriverCompletion;
|
|
};
|
|
|
|
struct SQLDriverConnectW_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
void *WindowHandle;
|
|
WCHAR *InConnectionString;
|
|
INT16 Length;
|
|
WCHAR *OutConnectionString;
|
|
INT16 BufferLength;
|
|
INT16 *Length2;
|
|
UINT16 DriverCompletion;
|
|
};
|
|
|
|
struct SQLDrivers_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
UINT16 Direction;
|
|
UCHAR *DriverDescription;
|
|
INT16 BufferLength1;
|
|
INT16 *DescriptionLength;
|
|
UCHAR *DriverAttributes;
|
|
INT16 BufferLength2;
|
|
INT16 *AttributesLength;
|
|
};
|
|
|
|
struct SQLDriversW_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
UINT16 Direction;
|
|
WCHAR *DriverDescription;
|
|
INT16 BufferLength1;
|
|
INT16 *DescriptionLength;
|
|
WCHAR *DriverAttributes;
|
|
INT16 BufferLength2;
|
|
INT16 *AttributesLength;
|
|
};
|
|
|
|
struct SQLEndTran_params
|
|
{
|
|
INT16 HandleType;
|
|
UINT64 Handle;
|
|
INT16 CompletionType;
|
|
};
|
|
|
|
struct SQLError_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
UINT64 ConnectionHandle;
|
|
UINT64 StatementHandle;
|
|
UCHAR *SqlState;
|
|
INT32 *NativeError;
|
|
UCHAR *MessageText;
|
|
INT16 BufferLength;
|
|
INT16 *TextLength;
|
|
};
|
|
|
|
struct SQLErrorW_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
UINT64 ConnectionHandle;
|
|
UINT64 StatementHandle;
|
|
WCHAR *SqlState;
|
|
INT32 *NativeError;
|
|
WCHAR *MessageText;
|
|
INT16 BufferLength;
|
|
INT16 *TextLength;
|
|
};
|
|
|
|
struct SQLExecDirect_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *StatementText;
|
|
INT32 TextLength;
|
|
};
|
|
|
|
struct SQLExecDirectW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *StatementText;
|
|
INT32 TextLength;
|
|
};
|
|
|
|
struct SQLExecute_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
};
|
|
|
|
struct SQLExtendedFetch_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 FetchOrientation;
|
|
INT64 FetchOffset;
|
|
UINT64 *RowCount;
|
|
UINT16 *RowStatusArray;
|
|
};
|
|
|
|
struct SQLFetch_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
};
|
|
|
|
struct SQLFetchScroll_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT16 FetchOrientation;
|
|
INT64 FetchOffset;
|
|
};
|
|
|
|
struct SQLForeignKeys_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *PkCatalogName;
|
|
INT16 NameLength1;
|
|
UCHAR *PkSchemaName;
|
|
INT16 NameLength2;
|
|
UCHAR *PkTableName;
|
|
INT16 NameLength3;
|
|
UCHAR *FkCatalogName;
|
|
INT16 NameLength4;
|
|
UCHAR *FkSchemaName;
|
|
INT16 NameLength5;
|
|
UCHAR *FkTableName;
|
|
INT16 NameLength6;
|
|
};
|
|
|
|
struct SQLForeignKeysW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *PkCatalogName;
|
|
INT16 NameLength1;
|
|
WCHAR *PkSchemaName;
|
|
INT16 NameLength2;
|
|
WCHAR *PkTableName;
|
|
INT16 NameLength3;
|
|
WCHAR *FkCatalogName;
|
|
INT16 NameLength4;
|
|
WCHAR *FkSchemaName;
|
|
INT16 NameLength5;
|
|
WCHAR *FkTableName;
|
|
INT16 NameLength6;
|
|
};
|
|
|
|
struct SQLFreeConnect_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
};
|
|
|
|
struct SQLFreeEnv_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
};
|
|
|
|
struct SQLFreeHandle_params
|
|
{
|
|
INT16 HandleType;
|
|
UINT64 Handle;
|
|
};
|
|
|
|
struct SQLFreeStmt_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 Option;
|
|
};
|
|
|
|
struct SQLGetConnectAttr_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
INT32 Attribute;
|
|
void *Value;
|
|
INT32 BufferLength;
|
|
INT32 *StringLength;
|
|
};
|
|
|
|
struct SQLGetConnectAttrW_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
INT32 Attribute;
|
|
void *Value;
|
|
INT32 BufferLength;
|
|
INT32 *StringLength;
|
|
};
|
|
|
|
struct SQLGetConnectOption_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
UINT16 Option;
|
|
void *Value;
|
|
};
|
|
|
|
struct SQLGetConnectOptionW_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
INT16 Option;
|
|
void *Value;
|
|
};
|
|
|
|
struct SQLGetCursorName_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *CursorName;
|
|
INT16 BufferLength;
|
|
INT16 *NameLength;
|
|
};
|
|
|
|
struct SQLGetCursorNameW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *CursorName;
|
|
INT16 BufferLength;
|
|
INT16 *NameLength;
|
|
};
|
|
|
|
struct SQLGetData_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ColumnNumber;
|
|
INT16 TargetType;
|
|
void *TargetValue;
|
|
INT64 BufferLength;
|
|
INT64 *StrLen_or_Ind;
|
|
};
|
|
|
|
struct SQLGetDescField_params
|
|
{
|
|
UINT64 DescriptorHandle;
|
|
INT16 RecNumber;
|
|
INT16 FieldIdentifier;
|
|
void *Value;
|
|
INT32 BufferLength;
|
|
INT32 *StringLength;
|
|
}
|
|
;
|
|
struct SQLGetDescFieldW_params
|
|
{
|
|
UINT64 DescriptorHandle;
|
|
INT16 RecNumber;
|
|
INT16 FieldIdentifier;
|
|
void *Value;
|
|
INT32 BufferLength;
|
|
INT32 *StringLength;
|
|
};
|
|
|
|
struct SQLGetDescRec_params
|
|
{
|
|
UINT64 DescriptorHandle;
|
|
INT16 RecNumber;
|
|
UCHAR *Name;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength;
|
|
INT16 *Type;
|
|
INT16 *SubType;
|
|
INT64 *Length;
|
|
INT16 *Precision;
|
|
INT16 *Scale;
|
|
INT16 *Nullable;
|
|
};
|
|
|
|
struct SQLGetDescRecW_params
|
|
{
|
|
UINT64 DescriptorHandle;
|
|
INT16 RecNumber;
|
|
WCHAR *Name;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength;
|
|
INT16 *Type;
|
|
INT16 *SubType;
|
|
INT64 *Length;
|
|
INT16 *Precision;
|
|
INT16 *Scale;
|
|
INT16 *Nullable;
|
|
};
|
|
|
|
struct SQLGetDiagField_params
|
|
{
|
|
INT16 HandleType;
|
|
UINT64 Handle;
|
|
INT16 RecNumber;
|
|
INT16 DiagIdentifier;
|
|
void *DiagInfo;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength;
|
|
};
|
|
|
|
struct SQLGetDiagFieldW_params
|
|
{
|
|
INT16 HandleType;
|
|
UINT64 Handle;
|
|
INT16 RecNumber;
|
|
INT16 DiagIdentifier;
|
|
void *DiagInfo;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength;
|
|
};
|
|
|
|
struct SQLGetDiagRec_params
|
|
{
|
|
INT16 HandleType;
|
|
UINT64 Handle;
|
|
INT16 RecNumber;
|
|
UCHAR *SqlState;
|
|
INT32 *NativeError;
|
|
UCHAR *MessageText;
|
|
INT16 BufferLength;
|
|
INT16 *TextLength;
|
|
};
|
|
|
|
struct SQLGetDiagRecW_params
|
|
{
|
|
INT16 HandleType;
|
|
UINT64 Handle;
|
|
INT16 RecNumber;
|
|
WCHAR *SqlState;
|
|
INT32 *NativeError;
|
|
WCHAR *MessageText;
|
|
INT16 BufferLength;
|
|
INT16 *TextLength;
|
|
};
|
|
|
|
struct SQLGetEnvAttr_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
INT32 Attribute;
|
|
void *Value;
|
|
INT32 BufferLength;
|
|
INT32 *StringLength;
|
|
};
|
|
|
|
struct SQLGetFunctions_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
UINT16 FunctionId;
|
|
UINT16 *Supported;
|
|
};
|
|
|
|
struct SQLGetInfo_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
UINT16 InfoType;
|
|
void *InfoValue;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength;
|
|
};
|
|
|
|
struct SQLGetInfoW_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
UINT16 InfoType;
|
|
void *InfoValue;
|
|
INT16 BufferLength;
|
|
INT16 *StringLength;
|
|
};
|
|
|
|
struct SQLGetStmtAttr_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT32 Attribute;
|
|
void *Value;
|
|
INT32 BufferLength;
|
|
INT32 *StringLength;
|
|
};
|
|
|
|
struct SQLGetStmtAttrW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT32 Attribute;
|
|
void *Value;
|
|
INT32 BufferLength;
|
|
INT32 *StringLength;
|
|
};
|
|
|
|
struct SQLGetStmtOption_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 Option;
|
|
void *Value;
|
|
};
|
|
|
|
struct SQLGetTypeInfo_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT16 DataType;
|
|
};
|
|
|
|
struct SQLGetTypeInfoW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT16 DataType;
|
|
};
|
|
|
|
struct SQLMoreResults_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
};
|
|
|
|
struct SQLNativeSql_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
UCHAR *InStatementText;
|
|
INT32 TextLength1;
|
|
UCHAR *OutStatementText;
|
|
INT32 BufferLength;
|
|
INT32 *TextLength2;
|
|
};
|
|
|
|
struct SQLNativeSqlW_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
WCHAR *InStatementText;
|
|
INT32 TextLength1;
|
|
WCHAR *OutStatementText;
|
|
INT32 BufferLength;
|
|
INT32 *TextLength2;
|
|
};
|
|
|
|
struct SQLNumParams_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT16 *ParameterCount;
|
|
};
|
|
|
|
struct SQLNumResultCols_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT16 *ColumnCount;
|
|
};
|
|
|
|
struct SQLParamData_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
void *Value;
|
|
};
|
|
|
|
struct SQLParamOptions_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT64 RowCount;
|
|
UINT64 *RowNumber;
|
|
};
|
|
|
|
struct SQLPrepare_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *StatementText;
|
|
INT32 TextLength;
|
|
};
|
|
|
|
struct SQLPrepareW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *StatementText;
|
|
INT32 TextLength;
|
|
};
|
|
|
|
struct SQLPrimaryKeys_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
UCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
UCHAR *TableName;
|
|
INT16 NameLength3;
|
|
};
|
|
|
|
struct SQLPrimaryKeysW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
WCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
WCHAR *TableName;
|
|
INT16 NameLength3;
|
|
};
|
|
|
|
struct SQLProcedureColumns_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
UCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
UCHAR *ProcName;
|
|
INT16 NameLength3;
|
|
UCHAR *ColumnName;
|
|
INT16 NameLength4;
|
|
};
|
|
|
|
struct SQLProcedureColumnsW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
WCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
WCHAR *ProcName;
|
|
INT16 NameLength3;
|
|
WCHAR *ColumnName;
|
|
INT16 NameLength4;
|
|
};
|
|
|
|
struct SQLProcedures_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
UCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
UCHAR *ProcName;
|
|
INT16 NameLength3;
|
|
};
|
|
|
|
struct SQLProceduresW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
WCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
WCHAR *ProcName;
|
|
INT16 NameLength3;
|
|
};
|
|
|
|
struct SQLPutData_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
void *Data;
|
|
INT64 StrLen_or_Ind;
|
|
};
|
|
|
|
struct SQLRowCount_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT64 *RowCount;
|
|
};
|
|
|
|
struct SQLSetConnectAttr_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
INT32 Attribute;
|
|
void *Value;
|
|
INT32 StringLength;
|
|
};
|
|
|
|
struct SQLSetConnectAttrW_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
INT32 Attribute;
|
|
void *Value;
|
|
INT32 StringLength;
|
|
};
|
|
|
|
struct SQLSetConnectOption_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
UINT16 Option;
|
|
UINT64 Value;
|
|
};
|
|
|
|
struct SQLSetConnectOptionW_params
|
|
{
|
|
UINT64 ConnectionHandle;
|
|
UINT16 Option;
|
|
UINT64 Value;
|
|
};
|
|
|
|
struct SQLSetCursorName_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *CursorName;
|
|
INT16 NameLength;
|
|
};
|
|
|
|
struct SQLSetCursorNameW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *CursorName;
|
|
INT16 NameLength;
|
|
};
|
|
|
|
struct SQLSetDescField_params
|
|
{
|
|
UINT64 DescriptorHandle;
|
|
INT16 RecNumber;
|
|
INT16 FieldIdentifier;
|
|
void *Value;
|
|
INT32 BufferLength;
|
|
};
|
|
|
|
struct SQLSetDescFieldW_params
|
|
{
|
|
UINT64 DescriptorHandle;
|
|
INT16 RecNumber;
|
|
INT16 FieldIdentifier;
|
|
void *Value;
|
|
INT32 BufferLength;
|
|
};
|
|
|
|
struct SQLSetDescRec_params
|
|
{
|
|
UINT64 DescriptorHandle;
|
|
INT16 RecNumber;
|
|
INT16 Type;
|
|
INT16 SubType;
|
|
INT64 Length;
|
|
INT16 Precision;
|
|
INT16 Scale;
|
|
void *Data;
|
|
INT64 *StringLength;
|
|
INT64 *Indicator;
|
|
};
|
|
|
|
struct SQLSetEnvAttr_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
INT32 Attribute;
|
|
void *Value;
|
|
INT32 StringLength;
|
|
};
|
|
|
|
struct SQLSetParam_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 ParameterNumber;
|
|
INT16 ValueType;
|
|
INT16 ParameterType;
|
|
UINT64 LengthPrecision;
|
|
INT16 ParameterScale;
|
|
void *ParameterValue;
|
|
INT64 *StrLen_or_Ind;
|
|
};
|
|
|
|
struct SQLSetPos_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT64 RowNumber;
|
|
UINT16 Operation;
|
|
UINT16 LockType;
|
|
};
|
|
|
|
struct SQLSetScrollOptions_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 Concurrency;
|
|
INT64 KeySetSize;
|
|
UINT16 RowSetSize;
|
|
};
|
|
|
|
struct SQLSetStmtAttr_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT32 Attribute;
|
|
void *Value;
|
|
INT32 StringLength;
|
|
};
|
|
|
|
struct SQLSetStmtAttrW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
INT32 Attribute;
|
|
void *Value;
|
|
INT32 StringLength;
|
|
};
|
|
|
|
struct SQLSetStmtOption_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 Option;
|
|
UINT64 Value;
|
|
};
|
|
|
|
struct SQLSpecialColumns_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 IdentifierType;
|
|
UCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
UCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
UCHAR *TableName;
|
|
INT16 NameLength3;
|
|
UINT16 Scope;
|
|
UINT16 Nullable;
|
|
};
|
|
|
|
struct SQLSpecialColumnsW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UINT16 IdentifierType;
|
|
WCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
WCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
WCHAR *TableName;
|
|
INT16 NameLength3;
|
|
UINT16 Scope;
|
|
UINT16 Nullable;
|
|
};
|
|
|
|
struct SQLStatistics_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
UCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
UCHAR *TableName;
|
|
INT16 NameLength3;
|
|
UINT16 Unique;
|
|
UINT16 Reserved;
|
|
};
|
|
|
|
struct SQLStatisticsW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
WCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
WCHAR *TableName;
|
|
INT16 NameLength3;
|
|
UINT16 Unique;
|
|
UINT16 Reserved;
|
|
};
|
|
|
|
struct SQLTablePrivileges_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
UCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
UCHAR *TableName;
|
|
INT16 NameLength3;
|
|
};
|
|
|
|
struct SQLTablePrivilegesW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
WCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
WCHAR *TableName;
|
|
INT16 NameLength3;
|
|
};
|
|
|
|
struct SQLTables_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
UCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
UCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
UCHAR *TableName;
|
|
INT16 NameLength3;
|
|
UCHAR *TableType;
|
|
INT16 NameLength4;
|
|
};
|
|
|
|
struct SQLTablesW_params
|
|
{
|
|
UINT64 StatementHandle;
|
|
WCHAR *CatalogName;
|
|
INT16 NameLength1;
|
|
WCHAR *SchemaName;
|
|
INT16 NameLength2;
|
|
WCHAR *TableName;
|
|
INT16 NameLength3;
|
|
WCHAR *TableType;
|
|
INT16 NameLength4;
|
|
};
|
|
|
|
struct SQLTransact_params
|
|
{
|
|
UINT64 EnvironmentHandle;
|
|
UINT64 ConnectionHandle;
|
|
UINT16 CompletionType;
|
|
};
|