]> git.ipfire.org Git - thirdparty/gcc.git/blob - libphobos/libdruntime/core/sys/windows/sqltypes.d
d: Merge upstream dmd, druntime 4574d1728d, phobos d7e79f024.
[thirdparty/gcc.git] / libphobos / libdruntime / core / sys / windows / sqltypes.d
1 /**
2 * Windows API header module
3 *
4 * Translated from MinGW Windows headers
5 *
6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7 * Source: $(DRUNTIMESRC core/sys/windows/_sqltypes.d)
8 */
9 module core.sys.windows.sqltypes;
10 version (Windows):
11
12 version (ANSI) {} else version = Unicode;
13
14 /* Conversion notes:
15 It's assumed that ODBC >= 0x0300.
16 */
17
18 import core.sys.windows.windef;
19 import core.sys.windows.basetyps; // for GUID
20
21 alias byte SCHAR, SQLSCHAR;
22 alias int SDWORD, SLONG, SQLINTEGER;
23 alias short SWORD, SSHORT, RETCODE, SQLSMALLINT;
24 alias ULONG UDWORD;
25 alias USHORT UWORD, SQLUSMALLINT;
26 alias double SDOUBLE, LDOUBLE;
27 alias float SFLOAT;
28 alias PVOID PTR, HENV, HDBC, HSTMT, SQLPOINTER;
29 alias UCHAR SQLCHAR;
30 // #ifndef _WIN64
31 alias UDWORD SQLUINTEGER;
32 // #endif
33
34 //static if (ODBCVER >= 0x0300) {
35 alias HANDLE SQLHANDLE;
36 alias SQLHANDLE SQLHENV, SQLHDBC, SQLHSTMT, SQLHDESC;
37 /*
38 } else {
39 alias void* SQLHENV;
40 alias void* SQLHDBC;
41 alias void* SQLHSTMT;
42 }
43 */
44 alias SQLSMALLINT SQLRETURN;
45 alias HWND SQLHWND;
46 alias ULONG BOOKMARK;
47
48 alias SQLINTEGER SQLLEN, SQLROWOFFSET;
49 alias SQLUINTEGER SQLROWCOUNT, SQLULEN;
50 alias DWORD SQLTRANSID;
51 alias SQLUSMALLINT SQLSETPOSIROW;
52 alias wchar SQLWCHAR;
53
54 version (Unicode) {
55 alias SQLWCHAR SQLTCHAR;
56 } else {
57 alias SQLCHAR SQLTCHAR;
58 }
59 //static if (ODBCVER >= 0x0300) {
60 alias ubyte SQLDATE, SQLDECIMAL;
61 alias double SQLDOUBLE, SQLFLOAT;
62 alias ubyte SQLNUMERIC;
63 alias float SQLREAL;
64 alias ubyte SQLTIME, SQLTIMESTAMP, SQLVARCHAR;
65 alias long ODBCINT64, SQLBIGINT;
66 alias ulong SQLUBIGINT;
67 //}
68
69 struct DATE_STRUCT {
70 SQLSMALLINT year;
71 SQLUSMALLINT month;
72 SQLUSMALLINT day;
73 }
74
75 struct TIME_STRUCT {
76 SQLUSMALLINT hour;
77 SQLUSMALLINT minute;
78 SQLUSMALLINT second;
79 }
80
81 struct TIMESTAMP_STRUCT {
82 SQLSMALLINT year;
83 SQLUSMALLINT month;
84 SQLUSMALLINT day;
85 SQLUSMALLINT hour;
86 SQLUSMALLINT minute;
87 SQLUSMALLINT second;
88 SQLUINTEGER fraction;
89 }
90
91 //static if (ODBCVER >= 0x0300) {
92 alias DATE_STRUCT SQL_DATE_STRUCT;
93 alias TIME_STRUCT SQL_TIME_STRUCT;
94 alias TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;
95
96 enum SQLINTERVAL {
97 SQL_IS_YEAR = 1,
98 SQL_IS_MONTH,
99 SQL_IS_DAY,
100 SQL_IS_HOUR,
101 SQL_IS_MINUTE,
102 SQL_IS_SECOND,
103 SQL_IS_YEAR_TO_MONTH,
104 SQL_IS_DAY_TO_HOUR,
105 SQL_IS_DAY_TO_MINUTE,
106 SQL_IS_DAY_TO_SECOND,
107 SQL_IS_HOUR_TO_MINUTE,
108 SQL_IS_HOUR_TO_SECOND,
109 SQL_IS_MINUTE_TO_SECOND
110 }
111
112 struct SQL_YEAR_MONTH_STRUCT {
113 SQLUINTEGER year;
114 SQLUINTEGER month;
115 }
116
117 struct SQL_DAY_SECOND_STRUCT {
118 SQLUINTEGER day;
119 SQLUINTEGER hour;
120 SQLUINTEGER minute;
121 SQLUINTEGER second;
122 SQLUINTEGER fraction;
123 }
124
125 struct SQL_INTERVAL_STRUCT {
126 SQLINTERVAL interval_type;
127 SQLSMALLINT interval_sign;
128 union _intval {
129 SQL_YEAR_MONTH_STRUCT year_month;
130 SQL_DAY_SECOND_STRUCT day_second;
131 }
132 _intval intval;
133 }
134
135 enum SQL_MAX_NUMERIC_LEN = 16;
136
137 struct SQL_NUMERIC_STRUCT {
138 SQLCHAR precision;
139 SQLSCHAR scale;
140 SQLCHAR sign;
141 SQLCHAR[SQL_MAX_NUMERIC_LEN] val;
142 }
143 // } ODBCVER >= 0x0300
144 alias GUID SQLGUID;