4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * sqltypes.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW Windows headers * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ 4e2933c620 2015-04-21 kinaba: module win32.sqltypes; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /* Conversion notes: 4e2933c620 2015-04-21 kinaba: It's assumed that ODBC >= 0x0300. 4e2933c620 2015-04-21 kinaba: */ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: private import win32.windef; 4e2933c620 2015-04-21 kinaba: private import win32.basetyps; // for GUID 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias byte SCHAR, SQLSCHAR; 4e2933c620 2015-04-21 kinaba: alias int SDWORD, SLONG, SQLINTEGER; 4e2933c620 2015-04-21 kinaba: alias short SWORD, SSHORT, RETCODE, SQLSMALLINT; 4e2933c620 2015-04-21 kinaba: alias ULONG UDWORD; 4e2933c620 2015-04-21 kinaba: alias USHORT UWORD, SQLUSMALLINT; 4e2933c620 2015-04-21 kinaba: alias double SDOUBLE, LDOUBLE; 4e2933c620 2015-04-21 kinaba: alias float SFLOAT; 4e2933c620 2015-04-21 kinaba: alias PVOID PTR, HENV, HDBC, HSTMT, SQLPOINTER; 4e2933c620 2015-04-21 kinaba: alias UCHAR SQLCHAR; 4e2933c620 2015-04-21 kinaba: // #ifndef _WIN64 4e2933c620 2015-04-21 kinaba: alias UDWORD SQLUINTEGER; 4e2933c620 2015-04-21 kinaba: // #endif 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: //static if (ODBCVER >= 0x0300) { 4e2933c620 2015-04-21 kinaba: alias HANDLE SQLHANDLE; 4e2933c620 2015-04-21 kinaba: alias SQLHANDLE SQLHENV, SQLHDBC, SQLHSTMT, SQLHDESC; 4e2933c620 2015-04-21 kinaba: /* 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias void* SQLHENV; 4e2933c620 2015-04-21 kinaba: alias void* SQLHDBC; 4e2933c620 2015-04-21 kinaba: alias void* SQLHSTMT; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: */ 4e2933c620 2015-04-21 kinaba: alias SQLSMALLINT SQLRETURN; 4e2933c620 2015-04-21 kinaba: alias HWND SQLHWND; 4e2933c620 2015-04-21 kinaba: alias ULONG BOOKMARK; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias SQLINTEGER SQLLEN, SQLROWOFFSET; 4e2933c620 2015-04-21 kinaba: alias SQLUINTEGER SQLROWCOUNT, SQLULEN; 4e2933c620 2015-04-21 kinaba: alias DWORD SQLTRANSID; 4e2933c620 2015-04-21 kinaba: alias SQLUSMALLINT SQLSETPOSIROW; 4e2933c620 2015-04-21 kinaba: alias wchar SQLWCHAR; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version(Unicode) { 4e2933c620 2015-04-21 kinaba: alias SQLWCHAR SQLTCHAR; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias SQLCHAR SQLTCHAR; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: //static if (ODBCVER >= 0x0300) { 4e2933c620 2015-04-21 kinaba: alias ubyte SQLDATE, SQLDECIMAL; 4e2933c620 2015-04-21 kinaba: alias double SQLDOUBLE, SQLFLOAT; 4e2933c620 2015-04-21 kinaba: alias ubyte SQLNUMERIC; 4e2933c620 2015-04-21 kinaba: alias float SQLREAL; 4e2933c620 2015-04-21 kinaba: alias ubyte SQLTIME, SQLTIMESTAMP, SQLVARCHAR; 4e2933c620 2015-04-21 kinaba: alias long ODBCINT64, SQLBIGINT; 4e2933c620 2015-04-21 kinaba: alias ulong SQLUBIGINT; 4e2933c620 2015-04-21 kinaba: //} 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct DATE_STRUCT { 4e2933c620 2015-04-21 kinaba: SQLSMALLINT year; 4e2933c620 2015-04-21 kinaba: SQLUSMALLINT month; 4e2933c620 2015-04-21 kinaba: SQLUSMALLINT day; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TIME_STRUCT { 4e2933c620 2015-04-21 kinaba: SQLUSMALLINT hour; 4e2933c620 2015-04-21 kinaba: SQLUSMALLINT minute; 4e2933c620 2015-04-21 kinaba: SQLUSMALLINT second; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TIMESTAMP_STRUCT { 4e2933c620 2015-04-21 kinaba: SQLSMALLINT year; 4e2933c620 2015-04-21 kinaba: SQLUSMALLINT month; 4e2933c620 2015-04-21 kinaba: SQLUSMALLINT day; 4e2933c620 2015-04-21 kinaba: SQLUSMALLINT hour; 4e2933c620 2015-04-21 kinaba: SQLUSMALLINT minute; 4e2933c620 2015-04-21 kinaba: SQLUSMALLINT second; 4e2933c620 2015-04-21 kinaba: SQLUINTEGER fraction; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: //static if (ODBCVER >= 0x0300) { 4e2933c620 2015-04-21 kinaba: alias DATE_STRUCT SQL_DATE_STRUCT; 4e2933c620 2015-04-21 kinaba: alias TIME_STRUCT SQL_TIME_STRUCT; 4e2933c620 2015-04-21 kinaba: alias TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SQLINTERVAL { 4e2933c620 2015-04-21 kinaba: SQL_IS_YEAR = 1, 4e2933c620 2015-04-21 kinaba: SQL_IS_MONTH, 4e2933c620 2015-04-21 kinaba: SQL_IS_DAY, 4e2933c620 2015-04-21 kinaba: SQL_IS_HOUR, 4e2933c620 2015-04-21 kinaba: SQL_IS_MINUTE, 4e2933c620 2015-04-21 kinaba: SQL_IS_SECOND, 4e2933c620 2015-04-21 kinaba: SQL_IS_YEAR_TO_MONTH, 4e2933c620 2015-04-21 kinaba: SQL_IS_DAY_TO_HOUR, 4e2933c620 2015-04-21 kinaba: SQL_IS_DAY_TO_MINUTE, 4e2933c620 2015-04-21 kinaba: SQL_IS_DAY_TO_SECOND, 4e2933c620 2015-04-21 kinaba: SQL_IS_HOUR_TO_MINUTE, 4e2933c620 2015-04-21 kinaba: SQL_IS_HOUR_TO_SECOND, 4e2933c620 2015-04-21 kinaba: SQL_IS_MINUTE_TO_SECOND 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SQL_YEAR_MONTH_STRUCT { 4e2933c620 2015-04-21 kinaba: SQLUINTEGER year; 4e2933c620 2015-04-21 kinaba: SQLUINTEGER month; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SQL_DAY_SECOND_STRUCT { 4e2933c620 2015-04-21 kinaba: SQLUINTEGER day; 4e2933c620 2015-04-21 kinaba: SQLUINTEGER hour; 4e2933c620 2015-04-21 kinaba: SQLUINTEGER minute; 4e2933c620 2015-04-21 kinaba: SQLUINTEGER second; 4e2933c620 2015-04-21 kinaba: SQLUINTEGER fraction; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SQL_INTERVAL_STRUCT { 4e2933c620 2015-04-21 kinaba: SQLINTERVAL interval_type; 4e2933c620 2015-04-21 kinaba: SQLSMALLINT interval_sign; 4e2933c620 2015-04-21 kinaba: union _intval { 4e2933c620 2015-04-21 kinaba: SQL_YEAR_MONTH_STRUCT year_month; 4e2933c620 2015-04-21 kinaba: SQL_DAY_SECOND_STRUCT day_second; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _intval intval; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SQL_MAX_NUMERIC_LEN = 16; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SQL_NUMERIC_STRUCT { 4e2933c620 2015-04-21 kinaba: SQLCHAR precision; 4e2933c620 2015-04-21 kinaba: SQLSCHAR scale; 4e2933c620 2015-04-21 kinaba: SQLCHAR sign; 4e2933c620 2015-04-21 kinaba: SQLCHAR val[SQL_MAX_NUMERIC_LEN]; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: // } ODBCVER >= 0x0300 4e2933c620 2015-04-21 kinaba: alias GUID SQLGUID;