home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / db2clisq.zip / sqlcli1.h < prev    next >
C/C++ Source or Header  |  2002-08-04  |  46KB  |  1,215 lines

  1. /******************************************************************************
  2.  * (C) COPYRIGHT International Business Machines Corp. 2000 - 2002
  3.  *
  4.  * 5724-D04
  5.  *
  6.  * All Rights Reserved
  7.  *
  8.  * US Government Users Restricted Rights - Use, duplication, or disclosure
  9.  * restricted by GSA ADP Schedule Contract with IBM Corp.
  10.  *
  11.  * Source File Name = sqlcli1.h
  12.  *
  13.  * Function = Include File defining:
  14.  *              DB2 CLI Interface - Constants
  15.  *              DB2 CLI Interface - Function Prototypes
  16.  *
  17.  * Operating System = Common C Include File
  18.  *
  19.  *****************************************************************************/
  20.  
  21. #ifndef __clidll__
  22. #ifdef UNDER_CE
  23. #define __clidll__ __declspec(dllimport)
  24. #else 
  25. #define __clidll__
  26. #endif // of under_ce
  27. #endif // end of #ifndef __clidll__
  28.  
  29.  
  30. #ifndef SQL_H_SQLCLI1
  31. #define SQL_H_SQLCLI1           /* Permit duplicate Includes */
  32.  
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37.  
  38. #include "sqlsystm.h"              /* System dependent defines  */
  39.  
  40.  
  41. #if defined(DB2WIN) || defined(DB2NT)
  42. #include <windows.h>
  43. #endif
  44. #ifdef DB2OS2
  45. #define INCL_WIN
  46. #define INCL_DOS
  47. // #include <os2.h>
  48. #endif
  49.  
  50. // #include    "sqlca.h"
  51. #include    "sqlcli.h"
  52.  
  53. /* SQLGetFunction defines  - supported functions */
  54. #define  SQL_API_SQLALLOCCONNECT        1
  55. #define  SQL_API_SQLALLOCENV            2
  56. #define  SQL_API_SQLALLOCSTMT           3
  57. #define  SQL_API_SQLBINDCOL             4
  58. #define  SQL_API_SQLBINDPARAM           1002
  59. #define  SQL_API_SQLCANCEL              5
  60. #define  SQL_API_SQLCONNECT             7
  61. #define  SQL_API_SQLCOPYDESC            1004
  62. #define  SQL_API_SQLDESCRIBECOL         8
  63. #define  SQL_API_SQLDISCONNECT          9
  64. #define  SQL_API_SQLERROR              10
  65. #define  SQL_API_SQLEXECDIRECT         11
  66. #define  SQL_API_SQLEXECUTE            12
  67. #define  SQL_API_SQLFETCH              13
  68. #define  SQL_API_SQLFREECONNECT        14
  69. #define  SQL_API_SQLFREEENV            15
  70. #define  SQL_API_SQLFREESTMT           16
  71. #define  SQL_API_SQLGETCURSORNAME      17
  72. #define  SQL_API_SQLNUMRESULTCOLS      18
  73. #define  SQL_API_SQLPREPARE            19
  74. #define  SQL_API_SQLROWCOUNT           20
  75. #define  SQL_API_SQLSETCURSORNAME      21
  76. #define  SQL_API_SQLSETDESCFIELD       1017
  77. #define  SQL_API_SQLSETDESCREC         1018
  78. #define  SQL_API_SQLSETENVATTR         1019
  79. #define  SQL_API_SQLSETPARAM           22
  80. #define  SQL_API_SQLTRANSACT           23
  81.  
  82. #define  SQL_API_SQLCOLUMNS            40
  83. #define  SQL_API_SQLGETCONNECTOPTION   42
  84. #define  SQL_API_SQLGETDATA            43
  85. #define  SQL_API_SQLGETDESCFIELD       1008
  86. #define  SQL_API_SQLGETDESCREC         1009
  87. #define  SQL_API_SQLGETDIAGFIELD       1010
  88. #define  SQL_API_SQLGETDIAGREC         1011
  89. #define  SQL_API_SQLGETENVATTR         1012
  90. #define  SQL_API_SQLGETFUNCTIONS       44
  91. #define  SQL_API_SQLGETINFO            45
  92. #define  SQL_API_SQLGETSTMTOPTION      46
  93. #define  SQL_API_SQLGETTYPEINFO        47
  94. #define  SQL_API_SQLPARAMDATA          48
  95. #define  SQL_API_SQLPUTDATA            49
  96. #define  SQL_API_SQLSETCONNECTOPTION   50
  97. #define  SQL_API_SQLSETSTMTOPTION      51
  98. #define  SQL_API_SQLSPECIALCOLUMNS     52
  99. #define  SQL_API_SQLSTATISTICS         53
  100. #define  SQL_API_SQLTABLES             54
  101. #define  SQL_API_SQLDATASOURCES        57
  102. #define  SQL_API_SQLSETCONNECTATTR     1016
  103. #define  SQL_API_SQLSETSTMTATTR        1020
  104.  
  105. #define  SQL_API_SQLBINDFILETOCOL      1250
  106. #define  SQL_API_SQLBINDFILETOPARAM    1251
  107. #define  SQL_API_SQLSETCOLATTRIBUTES   1252
  108. #define  SQL_API_SQLGETSQLCA           1253
  109. #define  SQL_API_SQLBUILDDATALINK      1256
  110. #define  SQL_API_SQLGETDATALINKATTR    1255
  111.  
  112. #define  SQL_API_SQLFETCHSCROLL        1021
  113. #define  SQL_API_SQLGETLENGTH          1022
  114. #define  SQL_API_SQLGETPOSITION        1023
  115. #define  SQL_API_SQLGETSUBSTRING       1024
  116.  
  117. #define  SQL_API_SQLSETCONNECTION      1254
  118.  
  119. #define  SQL_API_SQLALLOCHANDLE        1001
  120. #define  SQL_API_SQLFREEHANDLE         1006
  121. #define  SQL_API_SQLCLOSECURSOR        1003
  122. #define  SQL_API_SQLENDTRAN            1005
  123. #define  SQL_API_SQLCOLATTRIBUTE       6
  124. #define  SQL_API_SQLGETSTMTATTR        1014
  125. #define  SQL_API_SQLGETCONNECTATTR     1007
  126.  
  127. /* SQLGetFunction defines  - unsupported functions */
  128. #define  SQL_EXT_API_LAST              72
  129.  
  130. /* Information requested by SQLGetInfo() */
  131. #define SQL_MAX_DRIVER_CONNECTIONS           0
  132. #define SQL_MAXIMUM_DRIVER_CONNECTIONS          SQL_MAX_DRIVER_CONNECTIONS
  133. #define SQL_MAX_CONCURRENT_ACTIVITIES        1
  134. #define SQL_MAXIMUM_CONCURRENT_ACTIVITIES       SQL_MAX_CONCURRENT_ACTIVITIES
  135.  
  136.  
  137. /*
  138.  *  Defines for SQLGetDataLinkAttr.
  139.  */
  140. #define SQL_DATALINK_URL        "URL"
  141.  
  142. /*
  143.  *  Datalink attribute values for SQLGetDataLinkAttr.
  144.  */
  145.  
  146. #define SQL_ATTR_DATALINK_COMMENT            1
  147. #define SQL_ATTR_DATALINK_LINKTYPE           2
  148. #define SQL_ATTR_DATALINK_URLCOMPLETE        3
  149. #define SQL_ATTR_DATALINK_URLPATH            4
  150. #define SQL_ATTR_DATALINK_URLPATHONLY        5
  151. #define SQL_ATTR_DATALINK_URLSCHEME          6
  152. #define SQL_ATTR_DATALINK_URLSERVER          7
  153.  
  154.  
  155. /* SQLGetInfo defines  - Info Type */
  156. #define  SQL_DATA_SOURCE_NAME                  2
  157. #define  SQL_FETCH_DIRECTION                   8
  158. #define  SQL_SERVER_NAME                      13
  159. #define  SQL_SEARCH_PATTERN_ESCAPE            14
  160. #define  SQL_DBMS_NAME                        17
  161. #define  SQL_DBMS_VER                         18
  162. #define  SQL_ACCESSIBLE_TABLES                19
  163. #define  SQL_ACCESSIBLE_PROCEDURES            20
  164. #define  SQL_CURSOR_COMMIT_BEHAVIOR           23
  165. #define  SQL_DATA_SOURCE_READ_ONLY            25
  166. #define  SQL_DEFAULT_TXN_ISOLATION            26
  167. #define  SQL_IDENTIFIER_CASE                  28
  168. #define  SQL_IDENTIFIER_QUOTE_CHAR            29
  169. #define  SQL_MAX_COLUMN_NAME_LEN              30
  170. #define  SQL_MAXIMUM_COLUMN_NAME_LENGTH       SQL_MAX_COLUMN_NAME_LEN
  171. #define  SQL_MAX_CURSOR_NAME_LEN              31
  172. #define  SQL_MAXIMUM_CURSOR_NAME_LENGTH       SQL_MAX_CURSOR_NAME_LEN
  173. #define  SQL_MAX_TABLE_NAME_LEN               35
  174. #define  SQL_SCROLL_CONCURRENCY               43
  175. #define  SQL_TXN_CAPABLE                      46
  176. #define  SQL_TRANSACTION_CAPABLE              SQL_TXN_CAPABLE
  177. #define  SQL_USER_NAME                        47
  178. #define  SQL_TXN_ISOLATION_OPTION             72
  179. #define  SQL_TRANSACTION_ISOLATION_OPTION     SQL_TXN_ISOLATION_OPTION
  180. #define  SQL_GETDATA_EXTENSIONS               81
  181. #define  SQL_NULL_COLLATION                   85
  182. #define  SQL_ALTER_TABLE                      86
  183. #define  SQL_ORDER_BY_COLUMNS_IN_SELECT       90
  184. #define  SQL_SPECIAL_CHARACTERS               94
  185. #define  SQL_MAX_COLUMNS_IN_GROUP_BY          97
  186. #define  SQL_MAXIMUM_COLUMNS_IN_GROUP_BY      SQL_MAX_COLUMNS_IN_GROUP_BY
  187. #define  SQL_MAX_COLUMNS_IN_INDEX             98
  188. #define  SQL_MAXIMUM_COLUMNS_IN_INDEX         SQL_MAX_COLUMNS_IN_INDEX
  189. #define  SQL_MAX_COLUMNS_IN_ORDER_BY          99
  190. #define  SQL_MAXIMUM_COLUMNS_IN_ORDER_BY      SQL_MAX_COLUMNS_IN_ORDER_BY
  191. #define  SQL_MAX_COLUMNS_IN_SELECT           100
  192. #define  SQL_MAXIMUM_COLUMNS_IN_SELECT       SQL_MAX_COLUMNS_IN_SELECT
  193. #define  SQL_MAX_COLUMNS_IN_TABLE            101
  194. #define  SQL_MAX_INDEX_SIZE                  102
  195. #define  SQL_MAXIMUM_INDEX_SIZE              SQL_MAX_INDEX_SIZE
  196. #define  SQL_MAX_ROW_SIZE                    104
  197. #define  SQL_MAXIMUM_ROW_SIZE                SQL_MAX_ROW_SIZE
  198. #define  SQL_MAX_STATEMENT_LEN               105
  199. #define  SQL_MAXIMUM_STATEMENT_LENGTH        SQL_MAX_STATEMENT_LEN
  200. #define  SQL_MAX_TABLES_IN_SELECT            106
  201. #define  SQL_MAXIMUM_TABLES_IN_SELECT        SQL_MAX_TABLES_IN_SELECT
  202. #define  SQL_MAX_USER_NAME_LEN               107
  203. #define  SQL_MAXIMUM_USER_NAME_LENGTH        SQL_MAX_USER_NAME_LEN
  204. #define  SQL_MAX_SCHEMA_NAME_LEN             SQL_MAX_OWNER_NAME_LEN
  205. #define  SQL_MAXIMUM_SCHEMA_NAME_LENGTH      SQL_MAX_SCHEMA_NAME_LEN
  206. #define  SQL_MAX_CATALOG_NAME_LEN            SQL_MAX_QUALIFIER_NAME_LEN
  207. #define  SQL_MAXIMUM_CATALOG_NAME_LENGTH     SQL_MAX_CATALOG_NAME_LEN
  208. #define  SQL_OJ_CAPABILITIES                115
  209. #define  SQL_OUTER_JOIN_CAPABILITIES                SQL_OJ_CAPABILITIES
  210. #define  SQL_XOPEN_CLI_YEAR               10000
  211. #define  SQL_CURSOR_SENSITIVITY           10001
  212. #define  SQL_DESCRIBE_PARAMETER           10002
  213. #define  SQL_CATALOG_NAME                 10003
  214. #define  SQL_COLLATION_SEQ                10004
  215. #define  SQL_MAX_IDENTIFIER_LEN           10005
  216. #define  SQL_MAXIMUM_IDENTIFIER_LENGTH    SQL_MAX_IDENTIFIER_LEN
  217. #define  SQL_INTEGRITY                       73
  218.  
  219.  
  220. #define SQL_INFO_LAST                         114
  221. #define SQL_INFO_DRIVER_START                 1000
  222.  
  223.  
  224. /*
  225.  *  IBM specific SQLGetInfo values.
  226.  */
  227.  
  228. #define SQL_IBM_ALTERTABLEVARCHAR             1000
  229.  
  230. /* SQL_ALTER_TABLE bitmasks */
  231. #define SQL_AT_ADD_COLUMN                       0x00000001L
  232. #define SQL_AT_DROP_COLUMN                      0x00000002L
  233. #define SQL_AT_ADD_CONSTRAINT                   0x00000008L
  234.  
  235. /* SQL_CURSOR_COMMIT_BEHAVIOR and SQL_CURSOR_ROLLBACK_BEHAVIOR values */
  236.  
  237. #define SQL_CB_DELETE                 0x0000
  238. #define SQL_CB_CLOSE                  0x0001
  239. #define SQL_CB_PRESERVE               0x0002
  240.  
  241. /* SQL_IDENTIFIER_CASE values */
  242.  
  243. #define SQL_IC_UPPER                  0x0001
  244. #define SQL_IC_LOWER                  0x0002
  245. #define SQL_IC_SENSITIVE              0x0003
  246. #define SQL_IC_MIXED                  0x0004
  247.  
  248. /* SQL_TXN_CAPABLE values */
  249.  
  250. #define SQL_TC_NONE                   0x0000
  251. #define SQL_TC_DML                    0x0001
  252. #define SQL_TC_ALL                    0x0002
  253. #define SQL_TC_DDL_COMMIT             0x0003
  254. #define SQL_TC_DDL_IGNORE             0x0004
  255.  
  256. /* SQL_SCROLL_CONCURRENCY masks */
  257.  
  258. #define SQL_SCCO_READ_ONLY            0x00000001L
  259. #define SQL_SCCO_LOCK                 0x00000002L
  260. #define SQL_SCCO_OPT_ROWVER           0x00000004L
  261. #define SQL_SCCO_OPT_VALUES           0x00000008L
  262.  
  263. /* SQL_FETCH_DIRECTION masks */
  264.  
  265. #define  SQL_FD_FETCH_NEXT            0x00000001L
  266. #define  SQL_FD_FETCH_FIRST           0x00000002L
  267. #define  SQL_FD_FETCH_LAST            0x00000004L
  268. #define  SQL_FD_FETCH_PRIOR           0x00000008L
  269. #define  SQL_FD_FETCH_ABSOLUTE        0x00000010L
  270. #define  SQL_FD_FETCH_RELATIVE        0x00000020L
  271. #define  SQL_FD_FETCH_RESUME          0x00000040L
  272.  
  273. /* SQL_TXN_ISOLATION_OPTION masks */
  274. #define SQL_TXN_READ_UNCOMMITTED            0x00000001L
  275. #define SQL_TRANSACTION_READ_UNCOMMITTED        SQL_TXN_READ_UNCOMMITTED
  276. #define SQL_TXN_READ_COMMITTED              0x00000002L
  277. #define SQL_TRANSACTION_READ_COMMITTED          SQL_TXN_READ_COMMITTED
  278. #define SQL_TXN_REPEATABLE_READ             0x00000004L
  279. #define SQL_TRANSACTION_REPEATABLE_READ         SQL_TXN_REPEATABLE_READ
  280. #define SQL_TXN_SERIALIZABLE                0x00000008L
  281. #define SQL_TRANSACTION_SERIALIZABLE            SQL_TXN_SERIALIZABLE
  282. #define SQL_TXN_NOCOMMIT                   0x00000020L
  283. #define SQL_TRANSACTION_NOCOMMIT                SQL_TXN_NOCOMMIT
  284.  
  285. /* SQL_GETDATA_EXTENSIONS values */
  286.  
  287. #define SQL_GD_ANY_COLUMN             0x00000001L
  288. #define SQL_GD_ANY_ORDER              0x00000002L
  289.  
  290. /* SQL_OJ_CAPABILITIES values */
  291.  
  292. #define SQL_OJ_LEFT                   0x00000001L
  293. #define SQL_OJ_RIGHT                  0x00000002L
  294. #define SQL_OJ_FULL                   0x00000004L
  295. #define SQL_OJ_NESTED                 0x00000008L
  296. #define SQL_OJ_NOT_ORDERED            0x00000010L
  297. #define SQL_OJ_INNER                  0x00000020L
  298. #define SQL_OJ_ALL_COMPARISON_OPS     0x00000040L
  299.  
  300.  
  301. /* SQLGetTypeInfo define */
  302. #define  SQL_ALL_TYPES                0
  303.  
  304. /* Options for SQLGetStmtOption/SQLSetStmtOption */
  305.  
  306. #define SQL_ATTR_AUTO_IPD               10001
  307. #define SQL_ATTR_APP_ROW_DESC           10010
  308. #define SQL_ATTR_APP_PARAM_DESC         10011
  309. #define SQL_ATTR_IMP_ROW_DESC           10012
  310. #define SQL_ATTR_IMP_PARAM_DESC         10013
  311. #define SQL_ATTR_METADATA_ID            10014
  312. #define SQL_ATTR_CURSOR_SCROLLABLE      (-1)
  313. #define SQL_ATTR_CURSOR_SENSITIVITY     (-2)
  314.  
  315. /* SQL_ATTR_CURSOR_SCROLLABLE values */
  316. #define SQL_NONSCROLLABLE                       0
  317. #define SQL_SCROLLABLE                          1
  318.  
  319. /* Options for SQLGetStmtOption/SQLSetStmtOption extensions */
  320. #define  SQL_CURSOR_HOLD              1250
  321. #define  SQL_ATTR_CURSOR_HOLD         1250
  322. #define  SQL_NODESCRIBE_OUTPUT        1251
  323. #define  SQL_ATTR_NODESCRIBE_OUTPUT   1251
  324.  
  325. #define  SQL_NODESCRIBE_INPUT         1264
  326. #define  SQL_ATTR_NODESCRIBE_INPUT    1264
  327. #define  SQL_NODESCRIBE               SQL_NODESCRIBE_OUTPUT
  328. #define  SQL_ATTR_NODESCRIBE          SQL_NODESCRIBE_OUTPUT
  329. #define  SQL_CLOSE_BEHAVIOR           1257
  330. #define  SQL_ATTR_CLOSE_BEHAVIOR      1257
  331. #define  SQL_ATTR_CLOSE_BEHAVIOR      1257
  332. #define  SQL_ATTR_CLOSEOPEN           1265
  333. #define  SQL_ATTR_CURRENT_PACKAGE_SET 1276
  334. #define  SQL_ATTR_DEFERRED_PREPARE    1277
  335. #define  SQL_ATTR_EARLYCLOSE          1268
  336. #define  SQL_ATTR_PROCESSCTL          1278
  337. #define  SQL_ATTR_PREFETCH            1285
  338. #define  SQL_ATTR_ENABLE_IPD_SETTING  1286
  339.  
  340. /*
  341.  *  Descriptor value for setting the descriptor type.
  342.  */
  343.  
  344. #define  SQL_DESC_DESCRIPTOR_TYPE     1287
  345.  
  346. #define  SQL_ATTR_OPTIMIZE_SQLCOLUMNS 1288
  347. /*
  348.  *  SQL_ATTR_PREFETCH_ENABLE values.
  349.  */
  350.  
  351. #define SQL_PREFETCH_ON                  1
  352. #define SQL_PREFETCH_OFF                 0
  353. #define SQL_PREFETCH_DEFAULT             SQL_PREFETCH_OFF
  354.  
  355. /* SQL_CLOSE_BEHAVIOR values.                  */
  356.  
  357. #define SQL_CC_NO_RELEASE             0
  358. #define SQL_CC_RELEASE                1
  359. #define SQL_CC_DEFAULT                SQL_CC_NO_RELEASE
  360.  
  361. /* SQL_ATTR_DEFERRED_PREPARE values  */
  362.  
  363. #define SQL_DEFERRED_PREPARE_ON       1
  364. #define SQL_DEFERRED_PREPARE_OFF      0
  365. #define SQL_DEFERRED_PREPARE_DEFAULT  SQL_DEFERRED_PREPARE_ON
  366.  
  367. /* SQL_ATTR_EARLYCLOSE values  */
  368.  
  369. #define SQL_EARLYCLOSE_ON             1
  370. #define SQL_EARLYCLOSE_OFF            0
  371. #define SQL_EARLYCLOSE_DEFAULT        SQL_EARLYCLOSE_ON
  372.  
  373.  
  374. /* SQL_ATTR_PROCESSCTL masks  */
  375.  
  376. #define SQL_PROCESSCTL_NOTHREAD       0x00000001L
  377. #define SQL_PROCESSCTL_NOFORK         0x00000002L
  378.  
  379. /* CLI attribute/option values */
  380. #define SQL_FALSE               0
  381. #define SQL_TRUE                1
  382.  
  383. /* Options for SQL_CURSOR_HOLD */
  384. #define SQL_CURSOR_HOLD_ON        1
  385. #define SQL_CURSOR_HOLD_OFF       0
  386. #define SQL_CURSOR_HOLD_DEFAULT   SQL_CURSOR_HOLD_ON
  387.  
  388.  
  389. /* Options for SQL_NODESCRIBE_INPUT/SQL_NODESCRIBE_OUTPUT */
  390. #define SQL_NODESCRIBE_ON          1
  391. #define SQL_NODESCRIBE_OFF         0
  392. #define SQL_NODESCRIBE_DEFAULT     SQL_NODESCRIBE_OFF
  393.  
  394.  
  395. /* Options for SQLGetConnectOption/SQLSetConnectOption extensions */
  396. #define SQL_WCHARTYPE                1252
  397. #define SQL_LONGDATA_COMPAT          1253
  398. #define SQL_CURRENT_SCHEMA           1254
  399. #define SQL_DB2EXPLAIN               1258
  400. #define SQL_DB2ESTIMATE              1259
  401. #define SQL_PARAMOPT_ATOMIC          1260
  402. #define SQL_STMTTXN_ISOLATION        1261
  403. #define SQL_MAXCONN                  1262
  404. #define SQL_ATTR_CLISCHEMA           1280
  405. #define SQL_ATTR_INFO_USERID         1281
  406. #define SQL_ATTR_INFO_WRKSTNNAME     1282
  407. #define SQL_ATTR_INFO_APPLNAME       1283
  408. #define SQL_ATTR_INFO_ACCTSTR        1284
  409.  
  410. #define SQL_ATTR_WCHARTYPE          SQL_WCHARTYPE
  411. #define SQL_ATTR_LONGDATA_COMPAT    SQL_LONGDATA_COMPAT
  412. #define SQL_ATTR_CURRENT_SCHEMA     SQL_CURRENT_SCHEMA
  413. #define SQL_ATTR_DB2EXPLAIN         SQL_DB2EXPLAIN
  414. #define SQL_ATTR_DB2ESTIMATE        SQL_DB2ESTIMATE
  415. #define SQL_ATTR_PARAMOPT_ATOMIC    SQL_PARAMOPT_ATOMIC
  416. #define SQL_ATTR_STMTTXN_ISOLATION  SQL_STMTTXN_ISOLATION
  417. #define SQL_ATTR_MAXCONN            SQL_MAXCONN
  418.  
  419. /* Options for SQLSetConnectOption, SQLSetEnvAttr */
  420. #define SQL_CONNECTTYPE              1255
  421. #define SQL_SYNC_POINT               1256
  422. #define SQL_MINMEMORY_USAGE          1263
  423. #define SQL_CONN_CONTEXT             1269
  424. #define SQL_ATTR_INHERIT_NULL_CONNECT    1270
  425. #define SQL_ATTR_FORCE_CONVERSION_ON_CLIENT 1275
  426.  
  427. #define SQL_ATTR_CONNECTTYPE         SQL_CONNECTTYPE
  428. #define SQL_ATTR_SYNC_POINT          SQL_SYNC_POINT
  429. #define SQL_ATTR_MINMEMORY_USAGE     SQL_MINMEMORY_USAGE
  430. #define SQL_ATTR_CONN_CONTEXT        SQL_CONN_CONTEXT
  431.  
  432. /* Options for SQL_LONGDATA_COMPAT */
  433. #define SQL_LD_COMPAT_YES            1
  434. #define SQL_LD_COMPAT_NO             0
  435. #define SQL_LD_COMPAT_DEFAULT        SQL_LD_COMPAT_NO
  436.  
  437. /* SQL_NULL_COLLATION values */
  438. #define SQL_NC_HIGH                         0
  439. #define SQL_NC_LOW                          1
  440.  
  441. /*
  442.  *  Options for SQL_PARAMOPT_ATOMIC
  443.  */
  444.  
  445. #define SQL_ATOMIC_YES               1
  446. #define SQL_ATOMIC_NO                0
  447. #define SQL_ATOMIC_DEFAULT           SQL_ATOMIC_YES
  448.  
  449. /* Options for SQL_CONNECT_TYPE */
  450. #define SQL_CONCURRENT_TRANS         1
  451. #define SQL_COORDINATED_TRANS        2
  452. #define SQL_CONNECTTYPE_DEFAULT      SQL_CONCURRENT_TRANS
  453.  
  454. /* Options for SQL_SYNCPOINT */
  455. #define SQL_ONEPHASE                 1
  456. #define SQL_TWOPHASE                 2
  457. #define SQL_SYNCPOINT_DEFAULT        SQL_ONEPHASE
  458.  
  459. /* Options for SQL_DB2ESTIMATE */
  460. #define SQL_DB2ESTIMATE_ON           1
  461. #define SQL_DB2ESTIMATE_OFF          0
  462. #define SQL_DB2ESTIMATE_DEFAULT      SQL_DB2ESTIMATE_OFF
  463.  
  464. /* Options for SQL_DB2EXPLAIN */
  465. #define SQL_DB2EXPLAIN_OFF              0x00000000L
  466. #define SQL_DB2EXPLAIN_SNAPSHOT_ON      0x00000001L
  467. #define SQL_DB2EXPLAIN_MODE_ON          0x00000002L
  468. #define SQL_DB2EXPLAIN_SNAPSHOT_MODE_ON SQL_DB2EXPLAIN_SNAPSHOT_ON+SQL_DB2EXPLAIN_MODE_ON
  469. #define SQL_DB2EXPLAIN_ON               SQL_DB2EXPLAIN_SNAPSHOT_ON
  470. #define SQL_DB2EXPLAIN_DEFAULT          SQL_DB2EXPLAIN_OFF
  471.  
  472. /* Options for SQL_WCHARTYPE
  473.  * Note that you can only specify SQL_WCHARTYPE_CONVERT if you have an
  474.  * external compile flag SQL_WCHART_CONVERT defined
  475.  */
  476. #ifdef SQL_WCHART_CONVERT
  477. #define SQL_WCHARTYPE_CONVERT        1
  478. #endif
  479. #define SQL_WCHARTYPE_NOCONVERT      0
  480. #define SQL_WCHARTYPE_DEFAULT        SQL_WCHARTYPE_NOCONVERT
  481.  
  482. /* Options for SQL_ATTR_OPTIMIZE_SQLCOLUMNS
  483.  *
  484.  */
  485. #define SQL_OPTIMIZE_SQLCOLUMNS_OFF  0
  486. #define SQL_OPTIMIZE_SQLCOLUMNS_ON   1
  487. #define SQL_OPTIMIZE_SQLCOLUMNS_DEFAULT SQL_OPTIMIZE_SQLCOLUMNS_ON
  488.  
  489. /* Column types and scopes in SQLSpecialColumns */
  490.  
  491. #define SQL_SCOPE_CURROW             0
  492. #define SQL_SCOPE_TRANSACTION        1
  493. #define SQL_SCOPE_SESSION            2
  494.  
  495. /* Defines for SQLStatistics */
  496. #define SQL_INDEX_UNIQUE             0
  497. #define SQL_INDEX_ALL                1
  498.  
  499. /* Defines for SQLStatistics (returned in the result set) */
  500. #define SQL_INDEX_CLUSTERED          1
  501. #define SQL_INDEX_HASHED             2
  502. #define SQL_INDEX_OTHER              3
  503.  
  504. /* Defines for SQLSpecialColumns (returned in the result set) */
  505. #define SQL_PC_UNKNOWN               0
  506. #define SQL_PC_NON_PSEUDO            1
  507. #define SQL_PC_PSEUDO                2
  508.  
  509. /* Reserved value for the IdentifierType argument of SQLSpecialColumns() */
  510. #define SQL_ROW_IDENTIFIER  1
  511.  
  512. /* SQLDataSources "fDirection" values, also used on SQLExtendedFetch() */
  513. /* See sqlext.h for additional SQLExtendedFetch fetch direction defines */
  514. #define  SQL_FETCH_NEXT              1
  515. #define  SQL_FETCH_FIRST             2
  516.  
  517. /* OTHER CODES USED FOR FETCHORIENTATION IN SQLFETCHSCROLL() */
  518. #define SQL_FETCH_LAST      3
  519. #define SQL_FETCH_PRIOR     4
  520. #define SQL_FETCH_ABSOLUTE  5
  521. #define SQL_FETCH_RELATIVE  6
  522.  
  523. /*
  524.  * Environment attributes; note SQL_CONNECTTYPE, SQL_SYNC_POINT are also
  525.  * environment attributes that are settable at the connection level
  526.  */
  527.  
  528. #define SQL_ATTR_OUTPUT_NTS          10001
  529.  
  530.  
  531. /*  LOB file reference options */
  532. #ifndef SQL_H_SQL                     /* if sql.h is not included, then...  */
  533. #define SQL_FILE_READ              2  /* Input file to read from            */
  534. #define SQL_FILE_CREATE            8  /* Output file - new file to be       */
  535.                                       /* created                            */
  536. #define SQL_FILE_OVERWRITE        16  /* Output file - overwrite existing   */
  537.                                       /* file or create a new file if it    */
  538.                                       /* doesn't exist                      */
  539. #define SQL_FILE_APPEND           32  /* Output file - append to an         */
  540.                                       /* existing file or create a new file */
  541.                                       /* if it doesn't exist                */
  542. #endif
  543.  
  544. /*
  545.  *  Source of string for SQLGetLength(), SQLGetPosition(),
  546.  *  and SQLGetSubstring().
  547.  */
  548. #define SQL_FROM_LOCATOR           2
  549. #define SQL_FROM_LITERAL           3
  550.  
  551.  
  552.  
  553. /*
  554.  *  Function definitions of APIs in both X/Open CLI and ODBC
  555.  */
  556.  
  557. __clidll__ 
  558. SQLRETURN SQL_API_FN  SQLColumns       (SQLHSTMT          hstmt,
  559.                                         SQLCHAR     FAR   *szCatalogName,
  560.                                         SQLSMALLINT       cbCatalogName,
  561.                                         SQLCHAR     FAR   *szSchemaName,
  562.                                         SQLSMALLINT       cbSchemaName,
  563.                                         SQLCHAR     FAR   *szTableName,
  564.                                         SQLSMALLINT       cbTableName,
  565.                                         SQLCHAR     FAR   *szColumnName,
  566.                                         SQLSMALLINT       cbColumnName);
  567.  
  568. __clidll__ 
  569. SQLRETURN SQL_API_FN  SQLDataSources   (SQLHENV           henv,
  570.                                         SQLUSMALLINT      fDirection,
  571.                                         SQLCHAR     FAR   *szDSN,
  572.                                         SQLSMALLINT       cbDSNMax,
  573.                                         SQLSMALLINT FAR   *pcbDSN,
  574.                                         SQLCHAR     FAR   *szDescription,
  575.                                         SQLSMALLINT       cbDescriptionMax,
  576.                                         SQLSMALLINT FAR   *pcbDescription);
  577. __clidll__ 
  578. SQLRETURN  SQL_API SQLFetchScroll(      SQLHSTMT StatementHandle,
  579.                                         SQLSMALLINT FetchOrientation,
  580.                                         SQLINTEGER FetchOffset);
  581. __clidll__ 
  582. SQLRETURN  SQL_API SQLGetConnectAttr(   SQLHDBC ConnectionHandle,
  583.                                         SQLINTEGER Attribute,
  584.                                         SQLPOINTER Value,
  585.                                         SQLINTEGER BufferLength,
  586.                                         SQLINTEGER *StringLength);
  587.  
  588. __clidll__ 
  589. SQLRETURN SQL_API_FN  SQLGetConnectOption (
  590.                                         SQLHDBC           hdbc,
  591.                                         SQLUSMALLINT      fOption,
  592.                                         SQLPOINTER        pvParam);
  593.  
  594. __clidll__ 
  595. SQLRETURN SQL_API_FN  SQLGetFunctions  (SQLHDBC           hdbc,
  596.                                         SQLUSMALLINT      fFunction,
  597.                                         SQLUSMALLINT FAR  *pfExists);
  598.  
  599. __clidll__ 
  600. SQLRETURN SQL_API_FN  SQLGetInfo       (SQLHDBC           hdbc,
  601.                                         SQLUSMALLINT      fInfoType,
  602.                                         SQLPOINTER        rgbInfoValue,
  603.                                         SQLSMALLINT       cbInfoValueMax,
  604.                                         SQLSMALLINT FAR   *pcbInfoValue);
  605.  
  606. __clidll__ 
  607. SQLRETURN  SQL_API SQLGetStmtAttr(      SQLHSTMT StatementHandle,
  608.                                         SQLINTEGER Attribute,
  609.                                         SQLPOINTER Value,
  610.                                         SQLINTEGER BufferLength,
  611.                                         SQLINTEGER *StringLength);
  612.  
  613. __clidll__ 
  614. SQLRETURN SQL_API_FN  SQLGetStmtOption (SQLHSTMT          hstmt,
  615.                                         SQLUSMALLINT      fOption,
  616.                                         SQLPOINTER        pvParam);
  617.  
  618. __clidll__ 
  619. SQLRETURN SQL_API_FN  SQLGetTypeInfo   (SQLHSTMT          hstmt,
  620.                                         SQLSMALLINT       fSqlType);
  621.  
  622. __clidll__ 
  623. SQLRETURN SQL_API_FN  SQLParamData     (SQLHSTMT          hstmt,
  624.                                         SQLPOINTER  FAR   *prgbValue);
  625.  
  626. __clidll__ 
  627. SQLRETURN SQL_API_FN  SQLPutData       (SQLHSTMT          hstmt,
  628.                                         SQLPOINTER        rgbValue,
  629.                                         SQLINTEGER        cbValue);
  630.  
  631. __clidll__ 
  632. SQLRETURN SQL_API_FN  SQLSetConnectAttr(
  633.                                         SQLHDBC           hdbc,
  634.                                         SQLINTEGER        fOption,
  635.                                         SQLPOINTER        pvParam,
  636.                                         SQLINTEGER        fStrLen);
  637.  
  638. __clidll__ 
  639. SQLRETURN SQL_API_FN  SQLSetConnectOption(
  640.                                         SQLHDBC           hdbc,
  641.                                         SQLUSMALLINT      fOption,
  642.                                         SQLUINTEGER       vParam);
  643.  
  644. __clidll__ 
  645. SQLRETURN SQL_API_FN  SQLSetStmtAttr   (SQLHSTMT          hstmt,
  646.                                         SQLINTEGER        fOption,
  647.                                         SQLPOINTER        pvParam,
  648.                                         SQLINTEGER       fStrLen);
  649.  
  650. __clidll__ 
  651. SQLRETURN SQL_API_FN  SQLSetStmtOption (SQLHSTMT          hstmt,
  652.                                         SQLUSMALLINT      fOption,
  653.                                         SQLUINTEGER       vParam);
  654.  
  655. __clidll__ 
  656. SQLRETURN SQL_API_FN  SQLSpecialColumns(SQLHSTMT          hstmt,
  657.                                         SQLUSMALLINT      fColType,
  658.                                         SQLCHAR     FAR   *szCatalogName,
  659.                                         SQLSMALLINT       cbCatalogName,
  660.                                         SQLCHAR     FAR   *szSchemaName,
  661.                                         SQLSMALLINT       cbSchemaName,
  662.                                         SQLCHAR     FAR   *szTableName,
  663.                                         SQLSMALLINT       cbTableName,
  664.                                         SQLUSMALLINT      fScope,
  665.                                         SQLUSMALLINT      fNullable);
  666.  
  667. __clidll__ 
  668. SQLRETURN SQL_API_FN  SQLStatistics    (SQLHSTMT          hstmt,
  669.                                         SQLCHAR     FAR   *szCatalogName,
  670.                                         SQLSMALLINT       cbCatalogName,
  671.                                         SQLCHAR     FAR   *szSchemaName,
  672.                                         SQLSMALLINT       cbSchemaName,
  673.                                         SQLCHAR     FAR   *szTableName,
  674.                                         SQLSMALLINT       cbTableName,
  675.                                         SQLUSMALLINT      fUnique,
  676.                                         SQLUSMALLINT      fAccuracy);
  677.  
  678. __clidll__ 
  679. SQLRETURN SQL_API_FN  SQLTables        (SQLHSTMT          hstmt,
  680.                                         SQLCHAR     FAR   *szCatalogName,
  681.                                         SQLSMALLINT       cbCatalogName,
  682.                                         SQLCHAR     FAR   *szSchemaName,
  683.                                         SQLSMALLINT       cbSchemaName,
  684.                                         SQLCHAR     FAR   *szTableName,
  685.                                         SQLSMALLINT       cbTableName,
  686.                                         SQLCHAR     FAR   *szTableType,
  687.                                         SQLSMALLINT       cbTableType);
  688.  
  689.  
  690. /* UNICODE versions */
  691. __clidll__ 
  692. SQLRETURN SQL_API SQLColAttributeW(
  693.     SQLHSTMT        hstmt,
  694.     SQLUSMALLINT    iCol,
  695.     SQLUSMALLINT    iField,
  696.     SQLPOINTER      pCharAttr,
  697.     SQLSMALLINT     cbCharAttrMax,
  698.     SQLSMALLINT  *pcbCharAttr,
  699.     SQLPOINTER      pNumAttr);
  700.  
  701. __clidll__ 
  702. SQLRETURN SQL_API SQLColAttributesW(
  703.     SQLHSTMT           hstmt,
  704.     SQLUSMALLINT       icol,
  705.     SQLUSMALLINT       fDescType,
  706.     SQLPOINTER         rgbDesc,
  707.     SQLSMALLINT        cbDescMax,
  708.     SQLSMALLINT    *pcbDesc,
  709.     SQLINTEGER     *pfDesc);
  710.  
  711. __clidll__ 
  712. SQLRETURN SQL_API SQLConnectWInt(
  713.     SQLHDBC            hdbc,
  714.     SQLWCHAR        *szDSN,
  715.     SQLSMALLINT        cbDSN,
  716.     SQLWCHAR        *szUID,
  717.     SQLSMALLINT        cbUID,
  718.     SQLWCHAR        *szAuthStr,
  719.     SQLSMALLINT        cbAuthStr);
  720.  
  721.  
  722. __clidll__ 
  723. SQLRETURN SQL_API SQLDescribeColW(
  724.     SQLHSTMT           hstmt,
  725.     SQLUSMALLINT       icol,
  726.     SQLWCHAR        *szColName,
  727.     SQLSMALLINT        cbColNameMax,
  728.     SQLSMALLINT    *pcbColName,
  729.     SQLSMALLINT    *pfSqlType,
  730.     SQLUINTEGER    *pcbColDef,
  731.     SQLSMALLINT    *pibScale,
  732.     SQLSMALLINT    *pfNullable);
  733.  
  734.  
  735. __clidll__ 
  736. SQLRETURN SQL_API SQLErrorW(
  737.     SQLHENV            henv,
  738.     SQLHDBC            hdbc,
  739.     SQLHSTMT           hstmt,
  740.     SQLWCHAR        *szSqlState,
  741.     SQLINTEGER     *pfNativeError,
  742.     SQLWCHAR        *szErrorMsg,
  743.     SQLSMALLINT        cbErrorMsgMax,
  744.     SQLSMALLINT    *pcbErrorMsg);
  745.  
  746. __clidll__ 
  747. SQLRETURN SQL_API SQLExecDirectW(
  748.     SQLHSTMT           hstmt,
  749.     SQLWCHAR        *szSqlStr,
  750.     SQLINTEGER         cbSqlStr);
  751.  
  752. __clidll__ 
  753. SQLRETURN SQL_API SQLGetConnectAttrW(
  754.     SQLHDBC            hdbc,
  755.     SQLINTEGER         fAttribute,
  756.     SQLPOINTER         rgbValue,
  757.     SQLINTEGER         cbValueMax,
  758.     SQLINTEGER     *pcbValue);
  759.  
  760. __clidll__ 
  761. SQLRETURN SQL_API SQLGetCursorNameW(
  762.     SQLHSTMT           hstmt,
  763.     SQLWCHAR        *szCursor,
  764.     SQLSMALLINT        cbCursorMax,
  765.     SQLSMALLINT    *pcbCursor);
  766.  
  767. __clidll__ 
  768. SQLRETURN  SQL_API SQLSetDescFieldW(SQLHDESC DescriptorHandle,
  769.                                    SQLSMALLINT RecNumber,
  770.                                    SQLSMALLINT FieldIdentifier,
  771.                                    SQLPOINTER Value,
  772.                                    SQLINTEGER BufferLength);
  773.  
  774.  
  775.  
  776. __clidll__ 
  777. SQLRETURN SQL_API SQLGetDescFieldW(
  778.     SQLHDESC           hdesc,
  779.     SQLSMALLINT        iRecord,
  780.     SQLSMALLINT        iField,
  781.     SQLPOINTER         rgbValue,
  782.     SQLINTEGER         cbValueMax,
  783.     SQLINTEGER     *pcbValue);
  784.  
  785. __clidll__ 
  786. SQLRETURN SQL_API SQLGetDescRecW(
  787.     SQLHDESC           hdesc,
  788.     SQLSMALLINT        iRecord,
  789.     SQLWCHAR        *szName,
  790.     SQLSMALLINT        cbNameMax,
  791.     SQLSMALLINT    *pcbName,
  792.     SQLSMALLINT    *pfType,
  793.     SQLSMALLINT    *pfSubType,
  794.     SQLINTEGER     *pLength,
  795.     SQLSMALLINT    *pPrecision,
  796.     SQLSMALLINT    *pScale,
  797.     SQLSMALLINT    *pNullable);
  798.  
  799. __clidll__ 
  800. SQLRETURN SQL_API SQLGetDiagFieldW(
  801.     SQLSMALLINT        fHandleType,
  802.     SQLHANDLE          handle,
  803.     SQLSMALLINT        iRecord,
  804.     SQLSMALLINT        fDiagField,
  805.     SQLPOINTER         rgbDiagInfo,
  806.     SQLSMALLINT        cbDiagInfoMax,
  807.     SQLSMALLINT    *pcbDiagInfo);
  808.  
  809. __clidll__ 
  810. SQLRETURN SQL_API SQLGetDiagRecW(
  811.     SQLSMALLINT        fHandleType,
  812.     SQLHANDLE          handle,
  813.     SQLSMALLINT        iRecord,
  814.     SQLWCHAR        *szSqlState,
  815.     SQLINTEGER     *pfNativeError,
  816.     SQLWCHAR        *szErrorMsg,
  817.     SQLSMALLINT        cbErrorMsgMax,
  818.     SQLSMALLINT    *pcbErrorMsg);
  819.  
  820.  
  821. __clidll__ 
  822. SQLRETURN SQL_API SQLPrepareW(
  823.     SQLHSTMT           hstmt,
  824.     SQLWCHAR        *szSqlStr,
  825.     SQLINTEGER         cbSqlStr);
  826.  
  827. __clidll__ 
  828. SQLRETURN SQL_API SQLSetConnectAttrW(
  829.     SQLHDBC            hdbc,
  830.     SQLINTEGER         fAttribute,
  831.     SQLPOINTER         rgbValue,
  832.     SQLINTEGER         cbValue);
  833.  
  834. __clidll__ 
  835. SQLRETURN SQL_API SQLSetCursorNameW(
  836.     SQLHSTMT           hstmt,
  837.     SQLWCHAR        *szCursor,
  838.     SQLSMALLINT        cbCursor);
  839.  
  840. __clidll__ 
  841. SQLRETURN SQL_API SQLColumnsW(
  842.     SQLHSTMT           hstmt,
  843.     SQLWCHAR        *szCatalogName,
  844.     SQLSMALLINT        cbCatalogName,
  845.     SQLWCHAR        *szSchemaName,
  846.     SQLSMALLINT        cbSchemaName,
  847.     SQLWCHAR        *szTableName,
  848.     SQLSMALLINT        cbTableName,
  849.     SQLWCHAR        *szColumnName,
  850.     SQLSMALLINT        cbColumnName);
  851.  
  852.  
  853. __clidll__ 
  854. SQLRETURN SQL_API SQLGetInfoW(
  855.     SQLHDBC            hdbc,
  856.     SQLUSMALLINT       fInfoType,
  857.     SQLPOINTER         rgbInfoValue,
  858.     SQLSMALLINT        cbInfoValueMax,
  859.     SQLSMALLINT    *pcbInfoValue);
  860.  
  861.  
  862. __clidll__ 
  863. SQLRETURN SQL_API SQLSpecialColumnsW(
  864.     SQLHSTMT           hstmt,
  865.     SQLUSMALLINT       fColType,
  866.     SQLWCHAR        *szCatalogName,
  867.     SQLSMALLINT        cbCatalogName,
  868.     SQLWCHAR        *szSchemaName,
  869.     SQLSMALLINT        cbSchemaName,
  870.     SQLWCHAR        *szTableName,
  871.     SQLSMALLINT        cbTableName,
  872.     SQLUSMALLINT       fScope,
  873.     SQLUSMALLINT       fNullable);
  874.  
  875. __clidll__ 
  876. SQLRETURN SQL_API SQLStatisticsW(
  877.     SQLHSTMT           hstmt,
  878.     SQLWCHAR        *szCatalogName,
  879.     SQLSMALLINT        cbCatalogName,
  880.     SQLWCHAR        *szSchemaName,
  881.     SQLSMALLINT        cbSchemaName,
  882.     SQLWCHAR        *szTableName,
  883.     SQLSMALLINT        cbTableName,
  884.     SQLUSMALLINT       fUnique,
  885.     SQLUSMALLINT       fAccuracy);
  886.  
  887. __clidll__ 
  888. SQLRETURN SQL_API SQLTablesW(
  889.     SQLHSTMT           hstmt,
  890.     SQLWCHAR        *szCatalogName,
  891.     SQLSMALLINT        cbCatalogName,
  892.     SQLWCHAR        *szSchemaName,
  893.     SQLSMALLINT        cbSchemaName,
  894.     SQLWCHAR        *szTableName,
  895.     SQLSMALLINT        cbTableName,
  896.     SQLWCHAR        *szTableType,
  897.     SQLSMALLINT        cbTableType);
  898.  
  899. __clidll__ 
  900. SQLRETURN SQL_API SQLDataSourcesW(
  901.     SQLHENV            henv,
  902.     SQLUSMALLINT       fDirection,
  903.     SQLWCHAR        *szDSN,
  904.     SQLSMALLINT        cbDSNMax,
  905.     SQLSMALLINT    *pcbDSN,
  906.     SQLWCHAR        *szDescription,
  907.     SQLSMALLINT        cbDescriptionMax,
  908.     SQLSMALLINT    *pcbDescription);
  909.  
  910. __clidll__ 
  911. SQLRETURN SQL_API SQLDriverConnectW(
  912.     SQLHDBC            hdbc,
  913.     SQLHWND            hwnd,
  914.     SQLWCHAR        *szConnStrIn,
  915.     SQLSMALLINT        cbConnStrIn,
  916.     SQLWCHAR        *szConnStrOut,
  917.     SQLSMALLINT        cbConnStrOutMax,
  918.     SQLSMALLINT    *pcbConnStrOut,
  919.     SQLUSMALLINT       fDriverCompletion);
  920.  
  921.  
  922. __clidll__ 
  923. SQLRETURN SQL_API SQLBrowseConnectW(
  924.     SQLHDBC            hdbc,
  925.     SQLWCHAR        *szConnStrIn,
  926.     SQLSMALLINT        cbConnStrIn,
  927.     SQLWCHAR        *szConnStrOut,
  928.     SQLSMALLINT        cbConnStrOutMax,
  929.     SQLSMALLINT    *pcbConnStrOut);
  930.  
  931. __clidll__ 
  932. SQLRETURN SQL_API SQLColumnPrivilegesW(
  933.     SQLHSTMT           hstmt,
  934.     SQLWCHAR        *szCatalogName,
  935.     SQLSMALLINT        cbCatalogName,
  936.     SQLWCHAR        *szSchemaName,
  937.     SQLSMALLINT        cbSchemaName,
  938.     SQLWCHAR        *szTableName,
  939.     SQLSMALLINT        cbTableName,
  940.     SQLWCHAR        *szColumnName,
  941.     SQLSMALLINT        cbColumnName);
  942.  
  943. __clidll__ 
  944. SQLRETURN SQL_API SQLGetStmtAttrW(
  945.     SQLHSTMT           hstmt,
  946.     SQLINTEGER         fAttribute,
  947.     SQLPOINTER         rgbValue,
  948.     SQLINTEGER         cbValueMax,
  949.     SQLINTEGER     *pcbValue);
  950.  
  951. __clidll__ 
  952. SQLRETURN SQL_API SQLSetStmtAttrW(
  953.     SQLHSTMT           hstmt,
  954.     SQLINTEGER         fAttribute,
  955.     SQLPOINTER         rgbValue,
  956.     SQLINTEGER         cbValueMax);
  957.  
  958. __clidll__ 
  959. SQLRETURN SQL_API SQLForeignKeysW(
  960.     SQLHSTMT           hstmt,
  961.     SQLWCHAR        *szPkCatalogName,
  962.     SQLSMALLINT        cbPkCatalogName,
  963.     SQLWCHAR        *szPkSchemaName,
  964.     SQLSMALLINT        cbPkSchemaName,
  965.     SQLWCHAR        *szPkTableName,
  966.     SQLSMALLINT        cbPkTableName,
  967.     SQLWCHAR        *szFkCatalogName,
  968.     SQLSMALLINT        cbFkCatalogName,
  969.     SQLWCHAR        *szFkSchemaName,
  970.     SQLSMALLINT        cbFkSchemaName,
  971.     SQLWCHAR        *szFkTableName,
  972.     SQLSMALLINT        cbFkTableName);
  973.  
  974.  
  975. __clidll__ 
  976. SQLRETURN SQL_API SQLNativeSqlW(
  977.     SQLHDBC            hdbc,
  978.     SQLWCHAR        *szSqlStrIn,
  979.     SQLINTEGER         cbSqlStrIn,
  980.     SQLWCHAR        *szSqlStr,
  981.     SQLINTEGER         cbSqlStrMax,
  982.     SQLINTEGER     *pcbSqlStr);
  983.  
  984.  
  985. __clidll__ 
  986. SQLRETURN SQL_API SQLPrimaryKeysW(
  987.     SQLHSTMT           hstmt,
  988.     SQLWCHAR        *szCatalogName,
  989.     SQLSMALLINT        cbCatalogName,
  990.     SQLWCHAR        *szSchemaName,
  991.     SQLSMALLINT        cbSchemaName,
  992.     SQLWCHAR        *szTableName,
  993.     SQLSMALLINT        cbTableName);
  994.  
  995. __clidll__ 
  996. SQLRETURN SQL_API SQLProcedureColumnsW(
  997.     SQLHSTMT           hstmt,
  998.     SQLWCHAR        *szCatalogName,
  999.     SQLSMALLINT        cbCatalogName,
  1000.     SQLWCHAR        *szSchemaName,
  1001.     SQLSMALLINT        cbSchemaName,
  1002.     SQLWCHAR        *szProcName,
  1003.     SQLSMALLINT        cbProcName,
  1004.     SQLWCHAR        *szColumnName,
  1005.     SQLSMALLINT        cbColumnName);
  1006.  
  1007. __clidll__ 
  1008. SQLRETURN SQL_API SQLProceduresW(
  1009.     SQLHSTMT           hstmt,
  1010.     SQLWCHAR        *szCatalogName,
  1011.     SQLSMALLINT        cbCatalogName,
  1012.     SQLWCHAR        *szSchemaName,
  1013.     SQLSMALLINT        cbSchemaName,
  1014.     SQLWCHAR        *szProcName,
  1015.     SQLSMALLINT        cbProcName);
  1016.  
  1017.  
  1018. __clidll__ 
  1019. SQLRETURN SQL_API SQLTablePrivilegesW(
  1020.     SQLHSTMT           hstmt,
  1021.     SQLWCHAR        *szCatalogName,
  1022.     SQLSMALLINT        cbCatalogName,
  1023.     SQLWCHAR        *szSchemaName,
  1024.     SQLSMALLINT        cbSchemaName,
  1025.     SQLWCHAR        *szTableName,
  1026.     SQLSMALLINT        cbTableName);
  1027.  
  1028.  
  1029. /*
  1030.  * DB2 specific CLI APIs
  1031.  */
  1032.  
  1033. __clidll__ 
  1034. SQLRETURN SQL_API_FN SQLBindFileToCol  (SQLHSTMT          hstmt,
  1035.                                         SQLUSMALLINT      icol,
  1036.                                         SQLCHAR     FAR   *FileName,
  1037.                                         SQLSMALLINT FAR   *FileNameLength,
  1038.                                         SQLUINTEGER FAR   *FileOptions,
  1039.                                         SQLSMALLINT       MaxFileNameLength,
  1040.                                         SQLINTEGER  FAR   *StringLength,
  1041.                                         SQLINTEGER  FAR   *IndicatorValue);
  1042.  
  1043. __clidll__ 
  1044. SQLRETURN SQL_API_FN SQLBindFileToParam(SQLHSTMT          hstmt,
  1045.                                         SQLUSMALLINT      ipar,
  1046.                                         SQLSMALLINT       fSqlType,
  1047.                                         SQLCHAR     FAR   *FileName,
  1048.                                         SQLSMALLINT FAR   *FileNameLength,
  1049.                                         SQLUINTEGER FAR   *FileOptions,
  1050.                                         SQLSMALLINT       MaxFileNameLength,
  1051.                                         SQLINTEGER  FAR   *IndicatorValue);
  1052.  
  1053. __clidll__ 
  1054. SQLRETURN SQL_API_FN SQLGetLength      (SQLHSTMT          hstmt,
  1055.                                         SQLSMALLINT       LocatorCType,
  1056.                                         SQLINTEGER        Locator,
  1057.                                         SQLINTEGER  FAR   *StringLength,
  1058.                                         SQLINTEGER  FAR   *IndicatorValue);
  1059.  
  1060. __clidll__ 
  1061. SQLRETURN SQL_API_FN SQLGetPosition    (SQLHSTMT          hstmt,
  1062.                                         SQLSMALLINT       LocatorCType,
  1063.                                         SQLINTEGER        SourceLocator,
  1064.                                         SQLINTEGER        SearchLocator,
  1065.                                         SQLCHAR     FAR   *SearchLiteral,
  1066.                                         SQLINTEGER        SearchLiteralLength,
  1067.                                         SQLUINTEGER       FromPosition,
  1068.                                         SQLUINTEGER FAR   *LocatedAt,
  1069.                                         SQLINTEGER  FAR   *IndicatorValue);
  1070.  
  1071.  
  1072. //__clidll__ 
  1073. //SQLRETURN SQL_API_FN SQLGetSQLCA       (SQLHENV           henv,
  1074. //                                        SQLHDBC           hdbc,
  1075. //                                        SQLHSTMT          hstmt,
  1076. //                                        struct sqlca FAR  *pSqlca );
  1077.  
  1078. __clidll__ 
  1079. SQLRETURN SQL_API_FN SQLGetSubString   (SQLHSTMT          hstmt,
  1080.                                         SQLSMALLINT       LocatorCType,
  1081.                                         SQLINTEGER        SourceLocator,
  1082.                                         SQLUINTEGER       FromPosition,
  1083.                                         SQLUINTEGER       ForLength,
  1084.                                         SQLSMALLINT       TargetCType,
  1085.                                         SQLPOINTER        rgbValue,
  1086.                                         SQLINTEGER        cbValueMax,
  1087.                                         SQLINTEGER  FAR   *StringLength,
  1088.                                         SQLINTEGER  FAR   *IndicatorValue);
  1089.  
  1090. __clidll__ 
  1091. SQLRETURN SQL_API_FN SQLSetColAttributes (SQLHSTMT        hstmt,
  1092.                                         SQLUSMALLINT      icol,
  1093.                                         SQLCHAR     FAR   *pszColName,
  1094.                                         SQLSMALLINT       cbColName,
  1095.                                         SQLSMALLINT       fSQLType,
  1096.                                         SQLUINTEGER       cbColDef,
  1097.                                         SQLSMALLINT       ibScale,
  1098.                                         SQLSMALLINT       fNullable);
  1099.  
  1100. /*
  1101.  *  Set active connection API, for use in conjunction with embedded
  1102.  *  SQL programming only.
  1103.  */
  1104. __clidll__ 
  1105. SQLRETURN SQL_API_FN SQLSetConnection  (SQLHDBC           hdbc);
  1106.  
  1107. /*
  1108.  * APIs defined only by X/Open CLI
  1109.  */
  1110.  
  1111. __clidll__ 
  1112. SQLRETURN SQL_API_FN SQLGetEnvAttr     (SQLHENV           henv,
  1113.                                         SQLINTEGER        Attribute,
  1114.                                         SQLPOINTER        Value,
  1115.                                         SQLINTEGER        BufferLength,
  1116.                                         SQLINTEGER  FAR   *StringLength);
  1117.  
  1118. __clidll__ 
  1119. SQLRETURN SQL_API_FN SQLSetEnvAttr     (SQLHENV           henv,
  1120.                                         SQLINTEGER        Attribute,
  1121.                                         SQLPOINTER        Value,
  1122.                                         SQLINTEGER        StringLength);
  1123.  
  1124. __clidll__ 
  1125. SQLRETURN  SQL_API_FN SQLBindParam(     SQLHSTMT StatementHandle,
  1126.                                         SQLUSMALLINT ParameterNumber,
  1127.                                         SQLSMALLINT ValueType,
  1128.                                         SQLSMALLINT ParameterType,
  1129.                                         SQLUINTEGER LengthPrecision,
  1130.                                         SQLSMALLINT ParameterScale,
  1131.                                         SQLPOINTER ParameterValue,
  1132.                                         SQLINTEGER *StrLen_or_Ind);
  1133.  
  1134. /*
  1135.  *  Data link functions.
  1136.  */
  1137.  
  1138. __clidll__ 
  1139. SQLRETURN SQL_API_FN SQLBuildDataLink(  SQLHSTMT hStmt,
  1140.                                         SQLCHAR FAR * pszLinkType,
  1141.                                         SQLINTEGER cbLinkType,
  1142.                                         SQLCHAR FAR * pszDataLocation,
  1143.                                         SQLINTEGER cbDataLocation,
  1144.                                         SQLCHAR FAR * pszComment,
  1145.                                         SQLINTEGER cbComment,
  1146.                                         SQLCHAR FAR * pDataLink,
  1147.                                         SQLINTEGER cbDataLinkMax,
  1148.                                         SQLINTEGER FAR * pcbDataLink );
  1149.  
  1150. __clidll__ 
  1151. SQLRETURN SQL_API_FN SQLGetDataLinkAttr( SQLHSTMT hStmt,
  1152.                                          SQLSMALLINT fAttrType,
  1153.                                          SQLCHAR FAR * pDataLink,
  1154.                                          SQLINTEGER cbDataLink,
  1155.                                          SQLPOINTER pAttribute,
  1156.                                          SQLINTEGER cbAttributeMax,
  1157.                                          SQLINTEGER * pcbAttribute );
  1158.  
  1159.  
  1160.  
  1161. #ifdef __cplusplus
  1162. }
  1163. #endif
  1164.  
  1165. //d1679
  1166. #define  SQL_C_WCHAR         SQL_WCHAR
  1167. #ifdef UNICODE
  1168. #define SQL_C_TCHAR     SQL_C_WCHAR
  1169. typedef SQLWCHAR        SQLTCHAR;
  1170. #else
  1171. #define SQL_C_TCHAR     SQL_C_CHAR
  1172. typedef SQLCHAR         SQLTCHAR;
  1173. #endif
  1174.  
  1175. #define SQLConnectW         SQLConnectWInt
  1176. #ifdef  UNICODE
  1177. #ifndef DB2E_NO_CLI_MAPPING //d1719 //d4214kmt
  1178. #define SQLColAttribute     SQLColAttributeW
  1179. #define SQLColAttributes    SQLColAttributesW
  1180. #define SQLConnect          SQLConnectWInt
  1181. #define SQLDescribeCol      SQLDescribeColW
  1182. #define SQLError            SQLErrorW
  1183. #define SQLExecDirect       SQLExecDirectW
  1184. #define SQLGetConnectAttr   SQLGetConnectAttrW
  1185. #define SQLGetCursorName    SQLGetCursorNameW
  1186. #define SQLGetDescField     SQLGetDescFieldW
  1187. #define SQLGetDescRec       SQLGetDescRecW
  1188. #define SQLGetDiagField     SQLGetDiagFieldW
  1189. #define SQLGetDiagRec       SQLGetDiagRecW
  1190. #define SQLPrepare          SQLPrepareW
  1191. #define SQLSetConnectAttr   SQLSetConnectAttrW
  1192. #define SQLSetCursorName    SQLSetCursorNameW
  1193. #define SQLSetDescField     SQLSetDescFieldW
  1194. #define SQLSetStmtAttr      SQLSetStmtAttrW
  1195. #define SQLGetStmtAttr      SQLGetStmtAttrW
  1196. #define SQLColumns          SQLColumnsW
  1197. #define SQLGetInfo          SQLGetInfoW
  1198. #define SQLSpecialColumns   SQLSpecialColumnsW
  1199. #define SQLStatistics       SQLStatisticsW
  1200. #define SQLTables           SQLTablesW
  1201. #define SQLDataSources      SQLDataSourcesW
  1202. #define SQLDriverConnect    SQLDriverConnectW
  1203. #define SQLBrowseConnect    SQLBrowseConnectW
  1204. #define SQLColumnPrivileges SQLColumnPrivilegesW
  1205. #define SQLForeignKeys      SQLForeignKeysW
  1206. #define SQLNativeSql        SQLNativeSqlW
  1207. #define SQLPrimaryKeys      SQLPrimaryKeysW
  1208. #define SQLProcedureColumns SQLProcedureColumnsW
  1209. #define SQLProcedures       SQLProceduresW
  1210. #define SQLTablePrivileges  SQLTablePrivilegesW
  1211. #endif /* DB2E_NO_CLI_MAPPING */
  1212. #endif /* UNICODE */
  1213.  
  1214. #endif /* SQL_H_SQLCLI1 */
  1215.