Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/w32api/include/sqltypes.h')
-rw-r--r--winsup/w32api/include/sqltypes.h113
1 files changed, 104 insertions, 9 deletions
diff --git a/winsup/w32api/include/sqltypes.h b/winsup/w32api/include/sqltypes.h
index 4d9529d9d..c2f1bfa50 100644
--- a/winsup/w32api/include/sqltypes.h
+++ b/winsup/w32api/include/sqltypes.h
@@ -4,14 +4,16 @@
extern "C" {
#endif
#define SQL_API __stdcall
-#pragma pack(push,1)
+#ifndef RC_INVOKED
+#define __need_wchar_t
+#include <stddef.h>
typedef signed char SCHAR;
typedef long SDWORD;
typedef short SWORD;
typedef ULONG UDWORD;
typedef USHORT UWORD;
-typedef long SLONG;
-typedef short SSHORT;
+typedef signed long SLONG;
+typedef signed short SSHORT;
typedef double SDOUBLE;
typedef double LDOUBLE;
typedef float SFLOAT;
@@ -24,15 +26,61 @@ typedef UCHAR SQLCHAR;
typedef SCHAR SQLSCHAR;
typedef SDWORD SQLINTEGER;
typedef SWORD SQLSMALLINT;
+#ifndef __WIN64
typedef UDWORD SQLUINTEGER;
+#endif
typedef UWORD SQLUSMALLINT;
typedef PVOID SQLPOINTER;
-typedef HENV SQLHENV;
-typedef HDBC SQLHDBC;
-typedef HSTMT SQLHSTMT;
+#if (ODBCVER >= 0x0300)
+typedef void* SQLHANDLE;
+typedef SQLHANDLE SQLHENV;
+typedef SQLHANDLE SQLHDBC;
+typedef SQLHANDLE SQLHSTMT;
+typedef SQLHANDLE SQLHDESC;
+#else
+typedef void* SQLHENV;
+typedef void* SQLHDBC;
+typedef void* SQLHSTMT;
+#endif
typedef SQLSMALLINT SQLRETURN;
typedef HWND SQLHWND;
typedef ULONG BOOKMARK;
+#ifdef _WIN64
+typedef INT64 SQLLEN;
+typedef INT64 SQLROWOFFSET;
+typedef UINT64 SQLROWCOUNT;
+typedef UINT64 SQLULEN;
+typedef UINT64 SQLTRANSID;
+typedef unsigned long SQLSETPOSIROW;
+#else
+#define SQLLEN SQLINTEGER
+#define SQLROWOFFSET SQLINTEGER
+#define SQLROWCOUNT SQLUINTEGER
+#define SQLULEN SQLUINTEGER
+#define SQLTRANSID DWORD
+#define SQLSETPOSIROW SQLUSMALLINT
+#endif
+typedef wchar_t SQLWCHAR;
+#ifdef UNICODE
+typedef SQLWCHAR SQLTCHAR;
+#else
+typedef SQLCHAR SQLTCHAR;
+#endif /* UNICODE */
+#if (ODBCVER >= 0x0300)
+typedef unsigned char SQLDATE;
+typedef unsigned char SQLDECIMAL;
+typedef double SQLDOUBLE;
+typedef double SQLFLOAT;
+typedef unsigned char SQLNUMERIC;
+typedef float SQLREAL;
+typedef unsigned char SQLTIME;
+typedef unsigned char SQLTIMESTAMP;
+typedef unsigned char SQLVARCHAR;
+#define ODBCINT64 __int64
+typedef __int64 SQLBIGINT;
+typedef unsigned __int64 SQLUBIGINT;
+#endif
+
typedef struct tagDATE_STRUCT {
SQLSMALLINT year;
SQLUSMALLINT month;
@@ -52,9 +100,56 @@ typedef struct tagTIMESTAMP_STRUCT {
SQLUSMALLINT second;
SQLUINTEGER fraction;
} TIMESTAMP_STRUCT;
-typedef void* SQLHANDLE;
-typedef SQLHANDLE SQLHDESC;
-#pragma pack(pop)
+#if (ODBCVER >= 0x0300)
+typedef DATE_STRUCT SQL_DATE_STRUCT;
+typedef TIME_STRUCT SQL_TIME_STRUCT;
+typedef TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;
+typedef enum {
+ SQL_IS_YEAR = 1,SQL_IS_MONTH,SQL_IS_DAY,SQL_IS_HOUR,
+ SQL_IS_MINUTE,SQL_IS_SECOND,SQL_IS_YEAR_TO_MONTH,SQL_IS_DAY_TO_HOUR,
+ SQL_IS_DAY_TO_MINUTE,SQL_IS_DAY_TO_SECOND,SQL_IS_HOUR_TO_MINUTE,
+ SQL_IS_HOUR_TO_SECOND,SQL_IS_MINUTE_TO_SECOND
+} SQLINTERVAL;
+typedef struct tagSQL_YEAR_MONTH {
+ SQLUINTEGER year;
+ SQLUINTEGER month;
+} SQL_YEAR_MONTH_STRUCT;
+typedef struct tagSQL_DAY_SECOND {
+ SQLUINTEGER day;
+ SQLUINTEGER hour;
+ SQLUINTEGER minute;
+ SQLUINTEGER second;
+ SQLUINTEGER fraction;
+} SQL_DAY_SECOND_STRUCT;
+typedef struct tagSQL_INTERVAL_STRUCT {
+ SQLINTERVAL interval_type;
+ SQLSMALLINT interval_sign;
+ union {
+ SQL_YEAR_MONTH_STRUCT year_month;
+ SQL_DAY_SECOND_STRUCT day_second;
+ } intval;
+} SQL_INTERVAL_STRUCT;
+#define SQL_MAX_NUMERIC_LEN 16
+typedef struct tagSQL_NUMERIC_STRUCT {
+ SQLCHAR precision;
+ SQLSCHAR scale;
+ SQLCHAR sign;
+ SQLCHAR val[SQL_MAX_NUMERIC_LEN];
+} SQL_NUMERIC_STRUCT;
+#endif /* ODBCVER >= 0x0300 */
+#if (ODBCVER >= 0x0350)
+#ifdef _GUID_DEFINED
+typedef GUID SQLGUID;
+#else
+typedef struct tagSQLGUID{
+ DWORD Data1;
+ WORD Data2;
+ WORD Data3;
+ BYTE Data4[ 8 ];
+} SQLGUID;
+#endif /* _GUID_DEFINED */
+#endif /* ODBCVER >= 0x0350 */
+#endif /* RC_INVOKED */
#ifdef __cplusplus
}
#endif