aboutsummaryrefslogtreecommitdiff
path: root/src/sqlite3ext.h
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2016-07-29 01:49:36 +0000
committerdrh <drh@noemail.net>2016-07-29 01:49:36 +0000
commite363d50db86a8f07829502e22e66a8c0b7716fb1 (patch)
tree7f6a865dbfea16ecc3d2398e2e8ed0ac26b418d5 /src/sqlite3ext.h
parent99bbcc8287832d65fc954f29c5c340e1226292d5 (diff)
parentc08556844e97b3b1c3ee19eca99e6cc98ff537ac (diff)
downloadsqlite-e363d50db86a8f07829502e22e66a8c0b7716fb1.tar.gz
sqlite-e363d50db86a8f07829502e22e66a8c0b7716fb1.zip
Further refinement to the calling convention macros.
FossilOrigin-Name: 45588de385d2a721b3e9f04beb6c7b789dd27d42
Diffstat (limited to 'src/sqlite3ext.h')
-rw-r--r--src/sqlite3ext.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/sqlite3ext.h b/src/sqlite3ext.h
index 338e1becd..689a5c485 100644
--- a/src/sqlite3ext.h
+++ b/src/sqlite3ext.h
@@ -251,12 +251,13 @@ struct sqlite3_api_routines {
char *(*vsnprintf)(int,char*,const char*,va_list);
int (*wal_checkpoint_v2)(sqlite3*,const char*,int,int*,int*);
/* Version 3.8.7 and later */
- int (*auto_extension)(void(*)(void));
+ int (*auto_extension)(int(*)(sqlite3*,char**,const sqlite3_api_routines*));
int (*bind_blob64)(sqlite3_stmt*,int,const void*,sqlite3_uint64,
void(*)(void*));
int (*bind_text64)(sqlite3_stmt*,int,const char*,sqlite3_uint64,
void(*)(void*),unsigned char);
- int (*cancel_auto_extension)(void(*)(void));
+ int (*cancel_auto_extension)(int(*)(sqlite3*,char**,
+ const sqlite3_api_routines*));
int (*load_extension)(sqlite3*,const char*,const char*,char**);
void *(*malloc64)(sqlite3_uint64);
sqlite3_uint64 (*msize)(void*);
@@ -287,6 +288,16 @@ struct sqlite3_api_routines {
};
/*
+** This is the function signature used for all extension entry points. It
+** is also defined in the file "loadext.c".
+*/
+typedef int (*sqlite3_loadext_entry)(
+ sqlite3 *db, /* Handle to the database. */
+ char **pzErrMsg, /* Used to set error string on failure. */
+ const sqlite3_api_routines *pThunk /* Extension API function pointers. */
+);
+
+/*
** The following macros redefine the API routines so that they are
** redirected through the global sqlite3_api structure.
**