|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  | #ifndef __SQLTYPES | 
|  | #define __SQLTYPES | 
|  |  | 
|  | #ifndef ODBCVER | 
|  | #define ODBCVER 0x0351 | 
|  | #endif | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #ifndef EXPORT | 
|  | #define EXPORT | 
|  | #endif | 
|  |  | 
|  | #if defined(_ARM_) | 
|  | #define SQL_API | 
|  | #else | 
|  | #define SQL_API __stdcall | 
|  | #endif | 
|  |  | 
|  | #ifndef RC_INVOKED | 
|  |  | 
|  | typedef unsigned char SQLCHAR; | 
|  | #if (ODBCVER >= 0x0300) | 
|  | typedef signed char SQLSCHAR; | 
|  | typedef unsigned char SQLDATE; | 
|  | typedef unsigned char SQLDECIMAL; | 
|  | typedef double SQLDOUBLE; | 
|  | typedef double SQLFLOAT; | 
|  | #endif | 
|  | typedef __LONG32 SQLINTEGER; | 
|  | typedef unsigned __LONG32 SQLUINTEGER; | 
|  |  | 
|  | #ifdef _WIN64 | 
|  | typedef INT64 SQLLEN; | 
|  | typedef UINT64 SQLULEN; | 
|  | typedef UINT64 SQLSETPOSIROW; | 
|  | #else | 
|  | #define SQLLEN SQLINTEGER | 
|  | #define SQLULEN SQLUINTEGER | 
|  | #define SQLSETPOSIROW SQLUSMALLINT | 
|  | #endif | 
|  |  | 
|  | typedef SQLULEN SQLROWCOUNT; | 
|  | typedef SQLULEN SQLROWSETSIZE; | 
|  | typedef SQLULEN SQLTRANSID; | 
|  | typedef SQLLEN SQLROWOFFSET; | 
|  |  | 
|  | #if (ODBCVER >= 0x0300) | 
|  | typedef unsigned char SQLNUMERIC; | 
|  | #endif | 
|  | typedef void *SQLPOINTER; | 
|  | #if (ODBCVER >= 0x0300) | 
|  | typedef float SQLREAL; | 
|  | #endif | 
|  | typedef short SQLSMALLINT; | 
|  | typedef unsigned short SQLUSMALLINT; | 
|  | #if (ODBCVER >= 0x0300) | 
|  | typedef unsigned char SQLTIME; | 
|  | typedef unsigned char SQLTIMESTAMP; | 
|  | typedef unsigned char SQLVARCHAR; | 
|  | #endif | 
|  |  | 
|  | typedef SQLSMALLINT SQLRETURN; | 
|  |  | 
|  | #if (ODBCVER >= 0x0300) | 
|  | typedef void *SQLHANDLE; | 
|  | typedef SQLHANDLE SQLHENV; | 
|  | typedef SQLHANDLE SQLHDBC; | 
|  | typedef SQLHANDLE SQLHSTMT; | 
|  | typedef SQLHANDLE SQLHDESC; | 
|  | #else | 
|  | typedef void *SQLHENV; | 
|  | typedef void *SQLHDBC; | 
|  | typedef void *SQLHSTMT; | 
|  | #endif | 
|  |  | 
|  | #ifndef BASETYPES | 
|  | #define BASETYPES | 
|  | typedef unsigned __LONG32 ULONG; | 
|  | typedef ULONG *PULONG; | 
|  | typedef unsigned short USHORT; | 
|  | typedef USHORT *PUSHORT; | 
|  | typedef unsigned char UCHAR; | 
|  | typedef UCHAR *PUCHAR; | 
|  | typedef char *PSZ; | 
|  | #endif | 
|  |  | 
|  | typedef signed char SCHAR; | 
|  | #if (ODBCVER < 0x0300) | 
|  | typedef SCHAR SQLSCHAR; | 
|  | #endif | 
|  | typedef __LONG32 SDWORD; | 
|  | typedef short int SWORD; | 
|  | typedef unsigned __LONG32 UDWORD; | 
|  | typedef unsigned short int UWORD; | 
|  |  | 
|  | typedef signed __LONG32 SLONG; | 
|  | typedef signed short SSHORT; | 
|  | typedef double SDOUBLE; | 
|  | typedef double LDOUBLE; | 
|  | typedef float SFLOAT; | 
|  | typedef void *PTR; | 
|  | typedef void *HENV; | 
|  | typedef void *HDBC; | 
|  | typedef void *HSTMT; | 
|  | typedef signed short RETCODE; | 
|  | typedef HWND SQLHWND; | 
|  |  | 
|  | #ifndef __SQLDATE | 
|  | #define __SQLDATE | 
|  |  | 
|  | typedef struct tagDATE_STRUCT { | 
|  | SQLSMALLINT year; | 
|  | SQLUSMALLINT month; | 
|  | SQLUSMALLINT day; | 
|  | } DATE_STRUCT; | 
|  |  | 
|  | #if (ODBCVER >= 0x0300) | 
|  | typedef DATE_STRUCT SQL_DATE_STRUCT; | 
|  | #endif | 
|  |  | 
|  | typedef struct tagTIME_STRUCT { | 
|  | SQLUSMALLINT hour; | 
|  | SQLUSMALLINT minute; | 
|  | SQLUSMALLINT second; | 
|  | } TIME_STRUCT; | 
|  |  | 
|  | #if (ODBCVER >= 0x0300) | 
|  | typedef TIME_STRUCT SQL_TIME_STRUCT; | 
|  | #endif | 
|  |  | 
|  | typedef struct tagTIMESTAMP_STRUCT { | 
|  | SQLSMALLINT year; | 
|  | SQLUSMALLINT month; | 
|  | SQLUSMALLINT day; | 
|  | SQLUSMALLINT hour; | 
|  | SQLUSMALLINT minute; | 
|  | SQLUSMALLINT second; | 
|  | SQLUINTEGER fraction; | 
|  | } TIMESTAMP_STRUCT; | 
|  |  | 
|  | #if (ODBCVER >= 0x0300) | 
|  | typedef TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT; | 
|  | #endif | 
|  |  | 
|  | #if (ODBCVER >= 0x0300) | 
|  | typedef enum { | 
|  | SQL_IS_YEAR = 1,SQL_IS_MONTH = 2,SQL_IS_DAY = 3,SQL_IS_HOUR = 4,SQL_IS_MINUTE = 5,SQL_IS_SECOND = 6,SQL_IS_YEAR_TO_MONTH = 7, | 
|  | SQL_IS_DAY_TO_HOUR = 8,SQL_IS_DAY_TO_MINUTE = 9,SQL_IS_DAY_TO_SECOND = 10,SQL_IS_HOUR_TO_MINUTE = 11,SQL_IS_HOUR_TO_SECOND = 12, | 
|  | SQL_IS_MINUTE_TO_SECOND = 13 | 
|  | } SQLINTERVAL; | 
|  | #endif | 
|  |  | 
|  | #if (ODBCVER >= 0x0300) | 
|  | typedef struct tagSQL_YEAR_MONTH { | 
|  | SQLUINTEGER year; | 
|  | SQLUINTEGER month; | 
|  | } SQL_YEAR_MONTH_STRUCT; | 
|  |  | 
|  | typedef struct tagSQL_DAY_SECOND { | 
|  | SQLUINTEGER day; | 
|  | SQLUINTEGER hour; | 
|  | SQLUINTEGER minute; | 
|  | SQLUINTEGER second; | 
|  | SQLUINTEGER fraction; | 
|  | } SQL_DAY_SECOND_STRUCT; | 
|  |  | 
|  | typedef struct tagSQL_INTERVAL_STRUCT { | 
|  | SQLINTERVAL interval_type; | 
|  | SQLSMALLINT interval_sign; | 
|  | union { | 
|  | SQL_YEAR_MONTH_STRUCT year_month; | 
|  | SQL_DAY_SECOND_STRUCT day_second; | 
|  | } intval; | 
|  | } SQL_INTERVAL_STRUCT; | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #if (ODBCVER >= 0x0300) | 
|  | #define ODBCINT64 /* __MINGW_EXTENSION */ __int64 | 
|  | __MINGW_EXTENSION typedef ODBCINT64 SQLBIGINT; | 
|  | __MINGW_EXTENSION typedef unsigned ODBCINT64 SQLUBIGINT; | 
|  | #endif | 
|  |  | 
|  | #if (ODBCVER >= 0x0300) | 
|  | #define SQL_MAX_NUMERIC_LEN 16 | 
|  | typedef struct tagSQL_NUMERIC_STRUCT { | 
|  | SQLCHAR precision; | 
|  | SQLSCHAR scale; | 
|  | SQLCHAR sign; | 
|  | SQLCHAR val[SQL_MAX_NUMERIC_LEN]; | 
|  | } SQL_NUMERIC_STRUCT; | 
|  | #endif | 
|  |  | 
|  | #if (ODBCVER >= 0x0350) | 
|  | #ifdef GUID_DEFINED | 
|  | typedef GUID SQLGUID; | 
|  | #else | 
|  |  | 
|  | typedef struct tagSQLGUID { | 
|  | DWORD Data1; | 
|  | WORD Data2; | 
|  | WORD Data3; | 
|  | BYTE Data4[8 ]; | 
|  | } SQLGUID; | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | typedef SQLULEN BOOKMARK; | 
|  |  | 
|  | #ifdef _WCHAR_T_DEFINED | 
|  | typedef wchar_t SQLWCHAR; | 
|  | #else | 
|  | typedef unsigned short SQLWCHAR; | 
|  | #endif | 
|  |  | 
|  | #if defined(UNICODE) | 
|  | typedef SQLWCHAR SQLTCHAR; | 
|  | #else | 
|  | typedef SQLCHAR SQLTCHAR; | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  | #endif |