proxyodbc.h 6.14 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/*
 * Copyright 1999 Xiang Li, Corel Corporation
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * 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
17 18
 */

Alexandre Julliard's avatar
Alexandre Julliard committed
19 20 21 22 23 24 25 26 27 28 29 30 31 32
#ifndef _PROXYMANAGER_H
#define _PROXYMANAGER_H

#define NUM_SQLFUNC 78
#define ERROR_FREE 0
#define ERROR_SQLERROR  1
#define ERROR_LIBRARY_NOT_FOUND 2
#define ERROR_FUNCTIONS_NOT_LOADED  3

#define ODBCVER 0x0351

typedef struct dm_func                          /* driver manager functions */
{
    int            ordinal;
33
    const char     *name;
Alexandre Julliard's avatar
Alexandre Julliard committed
34 35
    void           *d_func;
    SQLRETURN      (*func)();
36
    SQLRETURN      (*funcW)();
Alexandre Julliard's avatar
Alexandre Julliard committed
37 38 39 40 41 42 43 44 45 46 47 48 49
} DM_FUNC;

typedef struct proxyhandle
{
	void *dmHandle;				/* driver manager handle */
	BOOL isWindowsDriver;       /* is driver a Windows version*/
	BOOL bCallbackReady;        /* procs taken from Windows driver placed in driver manager as callbacks */
	BOOL bFunctionReady;
	int  nErrorType;
	DM_FUNC functions[NUM_SQLFUNC];			/* entry point for driver manager functions */
	char driverLibName[200];	/* ODBC driver SO name */
	char dmLibName[200];		/* driver manager library name */
	char ServerName[200];       /* keep server name */
50
	char UserName[50];          /* keep username */
Alexandre Julliard's avatar
Alexandre Julliard committed
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
} PROXYHANDLE;

#define    /* 00 */ SQLAPI_INDEX_SQLALLOCCONNECT       0
#define    /* 01 */ SQLAPI_INDEX_SQLALLOCENV           1
#define    /* 02 */ SQLAPI_INDEX_SQLALLOCHANDLE        2
#define    /* 03 */ SQLAPI_INDEX_SQLALLOCSTMT          3
#define    /* 04 */ SQLAPI_INDEX_SQLALLOCHANDLESTD     4
#define    /* 05 */ SQLAPI_INDEX_SQLBINDCOL            5
#define    /* 06 */ SQLAPI_INDEX_SQLBINDPARAM          6
#define    /* 07 */ SQLAPI_INDEX_SQLBINDPARAMETER      7
#define    /* 08 */ SQLAPI_INDEX_SQLBROWSECONNECT      8
#define    /* 09 */ SQLAPI_INDEX_SQLBULKOPERATIONS     9
#define    /* 10 */ SQLAPI_INDEX_SQLCANCEL            10
#define    /* 11 */ SQLAPI_INDEX_SQLCLOSECURSOR       11
#define    /* 12 */ SQLAPI_INDEX_SQLCOLATTRIBUTE      12
#define    /* 13 */ SQLAPI_INDEX_SQLCOLATTRIBUTES     13
#define    /* 14 */ SQLAPI_INDEX_SQLCOLUMNPRIVILEGES  14
#define    /* 15 */ SQLAPI_INDEX_SQLCOLUMNS           15
#define    /* 16 */ SQLAPI_INDEX_SQLCONNECT           16
#define    /* 17 */ SQLAPI_INDEX_SQLCOPYDESC          17
#define    /* 18 */ SQLAPI_INDEX_SQLDATASOURCES       18
#define    /* 19 */ SQLAPI_INDEX_SQLDESCRIBECOL       19
#define    /* 20 */ SQLAPI_INDEX_SQLDESCRIBEPARAM     20
#define    /* 21 */ SQLAPI_INDEX_SQLDISCONNECT        21
#define    /* 22 */ SQLAPI_INDEX_SQLDRIVERCONNECT     22
#define    /* 23 */ SQLAPI_INDEX_SQLDRIVERS           23
#define    /* 24 */ SQLAPI_INDEX_SQLENDTRAN           24
#define    /* 25 */ SQLAPI_INDEX_SQLERROR             25
#define    /* 26 */ SQLAPI_INDEX_SQLEXECDIRECT        26
#define    /* 27 */ SQLAPI_INDEX_SQLEXECUTE           27
#define    /* 28 */ SQLAPI_INDEX_SQLEXTENDEDFETCH     28
#define    /* 29 */ SQLAPI_INDEX_SQLFETCH             29
#define    /* 30 */ SQLAPI_INDEX_SQLFETCHSCROLL       30
#define    /* 31 */ SQLAPI_INDEX_SQLFOREIGNKEYS       31
#define    /* 32 */ SQLAPI_INDEX_SQLFREEENV           32
#define    /* 33 */ SQLAPI_INDEX_SQLFREEHANDLE        33
#define    /* 34 */ SQLAPI_INDEX_SQLFREESTMT          34
#define    /* 35 */ SQLAPI_INDEX_SQLFREECONNECT       35
#define    /* 36 */ SQLAPI_INDEX_SQLGETCONNECTATTR    36
#define    /* 37 */ SQLAPI_INDEX_SQLGETCONNECTOPTION  37
#define    /* 38 */ SQLAPI_INDEX_SQLGETCURSORNAME     38
#define    /* 39 */ SQLAPI_INDEX_SQLGETDATA           39
#define    /* 40 */ SQLAPI_INDEX_SQLGETDESCFIELD      40
#define    /* 41 */ SQLAPI_INDEX_SQLGETDESCREC        41
#define    /* 42 */ SQLAPI_INDEX_SQLGETDIAGFIELD      42
#define    /* 43 */ SQLAPI_INDEX_SQLGETENVATTR        43
#define    /* 44 */ SQLAPI_INDEX_SQLGETFUNCTIONS      44
#define    /* 45 */ SQLAPI_INDEX_SQLGETINFO           45
#define    /* 46 */ SQLAPI_INDEX_SQLGETSTMTATTR       46
#define    /* 47 */ SQLAPI_INDEX_SQLGETSTMTOPTION     47
#define    /* 48 */ SQLAPI_INDEX_SQLGETTYPEINFO       48
#define    /* 49 */ SQLAPI_INDEX_SQLMORERESULTS       49
#define    /* 50 */ SQLAPI_INDEX_SQLNATIVESQL         50
#define    /* 51 */ SQLAPI_INDEX_SQLNUMPARAMS         51
#define    /* 52 */ SQLAPI_INDEX_SQLNUMRESULTCOLS     52
#define    /* 53 */ SQLAPI_INDEX_SQLPARAMDATA         53
#define    /* 54 */ SQLAPI_INDEX_SQLPARAMOPTIONS      54
#define    /* 55 */ SQLAPI_INDEX_SQLPREPARE           55
#define    /* 56 */ SQLAPI_INDEX_SQLPRIMARYKEYS       56
#define    /* 57 */ SQLAPI_INDEX_SQLPROCEDURECOLUMNS  57
#define    /* 58 */ SQLAPI_INDEX_SQLPROCEDURES        58
#define    /* 59 */ SQLAPI_INDEX_SQLPUTDATA           59
#define    /* 60 */ SQLAPI_INDEX_SQLROWCOUNT          60
#define    /* 61 */ SQLAPI_INDEX_SQLSETCONNECTATTR    61
#define    /* 62 */ SQLAPI_INDEX_SQLSETCONNECTOPTION  62
#define    /* 63 */ SQLAPI_INDEX_SQLSETCURSORNAME     63
#define    /* 64 */ SQLAPI_INDEX_SQLSETDESCFIELD      64
#define    /* 65 */ SQLAPI_INDEX_SQLSETDESCREC        65
#define    /* 66 */ SQLAPI_INDEX_SQLSETENVATTR        66
#define    /* 67 */ SQLAPI_INDEX_SQLSETPARAM          67
#define    /* 68 */ SQLAPI_INDEX_SQLSETPOS            68
#define    /* 69 */ SQLAPI_INDEX_SQLSETSCROLLOPTIONS  69
#define    /* 70 */ SQLAPI_INDEX_SQLSETSTMTATTR       70
#define    /* 71 */ SQLAPI_INDEX_SQLSETSTMTOPTION     71
#define    /* 72 */ SQLAPI_INDEX_SQLSPECIALCOLUMNS    72
#define    /* 73 */ SQLAPI_INDEX_SQLSTATISTICS        73
#define    /* 74 */ SQLAPI_INDEX_SQLTABLEPRIVILEGES   74
#define    /* 75 */ SQLAPI_INDEX_SQLTABLES            75
#define    /* 76 */ SQLAPI_INDEX_SQLTRANSACT          76
#define    /* 77 */ SQLAPI_INDEX_SQLGETDIAGREC        77

#endif