af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright (C) 1999 Xiang Li
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * a choice of LGPL license versions is made available with the language indicating
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync * of the LGPL is applied is otherwise unspecified.
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync */
b955672b950093ff7416d1269dd4d3b69983bd8fvboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifndef __SQLTYPES_H
af062818b47340eef15700d2f0211576ba3506eevboxsync#define __SQLTYPES_H
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifndef ODBCVER
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ODBCVER 0x0351
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef __cplusplus
af062818b47340eef15700d2f0211576ba3506eevboxsyncextern "C" {
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned char SQLCHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef WINE_UNICODE_NATIVE
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef wchar_t SQLWCHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsync#else
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned short SQLWCHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifndef UNICODE
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLCHAR SQLTCHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsync#else
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLWCHAR SQLTCHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned char SQLDATE;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned char SQLDECIMAL;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef double SQLDOUBLE;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef double SQLFLOAT;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef long SQLINTEGER;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned char SQLNUMERIC;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef void * SQLPOINTER;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef float SQLREAL;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef signed short int SQLSMALLINT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned short SQLUSMALLINT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned char SQLTIME;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned char SQLTIMESTAMP;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned char SQLVARCHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLSMALLINT SQLRETURN;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/* typedef void * SQLHANDLE; */
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLINTEGER SQLHANDLE;
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLHANDLE SQLHENV;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLHANDLE SQLHDBC;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLHANDLE SQLHSTMT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLHANDLE SQLHDESC;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#else
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLINTEGER SQLHENV;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLINTEGER SQLHDBC;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLINTEGER SQLHSTMT;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef signed char SCHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SCHAR SQLSCHAR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef long int SDWORD;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef signed short int SWORD;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned long int UDWORD;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned short int UWORD;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef UDWORD SQLUINTEGER;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef signed long SLONG;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef signed short SSHORT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef double SDOUBLE;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef double LDOUBLE;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef float SFLOAT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef void* PTR;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef signed short RETCODE;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef void* SQLHWND;
af062818b47340eef15700d2f0211576ba3506eevboxsync
5112e32d7072e280613921c982a6672f2c859cf3vboxsync#ifdef _WIN64
5112e32d7072e280613921c982a6672f2c859cf3vboxsynctypedef INT64 SQLLEN;
5112e32d7072e280613921c982a6672f2c859cf3vboxsynctypedef UINT64 SQLULEN;
5112e32d7072e280613921c982a6672f2c859cf3vboxsynctypedef UINT64 SQLSETPOSIROW;
5112e32d7072e280613921c982a6672f2c859cf3vboxsync#else
5112e32d7072e280613921c982a6672f2c859cf3vboxsync#define SQLLEN SQLINTEGER
5112e32d7072e280613921c982a6672f2c859cf3vboxsync#define SQLULEN SQLUINTEGER
5112e32d7072e280613921c982a6672f2c859cf3vboxsync#define SQLSETPOSIROW SQLUSMALLINT
5112e32d7072e280613921c982a6672f2c859cf3vboxsync#endif
5112e32d7072e280613921c982a6672f2c859cf3vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLHANDLE HENV;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLHANDLE HDBC;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef SQLHANDLE HSTMT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifndef __SQLDATE
af062818b47340eef15700d2f0211576ba3506eevboxsync#define __SQLDATE
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagDATE_STRUCT
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLSMALLINT year;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUSMALLINT month;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUSMALLINT day;
af062818b47340eef15700d2f0211576ba3506eevboxsync} DATE_STRUCT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef DATE_STRUCT SQL_DATE_STRUCT;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagTIME_STRUCT
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUSMALLINT hour;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUSMALLINT minute;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUSMALLINT second;
af062818b47340eef15700d2f0211576ba3506eevboxsync} TIME_STRUCT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef TIME_STRUCT SQL_TIME_STRUCT;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagTIMESTAMP_STRUCT
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLSMALLINT year;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUSMALLINT month;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUSMALLINT day;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUSMALLINT hour;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUSMALLINT minute;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUSMALLINT second;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUINTEGER fraction;
af062818b47340eef15700d2f0211576ba3506eevboxsync} TIMESTAMP_STRUCT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_YEAR = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_MONTH = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_DAY = 3,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_HOUR = 4,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_MINUTE = 5,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_SECOND = 6,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_YEAR_TO_MONTH = 7,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_DAY_TO_HOUR = 8,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_DAY_TO_MINUTE = 9,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_DAY_TO_SECOND = 10,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_HOUR_TO_MINUTE = 11,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_HOUR_TO_SECOND = 12,
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_IS_MINUTE_TO_SECOND = 13
af062818b47340eef15700d2f0211576ba3506eevboxsync} SQLINTERVAL;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagSQL_YEAR_MONTH
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUINTEGER year;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUINTEGER month;
af062818b47340eef15700d2f0211576ba3506eevboxsync} SQL_YEAR_MONTH_STRUCT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagSQL_DAY_SECOND
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUINTEGER day;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUINTEGER hour;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUINTEGER minute;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUINTEGER second;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLUINTEGER fraction;
af062818b47340eef15700d2f0211576ba3506eevboxsync} SQL_DAY_SECOND_STRUCT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagSQL_INTERVAL_STRUCT
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLINTERVAL interval_type;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLSMALLINT interval_sign;
af062818b47340eef15700d2f0211576ba3506eevboxsync union {
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_YEAR_MONTH_STRUCT year_month;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQL_DAY_SECOND_STRUCT day_second;
af062818b47340eef15700d2f0211576ba3506eevboxsync } intval;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync} SQL_INTERVAL_STRUCT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define ODBCINT64 long
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef ODBCINT64
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef ODBCINT64 SQLBIGINT;
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned ODBCINT64 SQLUBIGINT;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0300)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_MAX_NUMERIC_LEN 16
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagSQL_NUMERIC_STRUCT
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLCHAR precision;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLSCHAR scale;
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLCHAR sign; /* 1=pos 0=neg */
af062818b47340eef15700d2f0211576ba3506eevboxsync SQLCHAR val[SQL_MAX_NUMERIC_LEN];
af062818b47340eef15700d2f0211576ba3506eevboxsync} SQL_NUMERIC_STRUCT;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#if (ODBCVER >= 0x0350)
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef GUID_DEFINED
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef GUID SQLGUID;
af062818b47340eef15700d2f0211576ba3506eevboxsync#else
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef struct tagSQLGUID
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD Data1;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD Data2;
af062818b47340eef15700d2f0211576ba3506eevboxsync WORD Data3;
af062818b47340eef15700d2f0211576ba3506eevboxsync BYTE Data4[ 8 ];
af062818b47340eef15700d2f0211576ba3506eevboxsync} SQLGUID;
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef unsigned long int BOOKMARK;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_WCHAR (-8)
af062818b47340eef15700d2f0211576ba3506eevboxsync#define SQL_C_WCHAR SQL_WCHAR
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#ifdef __cplusplus
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync#endif