home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / sqltypes.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  4KB  |  166 lines

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