3 * @copy 2012 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
26 #pragma GCC system_header
31 #define SQL_API __stdcall
33 #define __need_wchar_t
35 typedef signed char SCHAR;
40 typedef signed long SLONG;
41 typedef signed short SSHORT;
42 typedef double SDOUBLE;
43 typedef double LDOUBLE;
49 typedef short RETCODE;
50 typedef UCHAR SQLCHAR;
51 typedef SCHAR SQLSCHAR;
52 typedef SDWORD SQLINTEGER;
53 typedef SWORD SQLSMALLINT;
55 typedef UDWORD SQLUINTEGER;
57 typedef UWORD SQLUSMALLINT;
58 typedef PVOID SQLPOINTER;
59 #if (ODBCVER >= 0x0300)
60 typedef void* SQLHANDLE;
61 typedef SQLHANDLE SQLHENV;
62 typedef SQLHANDLE SQLHDBC;
63 typedef SQLHANDLE SQLHSTMT;
64 typedef SQLHANDLE SQLHDESC;
66 typedef void* SQLHENV;
67 typedef void* SQLHDBC;
68 typedef void* SQLHSTMT;
70 typedef SQLSMALLINT SQLRETURN;
72 typedef ULONG BOOKMARK;
75 typedef INT64 SQLROWOFFSET;
76 typedef UINT64 SQLROWCOUNT;
77 typedef UINT64 SQLULEN;
78 typedef UINT64 SQLTRANSID;
79 typedef unsigned long SQLSETPOSIROW;
81 #define SQLLEN SQLINTEGER
82 #define SQLROWOFFSET SQLINTEGER
83 #define SQLROWCOUNT SQLUINTEGER
84 #define SQLULEN SQLUINTEGER
85 #define SQLTRANSID DWORD
86 #define SQLSETPOSIROW SQLUSMALLINT
88 typedef wchar_t SQLWCHAR;
90 typedef SQLWCHAR SQLTCHAR;
92 typedef SQLCHAR SQLTCHAR;
94 #if (ODBCVER >= 0x0300)
95 typedef unsigned char SQLDATE;
96 typedef unsigned char SQLDECIMAL;
97 typedef double SQLDOUBLE;
98 typedef double SQLFLOAT;
99 typedef unsigned char SQLNUMERIC;
100 typedef float SQLREAL;
101 typedef unsigned char SQLTIME;
102 typedef unsigned char SQLTIMESTAMP;
103 typedef unsigned char SQLVARCHAR;
104 #define ODBCINT64 __int64
105 typedef __int64 SQLBIGINT;
106 typedef unsigned __int64 SQLUBIGINT;
109 typedef struct tagDATE_STRUCT {
114 typedef struct tagTIME_STRUCT {
119 typedef struct tagTIMESTAMP_STRUCT {
126 SQLUINTEGER fraction;
128 #if (ODBCVER >= 0x0300)
129 typedef DATE_STRUCT SQL_DATE_STRUCT;
130 typedef TIME_STRUCT SQL_TIME_STRUCT;
131 typedef TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;
133 SQL_IS_YEAR = 1,SQL_IS_MONTH,SQL_IS_DAY,SQL_IS_HOUR,
134 SQL_IS_MINUTE,SQL_IS_SECOND,SQL_IS_YEAR_TO_MONTH,SQL_IS_DAY_TO_HOUR,
135 SQL_IS_DAY_TO_MINUTE,SQL_IS_DAY_TO_SECOND,SQL_IS_HOUR_TO_MINUTE,
136 SQL_IS_HOUR_TO_SECOND,SQL_IS_MINUTE_TO_SECOND
138 typedef struct tagSQL_YEAR_MONTH {
141 } SQL_YEAR_MONTH_STRUCT;
142 typedef struct tagSQL_DAY_SECOND {
147 SQLUINTEGER fraction;
148 } SQL_DAY_SECOND_STRUCT;
149 typedef struct tagSQL_INTERVAL_STRUCT {
150 SQLINTERVAL interval_type;
151 SQLSMALLINT interval_sign;
153 SQL_YEAR_MONTH_STRUCT year_month;
154 SQL_DAY_SECOND_STRUCT day_second;
156 } SQL_INTERVAL_STRUCT;
157 #define SQL_MAX_NUMERIC_LEN 16
158 typedef struct tagSQL_NUMERIC_STRUCT {
162 SQLCHAR val[SQL_MAX_NUMERIC_LEN];
163 } SQL_NUMERIC_STRUCT;
164 #endif /* ODBCVER >= 0x0300 */
165 #if (ODBCVER >= 0x0350)
168 # warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
171 #if defined _GUID_DEFINED || defined GUID_DEFINED
172 typedef GUID SQLGUID;
174 typedef struct tagSQLGUID{
180 #endif /* GUID_DEFINED */
181 #endif /* ODBCVER >= 0x0350 */
182 #endif /* RC_INVOKED */