| OLD | NEW | 
 | (Empty) | 
|    1 /* |  | 
|    2 ** 2006 June 7 |  | 
|    3 ** |  | 
|    4 ** The author disclaims copyright to this source code.  In place of |  | 
|    5 ** a legal notice, here is a blessing: |  | 
|    6 ** |  | 
|    7 **    May you do good and not evil. |  | 
|    8 **    May you find forgiveness for yourself and forgive others. |  | 
|    9 **    May you share freely, never taking more than you give. |  | 
|   10 ** |  | 
|   11 ************************************************************************* |  | 
|   12 ** This header file defines the SQLite interface for use by |  | 
|   13 ** shared libraries that want to be imported as extensions into |  | 
|   14 ** an SQLite instance.  Shared libraries that intend to be loaded |  | 
|   15 ** as extensions by SQLite should #include this file instead of  |  | 
|   16 ** sqlite3.h. |  | 
|   17 ** |  | 
|   18 ** @(#) $Id: sqlite3ext.h,v 1.25 2008/10/12 00:27:54 shane Exp $ |  | 
|   19 */ |  | 
|   20 #ifndef _SQLITE3EXT_H_ |  | 
|   21 #define _SQLITE3EXT_H_ |  | 
|   22 #include "sqlite3.h" |  | 
|   23  |  | 
|   24 typedef struct sqlite3_api_routines sqlite3_api_routines; |  | 
|   25  |  | 
|   26 /* |  | 
|   27 ** The following structure holds pointers to all of the SQLite API |  | 
|   28 ** routines. |  | 
|   29 ** |  | 
|   30 ** WARNING:  In order to maintain backwards compatibility, add new |  | 
|   31 ** interfaces to the end of this structure only.  If you insert new |  | 
|   32 ** interfaces in the middle of this structure, then older different |  | 
|   33 ** versions of SQLite will not be able to load each others' shared |  | 
|   34 ** libraries! |  | 
|   35 */ |  | 
|   36 struct sqlite3_api_routines { |  | 
|   37   void * (*aggregate_context)(sqlite3_context*,int nBytes); |  | 
|   38   int  (*aggregate_count)(sqlite3_context*); |  | 
|   39   int  (*bind_blob)(sqlite3_stmt*,int,const void*,int n,void(*)(void*)); |  | 
|   40   int  (*bind_double)(sqlite3_stmt*,int,double); |  | 
|   41   int  (*bind_int)(sqlite3_stmt*,int,int); |  | 
|   42   int  (*bind_int64)(sqlite3_stmt*,int,sqlite_int64); |  | 
|   43   int  (*bind_null)(sqlite3_stmt*,int); |  | 
|   44   int  (*bind_parameter_count)(sqlite3_stmt*); |  | 
|   45   int  (*bind_parameter_index)(sqlite3_stmt*,const char*zName); |  | 
|   46   const char * (*bind_parameter_name)(sqlite3_stmt*,int); |  | 
|   47   int  (*bind_text)(sqlite3_stmt*,int,const char*,int n,void(*)(void*)); |  | 
|   48   int  (*bind_text16)(sqlite3_stmt*,int,const void*,int,void(*)(void*)); |  | 
|   49   int  (*bind_value)(sqlite3_stmt*,int,const sqlite3_value*); |  | 
|   50   int  (*busy_handler)(sqlite3*,int(*)(void*,int),void*); |  | 
|   51   int  (*busy_timeout)(sqlite3*,int ms); |  | 
|   52   int  (*changes)(sqlite3*); |  | 
|   53   int  (*close)(sqlite3*); |  | 
|   54   int  (*collation_needed)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTextRep,co
     nst char*)); |  | 
|   55   int  (*collation_needed16)(sqlite3*,void*,void(*)(void*,sqlite3*,int eTextRep,
     const void*)); |  | 
|   56   const void * (*column_blob)(sqlite3_stmt*,int iCol); |  | 
|   57   int  (*column_bytes)(sqlite3_stmt*,int iCol); |  | 
|   58   int  (*column_bytes16)(sqlite3_stmt*,int iCol); |  | 
|   59   int  (*column_count)(sqlite3_stmt*pStmt); |  | 
|   60   const char * (*column_database_name)(sqlite3_stmt*,int); |  | 
|   61   const void * (*column_database_name16)(sqlite3_stmt*,int); |  | 
|   62   const char * (*column_decltype)(sqlite3_stmt*,int i); |  | 
|   63   const void * (*column_decltype16)(sqlite3_stmt*,int); |  | 
|   64   double  (*column_double)(sqlite3_stmt*,int iCol); |  | 
|   65   int  (*column_int)(sqlite3_stmt*,int iCol); |  | 
|   66   sqlite_int64  (*column_int64)(sqlite3_stmt*,int iCol); |  | 
|   67   const char * (*column_name)(sqlite3_stmt*,int); |  | 
|   68   const void * (*column_name16)(sqlite3_stmt*,int); |  | 
|   69   const char * (*column_origin_name)(sqlite3_stmt*,int); |  | 
|   70   const void * (*column_origin_name16)(sqlite3_stmt*,int); |  | 
|   71   const char * (*column_table_name)(sqlite3_stmt*,int); |  | 
|   72   const void * (*column_table_name16)(sqlite3_stmt*,int); |  | 
|   73   const unsigned char * (*column_text)(sqlite3_stmt*,int iCol); |  | 
|   74   const void * (*column_text16)(sqlite3_stmt*,int iCol); |  | 
|   75   int  (*column_type)(sqlite3_stmt*,int iCol); |  | 
|   76   sqlite3_value* (*column_value)(sqlite3_stmt*,int iCol); |  | 
|   77   void * (*commit_hook)(sqlite3*,int(*)(void*),void*); |  | 
|   78   int  (*complete)(const char*sql); |  | 
|   79   int  (*complete16)(const void*sql); |  | 
|   80   int  (*create_collation)(sqlite3*,const char*,int,void*,int(*)(void*,int,const
      void*,int,const void*)); |  | 
|   81   int  (*create_collation16)(sqlite3*,const void*,int,void*,int(*)(void*,int,con
     st void*,int,const void*)); |  | 
|   82   int  (*create_function)(sqlite3*,const char*,int,int,void*,void (*xFunc)(sqlit
     e3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sqlite3_valu
     e**),void (*xFinal)(sqlite3_context*)); |  | 
|   83   int  (*create_function16)(sqlite3*,const void*,int,int,void*,void (*xFunc)(sql
     ite3_context*,int,sqlite3_value**),void (*xStep)(sqlite3_context*,int,sqlite3_va
     lue**),void (*xFinal)(sqlite3_context*)); |  | 
|   84   int (*create_module)(sqlite3*,const char*,const sqlite3_module*,void*); |  | 
|   85   int  (*data_count)(sqlite3_stmt*pStmt); |  | 
|   86   sqlite3 * (*db_handle)(sqlite3_stmt*); |  | 
|   87   int (*declare_vtab)(sqlite3*,const char*); |  | 
|   88   int  (*enable_shared_cache)(int); |  | 
|   89   int  (*errcode)(sqlite3*db); |  | 
|   90   const char * (*errmsg)(sqlite3*); |  | 
|   91   const void * (*errmsg16)(sqlite3*); |  | 
|   92   int  (*exec)(sqlite3*,const char*,sqlite3_callback,void*,char**); |  | 
|   93   int  (*expired)(sqlite3_stmt*); |  | 
|   94   int  (*finalize)(sqlite3_stmt*pStmt); |  | 
|   95   void  (*free)(void*); |  | 
|   96   void  (*free_table)(char**result); |  | 
|   97   int  (*get_autocommit)(sqlite3*); |  | 
|   98   void * (*get_auxdata)(sqlite3_context*,int); |  | 
|   99   int  (*get_table)(sqlite3*,const char*,char***,int*,int*,char**); |  | 
|  100   int  (*global_recover)(void); |  | 
|  101   void  (*interruptx)(sqlite3*); |  | 
|  102   sqlite_int64  (*last_insert_rowid)(sqlite3*); |  | 
|  103   const char * (*libversion)(void); |  | 
|  104   int  (*libversion_number)(void); |  | 
|  105   void *(*malloc)(int); |  | 
|  106   char * (*mprintf)(const char*,...); |  | 
|  107   int  (*open)(const char*,sqlite3**); |  | 
|  108   int  (*open16)(const void*,sqlite3**); |  | 
|  109   int  (*prepare)(sqlite3*,const char*,int,sqlite3_stmt**,const char**); |  | 
|  110   int  (*prepare16)(sqlite3*,const void*,int,sqlite3_stmt**,const void**); |  | 
|  111   void * (*profile)(sqlite3*,void(*)(void*,const char*,sqlite_uint64),void*); |  | 
|  112   void  (*progress_handler)(sqlite3*,int,int(*)(void*),void*); |  | 
|  113   void *(*realloc)(void*,int); |  | 
|  114   int  (*reset)(sqlite3_stmt*pStmt); |  | 
|  115   void  (*result_blob)(sqlite3_context*,const void*,int,void(*)(void*)); |  | 
|  116   void  (*result_double)(sqlite3_context*,double); |  | 
|  117   void  (*result_error)(sqlite3_context*,const char*,int); |  | 
|  118   void  (*result_error16)(sqlite3_context*,const void*,int); |  | 
|  119   void  (*result_int)(sqlite3_context*,int); |  | 
|  120   void  (*result_int64)(sqlite3_context*,sqlite_int64); |  | 
|  121   void  (*result_null)(sqlite3_context*); |  | 
|  122   void  (*result_text)(sqlite3_context*,const char*,int,void(*)(void*)); |  | 
|  123   void  (*result_text16)(sqlite3_context*,const void*,int,void(*)(void*)); |  | 
|  124   void  (*result_text16be)(sqlite3_context*,const void*,int,void(*)(void*)); |  | 
|  125   void  (*result_text16le)(sqlite3_context*,const void*,int,void(*)(void*)); |  | 
|  126   void  (*result_value)(sqlite3_context*,sqlite3_value*); |  | 
|  127   void * (*rollback_hook)(sqlite3*,void(*)(void*),void*); |  | 
|  128   int  (*set_authorizer)(sqlite3*,int(*)(void*,int,const char*,const char*,const
      char*,const char*),void*); |  | 
|  129   void  (*set_auxdata)(sqlite3_context*,int,void*,void (*)(void*)); |  | 
|  130   char * (*snprintf)(int,char*,const char*,...); |  | 
|  131   int  (*step)(sqlite3_stmt*); |  | 
|  132   int  (*table_column_metadata)(sqlite3*,const char*,const char*,const char*,cha
     r const**,char const**,int*,int*,int*); |  | 
|  133   void  (*thread_cleanup)(void); |  | 
|  134   int  (*total_changes)(sqlite3*); |  | 
|  135   void * (*trace)(sqlite3*,void(*xTrace)(void*,const char*),void*); |  | 
|  136   int  (*transfer_bindings)(sqlite3_stmt*,sqlite3_stmt*); |  | 
|  137   void * (*update_hook)(sqlite3*,void(*)(void*,int ,char const*,char const*,sqli
     te_int64),void*); |  | 
|  138   void * (*user_data)(sqlite3_context*); |  | 
|  139   const void * (*value_blob)(sqlite3_value*); |  | 
|  140   int  (*value_bytes)(sqlite3_value*); |  | 
|  141   int  (*value_bytes16)(sqlite3_value*); |  | 
|  142   double  (*value_double)(sqlite3_value*); |  | 
|  143   int  (*value_int)(sqlite3_value*); |  | 
|  144   sqlite_int64  (*value_int64)(sqlite3_value*); |  | 
|  145   int  (*value_numeric_type)(sqlite3_value*); |  | 
|  146   const unsigned char * (*value_text)(sqlite3_value*); |  | 
|  147   const void * (*value_text16)(sqlite3_value*); |  | 
|  148   const void * (*value_text16be)(sqlite3_value*); |  | 
|  149   const void * (*value_text16le)(sqlite3_value*); |  | 
|  150   int  (*value_type)(sqlite3_value*); |  | 
|  151   char *(*vmprintf)(const char*,va_list); |  | 
|  152   /* Added ??? */ |  | 
|  153   int (*overload_function)(sqlite3*, const char *zFuncName, int nArg); |  | 
|  154   /* Added by 3.3.13 */ |  | 
|  155   int (*prepare_v2)(sqlite3*,const char*,int,sqlite3_stmt**,const char**); |  | 
|  156   int (*prepare16_v2)(sqlite3*,const void*,int,sqlite3_stmt**,const void**); |  | 
|  157   int (*clear_bindings)(sqlite3_stmt*); |  | 
|  158   /* Added by 3.4.1 */ |  | 
|  159   int (*create_module_v2)(sqlite3*,const char*,const sqlite3_module*,void*,void 
     (*xDestroy)(void *)); |  | 
|  160   /* Added by 3.5.0 */ |  | 
|  161   int (*bind_zeroblob)(sqlite3_stmt*,int,int); |  | 
|  162   int (*blob_bytes)(sqlite3_blob*); |  | 
|  163   int (*blob_close)(sqlite3_blob*); |  | 
|  164   int (*blob_open)(sqlite3*,const char*,const char*,const char*,sqlite3_int64,in
     t,sqlite3_blob**); |  | 
|  165   int (*blob_read)(sqlite3_blob*,void*,int,int); |  | 
|  166   int (*blob_write)(sqlite3_blob*,const void*,int,int); |  | 
|  167   int (*create_collation_v2)(sqlite3*,const char*,int,void*,int(*)(void*,int,con
     st void*,int,const void*),void(*)(void*)); |  | 
|  168   int (*file_control)(sqlite3*,const char*,int,void*); |  | 
|  169   sqlite3_int64 (*memory_highwater)(int); |  | 
|  170   sqlite3_int64 (*memory_used)(void); |  | 
|  171   sqlite3_mutex *(*mutex_alloc)(int); |  | 
|  172   void (*mutex_enter)(sqlite3_mutex*); |  | 
|  173   void (*mutex_free)(sqlite3_mutex*); |  | 
|  174   void (*mutex_leave)(sqlite3_mutex*); |  | 
|  175   int (*mutex_try)(sqlite3_mutex*); |  | 
|  176   int (*open_v2)(const char*,sqlite3**,int,const char*); |  | 
|  177   int (*release_memory)(int); |  | 
|  178   void (*result_error_nomem)(sqlite3_context*); |  | 
|  179   void (*result_error_toobig)(sqlite3_context*); |  | 
|  180   int (*sleep)(int); |  | 
|  181   void (*soft_heap_limit)(int); |  | 
|  182   sqlite3_vfs *(*vfs_find)(const char*); |  | 
|  183   int (*vfs_register)(sqlite3_vfs*,int); |  | 
|  184   int (*vfs_unregister)(sqlite3_vfs*); |  | 
|  185   int (*xthreadsafe)(void); |  | 
|  186   void (*result_zeroblob)(sqlite3_context*,int); |  | 
|  187   void (*result_error_code)(sqlite3_context*,int); |  | 
|  188   int (*test_control)(int, ...); |  | 
|  189   void (*randomness)(int,void*); |  | 
|  190   sqlite3 *(*context_db_handle)(sqlite3_context*); |  | 
|  191   int (*extended_result_codes)(sqlite3*,int); |  | 
|  192   int (*limit)(sqlite3*,int,int); |  | 
|  193   sqlite3_stmt *(*next_stmt)(sqlite3*,sqlite3_stmt*); |  | 
|  194   const char *(*sql)(sqlite3_stmt*); |  | 
|  195   int (*status)(int,int*,int*,int); |  | 
|  196 }; |  | 
|  197  |  | 
|  198 /* |  | 
|  199 ** The following macros redefine the API routines so that they are |  | 
|  200 ** redirected throught the global sqlite3_api structure. |  | 
|  201 ** |  | 
|  202 ** This header file is also used by the loadext.c source file |  | 
|  203 ** (part of the main SQLite library - not an extension) so that |  | 
|  204 ** it can get access to the sqlite3_api_routines structure |  | 
|  205 ** definition.  But the main library does not want to redefine |  | 
|  206 ** the API.  So the redefinition macros are only valid if the |  | 
|  207 ** SQLITE_CORE macros is undefined. |  | 
|  208 */ |  | 
|  209 #ifndef SQLITE_CORE |  | 
|  210 #define sqlite3_aggregate_context      sqlite3_api->aggregate_context |  | 
|  211 #ifndef SQLITE_OMIT_DEPRECATED |  | 
|  212 #define sqlite3_aggregate_count        sqlite3_api->aggregate_count |  | 
|  213 #endif |  | 
|  214 #define sqlite3_bind_blob              sqlite3_api->bind_blob |  | 
|  215 #define sqlite3_bind_double            sqlite3_api->bind_double |  | 
|  216 #define sqlite3_bind_int               sqlite3_api->bind_int |  | 
|  217 #define sqlite3_bind_int64             sqlite3_api->bind_int64 |  | 
|  218 #define sqlite3_bind_null              sqlite3_api->bind_null |  | 
|  219 #define sqlite3_bind_parameter_count   sqlite3_api->bind_parameter_count |  | 
|  220 #define sqlite3_bind_parameter_index   sqlite3_api->bind_parameter_index |  | 
|  221 #define sqlite3_bind_parameter_name    sqlite3_api->bind_parameter_name |  | 
|  222 #define sqlite3_bind_text              sqlite3_api->bind_text |  | 
|  223 #define sqlite3_bind_text16            sqlite3_api->bind_text16 |  | 
|  224 #define sqlite3_bind_value             sqlite3_api->bind_value |  | 
|  225 #define sqlite3_busy_handler           sqlite3_api->busy_handler |  | 
|  226 #define sqlite3_busy_timeout           sqlite3_api->busy_timeout |  | 
|  227 #define sqlite3_changes                sqlite3_api->changes |  | 
|  228 #define sqlite3_close                  sqlite3_api->close |  | 
|  229 #define sqlite3_collation_needed       sqlite3_api->collation_needed |  | 
|  230 #define sqlite3_collation_needed16     sqlite3_api->collation_needed16 |  | 
|  231 #define sqlite3_column_blob            sqlite3_api->column_blob |  | 
|  232 #define sqlite3_column_bytes           sqlite3_api->column_bytes |  | 
|  233 #define sqlite3_column_bytes16         sqlite3_api->column_bytes16 |  | 
|  234 #define sqlite3_column_count           sqlite3_api->column_count |  | 
|  235 #define sqlite3_column_database_name   sqlite3_api->column_database_name |  | 
|  236 #define sqlite3_column_database_name16 sqlite3_api->column_database_name16 |  | 
|  237 #define sqlite3_column_decltype        sqlite3_api->column_decltype |  | 
|  238 #define sqlite3_column_decltype16      sqlite3_api->column_decltype16 |  | 
|  239 #define sqlite3_column_double          sqlite3_api->column_double |  | 
|  240 #define sqlite3_column_int             sqlite3_api->column_int |  | 
|  241 #define sqlite3_column_int64           sqlite3_api->column_int64 |  | 
|  242 #define sqlite3_column_name            sqlite3_api->column_name |  | 
|  243 #define sqlite3_column_name16          sqlite3_api->column_name16 |  | 
|  244 #define sqlite3_column_origin_name     sqlite3_api->column_origin_name |  | 
|  245 #define sqlite3_column_origin_name16   sqlite3_api->column_origin_name16 |  | 
|  246 #define sqlite3_column_table_name      sqlite3_api->column_table_name |  | 
|  247 #define sqlite3_column_table_name16    sqlite3_api->column_table_name16 |  | 
|  248 #define sqlite3_column_text            sqlite3_api->column_text |  | 
|  249 #define sqlite3_column_text16          sqlite3_api->column_text16 |  | 
|  250 #define sqlite3_column_type            sqlite3_api->column_type |  | 
|  251 #define sqlite3_column_value           sqlite3_api->column_value |  | 
|  252 #define sqlite3_commit_hook            sqlite3_api->commit_hook |  | 
|  253 #define sqlite3_complete               sqlite3_api->complete |  | 
|  254 #define sqlite3_complete16             sqlite3_api->complete16 |  | 
|  255 #define sqlite3_create_collation       sqlite3_api->create_collation |  | 
|  256 #define sqlite3_create_collation16     sqlite3_api->create_collation16 |  | 
|  257 #define sqlite3_create_function        sqlite3_api->create_function |  | 
|  258 #define sqlite3_create_function16      sqlite3_api->create_function16 |  | 
|  259 #define sqlite3_create_module          sqlite3_api->create_module |  | 
|  260 #define sqlite3_create_module_v2       sqlite3_api->create_module_v2 |  | 
|  261 #define sqlite3_data_count             sqlite3_api->data_count |  | 
|  262 #define sqlite3_db_handle              sqlite3_api->db_handle |  | 
|  263 #define sqlite3_declare_vtab           sqlite3_api->declare_vtab |  | 
|  264 #define sqlite3_enable_shared_cache    sqlite3_api->enable_shared_cache |  | 
|  265 #define sqlite3_errcode                sqlite3_api->errcode |  | 
|  266 #define sqlite3_errmsg                 sqlite3_api->errmsg |  | 
|  267 #define sqlite3_errmsg16               sqlite3_api->errmsg16 |  | 
|  268 #define sqlite3_exec                   sqlite3_api->exec |  | 
|  269 #ifndef SQLITE_OMIT_DEPRECATED |  | 
|  270 #define sqlite3_expired                sqlite3_api->expired |  | 
|  271 #endif |  | 
|  272 #define sqlite3_finalize               sqlite3_api->finalize |  | 
|  273 #define sqlite3_free                   sqlite3_api->free |  | 
|  274 #define sqlite3_free_table             sqlite3_api->free_table |  | 
|  275 #define sqlite3_get_autocommit         sqlite3_api->get_autocommit |  | 
|  276 #define sqlite3_get_auxdata            sqlite3_api->get_auxdata |  | 
|  277 #define sqlite3_get_table              sqlite3_api->get_table |  | 
|  278 #ifndef SQLITE_OMIT_DEPRECATED |  | 
|  279 #define sqlite3_global_recover         sqlite3_api->global_recover |  | 
|  280 #endif |  | 
|  281 #define sqlite3_interrupt              sqlite3_api->interruptx |  | 
|  282 #define sqlite3_last_insert_rowid      sqlite3_api->last_insert_rowid |  | 
|  283 #define sqlite3_libversion             sqlite3_api->libversion |  | 
|  284 #define sqlite3_libversion_number      sqlite3_api->libversion_number |  | 
|  285 #define sqlite3_malloc                 sqlite3_api->malloc |  | 
|  286 #define sqlite3_mprintf                sqlite3_api->mprintf |  | 
|  287 #define sqlite3_open                   sqlite3_api->open |  | 
|  288 #define sqlite3_open16                 sqlite3_api->open16 |  | 
|  289 #define sqlite3_prepare                sqlite3_api->prepare |  | 
|  290 #define sqlite3_prepare16              sqlite3_api->prepare16 |  | 
|  291 #define sqlite3_prepare_v2             sqlite3_api->prepare_v2 |  | 
|  292 #define sqlite3_prepare16_v2           sqlite3_api->prepare16_v2 |  | 
|  293 #define sqlite3_profile                sqlite3_api->profile |  | 
|  294 #define sqlite3_progress_handler       sqlite3_api->progress_handler |  | 
|  295 #define sqlite3_realloc                sqlite3_api->realloc |  | 
|  296 #define sqlite3_reset                  sqlite3_api->reset |  | 
|  297 #define sqlite3_result_blob            sqlite3_api->result_blob |  | 
|  298 #define sqlite3_result_double          sqlite3_api->result_double |  | 
|  299 #define sqlite3_result_error           sqlite3_api->result_error |  | 
|  300 #define sqlite3_result_error16         sqlite3_api->result_error16 |  | 
|  301 #define sqlite3_result_int             sqlite3_api->result_int |  | 
|  302 #define sqlite3_result_int64           sqlite3_api->result_int64 |  | 
|  303 #define sqlite3_result_null            sqlite3_api->result_null |  | 
|  304 #define sqlite3_result_text            sqlite3_api->result_text |  | 
|  305 #define sqlite3_result_text16          sqlite3_api->result_text16 |  | 
|  306 #define sqlite3_result_text16be        sqlite3_api->result_text16be |  | 
|  307 #define sqlite3_result_text16le        sqlite3_api->result_text16le |  | 
|  308 #define sqlite3_result_value           sqlite3_api->result_value |  | 
|  309 #define sqlite3_rollback_hook          sqlite3_api->rollback_hook |  | 
|  310 #define sqlite3_set_authorizer         sqlite3_api->set_authorizer |  | 
|  311 #define sqlite3_set_auxdata            sqlite3_api->set_auxdata |  | 
|  312 #define sqlite3_snprintf               sqlite3_api->snprintf |  | 
|  313 #define sqlite3_step                   sqlite3_api->step |  | 
|  314 #define sqlite3_table_column_metadata  sqlite3_api->table_column_metadata |  | 
|  315 #define sqlite3_thread_cleanup         sqlite3_api->thread_cleanup |  | 
|  316 #define sqlite3_total_changes          sqlite3_api->total_changes |  | 
|  317 #define sqlite3_trace                  sqlite3_api->trace |  | 
|  318 #ifndef SQLITE_OMIT_DEPRECATED |  | 
|  319 #define sqlite3_transfer_bindings      sqlite3_api->transfer_bindings |  | 
|  320 #endif |  | 
|  321 #define sqlite3_update_hook            sqlite3_api->update_hook |  | 
|  322 #define sqlite3_user_data              sqlite3_api->user_data |  | 
|  323 #define sqlite3_value_blob             sqlite3_api->value_blob |  | 
|  324 #define sqlite3_value_bytes            sqlite3_api->value_bytes |  | 
|  325 #define sqlite3_value_bytes16          sqlite3_api->value_bytes16 |  | 
|  326 #define sqlite3_value_double           sqlite3_api->value_double |  | 
|  327 #define sqlite3_value_int              sqlite3_api->value_int |  | 
|  328 #define sqlite3_value_int64            sqlite3_api->value_int64 |  | 
|  329 #define sqlite3_value_numeric_type     sqlite3_api->value_numeric_type |  | 
|  330 #define sqlite3_value_text             sqlite3_api->value_text |  | 
|  331 #define sqlite3_value_text16           sqlite3_api->value_text16 |  | 
|  332 #define sqlite3_value_text16be         sqlite3_api->value_text16be |  | 
|  333 #define sqlite3_value_text16le         sqlite3_api->value_text16le |  | 
|  334 #define sqlite3_value_type             sqlite3_api->value_type |  | 
|  335 #define sqlite3_vmprintf               sqlite3_api->vmprintf |  | 
|  336 #define sqlite3_overload_function      sqlite3_api->overload_function |  | 
|  337 #define sqlite3_prepare_v2             sqlite3_api->prepare_v2 |  | 
|  338 #define sqlite3_prepare16_v2           sqlite3_api->prepare16_v2 |  | 
|  339 #define sqlite3_clear_bindings         sqlite3_api->clear_bindings |  | 
|  340 #define sqlite3_bind_zeroblob          sqlite3_api->bind_zeroblob |  | 
|  341 #define sqlite3_blob_bytes             sqlite3_api->blob_bytes |  | 
|  342 #define sqlite3_blob_close             sqlite3_api->blob_close |  | 
|  343 #define sqlite3_blob_open              sqlite3_api->blob_open |  | 
|  344 #define sqlite3_blob_read              sqlite3_api->blob_read |  | 
|  345 #define sqlite3_blob_write             sqlite3_api->blob_write |  | 
|  346 #define sqlite3_create_collation_v2    sqlite3_api->create_collation_v2 |  | 
|  347 #define sqlite3_file_control           sqlite3_api->file_control |  | 
|  348 #define sqlite3_memory_highwater       sqlite3_api->memory_highwater |  | 
|  349 #define sqlite3_memory_used            sqlite3_api->memory_used |  | 
|  350 #define sqlite3_mutex_alloc            sqlite3_api->mutex_alloc |  | 
|  351 #define sqlite3_mutex_enter            sqlite3_api->mutex_enter |  | 
|  352 #define sqlite3_mutex_free             sqlite3_api->mutex_free |  | 
|  353 #define sqlite3_mutex_leave            sqlite3_api->mutex_leave |  | 
|  354 #define sqlite3_mutex_try              sqlite3_api->mutex_try |  | 
|  355 #define sqlite3_open_v2                sqlite3_api->open_v2 |  | 
|  356 #define sqlite3_release_memory         sqlite3_api->release_memory |  | 
|  357 #define sqlite3_result_error_nomem     sqlite3_api->result_error_nomem |  | 
|  358 #define sqlite3_result_error_toobig    sqlite3_api->result_error_toobig |  | 
|  359 #define sqlite3_sleep                  sqlite3_api->sleep |  | 
|  360 #define sqlite3_soft_heap_limit        sqlite3_api->soft_heap_limit |  | 
|  361 #define sqlite3_vfs_find               sqlite3_api->vfs_find |  | 
|  362 #define sqlite3_vfs_register           sqlite3_api->vfs_register |  | 
|  363 #define sqlite3_vfs_unregister         sqlite3_api->vfs_unregister |  | 
|  364 #define sqlite3_threadsafe             sqlite3_api->xthreadsafe |  | 
|  365 #define sqlite3_result_zeroblob        sqlite3_api->result_zeroblob |  | 
|  366 #define sqlite3_result_error_code      sqlite3_api->result_error_code |  | 
|  367 #define sqlite3_test_control           sqlite3_api->test_control |  | 
|  368 #define sqlite3_randomness             sqlite3_api->randomness |  | 
|  369 #define sqlite3_context_db_handle      sqlite3_api->context_db_handle |  | 
|  370 #define sqlite3_extended_result_codes  sqlite3_api->extended_result_codes |  | 
|  371 #define sqlite3_limit                  sqlite3_api->limit |  | 
|  372 #define sqlite3_next_stmt              sqlite3_api->next_stmt |  | 
|  373 #define sqlite3_sql                    sqlite3_api->sql |  | 
|  374 #define sqlite3_status                 sqlite3_api->status |  | 
|  375  |  | 
|  376 #define SQLITE_EXTENSION_INIT1     const sqlite3_api_routines *sqlite3_api = 0; |  | 
|  377 #define SQLITE_EXTENSION_INIT2(v)  sqlite3_api = v; |  | 
|  378  |  | 
|  379 #else |  | 
|  380  |  | 
|  381 #define SQLITE_EXTENSION_INIT1 |  | 
|  382 #define SQLITE_EXTENSION_INIT2(v) |  | 
|  383  |  | 
|  384 #endif /* SQLITE_CORE */ |  | 
|  385  |  | 
|  386 #endif /* _SQLITE3EXT_H_ */ |  | 
| OLD | NEW |