source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/sqltypes.h

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 4.9 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __SQLTYPES
7#define __SQLTYPES
8
9#ifndef ODBCVER
10#define ODBCVER 0x0351
11#endif
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#ifndef EXPORT
18#define EXPORT
19#endif
20
21#if defined(_ARM_)
22#define SQL_API
23#else
24#define SQL_API __stdcall
25#endif
26
27#ifndef RC_INVOKED
28
29 typedef unsigned char SQLCHAR;
30#if (ODBCVER >= 0x0300)
31 typedef signed char SQLSCHAR;
32 typedef unsigned char SQLDATE;
33 typedef unsigned char SQLDECIMAL;
34 typedef double SQLDOUBLE;
35 typedef double SQLFLOAT;
36#endif
37 typedef __LONG32 SQLINTEGER;
38 typedef unsigned __LONG32 SQLUINTEGER;
39
40#ifdef _WIN64
41 typedef INT64 SQLLEN;
42 typedef UINT64 SQLULEN;
43 typedef UINT64 SQLSETPOSIROW;
44#else
45#define SQLLEN SQLINTEGER
46#define SQLULEN SQLUINTEGER
47#define SQLSETPOSIROW SQLUSMALLINT
48#endif
49
50 typedef SQLULEN SQLROWCOUNT;
51 typedef SQLULEN SQLROWSETSIZE;
52 typedef SQLULEN SQLTRANSID;
53 typedef SQLLEN SQLROWOFFSET;
54
55#if (ODBCVER >= 0x0300)
56 typedef unsigned char SQLNUMERIC;
57#endif
58 typedef void *SQLPOINTER;
59#if (ODBCVER >= 0x0300)
60 typedef float SQLREAL;
61#endif
62 typedef short SQLSMALLINT;
63 typedef unsigned short SQLUSMALLINT;
64#if (ODBCVER >= 0x0300)
65 typedef unsigned char SQLTIME;
66 typedef unsigned char SQLTIMESTAMP;
67 typedef unsigned char SQLVARCHAR;
68#endif
69
70 typedef SQLSMALLINT SQLRETURN;
71
72#if (ODBCVER >= 0x0300)
73 typedef void *SQLHANDLE;
74 typedef SQLHANDLE SQLHENV;
75 typedef SQLHANDLE SQLHDBC;
76 typedef SQLHANDLE SQLHSTMT;
77 typedef SQLHANDLE SQLHDESC;
78#else
79 typedef void *SQLHENV;
80 typedef void *SQLHDBC;
81 typedef void *SQLHSTMT;
82#endif
83
84#ifndef BASETYPES
85#define BASETYPES
86 typedef unsigned __LONG32 ULONG;
87 typedef ULONG *PULONG;
88 typedef unsigned short USHORT;
89 typedef USHORT *PUSHORT;
90 typedef unsigned char UCHAR;
91 typedef UCHAR *PUCHAR;
92 typedef char *PSZ;
93#endif
94
95 typedef signed char SCHAR;
96#if (ODBCVER < 0x0300)
97 typedef SCHAR SQLSCHAR;
98#endif
99 typedef __LONG32 SDWORD;
100 typedef short int SWORD;
101 typedef unsigned __LONG32 UDWORD;
102 typedef unsigned short int UWORD;
103
104 typedef signed __LONG32 SLONG;
105 typedef signed short SSHORT;
106 typedef double SDOUBLE;
107 typedef double LDOUBLE;
108 typedef float SFLOAT;
109 typedef void *PTR;
110 typedef void *HENV;
111 typedef void *HDBC;
112 typedef void *HSTMT;
113 typedef signed short RETCODE;
114 typedef HWND SQLHWND;
115
116#ifndef __SQLDATE
117#define __SQLDATE
118
119 typedef struct tagDATE_STRUCT {
120 SQLSMALLINT year;
121 SQLUSMALLINT month;
122 SQLUSMALLINT day;
123 } DATE_STRUCT;
124
125#if (ODBCVER >= 0x0300)
126 typedef DATE_STRUCT SQL_DATE_STRUCT;
127#endif
128
129 typedef struct tagTIME_STRUCT {
130 SQLUSMALLINT hour;
131 SQLUSMALLINT minute;
132 SQLUSMALLINT second;
133 } TIME_STRUCT;
134
135#if (ODBCVER >= 0x0300)
136 typedef TIME_STRUCT SQL_TIME_STRUCT;
137#endif
138
139 typedef struct tagTIMESTAMP_STRUCT {
140 SQLSMALLINT year;
141 SQLUSMALLINT month;
142 SQLUSMALLINT day;
143 SQLUSMALLINT hour;
144 SQLUSMALLINT minute;
145 SQLUSMALLINT second;
146 SQLUINTEGER fraction;
147 } TIMESTAMP_STRUCT;
148
149#if (ODBCVER >= 0x0300)
150 typedef TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;
151#endif
152
153#if (ODBCVER >= 0x0300)
154 typedef enum {
155 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,
156 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,
157 SQL_IS_MINUTE_TO_SECOND = 13
158 } SQLINTERVAL;
159#endif
160
161#if (ODBCVER >= 0x0300)
162 typedef struct tagSQL_YEAR_MONTH {
163 SQLUINTEGER year;
164 SQLUINTEGER month;
165 } SQL_YEAR_MONTH_STRUCT;
166
167 typedef struct tagSQL_DAY_SECOND {
168 SQLUINTEGER day;
169 SQLUINTEGER hour;
170 SQLUINTEGER minute;
171 SQLUINTEGER second;
172 SQLUINTEGER fraction;
173 } SQL_DAY_SECOND_STRUCT;
174
175 typedef struct tagSQL_INTERVAL_STRUCT {
176 SQLINTERVAL interval_type;
177 SQLSMALLINT interval_sign;
178 union {
179 SQL_YEAR_MONTH_STRUCT year_month;
180 SQL_DAY_SECOND_STRUCT day_second;
181 } intval;
182 } SQL_INTERVAL_STRUCT;
183#endif
184#endif
185
186#if (ODBCVER >= 0x0300)
187#define ODBCINT64 /* __MINGW_EXTENSION */ __int64
188 __MINGW_EXTENSION typedef ODBCINT64 SQLBIGINT;
189 __MINGW_EXTENSION typedef unsigned ODBCINT64 SQLUBIGINT;
190#endif
191
192#if (ODBCVER >= 0x0300)
193#define SQL_MAX_NUMERIC_LEN 16
194 typedef struct tagSQL_NUMERIC_STRUCT {
195 SQLCHAR precision;
196 SQLSCHAR scale;
197 SQLCHAR sign;
198 SQLCHAR val[SQL_MAX_NUMERIC_LEN];
199 } SQL_NUMERIC_STRUCT;
200#endif
201
202#if (ODBCVER >= 0x0350)
203#ifdef GUID_DEFINED
204 typedef GUID SQLGUID;
205#else
206
207 typedef struct tagSQLGUID {
208 DWORD Data1;
209 WORD Data2;
210 WORD Data3;
211 BYTE Data4[8 ];
212 } SQLGUID;
213#endif
214#endif
215
216 typedef SQLULEN BOOKMARK;
217
218#ifdef _WCHAR_T_DEFINED
219 typedef wchar_t SQLWCHAR;
220#else
221 typedef unsigned short SQLWCHAR;
222#endif
223
224#if defined(UNICODE)
225 typedef SQLWCHAR SQLTCHAR;
226#else
227 typedef SQLCHAR SQLTCHAR;
228#endif
229#endif
230
231#ifdef __cplusplus
232}
233#endif
234#endif
Note: See TracBrowser for help on using the repository browser.