odbcss.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef __ODBCSS
  7. #define __ODBCSS
  8. #include <_mingw_unicode.h>
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #define SQL_MAX_SQLSERVERNAME 128
  13. #define SQL_COPT_SS_BASE 1200
  14. #define SQL_COPT_SS_REMOTE_PWD (SQL_COPT_SS_BASE+1)
  15. #define SQL_COPT_SS_USE_PROC_FOR_PREP (SQL_COPT_SS_BASE+2)
  16. #define SQL_COPT_SS_INTEGRATED_SECURITY (SQL_COPT_SS_BASE+3)
  17. #define SQL_COPT_SS_PRESERVE_CURSORS (SQL_COPT_SS_BASE+4)
  18. #define SQL_COPT_SS_USER_DATA (SQL_COPT_SS_BASE+5)
  19. #define SQL_COPT_SS_ENLIST_IN_DTC SQL_ATTR_ENLIST_IN_DTC
  20. #define SQL_COPT_SS_ENLIST_IN_XA SQL_ATTR_ENLIST_IN_XA
  21. #define SQL_COPT_SS_FALLBACK_CONNECT (SQL_COPT_SS_BASE+10)
  22. #define SQL_COPT_SS_PERF_DATA (SQL_COPT_SS_BASE+11)
  23. #define SQL_COPT_SS_PERF_DATA_LOG (SQL_COPT_SS_BASE+12)
  24. #define SQL_COPT_SS_PERF_QUERY_INTERVAL (SQL_COPT_SS_BASE+13)
  25. #define SQL_COPT_SS_PERF_QUERY_LOG (SQL_COPT_SS_BASE+14)
  26. #define SQL_COPT_SS_PERF_QUERY (SQL_COPT_SS_BASE+15)
  27. #define SQL_COPT_SS_PERF_DATA_LOG_NOW (SQL_COPT_SS_BASE+16)
  28. #define SQL_COPT_SS_QUOTED_IDENT (SQL_COPT_SS_BASE+17)
  29. #define SQL_COPT_SS_ANSI_NPW (SQL_COPT_SS_BASE+18)
  30. #define SQL_COPT_SS_BCP (SQL_COPT_SS_BASE+19)
  31. #define SQL_COPT_SS_TRANSLATE (SQL_COPT_SS_BASE+20)
  32. #define SQL_COPT_SS_ATTACHDBFILENAME (SQL_COPT_SS_BASE+21)
  33. #define SQL_COPT_SS_CONCAT_NULL (SQL_COPT_SS_BASE+22)
  34. #define SQL_COPT_SS_ENCRYPT (SQL_COPT_SS_BASE+23)
  35. #define SQL_COPT_SS_MAX_USED SQL_COPT_SS_ENCRYPT
  36. #define SQL_SOPT_SS_BASE 1225
  37. #define SQL_SOPT_SS_TEXTPTR_LOGGING (SQL_SOPT_SS_BASE+0)
  38. #define SQL_SOPT_SS_CURRENT_COMMAND (SQL_SOPT_SS_BASE+1)
  39. #define SQL_SOPT_SS_HIDDEN_COLUMNS (SQL_SOPT_SS_BASE+2)
  40. #define SQL_SOPT_SS_NOBROWSETABLE (SQL_SOPT_SS_BASE+3)
  41. #define SQL_SOPT_SS_REGIONALIZE (SQL_SOPT_SS_BASE+4)
  42. #define SQL_SOPT_SS_CURSOR_OPTIONS (SQL_SOPT_SS_BASE+5)
  43. #define SQL_SOPT_SS_NOCOUNT_STATUS (SQL_SOPT_SS_BASE+6)
  44. #define SQL_SOPT_SS_DEFER_PREPARE (SQL_SOPT_SS_BASE+7)
  45. #define SQL_SOPT_SS_MAX_USED SQL_SOPT_SS_DEFER_PREPARE
  46. #define SQL_COPT_SS_BASE_EX 1240
  47. #define SQL_COPT_SS_BROWSE_CONNECT (SQL_COPT_SS_BASE_EX+1)
  48. #define SQL_COPT_SS_BROWSE_SERVER (SQL_COPT_SS_BASE_EX+2)
  49. #define SQL_COPT_SS_WARN_ON_CP_ERROR (SQL_COPT_SS_BASE_EX+3)
  50. #define SQL_COPT_SS_CONNECTION_DEAD (SQL_COPT_SS_BASE_EX+4)
  51. #define SQL_COPT_SS_BROWSE_CACHE_DATA (SQL_COPT_SS_BASE_EX+5)
  52. #define SQL_COPT_SS_RESET_CONNECTION (SQL_COPT_SS_BASE_EX+6)
  53. #define SQL_COPT_SS_EX_MAX_USED SQL_COPT_SS_RESET_CONNECTION
  54. #define SQL_UP_OFF __MSABI_LONG(0)
  55. #define SQL_UP_ON __MSABI_LONG(1)
  56. #define SQL_UP_ON_DROP __MSABI_LONG(2)
  57. #define SQL_UP_DEFAULT SQL_UP_ON
  58. #define SQL_IS_OFF __MSABI_LONG(0)
  59. #define SQL_IS_ON __MSABI_LONG(1)
  60. #define SQL_IS_DEFAULT SQL_IS_OFF
  61. #define SQL_PC_OFF __MSABI_LONG(0)
  62. #define SQL_PC_ON __MSABI_LONG(1)
  63. #define SQL_PC_DEFAULT SQL_PC_OFF
  64. #define SQL_UD_NOTSET NULL
  65. #define SQL_XL_OFF __MSABI_LONG(0)
  66. #define SQL_XL_ON __MSABI_LONG(1)
  67. #define SQL_XL_DEFAULT SQL_XL_ON
  68. #define SQL_FB_OFF __MSABI_LONG(0)
  69. #define SQL_FB_ON __MSABI_LONG(1)
  70. #define SQL_FB_DEFAULT SQL_FB_OFF
  71. #define SQL_BCP_OFF __MSABI_LONG(0)
  72. #define SQL_BCP_ON __MSABI_LONG(1)
  73. #define SQL_BCP_DEFAULT SQL_BCP_OFF
  74. #define SQL_QI_OFF __MSABI_LONG(0)
  75. #define SQL_QI_ON __MSABI_LONG(1)
  76. #define SQL_QI_DEFAULT SQL_QI_ON
  77. #define SQL_AD_OFF __MSABI_LONG(0)
  78. #define SQL_AD_ON __MSABI_LONG(1)
  79. #define SQL_AD_DEFAULT SQL_AD_ON
  80. #define SQL_CN_OFF __MSABI_LONG(0)
  81. #define SQL_CN_ON __MSABI_LONG(1)
  82. #define SQL_CN_DEFAULT SQL_CN_ON
  83. #define SQL_TL_OFF __MSABI_LONG(0)
  84. #define SQL_TL_ON __MSABI_LONG(1)
  85. #define SQL_TL_DEFAULT SQL_TL_ON
  86. #define SQL_HC_OFF __MSABI_LONG(0)
  87. #define SQL_HC_ON __MSABI_LONG(1)
  88. #define SQL_HC_DEFAULT SQL_HC_OFF
  89. #define SQL_NB_OFF __MSABI_LONG(0)
  90. #define SQL_NB_ON __MSABI_LONG(1)
  91. #define SQL_NB_DEFAULT SQL_NB_OFF
  92. #define SQL_RE_OFF __MSABI_LONG(0)
  93. #define SQL_RE_ON __MSABI_LONG(1)
  94. #define SQL_RE_DEFAULT SQL_RE_OFF
  95. #define SQL_CO_OFF __MSABI_LONG(0)
  96. #define SQL_CO_FFO __MSABI_LONG(1)
  97. #define SQL_CO_AF __MSABI_LONG(2)
  98. #define SQL_CO_FFO_AF (SQL_CO_FFO|SQL_CO_AF)
  99. #define SQL_CO_FIREHOSE_AF __MSABI_LONG(4)
  100. #define SQL_CO_DEFAULT SQL_CO_OFF
  101. #define SQL_NC_OFF __MSABI_LONG(0)
  102. #define SQL_NC_ON __MSABI_LONG(1)
  103. #define SQL_DP_OFF __MSABI_LONG(0)
  104. #define SQL_DP_ON __MSABI_LONG(1)
  105. #define SQL_EN_OFF __MSABI_LONG(0)
  106. #define SQL_EN_ON __MSABI_LONG(1)
  107. #define SQL_MORE_INFO_NO __MSABI_LONG(0)
  108. #define SQL_MORE_INFO_YES __MSABI_LONG(1)
  109. #define SQL_CACHE_DATA_NO __MSABI_LONG(0)
  110. #define SQL_CACHE_DATA_YES __MSABI_LONG(1)
  111. #define SQL_RESET_YES __MSABI_LONG(1)
  112. #define SQL_WARN_NO __MSABI_LONG(0)
  113. #define SQL_WARN_YES __MSABI_LONG(1)
  114. #define SQL_CURSOR_FAST_FORWARD_ONLY 8
  115. #define SQL_CA_SS_BASE 1200
  116. #define SQL_CA_SS_COLUMN_SSTYPE (SQL_CA_SS_BASE+0)
  117. #define SQL_CA_SS_COLUMN_UTYPE (SQL_CA_SS_BASE+1)
  118. #define SQL_CA_SS_NUM_ORDERS (SQL_CA_SS_BASE+2)
  119. #define SQL_CA_SS_COLUMN_ORDER (SQL_CA_SS_BASE+3)
  120. #define SQL_CA_SS_COLUMN_VARYLEN (SQL_CA_SS_BASE+4)
  121. #define SQL_CA_SS_NUM_COMPUTES (SQL_CA_SS_BASE+5)
  122. #define SQL_CA_SS_COMPUTE_ID (SQL_CA_SS_BASE+6)
  123. #define SQL_CA_SS_COMPUTE_BYLIST (SQL_CA_SS_BASE+7)
  124. #define SQL_CA_SS_COLUMN_ID (SQL_CA_SS_BASE+8)
  125. #define SQL_CA_SS_COLUMN_OP (SQL_CA_SS_BASE+9)
  126. #define SQL_CA_SS_COLUMN_SIZE (SQL_CA_SS_BASE+10)
  127. #define SQL_CA_SS_COLUMN_HIDDEN (SQL_CA_SS_BASE+11)
  128. #define SQL_CA_SS_COLUMN_KEY (SQL_CA_SS_BASE+12)
  129. #define SQL_CA_SS_COLUMN_COLLATION (SQL_CA_SS_BASE+14)
  130. #define SQL_CA_SS_VARIANT_TYPE (SQL_CA_SS_BASE+15)
  131. #define SQL_CA_SS_VARIANT_SQL_TYPE (SQL_CA_SS_BASE+16)
  132. #define SQL_CA_SS_VARIANT_SERVER_TYPE (SQL_CA_SS_BASE+17)
  133. #define SQL_CA_SS_MAX_USED (SQL_CA_SS_BASE+18)
  134. #define SQLTEXT 0x23
  135. #define SQLVARBINARY 0x25
  136. #define SQLINTN 0x26
  137. #define SQLVARCHAR 0x27
  138. #define SQLBINARY 0x2d
  139. #define SQLIMAGE 0x22
  140. #define SQLCHARACTER 0x2f
  141. #define SQLINT1 0x30
  142. #define SQLBIT 0x32
  143. #define SQLINT2 0x34
  144. #define SQLINT4 0x38
  145. #define SQLMONEY 0x3c
  146. #define SQLDATETIME 0x3d
  147. #define SQLFLT8 0x3e
  148. #define SQLFLTN 0x6d
  149. #define SQLMONEYN 0x6e
  150. #define SQLDATETIMN 0x6f
  151. #define SQLFLT4 0x3b
  152. #define SQLMONEY4 0x7a
  153. #define SQLDATETIM4 0x3a
  154. #define SQLDECIMAL 0x6a
  155. #define SQLNUMERIC 0x6c
  156. #define SQLUNIQUEID 0x24
  157. #define SQLBIGCHAR 0xaf
  158. #define SQLBIGVARCHAR 0xa7
  159. #define SQLBIGBINARY 0xad
  160. #define SQLBIGVARBINARY 0xa5
  161. #define SQLBITN 0x68
  162. #define SQLNCHAR 0xef
  163. #define SQLNVARCHAR 0xe7
  164. #define SQLNTEXT 0x63
  165. #define SQLINT8 0x7f
  166. #define SQLVARIANT 0x62
  167. #define SQLudtBINARY 3
  168. #define SQLudtBIT 16
  169. #define SQLudtBITN 0
  170. #define SQLudtCHAR 1
  171. #define SQLudtDATETIM4 22
  172. #define SQLudtDATETIME 12
  173. #define SQLudtDATETIMN 15
  174. #define SQLudtDECML 24
  175. #define SQLudtDECMLN 26
  176. #define SQLudtFLT4 23
  177. #define SQLudtFLT8 8
  178. #define SQLudtFLTN 14
  179. #define SQLudtIMAGE 20
  180. #define SQLudtINT1 5
  181. #define SQLudtINT2 6
  182. #define SQLudtINT4 7
  183. #define SQLudtINTN 13
  184. #define SQLudtMONEY 11
  185. #define SQLudtMONEY4 21
  186. #define SQLudtMONEYN 17
  187. #define SQLudtNUM 10
  188. #define SQLudtNUMN 25
  189. #define SQLudtSYSNAME 18
  190. #define SQLudtTEXT 19
  191. #define SQLudtTIMESTAMP 80
  192. #define SQLudtUNIQUEIDENTIFIER 0
  193. #define SQLudtVARBINARY 4
  194. #define SQLudtVARCHAR 2
  195. #define MIN_USER_DATATYPE 256
  196. #define SQLAOPSTDEV 0x30
  197. #define SQLAOPSTDEVP 0x31
  198. #define SQLAOPVAR 0x32
  199. #define SQLAOPVARP 0x33
  200. #define SQLAOPCNT 0x4b
  201. #define SQLAOPSUM 0x4d
  202. #define SQLAOPAVG 0x4f
  203. #define SQLAOPMIN 0x51
  204. #define SQLAOPMAX 0x52
  205. #define SQLAOPANY 0x53
  206. #define SQLAOPNOOP 0x56
  207. #define SQL_INFO_SS_FIRST 1199
  208. #define SQL_INFO_SS_NETLIB_NAMEW (SQL_INFO_SS_FIRST+0)
  209. #define SQL_INFO_SS_NETLIB_NAMEA (SQL_INFO_SS_FIRST+1)
  210. #define SQL_INFO_SS_MAX_USED SQL_INFO_SS_NETLIB_NAMEA
  211. #define SQL_INFO_SS_NETLIB_NAME __MINGW_NAME_AW(SQL_INFO_SS_NETLIB_NAME)
  212. #define SQL_SS_VARIANT -150
  213. #define SQL_DIAG_SS_BASE (-1150)
  214. #define SQL_DIAG_SS_MSGSTATE (SQL_DIAG_SS_BASE)
  215. #define SQL_DIAG_SS_SEVERITY (SQL_DIAG_SS_BASE-1)
  216. #define SQL_DIAG_SS_SRVNAME (SQL_DIAG_SS_BASE-2)
  217. #define SQL_DIAG_SS_PROCNAME (SQL_DIAG_SS_BASE-3)
  218. #define SQL_DIAG_SS_LINE (SQL_DIAG_SS_BASE-4)
  219. #define SQL_DIAG_DFC_SS_BASE (-200)
  220. #define SQL_DIAG_DFC_SS_ALTER_DATABASE (SQL_DIAG_DFC_SS_BASE-0)
  221. #define SQL_DIAG_DFC_SS_CHECKPOINT (SQL_DIAG_DFC_SS_BASE-1)
  222. #define SQL_DIAG_DFC_SS_CONDITION (SQL_DIAG_DFC_SS_BASE-2)
  223. #define SQL_DIAG_DFC_SS_CREATE_DATABASE (SQL_DIAG_DFC_SS_BASE-3)
  224. #define SQL_DIAG_DFC_SS_CREATE_DEFAULT (SQL_DIAG_DFC_SS_BASE-4)
  225. #define SQL_DIAG_DFC_SS_CREATE_PROCEDURE (SQL_DIAG_DFC_SS_BASE-5)
  226. #define SQL_DIAG_DFC_SS_CREATE_RULE (SQL_DIAG_DFC_SS_BASE-6)
  227. #define SQL_DIAG_DFC_SS_CREATE_TRIGGER (SQL_DIAG_DFC_SS_BASE-7)
  228. #define SQL_DIAG_DFC_SS_CURSOR_DECLARE (SQL_DIAG_DFC_SS_BASE-8)
  229. #define SQL_DIAG_DFC_SS_CURSOR_OPEN (SQL_DIAG_DFC_SS_BASE-9)
  230. #define SQL_DIAG_DFC_SS_CURSOR_FETCH (SQL_DIAG_DFC_SS_BASE-10)
  231. #define SQL_DIAG_DFC_SS_CURSOR_CLOSE (SQL_DIAG_DFC_SS_BASE-11)
  232. #define SQL_DIAG_DFC_SS_DEALLOCATE_CURSOR (SQL_DIAG_DFC_SS_BASE-12)
  233. #define SQL_DIAG_DFC_SS_DBCC (SQL_DIAG_DFC_SS_BASE-13)
  234. #define SQL_DIAG_DFC_SS_DISK (SQL_DIAG_DFC_SS_BASE-14)
  235. #define SQL_DIAG_DFC_SS_DROP_DATABASE (SQL_DIAG_DFC_SS_BASE-15)
  236. #define SQL_DIAG_DFC_SS_DROP_DEFAULT (SQL_DIAG_DFC_SS_BASE-16)
  237. #define SQL_DIAG_DFC_SS_DROP_PROCEDURE (SQL_DIAG_DFC_SS_BASE-17)
  238. #define SQL_DIAG_DFC_SS_DROP_RULE (SQL_DIAG_DFC_SS_BASE-18)
  239. #define SQL_DIAG_DFC_SS_DROP_TRIGGER (SQL_DIAG_DFC_SS_BASE-19)
  240. #define SQL_DIAG_DFC_SS_DUMP_DATABASE (SQL_DIAG_DFC_SS_BASE-20)
  241. #define SQL_DIAG_DFC_SS_DUMP_TABLE (SQL_DIAG_DFC_SS_BASE-21)
  242. #define SQL_DIAG_DFC_SS_DUMP_TRANSACTION (SQL_DIAG_DFC_SS_BASE-22)
  243. #define SQL_DIAG_DFC_SS_GOTO (SQL_DIAG_DFC_SS_BASE-23)
  244. #define SQL_DIAG_DFC_SS_INSERT_BULK (SQL_DIAG_DFC_SS_BASE-24)
  245. #define SQL_DIAG_DFC_SS_KILL (SQL_DIAG_DFC_SS_BASE-25)
  246. #define SQL_DIAG_DFC_SS_LOAD_DATABASE (SQL_DIAG_DFC_SS_BASE-26)
  247. #define SQL_DIAG_DFC_SS_LOAD_HEADERONLY (SQL_DIAG_DFC_SS_BASE-27)
  248. #define SQL_DIAG_DFC_SS_LOAD_TABLE (SQL_DIAG_DFC_SS_BASE-28)
  249. #define SQL_DIAG_DFC_SS_LOAD_TRANSACTION (SQL_DIAG_DFC_SS_BASE-29)
  250. #define SQL_DIAG_DFC_SS_PRINT (SQL_DIAG_DFC_SS_BASE-30)
  251. #define SQL_DIAG_DFC_SS_RAISERROR (SQL_DIAG_DFC_SS_BASE-31)
  252. #define SQL_DIAG_DFC_SS_READTEXT (SQL_DIAG_DFC_SS_BASE-32)
  253. #define SQL_DIAG_DFC_SS_RECONFIGURE (SQL_DIAG_DFC_SS_BASE-33)
  254. #define SQL_DIAG_DFC_SS_RETURN (SQL_DIAG_DFC_SS_BASE-34)
  255. #define SQL_DIAG_DFC_SS_SELECT_INTO (SQL_DIAG_DFC_SS_BASE-35)
  256. #define SQL_DIAG_DFC_SS_SET (SQL_DIAG_DFC_SS_BASE-36)
  257. #define SQL_DIAG_DFC_SS_SET_IDENTITY_INSERT (SQL_DIAG_DFC_SS_BASE-37)
  258. #define SQL_DIAG_DFC_SS_SET_ROW_COUNT (SQL_DIAG_DFC_SS_BASE-38)
  259. #define SQL_DIAG_DFC_SS_SET_STATISTICS (SQL_DIAG_DFC_SS_BASE-39)
  260. #define SQL_DIAG_DFC_SS_SET_TEXTSIZE (SQL_DIAG_DFC_SS_BASE-40)
  261. #define SQL_DIAG_DFC_SS_SETUSER (SQL_DIAG_DFC_SS_BASE-41)
  262. #define SQL_DIAG_DFC_SS_SHUTDOWN (SQL_DIAG_DFC_SS_BASE-42)
  263. #define SQL_DIAG_DFC_SS_TRANS_BEGIN (SQL_DIAG_DFC_SS_BASE-43)
  264. #define SQL_DIAG_DFC_SS_TRANS_COMMIT (SQL_DIAG_DFC_SS_BASE-44)
  265. #define SQL_DIAG_DFC_SS_TRANS_PREPARE (SQL_DIAG_DFC_SS_BASE-45)
  266. #define SQL_DIAG_DFC_SS_TRANS_ROLLBACK (SQL_DIAG_DFC_SS_BASE-46)
  267. #define SQL_DIAG_DFC_SS_TRANS_SAVE (SQL_DIAG_DFC_SS_BASE-47)
  268. #define SQL_DIAG_DFC_SS_TRUNCATE_TABLE (SQL_DIAG_DFC_SS_BASE-48)
  269. #define SQL_DIAG_DFC_SS_UPDATE_STATISTICS (SQL_DIAG_DFC_SS_BASE-49)
  270. #define SQL_DIAG_DFC_SS_UPDATETEXT (SQL_DIAG_DFC_SS_BASE-50)
  271. #define SQL_DIAG_DFC_SS_USE (SQL_DIAG_DFC_SS_BASE-51)
  272. #define SQL_DIAG_DFC_SS_WAITFOR (SQL_DIAG_DFC_SS_BASE-52)
  273. #define SQL_DIAG_DFC_SS_WRITETEXT (SQL_DIAG_DFC_SS_BASE-53)
  274. #define SQL_DIAG_DFC_SS_DENY (SQL_DIAG_DFC_SS_BASE-54)
  275. #define SQL_DIAG_DFC_SS_SET_XCTLVL (SQL_DIAG_DFC_SS_BASE-55)
  276. #define EX_ANY 0
  277. #define EX_INFO 10
  278. #define EX_MAXISEVERITY EX_INFO
  279. #define EX_MISSING 11
  280. #define EX_TYPE 12
  281. #define EX_DEADLOCK 13
  282. #define EX_PERMIT 14
  283. #define EX_SYNTAX 15
  284. #define EX_USER 16
  285. #define EX_RESOURCE 17
  286. #define EX_INTOK 18
  287. #define MAXUSEVERITY EX_INTOK
  288. #define EX_LIMIT 19
  289. #define EX_CMDFATAL 20
  290. #define MINFATALERR EX_CMDFATAL
  291. #define EX_DBFATAL 21
  292. #define EX_TABCORRUPT 22
  293. #define EX_DBCORRUPT 23
  294. #define EX_HARDWARE 24
  295. #define EX_CONTROL 25
  296. #ifndef MAXNUMERICLEN
  297. #define DBMAXCHAR (8000+1)
  298. #define MAXNAME (SQL_MAX_SQLSERVERNAME+1)
  299. #if defined(UNICODE)
  300. typedef wchar_t DBCHAR;
  301. #else
  302. typedef char DBCHAR;
  303. #endif
  304. typedef unsigned char DBBINARY;
  305. typedef unsigned char DBTINYINT;
  306. typedef short DBSMALLINT;
  307. typedef unsigned short DBUSMALLINT;
  308. typedef double DBFLT8;
  309. typedef unsigned char DBBIT;
  310. typedef unsigned char DBBOOL;
  311. typedef float DBFLT4;
  312. typedef DBFLT4 DBREAL;
  313. typedef UINT DBUBOOL;
  314. typedef struct dbvarychar {
  315. DBSMALLINT len;
  316. DBCHAR str[DBMAXCHAR];
  317. } DBVARYCHAR;
  318. typedef struct dbvarybin {
  319. DBSMALLINT len;
  320. BYTE array[DBMAXCHAR];
  321. } DBVARYBIN;
  322. typedef struct dbmoney {
  323. LONG mnyhigh;
  324. ULONG mnylow;
  325. } DBMONEY;
  326. typedef struct dbdatetime {
  327. LONG dtdays;
  328. ULONG dttime;
  329. } DBDATETIME;
  330. typedef struct dbdatetime4 {
  331. USHORT numdays;
  332. USHORT nummins;
  333. } DBDATETIM4;
  334. typedef LONG DBMONEY4;
  335. #define DBNUM_PREC_TYPE BYTE
  336. #define DBNUM_SCALE_TYPE BYTE
  337. #define DBNUM_VAL_TYPE BYTE
  338. #if (ODBCVER < 0x0300)
  339. #define MAXNUMERICLEN 16
  340. typedef struct dbnumeric {
  341. DBNUM_PREC_TYPE precision;
  342. DBNUM_SCALE_TYPE scale;
  343. BYTE sign;
  344. DBNUM_VAL_TYPE val[MAXNUMERICLEN];
  345. } DBNUMERIC;
  346. typedef DBNUMERIC DBDECIMAL;
  347. #else
  348. #define MAXNUMERICLEN SQL_MAX_NUMERIC_LEN
  349. typedef SQL_NUMERIC_STRUCT DBNUMERIC;
  350. typedef SQL_NUMERIC_STRUCT DBDECIMAL;
  351. #endif
  352. #endif
  353. #ifndef INT
  354. typedef int INT;
  355. typedef __LONG32 DBINT;
  356. #ifndef _LPCBYTE_DEFINED
  357. #define _LPCBYTE_DEFINED
  358. typedef const LPBYTE LPCBYTE;
  359. #endif
  360. typedef DBINT *LPDBINT;
  361. #endif
  362. typedef struct sqlperf {
  363. DWORD TimerResolution;
  364. DWORD SQLidu;
  365. DWORD SQLiduRows;
  366. DWORD SQLSelects;
  367. DWORD SQLSelectRows;
  368. DWORD Transactions;
  369. DWORD SQLPrepares;
  370. DWORD ExecDirects;
  371. DWORD SQLExecutes;
  372. DWORD CursorOpens;
  373. DWORD CursorSize;
  374. DWORD CursorUsed;
  375. LDOUBLE PercentCursorUsed;
  376. LDOUBLE AvgFetchTime;
  377. LDOUBLE AvgCursorSize;
  378. LDOUBLE AvgCursorUsed;
  379. DWORD SQLFetchTime;
  380. DWORD SQLFetchCount;
  381. DWORD CurrentStmtCount;
  382. DWORD MaxOpenStmt;
  383. DWORD SumOpenStmt;
  384. DWORD CurrentConnectionCount;
  385. DWORD MaxConnectionsOpened;
  386. DWORD SumConnectionsOpened;
  387. DWORD SumConnectiontime;
  388. LDOUBLE AvgTimeOpened;
  389. DWORD ServerRndTrips;
  390. DWORD BuffersSent;
  391. DWORD BuffersRec;
  392. DWORD BytesSent;
  393. DWORD BytesRec;
  394. DWORD msExecutionTime;
  395. DWORD msNetWorkServerTime;
  396. } SQLPERF;
  397. #define SQL_PERF_START 1
  398. #define SQL_PERF_STOP 2
  399. #define SQL_SS_DL_DEFAULT TEXT("STATS.LOG")
  400. #define SQL_SS_QL_DEFAULT TEXT("QUERY.LOG")
  401. #define SQL_SS_QI_DEFAULT 30000
  402. #define SUCCEED 1
  403. #define FAIL 0
  404. #define SUCCEED_ABORT 2
  405. #define SUCCEED_ASYNC 3
  406. #define DB_IN 1
  407. #define DB_OUT 2
  408. #define BCPMAXERRS 1
  409. #define BCPFIRST 2
  410. #define BCPLAST 3
  411. #define BCPBATCH 4
  412. #define BCPKEEPNULLS 5
  413. #define BCPABORT 6
  414. #define BCPODBC 7
  415. #define BCPKEEPIDENTITY 8
  416. #define BCP6xFILEFMT 9
  417. #define BCPHINTSA 10
  418. #define BCPHINTSW 11
  419. #define BCPFILECP 12
  420. #define BCPUNICODEFILE 13
  421. #define BCPTEXTFILE 14
  422. #define BCPFILEFMT 15
  423. #define BCPFILECP_ACP 0
  424. #define BCPFILECP_OEMCP 1
  425. #define BCPFILECP_RAW (-1)
  426. #define SQL_VARLEN_DATA (-10)
  427. DBINT SQL_API bcp_batch(HDBC);
  428. RETCODE SQL_API bcp_bind(HDBC,LPCBYTE,INT,DBINT,LPCBYTE,INT,INT,INT);
  429. RETCODE SQL_API bcp_colfmt(HDBC,INT,BYTE,INT,DBINT,LPCBYTE,INT,INT);
  430. RETCODE SQL_API bcp_collen(HDBC,DBINT,INT);
  431. RETCODE SQL_API bcp_colptr(HDBC,LPCBYTE,INT);
  432. RETCODE SQL_API bcp_columns(HDBC,INT);
  433. RETCODE SQL_API bcp_control(HDBC,INT,void *);
  434. DBINT SQL_API bcp_done(HDBC);
  435. RETCODE SQL_API bcp_exec(HDBC,LPDBINT);
  436. RETCODE SQL_API bcp_getcolfmt(HDBC,INT,INT,void *,INT,INT *);
  437. RETCODE SQL_API bcp_initA(HDBC,LPCSTR,LPCSTR,LPCSTR,INT);
  438. RETCODE SQL_API bcp_initW(HDBC,LPCWSTR,LPCWSTR,LPCWSTR,INT);
  439. RETCODE SQL_API bcp_moretext(HDBC,DBINT,LPCBYTE);
  440. RETCODE SQL_API bcp_readfmtA(HDBC,LPCSTR);
  441. RETCODE SQL_API bcp_readfmtW(HDBC,LPCWSTR);
  442. RETCODE SQL_API bcp_sendrow(HDBC);
  443. RETCODE SQL_API bcp_setcolfmt(HDBC,INT,INT,void *,INT);
  444. RETCODE SQL_API bcp_writefmtA(HDBC,LPCSTR);
  445. RETCODE SQL_API bcp_writefmtW(HDBC,LPCWSTR);
  446. CHAR *SQL_API dbprtypeA(INT);
  447. WCHAR *SQL_API dbprtypeW(INT);
  448. #define bcp_init __MINGW_NAME_AW(bcp_init)
  449. #define bcp_readfmt __MINGW_NAME_AW(bcp_readfmt)
  450. #define bcp_writefmt __MINGW_NAME_AW(bcp_writefmt)
  451. #define dbprtype __MINGW_NAME_AW(dbprtype)
  452. #define BCPHINTS __MINGW_NAME_AW(BCPHINTS)
  453. SQLRETURN SQL_API SQLLinkedServers(SQLHSTMT);
  454. SQLRETURN SQL_API SQLLinkedCatalogsA(SQLHSTMT,LPCSTR,SWORD);
  455. SQLRETURN SQL_API SQLLinkedCatalogsW(SQLHSTMT,LPCWSTR,SWORD);
  456. HANDLE SQL_API SQLInitEnumServers(WCHAR *pwchServerName,WCHAR *pwchInstanceName);
  457. RETCODE SQL_API SQLGetNextEnumeration(HANDLE hEnumHandle,BYTE *prgEnumData,INT *piEnumLength);
  458. RETCODE SQL_API SQLCloseEnumServers(HANDLE hEnumHandle);
  459. #define SQLLinkedCatalogs __MINGW_NAME_AW(SQLLinkedCatalogs)
  460. #define BCP_FMT_TYPE 0x01
  461. #define BCP_FMT_INDICATOR_LEN 0x02
  462. #define BCP_FMT_DATA_LEN 0x03
  463. #define BCP_FMT_TERMINATOR 0x04
  464. #define BCP_FMT_SERVER_COL 0x05
  465. #define BCP_FMT_COLLATION 0x06
  466. #define BCP_FMT_COLLATION_ID 0x07
  467. #define SQL_FAST_CONNECT (SQL_COPT_SS_BASE+0)
  468. #define SQL_FC_OFF __MSABI_LONG(0)
  469. #define SQL_FC_ON __MSABI_LONG(1)
  470. #define SQL_FC_DEFAULT SQL_FC_OFF
  471. #define SQL_COPT_SS_ANSI_OEM (SQL_COPT_SS_BASE+6)
  472. #define SQL_AO_OFF __MSABI_LONG(0)
  473. #define SQL_AO_ON __MSABI_LONG(1)
  474. #define SQL_AO_DEFAULT SQL_AO_OFF
  475. #define SQL_REMOTE_PWD SQL_COPT_SS_REMOTE_PWD
  476. #define SQL_USE_PROCEDURE_FOR_PREPARE SQL_COPT_SS_USE_PROC_FOR_PREP
  477. #define SQL_INTEGRATED_SECURITY SQL_COPT_SS_INTEGRATED_SECURITY
  478. #define SQL_PRESERVE_CURSORS SQL_COPT_SS_PRESERVE_CURSORS
  479. #define SQL_TEXTPTR_LOGGING SQL_SOPT_SS_TEXTPTR_LOGGING
  480. #define SQL_CA_SS_BASE_COLUMN_NAME SQL_DESC_BASE_COLUMN_NAME
  481. #define SQLDECIMALN 0x6a
  482. #define SQLNUMERICN 0x6c
  483. #ifdef __cplusplus
  484. }
  485. #endif
  486. #endif