2 * Copyright 1999 Xiang Li, Corel Corporation
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.
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.
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 St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef _PROXYMANAGER_H
20 #define _PROXYMANAGER_H
22 #define NUM_SQLFUNC 78
24 #define ERROR_SQLERROR 1
25 #define ERROR_LIBRARY_NOT_FOUND 2
26 #define ERROR_FUNCTIONS_NOT_LOADED 3
28 #define ODBCVER 0x0351
30 typedef struct dm_func /* driver manager functions */
39 typedef struct proxyhandle
41 void *dmHandle; /* driver manager handle */
42 BOOL isWindowsDriver; /* is driver a Windows version*/
43 BOOL bCallbackReady; /* procs taken from Windows driver placed in driver manager as callbacks */
46 DM_FUNC functions[NUM_SQLFUNC]; /* entry point for driver manager functions */
47 char driverLibName[200]; /* ODBC driver SO name */
48 char dmLibName[200]; /* driver manager library name */
49 char ServerName[200]; /* keep server name */
50 char UserName[50]; /* keep username */
53 #define /* 00 */ SQLAPI_INDEX_SQLALLOCCONNECT 0
54 #define /* 01 */ SQLAPI_INDEX_SQLALLOCENV 1
55 #define /* 02 */ SQLAPI_INDEX_SQLALLOCHANDLE 2
56 #define /* 03 */ SQLAPI_INDEX_SQLALLOCSTMT 3
57 #define /* 04 */ SQLAPI_INDEX_SQLALLOCHANDLESTD 4
58 #define /* 05 */ SQLAPI_INDEX_SQLBINDCOL 5
59 #define /* 06 */ SQLAPI_INDEX_SQLBINDPARAM 6
60 #define /* 07 */ SQLAPI_INDEX_SQLBINDPARAMETER 7
61 #define /* 08 */ SQLAPI_INDEX_SQLBROWSECONNECT 8
62 #define /* 09 */ SQLAPI_INDEX_SQLBULKOPERATIONS 9
63 #define /* 10 */ SQLAPI_INDEX_SQLCANCEL 10
64 #define /* 11 */ SQLAPI_INDEX_SQLCLOSECURSOR 11
65 #define /* 12 */ SQLAPI_INDEX_SQLCOLATTRIBUTE 12
66 #define /* 13 */ SQLAPI_INDEX_SQLCOLATTRIBUTES 13
67 #define /* 14 */ SQLAPI_INDEX_SQLCOLUMNPRIVILEGES 14
68 #define /* 15 */ SQLAPI_INDEX_SQLCOLUMNS 15
69 #define /* 16 */ SQLAPI_INDEX_SQLCONNECT 16
70 #define /* 17 */ SQLAPI_INDEX_SQLCOPYDESC 17
71 #define /* 18 */ SQLAPI_INDEX_SQLDATASOURCES 18
72 #define /* 19 */ SQLAPI_INDEX_SQLDESCRIBECOL 19
73 #define /* 20 */ SQLAPI_INDEX_SQLDESCRIBEPARAM 20
74 #define /* 21 */ SQLAPI_INDEX_SQLDISCONNECT 21
75 #define /* 22 */ SQLAPI_INDEX_SQLDRIVERCONNECT 22
76 #define /* 23 */ SQLAPI_INDEX_SQLDRIVERS 23
77 #define /* 24 */ SQLAPI_INDEX_SQLENDTRAN 24
78 #define /* 25 */ SQLAPI_INDEX_SQLERROR 25
79 #define /* 26 */ SQLAPI_INDEX_SQLEXECDIRECT 26
80 #define /* 27 */ SQLAPI_INDEX_SQLEXECUTE 27
81 #define /* 28 */ SQLAPI_INDEX_SQLEXTENDEDFETCH 28
82 #define /* 29 */ SQLAPI_INDEX_SQLFETCH 29
83 #define /* 30 */ SQLAPI_INDEX_SQLFETCHSCROLL 30
84 #define /* 31 */ SQLAPI_INDEX_SQLFOREIGNKEYS 31
85 #define /* 32 */ SQLAPI_INDEX_SQLFREEENV 32
86 #define /* 33 */ SQLAPI_INDEX_SQLFREEHANDLE 33
87 #define /* 34 */ SQLAPI_INDEX_SQLFREESTMT 34
88 #define /* 35 */ SQLAPI_INDEX_SQLFREECONNECT 35
89 #define /* 36 */ SQLAPI_INDEX_SQLGETCONNECTATTR 36
90 #define /* 37 */ SQLAPI_INDEX_SQLGETCONNECTOPTION 37
91 #define /* 38 */ SQLAPI_INDEX_SQLGETCURSORNAME 38
92 #define /* 39 */ SQLAPI_INDEX_SQLGETDATA 39
93 #define /* 40 */ SQLAPI_INDEX_SQLGETDESCFIELD 40
94 #define /* 41 */ SQLAPI_INDEX_SQLGETDESCREC 41
95 #define /* 42 */ SQLAPI_INDEX_SQLGETDIAGFIELD 42
96 #define /* 43 */ SQLAPI_INDEX_SQLGETENVATTR 43
97 #define /* 44 */ SQLAPI_INDEX_SQLGETFUNCTIONS 44
98 #define /* 45 */ SQLAPI_INDEX_SQLGETINFO 45
99 #define /* 46 */ SQLAPI_INDEX_SQLGETSTMTATTR 46
100 #define /* 47 */ SQLAPI_INDEX_SQLGETSTMTOPTION 47
101 #define /* 48 */ SQLAPI_INDEX_SQLGETTYPEINFO 48
102 #define /* 49 */ SQLAPI_INDEX_SQLMORERESULTS 49
103 #define /* 50 */ SQLAPI_INDEX_SQLNATIVESQL 50
104 #define /* 51 */ SQLAPI_INDEX_SQLNUMPARAMS 51
105 #define /* 52 */ SQLAPI_INDEX_SQLNUMRESULTCOLS 52
106 #define /* 53 */ SQLAPI_INDEX_SQLPARAMDATA 53
107 #define /* 54 */ SQLAPI_INDEX_SQLPARAMOPTIONS 54
108 #define /* 55 */ SQLAPI_INDEX_SQLPREPARE 55
109 #define /* 56 */ SQLAPI_INDEX_SQLPRIMARYKEYS 56
110 #define /* 57 */ SQLAPI_INDEX_SQLPROCEDURECOLUMNS 57
111 #define /* 58 */ SQLAPI_INDEX_SQLPROCEDURES 58
112 #define /* 59 */ SQLAPI_INDEX_SQLPUTDATA 59
113 #define /* 60 */ SQLAPI_INDEX_SQLROWCOUNT 60
114 #define /* 61 */ SQLAPI_INDEX_SQLSETCONNECTATTR 61
115 #define /* 62 */ SQLAPI_INDEX_SQLSETCONNECTOPTION 62
116 #define /* 63 */ SQLAPI_INDEX_SQLSETCURSORNAME 63
117 #define /* 64 */ SQLAPI_INDEX_SQLSETDESCFIELD 64
118 #define /* 65 */ SQLAPI_INDEX_SQLSETDESCREC 65
119 #define /* 66 */ SQLAPI_INDEX_SQLSETENVATTR 66
120 #define /* 67 */ SQLAPI_INDEX_SQLSETPARAM 67
121 #define /* 68 */ SQLAPI_INDEX_SQLSETPOS 68
122 #define /* 69 */ SQLAPI_INDEX_SQLSETSCROLLOPTIONS 69
123 #define /* 70 */ SQLAPI_INDEX_SQLSETSTMTATTR 70
124 #define /* 71 */ SQLAPI_INDEX_SQLSETSTMTOPTION 71
125 #define /* 72 */ SQLAPI_INDEX_SQLSPECIALCOLUMNS 72
126 #define /* 73 */ SQLAPI_INDEX_SQLSTATISTICS 73
127 #define /* 74 */ SQLAPI_INDEX_SQLTABLEPRIVILEGES 74
128 #define /* 75 */ SQLAPI_INDEX_SQLTABLES 75
129 #define /* 76 */ SQLAPI_INDEX_SQLTRANSACT 76
130 #define /* 77 */ SQLAPI_INDEX_SQLGETDIAGREC 77