Install msysDVLPR-1.0.0-alpha-1
[msysgit.git] / include / sqltypes.h
blobc2f1bfa50e07ef4c82b66109cc47f996bcf9af3a
1 #ifndef _SQLTYPES_H
2 #define _SQLTYPES_H
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6 #define SQL_API __stdcall
7 #ifndef RC_INVOKED
8 #define __need_wchar_t
9 #include <stddef.h>
10 typedef signed char SCHAR;
11 typedef long SDWORD;
12 typedef short SWORD;
13 typedef ULONG UDWORD;
14 typedef USHORT UWORD;
15 typedef signed long SLONG;
16 typedef signed short SSHORT;
17 typedef double SDOUBLE;
18 typedef double LDOUBLE;
19 typedef float SFLOAT;
20 typedef PVOID PTR;
21 typedef PVOID HENV;
22 typedef PVOID HDBC;
23 typedef PVOID HSTMT;
24 typedef short RETCODE;
25 typedef UCHAR SQLCHAR;
26 typedef SCHAR SQLSCHAR;
27 typedef SDWORD SQLINTEGER;
28 typedef SWORD SQLSMALLINT;
29 #ifndef __WIN64
30 typedef UDWORD SQLUINTEGER;
31 #endif
32 typedef UWORD SQLUSMALLINT;
33 typedef PVOID SQLPOINTER;
34 #if (ODBCVER >= 0x0300)
35 typedef void* SQLHANDLE;
36 typedef SQLHANDLE SQLHENV;
37 typedef SQLHANDLE SQLHDBC;
38 typedef SQLHANDLE SQLHSTMT;
39 typedef SQLHANDLE SQLHDESC;
40 #else
41 typedef void* SQLHENV;
42 typedef void* SQLHDBC;
43 typedef void* SQLHSTMT;
44 #endif
45 typedef SQLSMALLINT SQLRETURN;
46 typedef HWND SQLHWND;
47 typedef ULONG BOOKMARK;
48 #ifdef _WIN64
49 typedef INT64 SQLLEN;
50 typedef INT64 SQLROWOFFSET;
51 typedef UINT64 SQLROWCOUNT;
52 typedef UINT64 SQLULEN;
53 typedef UINT64 SQLTRANSID;
54 typedef unsigned long SQLSETPOSIROW;
55 #else
56 #define SQLLEN SQLINTEGER
57 #define SQLROWOFFSET SQLINTEGER
58 #define SQLROWCOUNT SQLUINTEGER
59 #define SQLULEN SQLUINTEGER
60 #define SQLTRANSID DWORD
61 #define SQLSETPOSIROW SQLUSMALLINT
62 #endif
63 typedef wchar_t SQLWCHAR;
64 #ifdef UNICODE
65 typedef SQLWCHAR SQLTCHAR;
66 #else
67 typedef SQLCHAR SQLTCHAR;
68 #endif /* UNICODE */
69 #if (ODBCVER >= 0x0300)
70 typedef unsigned char SQLDATE;
71 typedef unsigned char SQLDECIMAL;
72 typedef double SQLDOUBLE;
73 typedef double SQLFLOAT;
74 typedef unsigned char SQLNUMERIC;
75 typedef float SQLREAL;
76 typedef unsigned char SQLTIME;
77 typedef unsigned char SQLTIMESTAMP;
78 typedef unsigned char SQLVARCHAR;
79 #define ODBCINT64 __int64
80 typedef __int64 SQLBIGINT;
81 typedef unsigned __int64 SQLUBIGINT;
82 #endif
84 typedef struct tagDATE_STRUCT {
85 SQLSMALLINT year;
86 SQLUSMALLINT month;
87 SQLUSMALLINT day;
88 } DATE_STRUCT;
89 typedef struct tagTIME_STRUCT {
90 SQLUSMALLINT hour;
91 SQLUSMALLINT minute;
92 SQLUSMALLINT second;
93 } TIME_STRUCT;
94 typedef struct tagTIMESTAMP_STRUCT {
95 SQLSMALLINT year;
96 SQLUSMALLINT month;
97 SQLUSMALLINT day;
98 SQLUSMALLINT hour;
99 SQLUSMALLINT minute;
100 SQLUSMALLINT second;
101 SQLUINTEGER fraction;
102 } TIMESTAMP_STRUCT;
103 #if (ODBCVER >= 0x0300)
104 typedef DATE_STRUCT SQL_DATE_STRUCT;
105 typedef TIME_STRUCT SQL_TIME_STRUCT;
106 typedef TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;
107 typedef enum {
108 SQL_IS_YEAR = 1,SQL_IS_MONTH,SQL_IS_DAY,SQL_IS_HOUR,
109 SQL_IS_MINUTE,SQL_IS_SECOND,SQL_IS_YEAR_TO_MONTH,SQL_IS_DAY_TO_HOUR,
110 SQL_IS_DAY_TO_MINUTE,SQL_IS_DAY_TO_SECOND,SQL_IS_HOUR_TO_MINUTE,
111 SQL_IS_HOUR_TO_SECOND,SQL_IS_MINUTE_TO_SECOND
112 } SQLINTERVAL;
113 typedef struct tagSQL_YEAR_MONTH {
114 SQLUINTEGER year;
115 SQLUINTEGER month;
116 } SQL_YEAR_MONTH_STRUCT;
117 typedef struct tagSQL_DAY_SECOND {
118 SQLUINTEGER day;
119 SQLUINTEGER hour;
120 SQLUINTEGER minute;
121 SQLUINTEGER second;
122 SQLUINTEGER fraction;
123 } SQL_DAY_SECOND_STRUCT;
124 typedef struct tagSQL_INTERVAL_STRUCT {
125 SQLINTERVAL interval_type;
126 SQLSMALLINT interval_sign;
127 union {
128 SQL_YEAR_MONTH_STRUCT year_month;
129 SQL_DAY_SECOND_STRUCT day_second;
130 } intval;
131 } SQL_INTERVAL_STRUCT;
132 #define SQL_MAX_NUMERIC_LEN 16
133 typedef struct tagSQL_NUMERIC_STRUCT {
134 SQLCHAR precision;
135 SQLSCHAR scale;
136 SQLCHAR sign;
137 SQLCHAR val[SQL_MAX_NUMERIC_LEN];
138 } SQL_NUMERIC_STRUCT;
139 #endif /* ODBCVER >= 0x0300 */
140 #if (ODBCVER >= 0x0350)
141 #ifdef _GUID_DEFINED
142 typedef GUID SQLGUID;
143 #else
144 typedef struct tagSQLGUID{
145 DWORD Data1;
146 WORD Data2;
147 WORD Data3;
148 BYTE Data4[ 8 ];
149 } SQLGUID;
150 #endif /* _GUID_DEFINED */
151 #endif /* ODBCVER >= 0x0350 */
152 #endif /* RC_INVOKED */
153 #ifdef __cplusplus
155 #endif
156 #endif