1/*
2 * sqlucode.h
3 *
4 * $Id$
5 *
6 * ODBC Unicode defines
7 *
8 * The iODBC driver manager.
9 *
10 * Copyright (C) 1996-2012 by OpenLink Software <iodbc@openlinksw.com>
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
77#ifndef _SQLUCODE_H
78#define _SQLUCODE_H
79
80#ifndef _SQLEXT_H
81#include <sqlext.h>
82#endif
83
84#ifdef __cplusplus
85extern "C" {
86#endif
87
88
89/*
90 * SQL datatypes - Unicode
91 */
92#define SQL_WCHAR (-8)
93#define SQL_WVARCHAR (-9)
94#define SQL_WLONGVARCHAR (-10)
95#define SQL_C_WCHAR SQL_WCHAR
96
97#ifdef UNICODE
98#define SQL_C_TCHAR SQL_C_WCHAR
99#else
100#define SQL_C_TCHAR SQL_C_CHAR
101#endif
102
103
104/* SQLTablesW */
105#if (ODBCVER >= 0x0300)
106#define SQL_ALL_CATALOGSW L"%"
107#define SQL_ALL_SCHEMASW L"%"
108#define SQL_ALL_TABLE_TYPESW L"%"
109#endif /* ODBCVER >= 0x0300 */
110
111
112/*
113 * Size of SQLSTATE - Unicode
114 */
115#define SQL_SQLSTATE_SIZEW 10
116
117
118/*
119 * Function Prototypes - Unicode
120 */
121SQLRETURN SQL_API SQLColAttributeW (
122 SQLHSTMT hstmt,
123 SQLUSMALLINT iCol,
124 SQLUSMALLINT iField,
125 SQLPOINTER pCharAttr,
126 SQLSMALLINT cbCharAttrMax,
127 SQLSMALLINT * pcbCharAttr,
128 SQLLEN * pNumAttr);
129
130SQLRETURN SQL_API SQLColAttributesW (
131 SQLHSTMT hstmt,
132 SQLUSMALLINT icol,
133 SQLUSMALLINT fDescType,
134 SQLPOINTER rgbDesc,
135 SQLSMALLINT cbDescMax,
136 SQLSMALLINT * pcbDesc,
137 SQLLEN * pfDesc);
138
139SQLRETURN SQL_API SQLConnectW (
140 SQLHDBC hdbc,
141 SQLWCHAR * szDSN,
142 SQLSMALLINT cbDSN,
143 SQLWCHAR * szUID,
144 SQLSMALLINT cbUID,
145 SQLWCHAR * szAuthStr,
146 SQLSMALLINT cbAuthStr);
147
148SQLRETURN SQL_API SQLDescribeColW (
149 SQLHSTMT hstmt,
150 SQLUSMALLINT icol,
151 SQLWCHAR * szColName,
152 SQLSMALLINT cbColNameMax,
153 SQLSMALLINT * pcbColName,
154 SQLSMALLINT * pfSqlType,
155 SQLULEN * pcbColDef,
156 SQLSMALLINT * pibScale,
157 SQLSMALLINT * pfNullable);
158
159SQLRETURN SQL_API SQLErrorW (
160 SQLHENV henv,
161 SQLHDBC hdbc,
162 SQLHSTMT hstmt,
163 SQLWCHAR * szSqlState,
164 SQLINTEGER * pfNativeError,
165 SQLWCHAR * szErrorMsg,
166 SQLSMALLINT cbErrorMsgMax,
167 SQLSMALLINT * pcbErrorMsg);
168
169SQLRETURN SQL_API SQLExecDirectW (
170 SQLHSTMT hstmt,
171 SQLWCHAR * szSqlStr,
172 SQLINTEGER cbSqlStr);
173
174SQLRETURN SQL_API SQLGetConnectAttrW (
175 SQLHDBC hdbc,
176 SQLINTEGER fAttribute,
177 SQLPOINTER rgbValue,
178 SQLINTEGER cbValueMax,
179 SQLINTEGER * pcbValue);
180
181SQLRETURN SQL_API SQLGetCursorNameW (
182 SQLHSTMT hstmt,
183 SQLWCHAR * szCursor,
184 SQLSMALLINT cbCursorMax,
185 SQLSMALLINT * pcbCursor);
186
187#if (ODBCVER >= 0x0300)
188SQLRETURN SQL_API SQLSetDescFieldW (
189 SQLHDESC DescriptorHandle,
190 SQLSMALLINT RecNumber,
191 SQLSMALLINT FieldIdentifier,
192 SQLPOINTER Value,
193 SQLINTEGER BufferLength);
194
195SQLRETURN SQL_API SQLGetDescFieldW (
196 SQLHDESC hdesc,
197 SQLSMALLINT iRecord,
198 SQLSMALLINT iField,
199 SQLPOINTER rgbValue,
200 SQLINTEGER cbValueMax,
201 SQLINTEGER * pcbValue);
202
203SQLRETURN SQL_API SQLGetDescRecW (
204 SQLHDESC hdesc,
205 SQLSMALLINT iRecord,
206 SQLWCHAR * szName,
207 SQLSMALLINT cbNameMax,
208 SQLSMALLINT * pcbName,
209 SQLSMALLINT * pfType,
210 SQLSMALLINT * pfSubType,
211 SQLLEN * pLength,
212 SQLSMALLINT * pPrecision,
213 SQLSMALLINT * pScale,
214 SQLSMALLINT * pNullable);
215
216SQLRETURN SQL_API SQLGetDiagFieldW (
217 SQLSMALLINT fHandleType,
218 SQLHANDLE handle,
219 SQLSMALLINT iRecord,
220 SQLSMALLINT fDiagField,
221 SQLPOINTER rgbDiagInfo,
222 SQLSMALLINT cbDiagInfoMax,
223 SQLSMALLINT * pcbDiagInfo);
224
225SQLRETURN SQL_API SQLGetDiagRecW (
226 SQLSMALLINT fHandleType,
227 SQLHANDLE handle,
228 SQLSMALLINT iRecord,
229 SQLWCHAR * szSqlState,
230 SQLINTEGER * pfNativeError,
231 SQLWCHAR * szErrorMsg,
232 SQLSMALLINT cbErrorMsgMax,
233 SQLSMALLINT * pcbErrorMsg);
234#endif
235
236SQLRETURN SQL_API SQLPrepareW (
237 SQLHSTMT hstmt,
238 SQLWCHAR * szSqlStr,
239 SQLINTEGER cbSqlStr);
240
241SQLRETURN SQL_API SQLSetConnectAttrW (
242 SQLHDBC hdbc,
243 SQLINTEGER fAttribute,
244 SQLPOINTER rgbValue,
245 SQLINTEGER cbValue);
246
247SQLRETURN SQL_API SQLSetCursorNameW (
248 SQLHSTMT hstmt,
249 SQLWCHAR * szCursor,
250 SQLSMALLINT cbCursor);
251
252SQLRETURN SQL_API SQLColumnsW (
253 SQLHSTMT hstmt,
254 SQLWCHAR * szCatalogName,
255 SQLSMALLINT cbCatalogName,
256 SQLWCHAR * szSchemaName,
257 SQLSMALLINT cbSchemaName,
258 SQLWCHAR * szTableName,
259 SQLSMALLINT cbTableName,
260 SQLWCHAR * szColumnName,
261 SQLSMALLINT cbColumnName);
262
263SQLRETURN SQL_API SQLGetConnectOptionW (
264 SQLHDBC hdbc,
265 SQLUSMALLINT fOption,
266 SQLPOINTER pvParam);
267
268SQLRETURN SQL_API SQLGetInfoW (
269 SQLHDBC hdbc,
270 SQLUSMALLINT fInfoType,
271 SQLPOINTER rgbInfoValue,
272 SQLSMALLINT cbInfoValueMax,
273 SQLSMALLINT * pcbInfoValue);
274
275SQLRETURN SQL_API SQLGetTypeInfoW (
276 SQLHSTMT StatementHandle,
277 SQLSMALLINT DataType);
278
279SQLRETURN SQL_API SQLSetConnectOptionW (
280 SQLHDBC hdbc,
281 SQLUSMALLINT fOption,
282 SQLULEN vParam);
283
284SQLRETURN SQL_API SQLSpecialColumnsW (
285 SQLHSTMT hstmt,
286 SQLUSMALLINT fColType,
287 SQLWCHAR * szCatalogName,
288 SQLSMALLINT cbCatalogName,
289 SQLWCHAR * szSchemaName,
290 SQLSMALLINT cbSchemaName,
291 SQLWCHAR * szTableName,
292 SQLSMALLINT cbTableName,
293 SQLUSMALLINT fScope,
294 SQLUSMALLINT fNullable);
295
296SQLRETURN SQL_API SQLStatisticsW (
297 SQLHSTMT hstmt,
298 SQLWCHAR * szCatalogName,
299 SQLSMALLINT cbCatalogName,
300 SQLWCHAR * szSchemaName,
301 SQLSMALLINT cbSchemaName,
302 SQLWCHAR * szTableName,
303 SQLSMALLINT cbTableName,
304 SQLUSMALLINT fUnique,
305 SQLUSMALLINT fAccuracy);
306
307SQLRETURN SQL_API SQLTablesW (
308 SQLHSTMT hstmt,
309 SQLWCHAR * szCatalogName,
310 SQLSMALLINT cbCatalogName,
311 SQLWCHAR * szSchemaName,
312 SQLSMALLINT cbSchemaName,
313 SQLWCHAR * szTableName,
314 SQLSMALLINT cbTableName,
315 SQLWCHAR * szTableType,
316 SQLSMALLINT cbTableType);
317
318SQLRETURN SQL_API SQLDataSourcesW (
319 SQLHENV henv,
320 SQLUSMALLINT fDirection,
321 SQLWCHAR * szDSN,
322 SQLSMALLINT cbDSNMax,
323 SQLSMALLINT * pcbDSN,
324 SQLWCHAR * szDescription,
325 SQLSMALLINT cbDescriptionMax,
326 SQLSMALLINT * pcbDescription);
327
328SQLRETURN SQL_API SQLDriverConnectW (
329 SQLHDBC hdbc,
330 SQLHWND hwnd,
331 SQLWCHAR * szConnStrIn,
332 SQLSMALLINT cbConnStrIn,
333 SQLWCHAR * szConnStrOut,
334 SQLSMALLINT cbConnStrOutMax,
335 SQLSMALLINT * pcbConnStrOut,
336 SQLUSMALLINT fDriverCompletion);
337
338SQLRETURN SQL_API SQLBrowseConnectW (
339 SQLHDBC hdbc,
340 SQLWCHAR * szConnStrIn,
341 SQLSMALLINT cbConnStrIn,
342 SQLWCHAR * szConnStrOut,
343 SQLSMALLINT cbConnStrOutMax,
344 SQLSMALLINT * pcbConnStrOut);
345
346SQLRETURN SQL_API SQLColumnPrivilegesW (
347 SQLHSTMT hstmt,
348 SQLWCHAR * szCatalogName,
349 SQLSMALLINT cbCatalogName,
350 SQLWCHAR * szSchemaName,
351 SQLSMALLINT cbSchemaName,
352 SQLWCHAR * szTableName,
353 SQLSMALLINT cbTableName,
354 SQLWCHAR * szColumnName,
355 SQLSMALLINT cbColumnName);
356
357SQLRETURN SQL_API SQLGetStmtAttrW (
358 SQLHSTMT hstmt,
359 SQLINTEGER fAttribute,
360 SQLPOINTER rgbValue,
361 SQLINTEGER cbValueMax,
362 SQLINTEGER * pcbValue);
363
364SQLRETURN SQL_API SQLSetStmtAttrW (
365 SQLHSTMT hstmt,
366 SQLINTEGER fAttribute,
367 SQLPOINTER rgbValue,
368 SQLINTEGER cbValueMax);
369
370SQLRETURN SQL_API SQLForeignKeysW (
371 SQLHSTMT hstmt,
372 SQLWCHAR * szPkCatalogName,
373 SQLSMALLINT cbPkCatalogName,
374 SQLWCHAR * szPkSchemaName,
375 SQLSMALLINT cbPkSchemaName,
376 SQLWCHAR * szPkTableName,
377 SQLSMALLINT cbPkTableName,
378 SQLWCHAR * szFkCatalogName,
379 SQLSMALLINT cbFkCatalogName,
380 SQLWCHAR * szFkSchemaName,
381 SQLSMALLINT cbFkSchemaName,
382 SQLWCHAR * szFkTableName,
383 SQLSMALLINT cbFkTableName);
384
385SQLRETURN SQL_API SQLNativeSqlW (
386 SQLHDBC hdbc,
387 SQLWCHAR * szSqlStrIn,
388 SQLINTEGER cbSqlStrIn,
389 SQLWCHAR * szSqlStr,
390 SQLINTEGER cbSqlStrMax,
391 SQLINTEGER * pcbSqlStr);
392
393SQLRETURN SQL_API SQLPrimaryKeysW (
394 SQLHSTMT hstmt,
395 SQLWCHAR * szCatalogName,
396 SQLSMALLINT cbCatalogName,
397 SQLWCHAR * szSchemaName,
398 SQLSMALLINT cbSchemaName,
399 SQLWCHAR * szTableName,
400 SQLSMALLINT cbTableName);
401
402SQLRETURN SQL_API SQLProcedureColumnsW (
403 SQLHSTMT hstmt,
404 SQLWCHAR * szCatalogName,
405 SQLSMALLINT cbCatalogName,
406 SQLWCHAR * szSchemaName,
407 SQLSMALLINT cbSchemaName,
408 SQLWCHAR * szProcName,
409 SQLSMALLINT cbProcName,
410 SQLWCHAR * szColumnName,
411 SQLSMALLINT cbColumnName);
412
413SQLRETURN SQL_API SQLProceduresW (
414 SQLHSTMT hstmt,
415 SQLWCHAR * szCatalogName,
416 SQLSMALLINT cbCatalogName,
417 SQLWCHAR * szSchemaName,
418 SQLSMALLINT cbSchemaName,
419 SQLWCHAR * szProcName,
420 SQLSMALLINT cbProcName);
421
422SQLRETURN SQL_API SQLTablePrivilegesW (
423 SQLHSTMT hstmt,
424 SQLWCHAR * szCatalogName,
425 SQLSMALLINT cbCatalogName,
426 SQLWCHAR * szSchemaName,
427 SQLSMALLINT cbSchemaName,
428 SQLWCHAR * szTableName,
429 SQLSMALLINT cbTableName);
430
431SQLRETURN SQL_API SQLDriversW (
432 SQLHENV henv,
433 SQLUSMALLINT fDirection,
434 SQLWCHAR * szDriverDesc,
435 SQLSMALLINT cbDriverDescMax,
436 SQLSMALLINT * pcbDriverDesc,
437 SQLWCHAR * szDriverAttributes,
438 SQLSMALLINT cbDrvrAttrMax,
439 SQLSMALLINT * pcbDrvrAttr);
440
441
442/*
443 * Function prototypes - ANSI
444 */
445
446SQLRETURN SQL_API SQLColAttributeA (
447 SQLHSTMT hstmt,
448 SQLUSMALLINT iCol,
449 SQLUSMALLINT iField,
450 SQLPOINTER pCharAttr,
451 SQLSMALLINT cbCharAttrMax,
452 SQLSMALLINT * pcbCharAttr,
453 SQLLEN * pNumAttr);
454
455SQLRETURN SQL_API SQLColAttributesA (
456 SQLHSTMT hstmt,
457 SQLUSMALLINT icol,
458 SQLUSMALLINT fDescType,
459 SQLPOINTER rgbDesc,
460 SQLSMALLINT cbDescMax,
461 SQLSMALLINT * pcbDesc,
462 SQLLEN * pfDesc);
463
464SQLRETURN SQL_API SQLConnectA (
465 SQLHDBC hdbc,
466 SQLCHAR * szDSN,
467 SQLSMALLINT cbDSN,
468 SQLCHAR * szUID,
469 SQLSMALLINT cbUID,
470 SQLCHAR * szAuthStr,
471 SQLSMALLINT cbAuthStr);
472
473SQLRETURN SQL_API SQLDescribeColA (
474 SQLHSTMT hstmt,
475 SQLUSMALLINT icol,
476 SQLCHAR * szColName,
477 SQLSMALLINT cbColNameMax,
478 SQLSMALLINT * pcbColName,
479 SQLSMALLINT * pfSqlType,
480 SQLULEN * pcbColDef,
481 SQLSMALLINT * pibScale,
482 SQLSMALLINT * pfNullable);
483
484SQLRETURN SQL_API SQLErrorA (
485 SQLHENV henv,
486 SQLHDBC hdbc,
487 SQLHSTMT hstmt,
488 SQLCHAR * szSqlState,
489 SQLINTEGER * pfNativeError,
490 SQLCHAR * szErrorMsg,
491 SQLSMALLINT cbErrorMsgMax,
492 SQLSMALLINT * pcbErrorMsg);
493
494SQLRETURN SQL_API SQLExecDirectA (
495 SQLHSTMT hstmt,
496 SQLCHAR * szSqlStr,
497 SQLINTEGER cbSqlStr);
498
499SQLRETURN SQL_API SQLGetConnectAttrA (
500 SQLHDBC hdbc,
501 SQLINTEGER fAttribute,
502 SQLPOINTER rgbValue,
503 SQLINTEGER cbValueMax,
504 SQLINTEGER * pcbValue);
505
506SQLRETURN SQL_API SQLGetCursorNameA (
507 SQLHSTMT hstmt,
508 SQLCHAR * szCursor,
509 SQLSMALLINT cbCursorMax,
510 SQLSMALLINT * pcbCursor);
511
512#if (ODBCVER >= 0x0300)
513SQLRETURN SQL_API SQLSetDescFieldA (
514 SQLHDESC DescriptorHandle,
515 SQLSMALLINT RecNumber,
516 SQLSMALLINT FieldIdentifier,
517 SQLPOINTER Value,
518 SQLINTEGER BufferLength);
519
520SQLRETURN SQL_API SQLGetDescFieldA (
521 SQLHDESC hdesc,
522 SQLSMALLINT iRecord,
523 SQLSMALLINT iField,
524 SQLPOINTER rgbValue,
525 SQLINTEGER cbValueMax,
526 SQLINTEGER * pcbValue);
527
528SQLRETURN SQL_API SQLGetDescRecA (
529 SQLHDESC hdesc,
530 SQLSMALLINT iRecord,
531 SQLCHAR * szName,
532 SQLSMALLINT cbNameMax,
533 SQLSMALLINT * pcbName,
534 SQLSMALLINT * pfType,
535 SQLSMALLINT * pfSubType,
536 SQLLEN * pLength,
537 SQLSMALLINT * pPrecision,
538 SQLSMALLINT * pScale,
539 SQLSMALLINT * pNullable);
540
541SQLRETURN SQL_API SQLGetDiagFieldA (
542 SQLSMALLINT fHandleType,
543 SQLHANDLE handle,
544 SQLSMALLINT iRecord,
545 SQLSMALLINT fDiagField,
546 SQLPOINTER rgbDiagInfo,
547 SQLSMALLINT cbDiagInfoMax,
548 SQLSMALLINT * pcbDiagInfo);
549
550SQLRETURN SQL_API SQLGetDiagRecA (
551 SQLSMALLINT fHandleType,
552 SQLHANDLE handle,
553 SQLSMALLINT iRecord,
554 SQLCHAR * szSqlState,
555 SQLINTEGER * pfNativeError,
556 SQLCHAR * szErrorMsg,
557 SQLSMALLINT cbErrorMsgMax,
558 SQLSMALLINT * pcbErrorMsg);
559#endif
560
561SQLRETURN SQL_API SQLPrepareA (
562 SQLHSTMT hstmt,
563 SQLCHAR * szSqlStr,
564 SQLINTEGER cbSqlStr);
565
566SQLRETURN SQL_API SQLSetConnectAttrA (
567 SQLHDBC hdbc,
568 SQLINTEGER fAttribute,
569 SQLPOINTER rgbValue,
570 SQLINTEGER cbValue);
571
572SQLRETURN SQL_API SQLSetCursorNameA (
573 SQLHSTMT hstmt,
574 SQLCHAR * szCursor,
575 SQLSMALLINT cbCursor);
576
577SQLRETURN SQL_API SQLColumnsA (
578 SQLHSTMT hstmt,
579 SQLCHAR * szCatalogName,
580 SQLSMALLINT cbCatalogName,
581 SQLCHAR * szSchemaName,
582 SQLSMALLINT cbSchemaName,
583 SQLCHAR * szTableName,
584 SQLSMALLINT cbTableName,
585 SQLCHAR * szColumnName,
586 SQLSMALLINT cbColumnName);
587
588SQLRETURN SQL_API SQLGetConnectOptionA (
589 SQLHDBC hdbc,
590 SQLUSMALLINT fOption,
591 SQLPOINTER pvParam);
592
593SQLRETURN SQL_API SQLGetInfoA (
594 SQLHDBC hdbc,
595 SQLUSMALLINT fInfoType,
596 SQLPOINTER rgbInfoValue,
597 SQLSMALLINT cbInfoValueMax,
598 SQLSMALLINT * pcbInfoValue);
599
600SQLRETURN SQL_API SQLGetTypeInfoA (
601 SQLHSTMT StatementHandle,
602 SQLSMALLINT DataType);
603
604SQLRETURN SQL_API SQLSetConnectOptionA (
605 SQLHDBC hdbc,
606 SQLUSMALLINT fOption,
607 SQLULEN vParam);
608
609SQLRETURN SQL_API SQLSpecialColumnsA (
610 SQLHSTMT hstmt,
611 SQLUSMALLINT fColType,
612 SQLCHAR * szCatalogName,
613 SQLSMALLINT cbCatalogName,
614 SQLCHAR * szSchemaName,
615 SQLSMALLINT cbSchemaName,
616 SQLCHAR * szTableName,
617 SQLSMALLINT cbTableName,
618 SQLUSMALLINT fScope,
619 SQLUSMALLINT fNullable);
620
621SQLRETURN SQL_API SQLStatisticsA (
622 SQLHSTMT hstmt,
623 SQLCHAR * szCatalogName,
624 SQLSMALLINT cbCatalogName,
625 SQLCHAR * szSchemaName,
626 SQLSMALLINT cbSchemaName,
627 SQLCHAR * szTableName,
628 SQLSMALLINT cbTableName,
629 SQLUSMALLINT fUnique,
630 SQLUSMALLINT fAccuracy);
631
632SQLRETURN SQL_API SQLTablesA (
633 SQLHSTMT hstmt,
634 SQLCHAR * szCatalogName,
635 SQLSMALLINT cbCatalogName,
636 SQLCHAR * szSchemaName,
637 SQLSMALLINT cbSchemaName,
638 SQLCHAR * szTableName,
639 SQLSMALLINT cbTableName,
640 SQLCHAR * szTableType,
641 SQLSMALLINT cbTableType);
642
643SQLRETURN SQL_API SQLDataSourcesA (
644 SQLHENV henv,
645 SQLUSMALLINT fDirection,
646 SQLCHAR * szDSN,
647 SQLSMALLINT cbDSNMax,
648 SQLSMALLINT * pcbDSN,
649 SQLCHAR * szDescription,
650 SQLSMALLINT cbDescriptionMax,
651 SQLSMALLINT * pcbDescription);
652
653SQLRETURN SQL_API SQLDriverConnectA (
654 SQLHDBC hdbc,
655 SQLHWND hwnd,
656 SQLCHAR * szConnStrIn,
657 SQLSMALLINT cbConnStrIn,
658 SQLCHAR * szConnStrOut,
659 SQLSMALLINT cbConnStrOutMax,
660 SQLSMALLINT * pcbConnStrOut,
661 SQLUSMALLINT fDriverCompletion);
662
663SQLRETURN SQL_API SQLBrowseConnectA (
664 SQLHDBC hdbc,
665 SQLCHAR * szConnStrIn,
666 SQLSMALLINT cbConnStrIn,
667 SQLCHAR * szConnStrOut,
668 SQLSMALLINT cbConnStrOutMax,
669 SQLSMALLINT * pcbConnStrOut);
670
671SQLRETURN SQL_API SQLColumnPrivilegesA (
672 SQLHSTMT hstmt,
673 SQLCHAR * szCatalogName,
674 SQLSMALLINT cbCatalogName,
675 SQLCHAR * szSchemaName,
676 SQLSMALLINT cbSchemaName,
677 SQLCHAR * szTableName,
678 SQLSMALLINT cbTableName,
679 SQLCHAR * szColumnName,
680 SQLSMALLINT cbColumnName);
681
682SQLRETURN SQL_API SQLGetStmtAttrA (
683 SQLHSTMT hstmt,
684 SQLINTEGER fAttribute,
685 SQLPOINTER rgbValue,
686 SQLINTEGER cbValueMax,
687 SQLINTEGER * pcbValue);
688
689SQLRETURN SQL_API SQLSetStmtAttrA (
690 SQLHSTMT hstmt,
691 SQLINTEGER fAttribute,
692 SQLPOINTER rgbValue,
693 SQLINTEGER cbValueMax);
694
695SQLRETURN SQL_API SQLForeignKeysA (
696 SQLHSTMT hstmt,
697 SQLCHAR * szPkCatalogName,
698 SQLSMALLINT cbPkCatalogName,
699 SQLCHAR * szPkSchemaName,
700 SQLSMALLINT cbPkSchemaName,
701 SQLCHAR * szPkTableName,
702 SQLSMALLINT cbPkTableName,
703 SQLCHAR * szFkCatalogName,
704 SQLSMALLINT cbFkCatalogName,
705 SQLCHAR * szFkSchemaName,
706 SQLSMALLINT cbFkSchemaName,
707 SQLCHAR * szFkTableName,
708 SQLSMALLINT cbFkTableName);
709
710SQLRETURN SQL_API SQLNativeSqlA (
711 SQLHDBC hdbc,
712 SQLCHAR * szSqlStrIn,
713 SQLINTEGER cbSqlStrIn,
714 SQLCHAR * szSqlStr,
715 SQLINTEGER cbSqlStrMax,
716 SQLINTEGER * pcbSqlStr);
717
718SQLRETURN SQL_API SQLPrimaryKeysA (
719 SQLHSTMT hstmt,
720 SQLCHAR * szCatalogName,
721 SQLSMALLINT cbCatalogName,
722 SQLCHAR * szSchemaName,
723 SQLSMALLINT cbSchemaName,
724 SQLCHAR * szTableName,
725 SQLSMALLINT cbTableName);
726
727SQLRETURN SQL_API SQLProcedureColumnsA (
728 SQLHSTMT hstmt,
729 SQLCHAR * szCatalogName,
730 SQLSMALLINT cbCatalogName,
731 SQLCHAR * szSchemaName,
732 SQLSMALLINT cbSchemaName,
733 SQLCHAR * szProcName,
734 SQLSMALLINT cbProcName,
735 SQLCHAR * szColumnName,
736 SQLSMALLINT cbColumnName);
737
738SQLRETURN SQL_API SQLProceduresA (
739 SQLHSTMT hstmt,
740 SQLCHAR * szCatalogName,
741 SQLSMALLINT cbCatalogName,
742 SQLCHAR * szSchemaName,
743 SQLSMALLINT cbSchemaName,
744 SQLCHAR * szProcName,
745 SQLSMALLINT cbProcName);
746
747SQLRETURN SQL_API SQLTablePrivilegesA (
748 SQLHSTMT hstmt,
749 SQLCHAR * szCatalogName,
750 SQLSMALLINT cbCatalogName,
751 SQLCHAR * szSchemaName,
752 SQLSMALLINT cbSchemaName,
753 SQLCHAR * szTableName,
754 SQLSMALLINT cbTableName);
755
756SQLRETURN SQL_API SQLDriversA (
757 SQLHENV henv,
758 SQLUSMALLINT fDirection,
759 SQLCHAR * szDriverDesc,
760 SQLSMALLINT cbDriverDescMax,
761 SQLSMALLINT * pcbDriverDesc,
762 SQLCHAR * szDriverAttributes,
763 SQLSMALLINT cbDrvrAttrMax,
764 SQLSMALLINT * pcbDrvrAttr);
765
766
767/*
768 * Mapping macros for Unicode
769 */
770#ifndef SQL_NOUNICODEMAP /* define this to disable the mapping */
771#ifdef UNICODE
772
773#define SQLColAttribute SQLColAttributeW
774#define SQLColAttributes SQLColAttributesW
775#define SQLConnect SQLConnectW
776#define SQLDescribeCol SQLDescribeColW
777#define SQLError SQLErrorW
778#define SQLExecDirect SQLExecDirectW
779#define SQLGetConnectAttr SQLGetConnectAttrW
780#define SQLGetCursorName SQLGetCursorNameW
781#define SQLGetDescField SQLGetDescFieldW
782#define SQLGetDescRec SQLGetDescRecW
783#define SQLGetDiagField SQLGetDiagFieldW
784#define SQLGetDiagRec SQLGetDiagRecW
785#define SQLPrepare SQLPrepareW
786#define SQLSetConnectAttr SQLSetConnectAttrW
787#define SQLSetCursorName SQLSetCursorNameW
788#define SQLSetDescField SQLSetDescFieldW
789#define SQLSetStmtAttr SQLSetStmtAttrW
790#define SQLGetStmtAttr SQLGetStmtAttrW
791#define SQLColumns SQLColumnsW
792#define SQLGetConnectOption SQLGetConnectOptionW
793#define SQLGetInfo SQLGetInfoW
794#define SQLGetTypeInfo SQLGetTypeInfoW
795#define SQLSetConnectOption SQLSetConnectOptionW
796#define SQLSpecialColumns SQLSpecialColumnsW
797#define SQLStatistics SQLStatisticsW
798#define SQLTables SQLTablesW
799#define SQLDataSources SQLDataSourcesW
800#define SQLDriverConnect SQLDriverConnectW
801#define SQLBrowseConnect SQLBrowseConnectW
802#define SQLColumnPrivileges SQLColumnPrivilegesW
803#define SQLForeignKeys SQLForeignKeysW
804#define SQLNativeSql SQLNativeSqlW
805#define SQLPrimaryKeys SQLPrimaryKeysW
806#define SQLProcedureColumns SQLProcedureColumnsW
807#define SQLProcedures SQLProceduresW
808#define SQLTablePrivileges SQLTablePrivilegesW
809#define SQLDrivers SQLDriversW
810
811#endif /* UNICODE */
812#endif /* SQL_NOUNICODEMAP */
813
814#ifdef __cplusplus
815}
816#endif
817
818#endif /* _SQLUCODE_H */
819