mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-03 03:10:24 +02:00
* Contribution by Silvio Clecio to make writing extensions possible
git-svn-id: trunk@40608 -
This commit is contained in:
parent
e2ff02a0f5
commit
f5a1fce16f
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -7667,6 +7667,7 @@ packages/sqlite/src/sqlite3.inc svneol=native#text/plain
|
||||
packages/sqlite/src/sqlite3.pp svneol=native#text/plain
|
||||
packages/sqlite/src/sqlite3db.pas svneol=native#text/x-pascal
|
||||
packages/sqlite/src/sqlite3dyn.pp svneol=native#text/plain
|
||||
packages/sqlite/src/sqlite3ext.pp svneol=native#text/plain
|
||||
packages/sqlite/src/sqlitedb.pas svneol=native#text/plain
|
||||
packages/sqlite/tests/test.pas svneol=native#text/plain
|
||||
packages/sqlite/tests/testapiv3x.README svneol=native#text/plain
|
||||
|
@ -47,7 +47,9 @@ begin
|
||||
AddUnit('sqlite');
|
||||
end;
|
||||
T:=P.Targets.AddUnit('sqlite.pp');
|
||||
|
||||
T:=P.Targets.AddUnit('sqlite3ext.pp');
|
||||
T.Dependencies.AddUnit('sqlite');
|
||||
|
||||
P.ExamplePath.Add('tests/');
|
||||
P.Targets.AddExampleProgram('testapiv3x.pp');
|
||||
P.Targets.AddExampleProgram('test.pas');
|
||||
|
313
packages/sqlite/src/sqlite3ext.pp
Normal file
313
packages/sqlite/src/sqlite3ext.pp
Normal file
@ -0,0 +1,313 @@
|
||||
{
|
||||
This file is part of the Free Pascal Classes Library (FCL).
|
||||
Copyright (C) 2018 Silvio Clecio (silvioprog) member of
|
||||
the Free Pascal development team.
|
||||
|
||||
This unit file defines the SQLite interface for use by
|
||||
shared libraries that want to be imported as extensions
|
||||
into a SQLite instance.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program 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.
|
||||
}
|
||||
|
||||
unit SQLite3Ext;
|
||||
|
||||
{$mode objfpc}{$h+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
ctypes,
|
||||
sqlite3;
|
||||
|
||||
{$packrecords c}
|
||||
|
||||
type
|
||||
Ppcchar = ^pcchar;
|
||||
PPpcchar = ^Ppcchar;
|
||||
va_list = type Pointer;
|
||||
|
||||
xCallback = function (_para1:cunsigned; _para2:pointer; _para3:pointer; _para4:pointer):cint;cdecl;
|
||||
|
||||
Psqlite3_api_routines = ^sqlite3_api_routines;
|
||||
(*
|
||||
** The following structure holds pointers to all of the SQLite API
|
||||
** routines.
|
||||
**
|
||||
** WARNING: In order to maintain backwards compatibility, add new
|
||||
** interfaces to the end of this structure only. If you insert new
|
||||
** interfaces in the middle of this structure, then older different
|
||||
** versions of SQLite will not be able to load each other's shared
|
||||
** libraries!
|
||||
*)
|
||||
sqlite3_api_routines = record
|
||||
aggregate_context : function (_para1:Psqlite3_context; nBytes:cint):pointer;cdecl;
|
||||
aggregate_count : function (_para1:Psqlite3_context):cint;cdecl;
|
||||
bind_blob : function (_para1:Psqlite3_stmt; _para2:cint; _para3:pointer; n:cint; _para5:sqlite3_destructor_type):cint;cdecl;
|
||||
bind_double : function (_para1:Psqlite3_stmt; _para2:cint; _para3:double):cint;cdecl;
|
||||
bind_int : function (_para1:Psqlite3_stmt; _para2:cint; _para3:cint):cint;cdecl;
|
||||
bind_int64 : function (_para1:Psqlite3_stmt; _para2:cint; _para3:sqlite_int64):cint;cdecl;
|
||||
bind_null : function (_para1:Psqlite3_stmt; _para2:cint):cint;cdecl;
|
||||
bind_parameter_count : function (_para1:Psqlite3_stmt):cint;cdecl;
|
||||
bind_parameter_index : function (_para1:Psqlite3_stmt; zName:pcchar):cint;cdecl;
|
||||
bind_parameter_name : function (_para1:Psqlite3_stmt; _para2:cint):pcchar;cdecl;
|
||||
bind_text : function (_para1:Psqlite3_stmt; _para2:cint; _para3:pcchar; n:cint; _para5:sqlite3_destructor_type):cint;cdecl;
|
||||
bind_text16 : function (_para1:Psqlite3_stmt; _para2:cint; _para3:pointer; _para4:cint; _para5:sqlite3_destructor_type):cint;cdecl;
|
||||
bind_value : function (_para1:Psqlite3_stmt; _para2:cint; _para3:Psqlite3_value):cint;cdecl;
|
||||
busy_handler : function (_para1:Psqlite3; _para2:busyhandler_callback; _para3:pointer):cint;cdecl;
|
||||
busy_timeout : function (_para1:Psqlite3; ms:cint):cint;cdecl;
|
||||
changes : function (_para1:Psqlite3):cint;cdecl;
|
||||
close : function (_para1:Psqlite3):cint;cdecl;
|
||||
collation_needed : function (_para1:Psqlite3; _para2:pointer; _para3:collation_needed_cb):cint;cdecl;
|
||||
collation_needed16 : function (_para1:Psqlite3; _para2:pointer; _para3:collation_needed_cb):cint;cdecl;
|
||||
column_blob : function (_para1:Psqlite3_stmt; iCol:cint):pointer;cdecl;
|
||||
column_bytes : function (_para1:Psqlite3_stmt; iCol:cint):cint;cdecl;
|
||||
column_bytes16 : function (_para1:Psqlite3_stmt; iCol:cint):cint;cdecl;
|
||||
column_count : function (pStmt:Psqlite3_stmt):cint;cdecl;
|
||||
column_database_name : function (_para1:Psqlite3_stmt; _para2:cint):pcchar;cdecl;
|
||||
column_database_name16 : function (_para1:Psqlite3_stmt; _para2:cint):pointer;cdecl;
|
||||
column_decltype : function (_para1:Psqlite3_stmt; i:cint):pcchar;cdecl;
|
||||
column_decltype16 : function (_para1:Psqlite3_stmt; _para2:cint):pointer;cdecl;
|
||||
column_double : function (_para1:Psqlite3_stmt; iCol:cint):double;cdecl;
|
||||
column_int : function (_para1:Psqlite3_stmt; iCol:cint):cint;cdecl;
|
||||
column_int64 : function (_para1:Psqlite3_stmt; iCol:cint):sqlite_int64;cdecl;
|
||||
column_name : function (_para1:Psqlite3_stmt; _para2:cint):pcchar;cdecl;
|
||||
column_name16 : function (_para1:Psqlite3_stmt; _para2:cint):pointer;cdecl;
|
||||
column_origin_name : function (_para1:Psqlite3_stmt; _para2:cint):pcchar;cdecl;
|
||||
column_origin_name16 : function (_para1:Psqlite3_stmt; _para2:cint):pointer;cdecl;
|
||||
column_table_name : function (_para1:Psqlite3_stmt; _para2:cint):pcchar;cdecl;
|
||||
column_table_name16 : function (_para1:Psqlite3_stmt; _para2:cint):pointer;cdecl;
|
||||
column_text : function (_para1:Psqlite3_stmt; iCol:cint):pcuchar;cdecl;
|
||||
column_text16 : function (_para1:Psqlite3_stmt; iCol:cint):pointer;cdecl;
|
||||
column_type : function (_para1:Psqlite3_stmt; iCol:cint):cint;cdecl;
|
||||
column_value : function (_para1:Psqlite3_stmt; iCol:cint):Psqlite3_value;cdecl;
|
||||
commit_hook : function (_para1:Psqlite3; _para2:commit_callback; _para3:pointer):pointer;cdecl;
|
||||
complete : function (sql:pcchar):cint;cdecl;
|
||||
complete16 : function (sql:pointer):cint;cdecl;
|
||||
create_collation : function (_para1:Psqlite3; _para2:pcchar; _para3:cint; _para4:pointer; _para5:xCompare):cint;cdecl;
|
||||
create_collation16 : function (_para1:Psqlite3; _para2:pointer; _para3:cint; _para4:pointer; _para5:xCompare):cint;cdecl;
|
||||
create_function : function (_para1:Psqlite3; _para2:pcchar; _para3:cint; _para4:cint; _para5:pointer;
|
||||
xFunc:xFunc; xStep:xStep; xFinal:xFinal):cint;cdecl;
|
||||
create_function16 : function (_para1:Psqlite3; _para2:pointer; _para3:cint; _para4:cint; _para5:pointer;
|
||||
xFunc:xFunc; xStep:xStep; xFinal:xFinal):cint;cdecl;
|
||||
create_module : function (_para1:Psqlite3; _para2:pcchar; _para3:Psqlite3_module; _para4:pointer):cint;cdecl;
|
||||
data_count : function (pStmt:Psqlite3_stmt):cint;cdecl;
|
||||
db_handle : function (_para1:Psqlite3_stmt):Psqlite3;cdecl;
|
||||
declare_vtab : function (_para1:Psqlite3; _para2:pcchar):cint;cdecl;
|
||||
enable_shared_cache : function (_para1:cint):cint;cdecl;
|
||||
errcode : function (db:Psqlite3):cint;cdecl;
|
||||
errmsg : function (_para1:Psqlite3):pcchar;cdecl;
|
||||
errmsg16 : function (_para1:Psqlite3):pointer;cdecl;
|
||||
exec : function (_para1:Psqlite3; _para2:pcchar; _para3:sqlite3_callback; _para4:pointer; _para5:Ppcchar):cint;cdecl;
|
||||
expired : function (_para1:Psqlite3_stmt):cint;cdecl;
|
||||
finalize : function (pStmt:Psqlite3_stmt):cint;cdecl;
|
||||
free : procedure;cdecl;
|
||||
free_table : procedure (result:Ppcchar);cdecl;
|
||||
get_autocommit : function (_para1:Psqlite3):cint;cdecl;
|
||||
get_auxdata : function (_para1:Psqlite3_context; _para2:cint):pointer;cdecl;
|
||||
get_table : function (_para1:Psqlite3; _para2:pcchar; _para3:PPpcchar; _para4:pcint; _para5:pcint;
|
||||
_para6:Ppcchar):cint;cdecl;
|
||||
global_recover : function :cint;cdecl;
|
||||
interruptx : procedure (_para1:Psqlite3);cdecl;
|
||||
last_insert_rowid : function (_para1:Psqlite3):sqlite_int64;cdecl;
|
||||
libversion : function :pcchar;cdecl;
|
||||
libversion_number : function :cint;cdecl;
|
||||
malloc : function (_para1:cint):pointer;cdecl;
|
||||
mprintf : function (_para1:pcchar; args:array of const):pcchar;cdecl;
|
||||
open : function (_para1:pcchar; _para2:PPsqlite3):cint;cdecl;
|
||||
open16 : function (_para1:pointer; _para2:PPsqlite3):cint;cdecl;
|
||||
prepare : function (_para1:Psqlite3; _para2:pcchar; _para3:cint; _para4:PPsqlite3_stmt; _para5:Ppcchar):cint;cdecl;
|
||||
prepare16 : function (_para1:Psqlite3; _para2:pointer; _para3:cint; _para4:PPsqlite3_stmt; _para5:Ppointer):cint;cdecl;
|
||||
profile : function (_para1:Psqlite3; _para2:xProfile; _para3:pointer):pointer;cdecl;
|
||||
progress_handler : procedure (_para1:Psqlite3; _para2:cint; _para3:commit_callback; _para4:pointer);cdecl;
|
||||
realloc : function:pointer;cdecl;
|
||||
reset : function (pStmt:Psqlite3_stmt):cint;cdecl;
|
||||
result_blob : procedure (_para1:Psqlite3_context; _para2:pointer; _para3:cint; _para4:sqlite3_destructor_type);cdecl;
|
||||
result_double : procedure (_para1:Psqlite3_context; _para2:double);cdecl;
|
||||
result_error : procedure (_para1:Psqlite3_context; _para2:pcchar; _para3:cint);cdecl;
|
||||
result_error16 : procedure (_para1:Psqlite3_context; _para2:pointer; _para3:cint);cdecl;
|
||||
result_int : procedure (_para1:Psqlite3_context; _para2:cint);cdecl;
|
||||
result_int64 : procedure (_para1:Psqlite3_context; _para2:sqlite_int64);cdecl;
|
||||
result_null : procedure (_para1:Psqlite3_context);cdecl;
|
||||
result_text : procedure (_para1:Psqlite3_context; _para2:pcchar; _para3:cint; _para4:sqlite3_destructor_type);cdecl;
|
||||
result_text16 : procedure (_para1:Psqlite3_context; _para2:pointer; _para3:cint; _para4:sqlite3_destructor_type);cdecl;
|
||||
result_text16be : procedure (_para1:Psqlite3_context; _para2:pointer; _para3:cint; _para4:sqlite3_destructor_type);cdecl;
|
||||
result_text16le : procedure (_para1:Psqlite3_context; _para2:pointer; _para3:cint; _para4:sqlite3_destructor_type);cdecl;
|
||||
result_value : procedure (_para1:Psqlite3_context; _para2:Psqlite3_value);cdecl;
|
||||
rollback_hook : function (_para1:Psqlite3; _para2:sqlite3_destructor_type; _para3:pointer):pointer;cdecl;
|
||||
set_authorizer : function (_para1:Psqlite3; _para2:xAuth; _para3:pointer):cint;cdecl;
|
||||
set_auxdata : procedure (_para1:Psqlite3_context; _para2:cint; _para3:pointer; _para4:sqlite3_destructor_type);cdecl;
|
||||
xsnprintf : function (_para1:cint; _para2:pcchar; _para3:pcchar; args:array of const):pcchar;cdecl;
|
||||
step : function (_para1:Psqlite3_stmt):cint;cdecl;
|
||||
table_column_metadata : function (_para1:Psqlite3; _para2:pcchar; _para3:pcchar; _para4:pcchar; _para5:Ppcchar;
|
||||
_para6:Ppcchar; _para7:pcint; _para8:pcint; _para9:pcint):cint;cdecl;
|
||||
thread_cleanup : procedure ;cdecl;
|
||||
total_changes : function (_para1:Psqlite3):cint;cdecl;
|
||||
trace : function (_para1:Psqlite3; xTrace:xTrace; _para3:pointer):pointer;cdecl;
|
||||
transfer_bindings : function (_para1:Psqlite3_stmt; _para2:Psqlite3_stmt):cint;cdecl;
|
||||
update_hook : function (_para1:Psqlite3; _para2:update_callback; _para3:pointer):pointer;cdecl;
|
||||
user_data : function (_para1:Psqlite3_context):pointer;cdecl;
|
||||
value_blob : function (_para1:Psqlite3_value):pointer;cdecl;
|
||||
value_bytes : function (_para1:Psqlite3_value):cint;cdecl;
|
||||
value_bytes16 : function (_para1:Psqlite3_value):cint;cdecl;
|
||||
value_double : function (_para1:Psqlite3_value):double;cdecl;
|
||||
value_int : function (_para1:Psqlite3_value):cint;cdecl;
|
||||
value_int64 : function (_para1:Psqlite3_value):sqlite_int64;cdecl;
|
||||
value_numeric_type : function (_para1:Psqlite3_value):cint;cdecl;
|
||||
value_text : function (_para1:Psqlite3_value):pcuchar;cdecl;
|
||||
value_text16 : function (_para1:Psqlite3_value):pointer;cdecl;
|
||||
value_text16be : function (_para1:Psqlite3_value):pointer;cdecl;
|
||||
value_text16le : function (_para1:Psqlite3_value):pointer;cdecl;
|
||||
value_type : function (_para1:Psqlite3_value):cint;cdecl;
|
||||
vmprintf : function (_para1:pcchar; _para2:va_list):pcchar;cdecl;
|
||||
overload_function : function (_para1:Psqlite3; zFuncName:pcchar; nArg:cint):cint;cdecl;
|
||||
prepare_v2 : function (_para1:Psqlite3; _para2:pcchar; _para3:cint; _para4:PPsqlite3_stmt; _para5:Ppcchar):cint;cdecl;
|
||||
prepare16_v2 : function (_para1:Psqlite3; _para2:pointer; _para3:cint; _para4:PPsqlite3_stmt; _para5:Ppointer):cint;cdecl;
|
||||
clear_bindings : function (_para1:Psqlite3_stmt):cint;cdecl;
|
||||
create_module_v2 : function (_para1:Psqlite3; _para2:pcchar; _para3:Psqlite3_module; _para4:pointer; xDestroy:sqlite3_destructor_type):cint;cdecl;
|
||||
bind_zeroblob : function (_para1:Psqlite3_stmt; _para2:cint; _para3:cint):cint;cdecl;
|
||||
blob_bytes : function (_para1:Psqlite3_blob):cint;cdecl;
|
||||
blob_close : function (_para1:Psqlite3_blob):cint;cdecl;
|
||||
blob_open : function (_para1:Psqlite3; _para2:pcchar; _para3:pcchar; _para4:pcchar; _para5:sqlite3_int64;
|
||||
_para6:cint; _para7:PPsqlite3_blob):cint;cdecl;
|
||||
blob_read : function (_para1:Psqlite3_blob; _para2:pointer; _para3:cint; _para4:cint):cint;cdecl;
|
||||
blob_write : function (_para1:Psqlite3_blob; _para2:pointer; _para3:cint; _para4:cint):cint;cdecl;
|
||||
create_collation_v2 : function (_para1:Psqlite3; _para2:pcchar; _para3:cint; _para4:pointer; _para5:xCompare;
|
||||
_para6:sqlite3_destructor_type):cint;cdecl;
|
||||
file_control : function (_para1:Psqlite3; _para2:pcchar; _para3:cint; _para4:pointer):cint;cdecl;
|
||||
memory_highwater : function (_para1:cint):sqlite3_int64;cdecl;
|
||||
memory_used : function :sqlite3_int64;cdecl;
|
||||
mutex_alloc : function (_para1:cint):Psqlite3_mutex;cdecl;
|
||||
mutex_enter : procedure (_para1:Psqlite3_mutex);cdecl;
|
||||
mutex_free : procedure (_para1:Psqlite3_mutex);cdecl;
|
||||
mutex_leave : procedure (_para1:Psqlite3_mutex);cdecl;
|
||||
mutex_try : function (_para1:Psqlite3_mutex):cint;cdecl;
|
||||
open_v2 : function (_para1:pcchar; _para2:PPsqlite3; _para3:cint; _para4:pcchar):cint;cdecl;
|
||||
release_memory : function (_para1:cint):cint;cdecl;
|
||||
result_error_nomem : procedure (_para1:Psqlite3_context);cdecl;
|
||||
result_error_toobig : procedure (_para1:Psqlite3_context);cdecl;
|
||||
sleep : function (_para1:cint):cint;cdecl;
|
||||
soft_heap_limit : procedure (_para1:cint);cdecl;
|
||||
vfs_find : function (_para1:pcchar):Psqlite3_vfs;cdecl;
|
||||
vfs_register : function (_para1:Psqlite3_vfs; _para2:cint):cint;cdecl;
|
||||
vfs_unregister : function (_para1:Psqlite3_vfs):cint;cdecl;
|
||||
xthreadsafe : function :cint;cdecl;
|
||||
result_zeroblob : procedure (_para1:Psqlite3_context; _para2:cint);cdecl;
|
||||
result_error_code : procedure (_para1:Psqlite3_context; _para2:cint);cdecl;
|
||||
test_control : function (_para1:cint; args:array of const):cint;cdecl;
|
||||
randomness : procedure (_para1:cint; _para2:pointer);cdecl;
|
||||
context_db_handle : function (_para1:Psqlite3_context):Psqlite3;cdecl;
|
||||
extended_result_codes : function (_para1:Psqlite3; _para2:cint):cint;cdecl;
|
||||
limit : function (_para1:Psqlite3; _para2:cint; _para3:cint):cint;cdecl;
|
||||
next_stmt : function (_para1:Psqlite3; _para2:Psqlite3_stmt):Psqlite3_stmt;cdecl;
|
||||
sql : function (_para1:Psqlite3_stmt):pcchar;cdecl;
|
||||
status : function (_para1:cint; _para2:pcint; _para3:pcint; _para4:cint):cint;cdecl;
|
||||
backup_finish : function (_para1:Psqlite3backup):cint;cdecl;
|
||||
backup_init : function (_para1:Psqlite3; _para2:pcchar; _para3:Psqlite3; _para4:pcchar):Psqlite3backup;cdecl;
|
||||
backup_pagecount : function (_para1:Psqlite3backup):cint;cdecl;
|
||||
backup_remaining : function (_para1:Psqlite3backup):cint;cdecl;
|
||||
backup_step : function (_para1:Psqlite3backup; _para2:cint):cint;cdecl;
|
||||
compileoption_get : function (_para1:cint):pcchar;cdecl;
|
||||
compileoption_used : function (_para1:pcchar):cint;cdecl;
|
||||
create_function_v2 : function (_para1:Psqlite3; _para2:pcchar; _para3:cint; _para4:cint; _para5:pointer;
|
||||
xFunc:xFunc; xStep:xStep; xFinal:xFinal; xDestroy:sqlite3_destructor_type):cint;cdecl;
|
||||
db_config : function (_para1:Psqlite3; _para2:cint; args:array of const):cint;cdecl;
|
||||
db_mutex : function (_para1:Psqlite3):Psqlite3_mutex;cdecl;
|
||||
db_status : function (_para1:Psqlite3; _para2:cint; _para3:pcint; _para4:pcint; _para5:cint):cint;cdecl;
|
||||
extended_errcode : function (_para1:Psqlite3):cint;cdecl;
|
||||
log : procedure (_para1:cint; _para2:pcchar; args:array of const);cdecl;
|
||||
soft_heap_limit64 : function (_para1:sqlite3_int64):sqlite3_int64;cdecl;
|
||||
sourceid : function :pcchar;cdecl;
|
||||
stmt_status : function (_para1:Psqlite3_stmt; _para2:cint; _para3:cint):cint;cdecl;
|
||||
strnicmp : function (_para1:pcchar; _para2:pcchar; _para3:cint):cint;cdecl;
|
||||
unlock_notify : function (_para1:Psqlite3; _para2:xNotifycb; _para3:pointer):cint;cdecl;
|
||||
wal_autocheckpoint : function (_para1:Psqlite3; _para2:cint):cint;cdecl;
|
||||
wal_checkpoint : function (_para1:Psqlite3; _para2:pcchar):cint;cdecl;
|
||||
wal_hook : function (_para1:Psqlite3; _para2:wal_hook_cb; _para3:pointer):pointer;cdecl;
|
||||
blob_reopen : function (_para1:Psqlite3_blob; _para2:sqlite3_int64):cint;cdecl;
|
||||
vtab_config : function (_para1:Psqlite3; op:cint; args:array of const):cint;cdecl;
|
||||
vtab_on_conflict : function (_para1:Psqlite3):cint;cdecl;
|
||||
close_v2 : function (_para1:Psqlite3):cint;cdecl;
|
||||
db_filename : function (_para1:Psqlite3; _para2:pcchar):pcchar;cdecl;
|
||||
db_readonly : function (_para1:Psqlite3; _para2:pcchar):cint;cdecl;
|
||||
db_release_memory : function (_para1:Psqlite3):cint;cdecl;
|
||||
errstr : function (_para1:cint):pcchar;cdecl;
|
||||
stmt_busy : function (_para1:Psqlite3_stmt):cint;cdecl;
|
||||
stmt_readonly : function (_para1:Psqlite3_stmt):cint;cdecl;
|
||||
stricmp : function (_para1:pcchar; _para2:pcchar):cint;cdecl;
|
||||
uri_boolean : function (_para1:pcchar; _para2:pcchar; _para3:cint):cint;cdecl;
|
||||
uri_int64 : function (_para1:pcchar; _para2:pcchar; _para3:sqlite3_int64):sqlite3_int64;cdecl;
|
||||
uri_parameter : function (_para1:pcchar; _para2:pcchar):pcchar;cdecl;
|
||||
xvsnprintf : function (_para1:cint; _para2:pcchar; _para3:pcchar; _para4:va_list):pcchar;cdecl;
|
||||
wal_checkpoint_v2 : function (_para1:Psqlite3; _para2:pcchar; _para3:cint; _para4:pcint; _para5:pcint):cint;cdecl;
|
||||
auto_extension : function (_para1:pointer ):cint;cdecl;
|
||||
bind_blob64 : function (_para1:Psqlite3_stmt; _para2:cint; _para3:pointer; _para4:sqlite3_uint64; _para5:sqlite3_destructor_type):cint;cdecl;
|
||||
bind_text64 : function (_para1:Psqlite3_stmt; _para2:cint; _para3:pcchar; _para4:sqlite3_uint64; _para5:sqlite3_destructor_type;
|
||||
_para6:cuchar):cint;cdecl;
|
||||
cancel_auto_extension : function (_para1:pointer ):cint;cdecl;
|
||||
load_extension : function (_para1:Psqlite3; _para2:pcchar; _para3:pcchar; _para4:Ppcchar):cint;cdecl;
|
||||
malloc64 : function (_para1:sqlite3_uint64):pointer;cdecl;
|
||||
msize : function (_para1:pointer):sqlite3_uint64;cdecl;
|
||||
realloc64 : function (_para1:pointer; _para2:sqlite3_uint64):pointer;cdecl;
|
||||
reset_auto_extension : procedure ;cdecl;
|
||||
result_blob64 : procedure (_para1:Psqlite3_context; _para2:pointer; _para3:sqlite3_uint64; _para4:sqlite3_destructor_type);cdecl;
|
||||
result_text64 : procedure (_para1:Psqlite3_context; _para2:pcchar; _para3:sqlite3_uint64; _para4:sqlite3_destructor_type; _para5:cuchar);cdecl;
|
||||
strglob : function (_para1:pcchar; _para2:pcchar):cint;cdecl;
|
||||
value_dup : function (_para1:Psqlite3_value):Psqlite3_value;cdecl;
|
||||
value_free : procedure (_para1:Psqlite3_value);cdecl;
|
||||
result_zeroblob64 : function (_para1:Psqlite3_context; _para2:sqlite3_uint64):cint;cdecl;
|
||||
bind_zeroblob64 : function (_para1:Psqlite3_stmt; _para2:cint; _para3:sqlite3_uint64):cint;cdecl;
|
||||
value_subtype : function (_para1:Psqlite3_value):cuint;cdecl;
|
||||
result_subtype : procedure (_para1:Psqlite3_context; _para2:cuint);cdecl;
|
||||
status64 : function (_para1:cint; _para2:Psqlite3_int64; _para3:Psqlite3_int64; _para4:cint):cint;cdecl;
|
||||
strlike : function (_para1:pcchar; _para2:pcchar; _para3:cuint):cint;cdecl;
|
||||
db_cacheflush : function (_para1:Psqlite3):cint;cdecl;
|
||||
system_errno : function (_para1:Psqlite3):cint;cdecl;
|
||||
trace_v2 : function (_para1:Psqlite3; _para2:cunsigned; _para3:xCallback; _para4:pointer):cint;cdecl;
|
||||
expanded_sql : function (_para1:Psqlite3_stmt):pcchar;cdecl;
|
||||
set_last_insert_rowid : procedure (_para1:Psqlite3; _para2:sqlite3_int64);cdecl;
|
||||
prepare_v3 : function (_para1:Psqlite3; _para2:pcchar; _para3:cint; _para4:cuint; _para5:PPsqlite3_stmt;
|
||||
_para6:Ppcchar):cint;cdecl;
|
||||
prepare16_v3 : function (_para1:Psqlite3; _para2:pointer; _para3:cint; _para4:cuint; _para5:PPsqlite3_stmt;
|
||||
_para6:Ppointer):cint;cdecl;
|
||||
bind_pointer : function (_para1:Psqlite3_stmt; _para2:cint; _para3:pointer; _para4:pcchar; _para5:sqlite3_destructor_type):cint;cdecl;
|
||||
result_pointer : procedure (_para1:Psqlite3_context; _para2:pointer; _para3:pcchar; _para4:sqlite3_destructor_type);cdecl;
|
||||
value_pointer : function (_para1:Psqlite3_value; _para2:pcchar):pointer;cdecl;
|
||||
vtab_nochange : function (_para1:Psqlite3_context):cint;cdecl;
|
||||
value_nochange : function (_para1:Psqlite3_value):cint;cdecl;
|
||||
vtab_collation : function (_para1:Psqlite3_index_info; _para2:cint):pcchar;cdecl;
|
||||
end;
|
||||
|
||||
// These are no-ops.
|
||||
procedure SQLITE_EXTENSION_INIT1;
|
||||
procedure SQLITE_EXTENSION_INIT3;
|
||||
|
||||
// This is actually unnecessary, but is provided for compatibility with sqlite3ext tutorial.
|
||||
|
||||
Var
|
||||
sqlite3_api : Psqlite3_api_routines;
|
||||
|
||||
procedure SQLITE_EXTENSION_INIT2(v: Psqlite3_api_routines);
|
||||
|
||||
implementation
|
||||
|
||||
procedure SQLITE_EXTENSION_INIT1;
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure SQLITE_EXTENSION_INIT2(v: Psqlite3_api_routines);
|
||||
begin
|
||||
sqlite3_api:=v;
|
||||
end;
|
||||
|
||||
procedure SQLITE_EXTENSION_INIT3;
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
end.
|
Loading…
Reference in New Issue
Block a user