ec884e64248565c937b32888b47bf4c04d0bd4fe
[reactos.git] / reactos / dll / win32 / odbc32 / proxyodbc.h
1 /*
2 * Copyright 1999 Xiang Li, Corel Corporation
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19 #ifndef _PROXYMANAGER_H
20 #define _PROXYMANAGER_H
21
22 #define NUM_SQLFUNC 78
23 #define ERROR_FREE 0
24 #define ERROR_SQLERROR 1
25 #define ERROR_LIBRARY_NOT_FOUND 2
26 #define ERROR_FUNCTIONS_NOT_LOADED 3
27
28 #define ODBCVER 0x0351
29
30 typedef struct dm_func /* driver manager functions */
31 {
32 int ordinal;
33 const char *name;
34 void *d_func;
35 SQLRETURN (*func)();
36 } DM_FUNC;
37
38 typedef struct proxyhandle
39 {
40 void *dmHandle; /* driver manager handle */
41 BOOL isWindowsDriver; /* is driver a Windows version*/
42 BOOL bCallbackReady; /* procs taken from Windows driver placed in driver manager as callbacks */
43 BOOL bFunctionReady;
44 int nErrorType;
45 DM_FUNC functions[NUM_SQLFUNC]; /* entry point for driver manager functions */
46 char driverLibName[200]; /* ODBC driver SO name */
47 char dmLibName[200]; /* driver manager library name */
48 char ServerName[200]; /* keep server name */
49 char UserName[50]; /* keep username */
50 } PROXYHANDLE;
51
52 #define /* 00 */ SQLAPI_INDEX_SQLALLOCCONNECT 0
53 #define /* 01 */ SQLAPI_INDEX_SQLALLOCENV 1
54 #define /* 02 */ SQLAPI_INDEX_SQLALLOCHANDLE 2
55 #define /* 03 */ SQLAPI_INDEX_SQLALLOCSTMT 3
56 #define /* 04 */ SQLAPI_INDEX_SQLALLOCHANDLESTD 4
57 #define /* 05 */ SQLAPI_INDEX_SQLBINDCOL 5
58 #define /* 06 */ SQLAPI_INDEX_SQLBINDPARAM 6
59 #define /* 07 */ SQLAPI_INDEX_SQLBINDPARAMETER 7
60 #define /* 08 */ SQLAPI_INDEX_SQLBROWSECONNECT 8
61 #define /* 09 */ SQLAPI_INDEX_SQLBULKOPERATIONS 9
62 #define /* 10 */ SQLAPI_INDEX_SQLCANCEL 10
63 #define /* 11 */ SQLAPI_INDEX_SQLCLOSECURSOR 11
64 #define /* 12 */ SQLAPI_INDEX_SQLCOLATTRIBUTE 12
65 #define /* 13 */ SQLAPI_INDEX_SQLCOLATTRIBUTES 13
66 #define /* 14 */ SQLAPI_INDEX_SQLCOLUMNPRIVILEGES 14
67 #define /* 15 */ SQLAPI_INDEX_SQLCOLUMNS 15
68 #define /* 16 */ SQLAPI_INDEX_SQLCONNECT 16
69 #define /* 17 */ SQLAPI_INDEX_SQLCOPYDESC 17
70 #define /* 18 */ SQLAPI_INDEX_SQLDATASOURCES 18
71 #define /* 19 */ SQLAPI_INDEX_SQLDESCRIBECOL 19
72 #define /* 20 */ SQLAPI_INDEX_SQLDESCRIBEPARAM 20
73 #define /* 21 */ SQLAPI_INDEX_SQLDISCONNECT 21
74 #define /* 22 */ SQLAPI_INDEX_SQLDRIVERCONNECT 22
75 #define /* 23 */ SQLAPI_INDEX_SQLDRIVERS 23
76 #define /* 24 */ SQLAPI_INDEX_SQLENDTRAN 24
77 #define /* 25 */ SQLAPI_INDEX_SQLERROR 25
78 #define /* 26 */ SQLAPI_INDEX_SQLEXECDIRECT 26
79 #define /* 27 */ SQLAPI_INDEX_SQLEXECUTE 27
80 #define /* 28 */ SQLAPI_INDEX_SQLEXTENDEDFETCH 28
81 #define /* 29 */ SQLAPI_INDEX_SQLFETCH 29
82 #define /* 30 */ SQLAPI_INDEX_SQLFETCHSCROLL 30
83 #define /* 31 */ SQLAPI_INDEX_SQLFOREIGNKEYS 31
84 #define /* 32 */ SQLAPI_INDEX_SQLFREEENV 32
85 #define /* 33 */ SQLAPI_INDEX_SQLFREEHANDLE 33
86 #define /* 34 */ SQLAPI_INDEX_SQLFREESTMT 34
87 #define /* 35 */ SQLAPI_INDEX_SQLFREECONNECT 35
88 #define /* 36 */ SQLAPI_INDEX_SQLGETCONNECTATTR 36
89 #define /* 37 */ SQLAPI_INDEX_SQLGETCONNECTOPTION 37
90 #define /* 38 */ SQLAPI_INDEX_SQLGETCURSORNAME 38
91 #define /* 39 */ SQLAPI_INDEX_SQLGETDATA 39
92 #define /* 40 */ SQLAPI_INDEX_SQLGETDESCFIELD 40
93 #define /* 41 */ SQLAPI_INDEX_SQLGETDESCREC 41
94 #define /* 42 */ SQLAPI_INDEX_SQLGETDIAGFIELD 42
95 #define /* 43 */ SQLAPI_INDEX_SQLGETENVATTR 43
96 #define /* 44 */ SQLAPI_INDEX_SQLGETFUNCTIONS 44
97 #define /* 45 */ SQLAPI_INDEX_SQLGETINFO 45
98 #define /* 46 */ SQLAPI_INDEX_SQLGETSTMTATTR 46
99 #define /* 47 */ SQLAPI_INDEX_SQLGETSTMTOPTION 47
100 #define /* 48 */ SQLAPI_INDEX_SQLGETTYPEINFO 48
101 #define /* 49 */ SQLAPI_INDEX_SQLMORERESULTS 49
102 #define /* 50 */ SQLAPI_INDEX_SQLNATIVESQL 50
103 #define /* 51 */ SQLAPI_INDEX_SQLNUMPARAMS 51
104 #define /* 52 */ SQLAPI_INDEX_SQLNUMRESULTCOLS 52
105 #define /* 53 */ SQLAPI_INDEX_SQLPARAMDATA 53
106 #define /* 54 */ SQLAPI_INDEX_SQLPARAMOPTIONS 54
107 #define /* 55 */ SQLAPI_INDEX_SQLPREPARE 55
108 #define /* 56 */ SQLAPI_INDEX_SQLPRIMARYKEYS 56
109 #define /* 57 */ SQLAPI_INDEX_SQLPROCEDURECOLUMNS 57
110 #define /* 58 */ SQLAPI_INDEX_SQLPROCEDURES 58
111 #define /* 59 */ SQLAPI_INDEX_SQLPUTDATA 59
112 #define /* 60 */ SQLAPI_INDEX_SQLROWCOUNT 60
113 #define /* 61 */ SQLAPI_INDEX_SQLSETCONNECTATTR 61
114 #define /* 62 */ SQLAPI_INDEX_SQLSETCONNECTOPTION 62
115 #define /* 63 */ SQLAPI_INDEX_SQLSETCURSORNAME 63
116 #define /* 64 */ SQLAPI_INDEX_SQLSETDESCFIELD 64
117 #define /* 65 */ SQLAPI_INDEX_SQLSETDESCREC 65
118 #define /* 66 */ SQLAPI_INDEX_SQLSETENVATTR 66
119 #define /* 67 */ SQLAPI_INDEX_SQLSETPARAM 67
120 #define /* 68 */ SQLAPI_INDEX_SQLSETPOS 68
121 #define /* 69 */ SQLAPI_INDEX_SQLSETSCROLLOPTIONS 69
122 #define /* 70 */ SQLAPI_INDEX_SQLSETSTMTATTR 70
123 #define /* 71 */ SQLAPI_INDEX_SQLSETSTMTOPTION 71
124 #define /* 72 */ SQLAPI_INDEX_SQLSPECIALCOLUMNS 72
125 #define /* 73 */ SQLAPI_INDEX_SQLSTATISTICS 73
126 #define /* 74 */ SQLAPI_INDEX_SQLTABLEPRIVILEGES 74
127 #define /* 75 */ SQLAPI_INDEX_SQLTABLES 75
128 #define /* 76 */ SQLAPI_INDEX_SQLTRANSACT 76
129 #define /* 77 */ SQLAPI_INDEX_SQLGETDIAGREC 77
130
131 #endif