diff options
author | drh <drh@noemail.net> | 2016-07-29 01:49:36 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-07-29 01:49:36 +0000 |
commit | e363d50db86a8f07829502e22e66a8c0b7716fb1 (patch) | |
tree | 7f6a865dbfea16ecc3d2398e2e8ed0ac26b418d5 /src/sqlite3ext.h | |
parent | 99bbcc8287832d65fc954f29c5c340e1226292d5 (diff) | |
parent | c08556844e97b3b1c3ee19eca99e6cc98ff537ac (diff) | |
download | sqlite-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.h | 15 |
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. ** |