Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

sqliteodbc.h

Go to the documentation of this file.
00001 #ifndef _SQLITEODBC_H 00002 #define _SQLITEODBC_H 00003 00027 #ifdef _WIN32 00028 #include <windows.h> 00029 #else 00030 #include <sys/time.h> 00031 #include <sys/types.h> 00032 #include <stdio.h> 00033 #include <stdlib.h> 00034 #include <unistd.h> 00035 #endif 00036 #if defined(HAVE_LOCALECONV) || defined(_WIN32) 00037 #include <locale.h> 00038 #endif 00039 #include <stdarg.h> 00040 #include <string.h> 00041 #include <sql.h> 00042 #include <sqlext.h> 00043 #include <time.h> 00044 00045 #include "sqlite.h" 00046 #ifdef HAVE_IODBC 00047 #include <iodbcinst.h> 00048 #endif 00049 #if defined(HAVE_UNIXODBC) || defined(_WIN32) 00050 #include <odbcinst.h> 00051 #endif 00052 00053 #ifndef SQL_API 00054 #define SQL_API 00055 #endif 00056 00057 struct dbc; 00058 struct stmt; 00059 00066 typedef struct { 00067 int magic; 00068 int ov3; 00069 struct dbc *dbcs; 00070 } ENV; 00071 00078 typedef struct dbc { 00079 int magic; 00080 ENV *env; 00081 struct dbc *next; 00082 sqlite *sqlite; 00083 int version; 00084 char *dbname; 00085 char *dsn; 00086 int timeout; 00087 long t0; 00088 int *ov3; 00089 int ov3val; 00090 int autocommit; 00091 int intrans; 00092 struct stmt *stmt; 00093 int naterr; 00094 char sqlstate[6]; 00095 SQLCHAR logmsg[1024]; 00096 int nowchar; 00097 int curtype; 00098 int step_enable; 00099 struct stmt *vm_stmt; 00100 int vm_rownum; 00101 #if defined(HAVE_SQLITETRACE) && HAVE_SQLITETRACE 00102 FILE *trace; 00103 #endif 00104 #ifdef USE_DLOPEN_FOR_GPPS 00105 void *instlib; 00106 int (*gpps)(); 00107 #endif 00108 } DBC; 00109 00116 typedef struct { 00117 char *db; 00118 char *table; 00119 char *column; 00120 int type; 00121 int size; 00122 int index; 00123 int nosign; 00124 int scale; 00125 int prec; 00126 int autoinc; 00127 char *typename; 00128 char *label; 00129 } COL; 00130 00137 typedef struct { 00138 SQLSMALLINT type; 00139 SQLINTEGER max; 00140 SQLINTEGER *lenp; 00141 SQLPOINTER valp; 00142 int index; 00143 int offs; 00144 } BINDCOL; 00145 00152 typedef struct { 00153 int type, stype; 00154 int max, *lenp; 00155 void *param; 00156 void *param0; 00157 int inc; 00158 void *ind; 00159 int need; 00160 int offs, len; 00161 } BINDPARM; 00162 00169 typedef struct stmt { 00170 struct stmt *next; 00171 HDBC dbc; 00172 SQLCHAR cursorname[32]; 00173 SQLCHAR *query; 00174 char **parmnames; 00175 int *ov3; 00176 int isselect; 00177 int ncols; 00178 COL *cols; 00179 COL *dyncols; 00180 int dcols; 00181 int bkmrk; 00182 BINDCOL bkmrkcol; 00183 BINDCOL *bindcols; 00184 int nbindcols; 00185 int nbindparms; 00186 BINDPARM *bindparms; 00187 int nparams; 00188 int nrows; 00189 int rowp; 00190 char **rows; 00191 void (*rowfree)(); 00192 int naterr; 00193 char sqlstate[6]; 00194 SQLCHAR logmsg[1024]; 00195 int nowchar; 00196 SQLUINTEGER rowset_size; 00197 SQLUSMALLINT *row_status; 00198 SQLUSMALLINT *row_status0; 00199 SQLUSMALLINT row_status1; 00200 SQLUINTEGER *row_count; 00201 SQLUINTEGER row_count0; 00202 SQLUINTEGER paramset_size; 00203 SQLUINTEGER paramset_count; 00204 SQLUINTEGER paramset_nrows; 00205 SQLUINTEGER bind_type; 00206 /* Dummies to make ADO happy */ 00207 SQLUINTEGER *bind_offs; 00208 SQLUSMALLINT *parm_oper; 00209 SQLUSMALLINT *parm_status; 00210 SQLUINTEGER *parm_proc; 00211 int curtype; 00212 sqlite_vm *vm; 00213 #if HAVE_ENCDEC 00214 char *bincell; 00215 char *bincache; 00216 int binlen; 00217 char *hexcache; 00218 #endif 00219 } STMT; 00220 00221 #endif

Generated on 9 Oct 2004 by doxygen.
Contact: chw@ch-werner.de