sqlucode.h 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818
  1. /*
  2. * sqlucode.h
  3. *
  4. * $Id: sqlucode.h,v 1.6 2009/08/30 10:48:32 source Exp $
  5. *
  6. * ODBC Unicode defines
  7. *
  8. * The iODBC driver manager.
  9. *
  10. * Copyright (C) 1996-2009 by OpenLink Software <[email protected]>
  11. * All Rights Reserved.
  12. *
  13. * This software is released under the terms of either of the following
  14. * licenses:
  15. *
  16. * - GNU Library General Public License (see LICENSE.LGPL)
  17. * - The BSD License (see LICENSE.BSD).
  18. *
  19. * Note that the only valid version of the LGPL license as far as this
  20. * project is concerned is the original GNU Library General Public License
  21. * Version 2, dated June 1991.
  22. *
  23. * While not mandated by the BSD license, any patches you make to the
  24. * iODBC source code may be contributed back into the iODBC project
  25. * at your discretion. Contributions will benefit the Open Source and
  26. * Data Access community as a whole. Submissions may be made at:
  27. *
  28. * http://www.iodbc.org
  29. *
  30. *
  31. * GNU Library Generic Public License Version 2
  32. * ============================================
  33. * This library is free software; you can redistribute it and/or
  34. * modify it under the terms of the GNU Library General Public
  35. * License as published by the Free Software Foundation; only
  36. * Version 2 of the License dated June 1991.
  37. *
  38. * This library is distributed in the hope that it will be useful,
  39. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  40. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  41. * Library General Public License for more details.
  42. *
  43. * You should have received a copy of the GNU Library General Public
  44. * License along with this library; if not, write to the Free
  45. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  46. *
  47. *
  48. * The BSD License
  49. * ===============
  50. * Redistribution and use in source and binary forms, with or without
  51. * modification, are permitted provided that the following conditions
  52. * are met:
  53. *
  54. * 1. Redistributions of source code must retain the above copyright
  55. * notice, this list of conditions and the following disclaimer.
  56. * 2. Redistributions in binary form must reproduce the above copyright
  57. * notice, this list of conditions and the following disclaimer in
  58. * the documentation and/or other materials provided with the
  59. * distribution.
  60. * 3. Neither the name of OpenLink Software Inc. nor the names of its
  61. * contributors may be used to endorse or promote products derived
  62. * from this software without specific prior written permission.
  63. *
  64. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  65. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  66. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  67. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR
  68. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  69. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  70. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  71. * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  72. * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  73. * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  74. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  75. */
  76. #ifndef _SQLUCODE_H
  77. #define _SQLUCODE_H
  78. #ifndef _SQLEXT_H
  79. #include <iODBC/sqlext.h>
  80. #endif
  81. #ifdef __cplusplus
  82. extern "C" {
  83. #endif
  84. /*
  85. * SQL datatypes - Unicode
  86. */
  87. #define SQL_WCHAR (-8)
  88. #define SQL_WVARCHAR (-9)
  89. #define SQL_WLONGVARCHAR (-10)
  90. #define SQL_C_WCHAR SQL_WCHAR
  91. #ifdef UNICODE
  92. #define SQL_C_TCHAR SQL_C_WCHAR
  93. #else
  94. #define SQL_C_TCHAR SQL_C_CHAR
  95. #endif
  96. /* SQLTablesW */
  97. #if (ODBCVER >= 0x0300)
  98. #define SQL_ALL_CATALOGSW L"%"
  99. #define SQL_ALL_SCHEMASW L"%"
  100. #define SQL_ALL_TABLE_TYPESW L"%"
  101. #endif /* ODBCVER >= 0x0300 */
  102. /*
  103. * Size of SQLSTATE - Unicode
  104. */
  105. #define SQL_SQLSTATE_SIZEW 10
  106. /*
  107. * Function Prototypes - Unicode
  108. */
  109. SQLRETURN SQL_API SQLColAttributeW (
  110. SQLHSTMT hstmt,
  111. SQLUSMALLINT iCol,
  112. SQLUSMALLINT iField,
  113. SQLPOINTER pCharAttr,
  114. SQLSMALLINT cbCharAttrMax,
  115. SQLSMALLINT * pcbCharAttr,
  116. SQLLEN * pNumAttr);
  117. SQLRETURN SQL_API SQLColAttributesW (
  118. SQLHSTMT hstmt,
  119. SQLUSMALLINT icol,
  120. SQLUSMALLINT fDescType,
  121. SQLPOINTER rgbDesc,
  122. SQLSMALLINT cbDescMax,
  123. SQLSMALLINT * pcbDesc,
  124. SQLLEN * pfDesc);
  125. SQLRETURN SQL_API SQLConnectW (
  126. SQLHDBC hdbc,
  127. SQLWCHAR * szDSN,
  128. SQLSMALLINT cbDSN,
  129. SQLWCHAR * szUID,
  130. SQLSMALLINT cbUID,
  131. SQLWCHAR * szAuthStr,
  132. SQLSMALLINT cbAuthStr);
  133. SQLRETURN SQL_API SQLDescribeColW (
  134. SQLHSTMT hstmt,
  135. SQLUSMALLINT icol,
  136. SQLWCHAR * szColName,
  137. SQLSMALLINT cbColNameMax,
  138. SQLSMALLINT * pcbColName,
  139. SQLSMALLINT * pfSqlType,
  140. SQLULEN * pcbColDef,
  141. SQLSMALLINT * pibScale,
  142. SQLSMALLINT * pfNullable);
  143. SQLRETURN SQL_API SQLErrorW (
  144. SQLHENV henv,
  145. SQLHDBC hdbc,
  146. SQLHSTMT hstmt,
  147. SQLWCHAR * szSqlState,
  148. SQLINTEGER * pfNativeError,
  149. SQLWCHAR * szErrorMsg,
  150. SQLSMALLINT cbErrorMsgMax,
  151. SQLSMALLINT * pcbErrorMsg);
  152. SQLRETURN SQL_API SQLExecDirectW (
  153. SQLHSTMT hstmt,
  154. SQLWCHAR * szSqlStr,
  155. SQLINTEGER cbSqlStr);
  156. SQLRETURN SQL_API SQLGetConnectAttrW (
  157. SQLHDBC hdbc,
  158. SQLINTEGER fAttribute,
  159. SQLPOINTER rgbValue,
  160. SQLINTEGER cbValueMax,
  161. SQLINTEGER * pcbValue);
  162. SQLRETURN SQL_API SQLGetCursorNameW (
  163. SQLHSTMT hstmt,
  164. SQLWCHAR * szCursor,
  165. SQLSMALLINT cbCursorMax,
  166. SQLSMALLINT * pcbCursor);
  167. #if (ODBCVER >= 0x0300)
  168. SQLRETURN SQL_API SQLSetDescFieldW (
  169. SQLHDESC DescriptorHandle,
  170. SQLSMALLINT RecNumber,
  171. SQLSMALLINT FieldIdentifier,
  172. SQLPOINTER Value,
  173. SQLINTEGER BufferLength);
  174. SQLRETURN SQL_API SQLGetDescFieldW (
  175. SQLHDESC hdesc,
  176. SQLSMALLINT iRecord,
  177. SQLSMALLINT iField,
  178. SQLPOINTER rgbValue,
  179. SQLINTEGER cbValueMax,
  180. SQLINTEGER * pcbValue);
  181. SQLRETURN SQL_API SQLGetDescRecW (
  182. SQLHDESC hdesc,
  183. SQLSMALLINT iRecord,
  184. SQLWCHAR * szName,
  185. SQLSMALLINT cbNameMax,
  186. SQLSMALLINT * pcbName,
  187. SQLSMALLINT * pfType,
  188. SQLSMALLINT * pfSubType,
  189. SQLLEN * pLength,
  190. SQLSMALLINT * pPrecision,
  191. SQLSMALLINT * pScale,
  192. SQLSMALLINT * pNullable);
  193. SQLRETURN SQL_API SQLGetDiagFieldW (
  194. SQLSMALLINT fHandleType,
  195. SQLHANDLE handle,
  196. SQLSMALLINT iRecord,
  197. SQLSMALLINT fDiagField,
  198. SQLPOINTER rgbDiagInfo,
  199. SQLSMALLINT cbDiagInfoMax,
  200. SQLSMALLINT * pcbDiagInfo);
  201. SQLRETURN SQL_API SQLGetDiagRecW (
  202. SQLSMALLINT fHandleType,
  203. SQLHANDLE handle,
  204. SQLSMALLINT iRecord,
  205. SQLWCHAR * szSqlState,
  206. SQLINTEGER * pfNativeError,
  207. SQLWCHAR * szErrorMsg,
  208. SQLSMALLINT cbErrorMsgMax,
  209. SQLSMALLINT * pcbErrorMsg);
  210. #endif
  211. SQLRETURN SQL_API SQLPrepareW (
  212. SQLHSTMT hstmt,
  213. SQLWCHAR * szSqlStr,
  214. SQLINTEGER cbSqlStr);
  215. SQLRETURN SQL_API SQLSetConnectAttrW (
  216. SQLHDBC hdbc,
  217. SQLINTEGER fAttribute,
  218. SQLPOINTER rgbValue,
  219. SQLINTEGER cbValue);
  220. SQLRETURN SQL_API SQLSetCursorNameW (
  221. SQLHSTMT hstmt,
  222. SQLWCHAR * szCursor,
  223. SQLSMALLINT cbCursor);
  224. SQLRETURN SQL_API SQLColumnsW (
  225. SQLHSTMT hstmt,
  226. SQLWCHAR * szCatalogName,
  227. SQLSMALLINT cbCatalogName,
  228. SQLWCHAR * szSchemaName,
  229. SQLSMALLINT cbSchemaName,
  230. SQLWCHAR * szTableName,
  231. SQLSMALLINT cbTableName,
  232. SQLWCHAR * szColumnName,
  233. SQLSMALLINT cbColumnName);
  234. SQLRETURN SQL_API SQLGetConnectOptionW (
  235. SQLHDBC hdbc,
  236. SQLUSMALLINT fOption,
  237. SQLPOINTER pvParam);
  238. SQLRETURN SQL_API SQLGetInfoW (
  239. SQLHDBC hdbc,
  240. SQLUSMALLINT fInfoType,
  241. SQLPOINTER rgbInfoValue,
  242. SQLSMALLINT cbInfoValueMax,
  243. SQLSMALLINT * pcbInfoValue);
  244. SQLRETURN SQL_API SQLGetTypeInfoW (
  245. SQLHSTMT StatementHandle,
  246. SQLSMALLINT DataType);
  247. SQLRETURN SQL_API SQLSetConnectOptionW (
  248. SQLHDBC hdbc,
  249. SQLUSMALLINT fOption,
  250. SQLULEN vParam);
  251. SQLRETURN SQL_API SQLSpecialColumnsW (
  252. SQLHSTMT hstmt,
  253. SQLUSMALLINT fColType,
  254. SQLWCHAR * szCatalogName,
  255. SQLSMALLINT cbCatalogName,
  256. SQLWCHAR * szSchemaName,
  257. SQLSMALLINT cbSchemaName,
  258. SQLWCHAR * szTableName,
  259. SQLSMALLINT cbTableName,
  260. SQLUSMALLINT fScope,
  261. SQLUSMALLINT fNullable);
  262. SQLRETURN SQL_API SQLStatisticsW (
  263. SQLHSTMT hstmt,
  264. SQLWCHAR * szCatalogName,
  265. SQLSMALLINT cbCatalogName,
  266. SQLWCHAR * szSchemaName,
  267. SQLSMALLINT cbSchemaName,
  268. SQLWCHAR * szTableName,
  269. SQLSMALLINT cbTableName,
  270. SQLUSMALLINT fUnique,
  271. SQLUSMALLINT fAccuracy);
  272. SQLRETURN SQL_API SQLTablesW (
  273. SQLHSTMT hstmt,
  274. SQLWCHAR * szCatalogName,
  275. SQLSMALLINT cbCatalogName,
  276. SQLWCHAR * szSchemaName,
  277. SQLSMALLINT cbSchemaName,
  278. SQLWCHAR * szTableName,
  279. SQLSMALLINT cbTableName,
  280. SQLWCHAR * szTableType,
  281. SQLSMALLINT cbTableType);
  282. SQLRETURN SQL_API SQLDataSourcesW (
  283. SQLHENV henv,
  284. SQLUSMALLINT fDirection,
  285. SQLWCHAR * szDSN,
  286. SQLSMALLINT cbDSNMax,
  287. SQLSMALLINT * pcbDSN,
  288. SQLWCHAR * szDescription,
  289. SQLSMALLINT cbDescriptionMax,
  290. SQLSMALLINT * pcbDescription);
  291. SQLRETURN SQL_API SQLDriverConnectW (
  292. SQLHDBC hdbc,
  293. SQLHWND hwnd,
  294. SQLWCHAR * szConnStrIn,
  295. SQLSMALLINT cbConnStrIn,
  296. SQLWCHAR * szConnStrOut,
  297. SQLSMALLINT cbConnStrOutMax,
  298. SQLSMALLINT * pcbConnStrOut,
  299. SQLUSMALLINT fDriverCompletion);
  300. SQLRETURN SQL_API SQLBrowseConnectW (
  301. SQLHDBC hdbc,
  302. SQLWCHAR * szConnStrIn,
  303. SQLSMALLINT cbConnStrIn,
  304. SQLWCHAR * szConnStrOut,
  305. SQLSMALLINT cbConnStrOutMax,
  306. SQLSMALLINT * pcbConnStrOut);
  307. SQLRETURN SQL_API SQLColumnPrivilegesW (
  308. SQLHSTMT hstmt,
  309. SQLWCHAR * szCatalogName,
  310. SQLSMALLINT cbCatalogName,
  311. SQLWCHAR * szSchemaName,
  312. SQLSMALLINT cbSchemaName,
  313. SQLWCHAR * szTableName,
  314. SQLSMALLINT cbTableName,
  315. SQLWCHAR * szColumnName,
  316. SQLSMALLINT cbColumnName);
  317. SQLRETURN SQL_API SQLGetStmtAttrW (
  318. SQLHSTMT hstmt,
  319. SQLINTEGER fAttribute,
  320. SQLPOINTER rgbValue,
  321. SQLINTEGER cbValueMax,
  322. SQLINTEGER * pcbValue);
  323. SQLRETURN SQL_API SQLSetStmtAttrW (
  324. SQLHSTMT hstmt,
  325. SQLINTEGER fAttribute,
  326. SQLPOINTER rgbValue,
  327. SQLINTEGER cbValueMax);
  328. SQLRETURN SQL_API SQLForeignKeysW (
  329. SQLHSTMT hstmt,
  330. SQLWCHAR * szPkCatalogName,
  331. SQLSMALLINT cbPkCatalogName,
  332. SQLWCHAR * szPkSchemaName,
  333. SQLSMALLINT cbPkSchemaName,
  334. SQLWCHAR * szPkTableName,
  335. SQLSMALLINT cbPkTableName,
  336. SQLWCHAR * szFkCatalogName,
  337. SQLSMALLINT cbFkCatalogName,
  338. SQLWCHAR * szFkSchemaName,
  339. SQLSMALLINT cbFkSchemaName,
  340. SQLWCHAR * szFkTableName,
  341. SQLSMALLINT cbFkTableName);
  342. SQLRETURN SQL_API SQLNativeSqlW (
  343. SQLHDBC hdbc,
  344. SQLWCHAR * szSqlStrIn,
  345. SQLINTEGER cbSqlStrIn,
  346. SQLWCHAR * szSqlStr,
  347. SQLINTEGER cbSqlStrMax,
  348. SQLINTEGER * pcbSqlStr);
  349. SQLRETURN SQL_API SQLPrimaryKeysW (
  350. SQLHSTMT hstmt,
  351. SQLWCHAR * szCatalogName,
  352. SQLSMALLINT cbCatalogName,
  353. SQLWCHAR * szSchemaName,
  354. SQLSMALLINT cbSchemaName,
  355. SQLWCHAR * szTableName,
  356. SQLSMALLINT cbTableName);
  357. SQLRETURN SQL_API SQLProcedureColumnsW (
  358. SQLHSTMT hstmt,
  359. SQLWCHAR * szCatalogName,
  360. SQLSMALLINT cbCatalogName,
  361. SQLWCHAR * szSchemaName,
  362. SQLSMALLINT cbSchemaName,
  363. SQLWCHAR * szProcName,
  364. SQLSMALLINT cbProcName,
  365. SQLWCHAR * szColumnName,
  366. SQLSMALLINT cbColumnName);
  367. SQLRETURN SQL_API SQLProceduresW (
  368. SQLHSTMT hstmt,
  369. SQLWCHAR * szCatalogName,
  370. SQLSMALLINT cbCatalogName,
  371. SQLWCHAR * szSchemaName,
  372. SQLSMALLINT cbSchemaName,
  373. SQLWCHAR * szProcName,
  374. SQLSMALLINT cbProcName);
  375. SQLRETURN SQL_API SQLTablePrivilegesW (
  376. SQLHSTMT hstmt,
  377. SQLWCHAR * szCatalogName,
  378. SQLSMALLINT cbCatalogName,
  379. SQLWCHAR * szSchemaName,
  380. SQLSMALLINT cbSchemaName,
  381. SQLWCHAR * szTableName,
  382. SQLSMALLINT cbTableName);
  383. SQLRETURN SQL_API SQLDriversW (
  384. SQLHENV henv,
  385. SQLUSMALLINT fDirection,
  386. SQLWCHAR * szDriverDesc,
  387. SQLSMALLINT cbDriverDescMax,
  388. SQLSMALLINT * pcbDriverDesc,
  389. SQLWCHAR * szDriverAttributes,
  390. SQLSMALLINT cbDrvrAttrMax,
  391. SQLSMALLINT * pcbDrvrAttr);
  392. /*
  393. * Function prototypes - ANSI
  394. */
  395. SQLRETURN SQL_API SQLColAttributeA (
  396. SQLHSTMT hstmt,
  397. SQLUSMALLINT iCol,
  398. SQLUSMALLINT iField,
  399. SQLPOINTER pCharAttr,
  400. SQLSMALLINT cbCharAttrMax,
  401. SQLSMALLINT * pcbCharAttr,
  402. SQLLEN * pNumAttr);
  403. SQLRETURN SQL_API SQLColAttributesA (
  404. SQLHSTMT hstmt,
  405. SQLUSMALLINT icol,
  406. SQLUSMALLINT fDescType,
  407. SQLPOINTER rgbDesc,
  408. SQLSMALLINT cbDescMax,
  409. SQLSMALLINT * pcbDesc,
  410. SQLLEN * pfDesc);
  411. SQLRETURN SQL_API SQLConnectA (
  412. SQLHDBC hdbc,
  413. SQLCHAR * szDSN,
  414. SQLSMALLINT cbDSN,
  415. SQLCHAR * szUID,
  416. SQLSMALLINT cbUID,
  417. SQLCHAR * szAuthStr,
  418. SQLSMALLINT cbAuthStr);
  419. SQLRETURN SQL_API SQLDescribeColA (
  420. SQLHSTMT hstmt,
  421. SQLUSMALLINT icol,
  422. SQLCHAR * szColName,
  423. SQLSMALLINT cbColNameMax,
  424. SQLSMALLINT * pcbColName,
  425. SQLSMALLINT * pfSqlType,
  426. SQLULEN * pcbColDef,
  427. SQLSMALLINT * pibScale,
  428. SQLSMALLINT * pfNullable);
  429. SQLRETURN SQL_API SQLErrorA (
  430. SQLHENV henv,
  431. SQLHDBC hdbc,
  432. SQLHSTMT hstmt,
  433. SQLCHAR * szSqlState,
  434. SQLINTEGER * pfNativeError,
  435. SQLCHAR * szErrorMsg,
  436. SQLSMALLINT cbErrorMsgMax,
  437. SQLSMALLINT * pcbErrorMsg);
  438. SQLRETURN SQL_API SQLExecDirectA (
  439. SQLHSTMT hstmt,
  440. SQLCHAR * szSqlStr,
  441. SQLINTEGER cbSqlStr);
  442. SQLRETURN SQL_API SQLGetConnectAttrA (
  443. SQLHDBC hdbc,
  444. SQLINTEGER fAttribute,
  445. SQLPOINTER rgbValue,
  446. SQLINTEGER cbValueMax,
  447. SQLINTEGER * pcbValue);
  448. SQLRETURN SQL_API SQLGetCursorNameA (
  449. SQLHSTMT hstmt,
  450. SQLCHAR * szCursor,
  451. SQLSMALLINT cbCursorMax,
  452. SQLSMALLINT * pcbCursor);
  453. #if (ODBCVER >= 0x0300)
  454. SQLRETURN SQL_API SQLSetDescFieldA (
  455. SQLHDESC DescriptorHandle,
  456. SQLSMALLINT RecNumber,
  457. SQLSMALLINT FieldIdentifier,
  458. SQLPOINTER Value,
  459. SQLINTEGER BufferLength);
  460. SQLRETURN SQL_API SQLGetDescFieldA (
  461. SQLHDESC hdesc,
  462. SQLSMALLINT iRecord,
  463. SQLSMALLINT iField,
  464. SQLPOINTER rgbValue,
  465. SQLINTEGER cbValueMax,
  466. SQLINTEGER * pcbValue);
  467. SQLRETURN SQL_API SQLGetDescRecA (
  468. SQLHDESC hdesc,
  469. SQLSMALLINT iRecord,
  470. SQLCHAR * szName,
  471. SQLSMALLINT cbNameMax,
  472. SQLSMALLINT * pcbName,
  473. SQLSMALLINT * pfType,
  474. SQLSMALLINT * pfSubType,
  475. SQLLEN * pLength,
  476. SQLSMALLINT * pPrecision,
  477. SQLSMALLINT * pScale,
  478. SQLSMALLINT * pNullable);
  479. SQLRETURN SQL_API SQLGetDiagFieldA (
  480. SQLSMALLINT fHandleType,
  481. SQLHANDLE handle,
  482. SQLSMALLINT iRecord,
  483. SQLSMALLINT fDiagField,
  484. SQLPOINTER rgbDiagInfo,
  485. SQLSMALLINT cbDiagInfoMax,
  486. SQLSMALLINT * pcbDiagInfo);
  487. SQLRETURN SQL_API SQLGetDiagRecA (
  488. SQLSMALLINT fHandleType,
  489. SQLHANDLE handle,
  490. SQLSMALLINT iRecord,
  491. SQLCHAR * szSqlState,
  492. SQLINTEGER * pfNativeError,
  493. SQLCHAR * szErrorMsg,
  494. SQLSMALLINT cbErrorMsgMax,
  495. SQLSMALLINT * pcbErrorMsg);
  496. #endif
  497. SQLRETURN SQL_API SQLPrepareA (
  498. SQLHSTMT hstmt,
  499. SQLCHAR * szSqlStr,
  500. SQLINTEGER cbSqlStr);
  501. SQLRETURN SQL_API SQLSetConnectAttrA (
  502. SQLHDBC hdbc,
  503. SQLINTEGER fAttribute,
  504. SQLPOINTER rgbValue,
  505. SQLINTEGER cbValue);
  506. SQLRETURN SQL_API SQLSetCursorNameA (
  507. SQLHSTMT hstmt,
  508. SQLCHAR * szCursor,
  509. SQLSMALLINT cbCursor);
  510. SQLRETURN SQL_API SQLColumnsA (
  511. SQLHSTMT hstmt,
  512. SQLCHAR * szCatalogName,
  513. SQLSMALLINT cbCatalogName,
  514. SQLCHAR * szSchemaName,
  515. SQLSMALLINT cbSchemaName,
  516. SQLCHAR * szTableName,
  517. SQLSMALLINT cbTableName,
  518. SQLCHAR * szColumnName,
  519. SQLSMALLINT cbColumnName);
  520. SQLRETURN SQL_API SQLGetConnectOptionA (
  521. SQLHDBC hdbc,
  522. SQLUSMALLINT fOption,
  523. SQLPOINTER pvParam);
  524. SQLRETURN SQL_API SQLGetInfoA (
  525. SQLHDBC hdbc,
  526. SQLUSMALLINT fInfoType,
  527. SQLPOINTER rgbInfoValue,
  528. SQLSMALLINT cbInfoValueMax,
  529. SQLSMALLINT * pcbInfoValue);
  530. SQLRETURN SQL_API SQLGetTypeInfoA (
  531. SQLHSTMT StatementHandle,
  532. SQLSMALLINT DataType);
  533. SQLRETURN SQL_API SQLSetConnectOptionA (
  534. SQLHDBC hdbc,
  535. SQLUSMALLINT fOption,
  536. SQLULEN vParam);
  537. SQLRETURN SQL_API SQLSpecialColumnsA (
  538. SQLHSTMT hstmt,
  539. SQLUSMALLINT fColType,
  540. SQLCHAR * szCatalogName,
  541. SQLSMALLINT cbCatalogName,
  542. SQLCHAR * szSchemaName,
  543. SQLSMALLINT cbSchemaName,
  544. SQLCHAR * szTableName,
  545. SQLSMALLINT cbTableName,
  546. SQLUSMALLINT fScope,
  547. SQLUSMALLINT fNullable);
  548. SQLRETURN SQL_API SQLStatisticsA (
  549. SQLHSTMT hstmt,
  550. SQLCHAR * szCatalogName,
  551. SQLSMALLINT cbCatalogName,
  552. SQLCHAR * szSchemaName,
  553. SQLSMALLINT cbSchemaName,
  554. SQLCHAR * szTableName,
  555. SQLSMALLINT cbTableName,
  556. SQLUSMALLINT fUnique,
  557. SQLUSMALLINT fAccuracy);
  558. SQLRETURN SQL_API SQLTablesA (
  559. SQLHSTMT hstmt,
  560. SQLCHAR * szCatalogName,
  561. SQLSMALLINT cbCatalogName,
  562. SQLCHAR * szSchemaName,
  563. SQLSMALLINT cbSchemaName,
  564. SQLCHAR * szTableName,
  565. SQLSMALLINT cbTableName,
  566. SQLCHAR * szTableType,
  567. SQLSMALLINT cbTableType);
  568. SQLRETURN SQL_API SQLDataSourcesA (
  569. SQLHENV henv,
  570. SQLUSMALLINT fDirection,
  571. SQLCHAR * szDSN,
  572. SQLSMALLINT cbDSNMax,
  573. SQLSMALLINT * pcbDSN,
  574. SQLCHAR * szDescription,
  575. SQLSMALLINT cbDescriptionMax,
  576. SQLSMALLINT * pcbDescription);
  577. SQLRETURN SQL_API SQLDriverConnectA (
  578. SQLHDBC hdbc,
  579. SQLHWND hwnd,
  580. SQLCHAR * szConnStrIn,
  581. SQLSMALLINT cbConnStrIn,
  582. SQLCHAR * szConnStrOut,
  583. SQLSMALLINT cbConnStrOutMax,
  584. SQLSMALLINT * pcbConnStrOut,
  585. SQLUSMALLINT fDriverCompletion);
  586. SQLRETURN SQL_API SQLBrowseConnectA (
  587. SQLHDBC hdbc,
  588. SQLCHAR * szConnStrIn,
  589. SQLSMALLINT cbConnStrIn,
  590. SQLCHAR * szConnStrOut,
  591. SQLSMALLINT cbConnStrOutMax,
  592. SQLSMALLINT * pcbConnStrOut);
  593. SQLRETURN SQL_API SQLColumnPrivilegesA (
  594. SQLHSTMT hstmt,
  595. SQLCHAR * szCatalogName,
  596. SQLSMALLINT cbCatalogName,
  597. SQLCHAR * szSchemaName,
  598. SQLSMALLINT cbSchemaName,
  599. SQLCHAR * szTableName,
  600. SQLSMALLINT cbTableName,
  601. SQLCHAR * szColumnName,
  602. SQLSMALLINT cbColumnName);
  603. SQLRETURN SQL_API SQLGetStmtAttrA (
  604. SQLHSTMT hstmt,
  605. SQLINTEGER fAttribute,
  606. SQLPOINTER rgbValue,
  607. SQLINTEGER cbValueMax,
  608. SQLINTEGER * pcbValue);
  609. SQLRETURN SQL_API SQLSetStmtAttrA (
  610. SQLHSTMT hstmt,
  611. SQLINTEGER fAttribute,
  612. SQLPOINTER rgbValue,
  613. SQLINTEGER cbValueMax);
  614. SQLRETURN SQL_API SQLForeignKeysA (
  615. SQLHSTMT hstmt,
  616. SQLCHAR * szPkCatalogName,
  617. SQLSMALLINT cbPkCatalogName,
  618. SQLCHAR * szPkSchemaName,
  619. SQLSMALLINT cbPkSchemaName,
  620. SQLCHAR * szPkTableName,
  621. SQLSMALLINT cbPkTableName,
  622. SQLCHAR * szFkCatalogName,
  623. SQLSMALLINT cbFkCatalogName,
  624. SQLCHAR * szFkSchemaName,
  625. SQLSMALLINT cbFkSchemaName,
  626. SQLCHAR * szFkTableName,
  627. SQLSMALLINT cbFkTableName);
  628. SQLRETURN SQL_API SQLNativeSqlA (
  629. SQLHDBC hdbc,
  630. SQLCHAR * szSqlStrIn,
  631. SQLINTEGER cbSqlStrIn,
  632. SQLCHAR * szSqlStr,
  633. SQLINTEGER cbSqlStrMax,
  634. SQLINTEGER * pcbSqlStr);
  635. SQLRETURN SQL_API SQLPrimaryKeysA (
  636. SQLHSTMT hstmt,
  637. SQLCHAR * szCatalogName,
  638. SQLSMALLINT cbCatalogName,
  639. SQLCHAR * szSchemaName,
  640. SQLSMALLINT cbSchemaName,
  641. SQLCHAR * szTableName,
  642. SQLSMALLINT cbTableName);
  643. SQLRETURN SQL_API SQLProcedureColumnsA (
  644. SQLHSTMT hstmt,
  645. SQLCHAR * szCatalogName,
  646. SQLSMALLINT cbCatalogName,
  647. SQLCHAR * szSchemaName,
  648. SQLSMALLINT cbSchemaName,
  649. SQLCHAR * szProcName,
  650. SQLSMALLINT cbProcName,
  651. SQLCHAR * szColumnName,
  652. SQLSMALLINT cbColumnName);
  653. SQLRETURN SQL_API SQLProceduresA (
  654. SQLHSTMT hstmt,
  655. SQLCHAR * szCatalogName,
  656. SQLSMALLINT cbCatalogName,
  657. SQLCHAR * szSchemaName,
  658. SQLSMALLINT cbSchemaName,
  659. SQLCHAR * szProcName,
  660. SQLSMALLINT cbProcName);
  661. SQLRETURN SQL_API SQLTablePrivilegesA (
  662. SQLHSTMT hstmt,
  663. SQLCHAR * szCatalogName,
  664. SQLSMALLINT cbCatalogName,
  665. SQLCHAR * szSchemaName,
  666. SQLSMALLINT cbSchemaName,
  667. SQLCHAR * szTableName,
  668. SQLSMALLINT cbTableName);
  669. SQLRETURN SQL_API SQLDriversA (
  670. SQLHENV henv,
  671. SQLUSMALLINT fDirection,
  672. SQLCHAR * szDriverDesc,
  673. SQLSMALLINT cbDriverDescMax,
  674. SQLSMALLINT * pcbDriverDesc,
  675. SQLCHAR * szDriverAttributes,
  676. SQLSMALLINT cbDrvrAttrMax,
  677. SQLSMALLINT * pcbDrvrAttr);
  678. /*
  679. * Mapping macros for Unicode
  680. */
  681. #ifndef SQL_NOUNICODEMAP /* define this to disable the mapping */
  682. #ifdef UNICODE
  683. #define SQLColAttribute SQLColAttributeW
  684. #define SQLColAttributes SQLColAttributesW
  685. #define SQLConnect SQLConnectW
  686. #define SQLDescribeCol SQLDescribeColW
  687. #define SQLError SQLErrorW
  688. #define SQLExecDirect SQLExecDirectW
  689. #define SQLGetConnectAttr SQLGetConnectAttrW
  690. #define SQLGetCursorName SQLGetCursorNameW
  691. #define SQLGetDescField SQLGetDescFieldW
  692. #define SQLGetDescRec SQLGetDescRecW
  693. #define SQLGetDiagField SQLGetDiagFieldW
  694. #define SQLGetDiagRec SQLGetDiagRecW
  695. #define SQLPrepare SQLPrepareW
  696. #define SQLSetConnectAttr SQLSetConnectAttrW
  697. #define SQLSetCursorName SQLSetCursorNameW
  698. #define SQLSetDescField SQLSetDescFieldW
  699. #define SQLSetStmtAttr SQLSetStmtAttrW
  700. #define SQLGetStmtAttr SQLGetStmtAttrW
  701. #define SQLColumns SQLColumnsW
  702. #define SQLGetConnectOption SQLGetConnectOptionW
  703. #define SQLGetInfo SQLGetInfoW
  704. #define SQLGetTypeInfo SQLGetTypeInfoW
  705. #define SQLSetConnectOption SQLSetConnectOptionW
  706. #define SQLSpecialColumns SQLSpecialColumnsW
  707. #define SQLStatistics SQLStatisticsW
  708. #define SQLTables SQLTablesW
  709. #define SQLDataSources SQLDataSourcesW
  710. #define SQLDriverConnect SQLDriverConnectW
  711. #define SQLBrowseConnect SQLBrowseConnectW
  712. #define SQLColumnPrivileges SQLColumnPrivilegesW
  713. #define SQLForeignKeys SQLForeignKeysW
  714. #define SQLNativeSql SQLNativeSqlW
  715. #define SQLPrimaryKeys SQLPrimaryKeysW
  716. #define SQLProcedureColumns SQLProcedureColumnsW
  717. #define SQLProcedures SQLProceduresW
  718. #define SQLTablePrivileges SQLTablePrivilegesW
  719. #define SQLDrivers SQLDriversW
  720. #endif /* UNICODE */
  721. #endif /* SQL_NOUNICODEMAP */
  722. #ifdef __cplusplus
  723. }
  724. #endif
  725. #endif /* _SQLUCODE_H */