Wrapped libsqlite3 (#1625)

* Wrapped libsqlite3

* More functions
This commit is contained in:
Yang Liu 2024-07-02 00:58:17 +08:00 committed by GitHub
parent 15a7c4d8dd
commit dbb84245a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 361 additions and 0 deletions

View File

@ -658,6 +658,7 @@ set(WRAPPEDS
"${BOX64_ROOT}/src/wrapped/wrappedlibnettle8.c"
"${BOX64_ROOT}/src/wrapped/wrappedlibunistring2.c"
"${BOX64_ROOT}/src/wrapped/wrappedlibhogweed6.c"
"${BOX64_ROOT}/src/wrapped/wrappedlibsqlite3.c"
)
endif()
if(ANDROID)

View File

@ -261,6 +261,7 @@ GO("libtasn1.so.6", libtasn1)
GO("libnettle.so.8", libnettle8)
GO("libunistring.so.2", libunistring2)
GO("libhogweed.so.6", libhogweed6)
GO("libsqlite3.so.0", libsqlite3)
#ifdef ANDROID
GO("libc.so", libc)

View File

@ -40,6 +40,7 @@
#() iFP
#() iFb
#() IFv
#() IFi
#() IFI
#() IFf
#() IFd
@ -415,6 +416,7 @@
#() vFLup
#() vFLpL
#() vFLpp
#() vFpic
#() vFpii
#() vFpiI
#() vFpiC
@ -513,10 +515,12 @@
#() iFLpp
#() iFpwp
#() iFpii
#() iFpiI
#() iFpiC
#() iFpiW
#() iFpiu
#() iFpiU
#() iFpid
#() iFpil
#() iFpiL
#() iFpip
@ -2397,6 +2401,7 @@
#() iFpppLppp
#() iFppppilp
#() iFppppipp
#() iFppppIip
#() iFppppdpu
#() iFpppppip
#() iFpppppLp
@ -4750,6 +4755,7 @@ wrappedlibsndfile:
- sf_close
- pFpipp:
- sf_open_virtual
wrappedlibsqlite3:
wrappedlibssh2:
wrappedlibssl:
- pFp:

View File

@ -0,0 +1,8 @@
/*******************************************************************
* File automatically generated by rebuild_wrappers.py (v2.4.0.21) *
*******************************************************************/
#ifndef __wrappedlibsqlite3DEFS_H_
#define __wrappedlibsqlite3DEFS_H_
#endif // __wrappedlibsqlite3DEFS_H_

View File

@ -0,0 +1,17 @@
/*******************************************************************
* File automatically generated by rebuild_wrappers.py (v2.4.0.21) *
*******************************************************************/
#ifndef __wrappedlibsqlite3TYPES_H_
#define __wrappedlibsqlite3TYPES_H_
#ifndef LIBNAME
#error You should only #include this file inside a wrapped*.c file
#endif
#ifndef ADDED_FUNCTIONS
#define ADDED_FUNCTIONS()
#endif
#define SUPER() ADDED_FUNCTIONS()
#endif // __wrappedlibsqlite3TYPES_H_

View File

@ -0,0 +1,8 @@
/*******************************************************************
* File automatically generated by rebuild_wrappers.py (v2.4.0.21) *
*******************************************************************/
#ifndef __wrappedlibsqlite3UNDEFS_H_
#define __wrappedlibsqlite3UNDEFS_H_
#endif // __wrappedlibsqlite3UNDEFS_H_

View File

@ -78,6 +78,7 @@ typedef int32_t (*iFS_t)(void*);
typedef int32_t (*iFP_t)(void*);
typedef int32_t (*iFb_t)(void*);
typedef int64_t (*IFv_t)(void);
typedef int64_t (*IFi_t)(int32_t);
typedef int64_t (*IFI_t)(int64_t);
typedef int64_t (*IFf_t)(float);
typedef int64_t (*IFd_t)(double);
@ -453,6 +454,7 @@ typedef void (*vFlpp_t)(intptr_t, void*, void*);
typedef void (*vFLup_t)(uintptr_t, uint32_t, void*);
typedef void (*vFLpL_t)(uintptr_t, void*, uintptr_t);
typedef void (*vFLpp_t)(uintptr_t, void*, void*);
typedef void (*vFpic_t)(void*, int32_t, int8_t);
typedef void (*vFpii_t)(void*, int32_t, int32_t);
typedef void (*vFpiI_t)(void*, int32_t, int64_t);
typedef void (*vFpiC_t)(void*, int32_t, uint8_t);
@ -551,10 +553,12 @@ typedef int32_t (*iFLip_t)(uintptr_t, int32_t, void*);
typedef int32_t (*iFLpp_t)(uintptr_t, void*, void*);
typedef int32_t (*iFpwp_t)(void*, int16_t, void*);
typedef int32_t (*iFpii_t)(void*, int32_t, int32_t);
typedef int32_t (*iFpiI_t)(void*, int32_t, int64_t);
typedef int32_t (*iFpiC_t)(void*, int32_t, uint8_t);
typedef int32_t (*iFpiW_t)(void*, int32_t, uint16_t);
typedef int32_t (*iFpiu_t)(void*, int32_t, uint32_t);
typedef int32_t (*iFpiU_t)(void*, int32_t, uint64_t);
typedef int32_t (*iFpid_t)(void*, int32_t, double);
typedef int32_t (*iFpil_t)(void*, int32_t, intptr_t);
typedef int32_t (*iFpiL_t)(void*, int32_t, uintptr_t);
typedef int32_t (*iFpip_t)(void*, int32_t, void*);
@ -2435,6 +2439,7 @@ typedef int32_t (*iFpppuiii_t)(void*, void*, void*, uint32_t, int32_t, int32_t,
typedef int32_t (*iFpppLppp_t)(void*, void*, void*, uintptr_t, void*, void*, void*);
typedef int32_t (*iFppppilp_t)(void*, void*, void*, void*, int32_t, intptr_t, void*);
typedef int32_t (*iFppppipp_t)(void*, void*, void*, void*, int32_t, void*, void*);
typedef int32_t (*iFppppIip_t)(void*, void*, void*, void*, int64_t, int32_t, void*);
typedef int32_t (*iFppppdpu_t)(void*, void*, void*, void*, double, void*, uint32_t);
typedef int32_t (*iFpppppip_t)(void*, void*, void*, void*, void*, int32_t, void*);
typedef int32_t (*iFpppppLp_t)(void*, void*, void*, void*, void*, uintptr_t, void*);
@ -3172,6 +3177,7 @@ void iFS(x64emu_t *emu, uintptr_t fcn) { iFS_t fn = (iFS_t)fcn; R_RAX=(int32_t)f
void iFP(x64emu_t *emu, uintptr_t fcn) { iFP_t fn = (iFP_t)fcn; R_RAX=(int32_t)fn(*(void**)(R_RSP + 8)); }
void iFb(x64emu_t *emu, uintptr_t fcn) { iFb_t fn = (iFb_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(int32_t)fn(aligned_xcb); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
void IFv(x64emu_t *emu, uintptr_t fcn) { IFv_t fn = (IFv_t)fcn; R_RAX=(int64_t)fn(); }
void IFi(x64emu_t *emu, uintptr_t fcn) { IFi_t fn = (IFi_t)fcn; R_RAX=(int64_t)fn((int32_t)R_RDI); }
void IFI(x64emu_t *emu, uintptr_t fcn) { IFI_t fn = (IFI_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI); }
void IFf(x64emu_t *emu, uintptr_t fcn) { IFf_t fn = (IFf_t)fcn; R_RAX=(int64_t)fn(emu->xmm[0].f[0]); }
void IFd(x64emu_t *emu, uintptr_t fcn) { IFd_t fn = (IFd_t)fcn; R_RAX=(int64_t)fn(emu->xmm[0].d[0]); }
@ -3547,6 +3553,7 @@ void vFlpp(x64emu_t *emu, uintptr_t fcn) { vFlpp_t fn = (vFlpp_t)fcn; fn((intptr
void vFLup(x64emu_t *emu, uintptr_t fcn) { vFLup_t fn = (vFLup_t)fcn; fn((uintptr_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); }
void vFLpL(x64emu_t *emu, uintptr_t fcn) { vFLpL_t fn = (vFLpL_t)fcn; fn((uintptr_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
void vFLpp(x64emu_t *emu, uintptr_t fcn) { vFLpp_t fn = (vFLpp_t)fcn; fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
void vFpic(x64emu_t *emu, uintptr_t fcn) { vFpic_t fn = (vFpic_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int8_t)R_RDX); }
void vFpii(x64emu_t *emu, uintptr_t fcn) { vFpii_t fn = (vFpii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); }
void vFpiI(x64emu_t *emu, uintptr_t fcn) { vFpiI_t fn = (vFpiI_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int64_t)R_RDX); }
void vFpiC(x64emu_t *emu, uintptr_t fcn) { vFpiC_t fn = (vFpiC_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (uint8_t)R_RDX); }
@ -3645,10 +3652,12 @@ void iFLip(x64emu_t *emu, uintptr_t fcn) { iFLip_t fn = (iFLip_t)fcn; R_RAX=(int
void iFLpp(x64emu_t *emu, uintptr_t fcn) { iFLpp_t fn = (iFLpp_t)fcn; R_RAX=(int32_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
void iFpwp(x64emu_t *emu, uintptr_t fcn) { iFpwp_t fn = (iFpwp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int16_t)R_RSI, (void*)R_RDX); }
void iFpii(x64emu_t *emu, uintptr_t fcn) { iFpii_t fn = (iFpii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); }
void iFpiI(x64emu_t *emu, uintptr_t fcn) { iFpiI_t fn = (iFpiI_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int64_t)R_RDX); }
void iFpiC(x64emu_t *emu, uintptr_t fcn) { iFpiC_t fn = (iFpiC_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint8_t)R_RDX); }
void iFpiW(x64emu_t *emu, uintptr_t fcn) { iFpiW_t fn = (iFpiW_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint16_t)R_RDX); }
void iFpiu(x64emu_t *emu, uintptr_t fcn) { iFpiu_t fn = (iFpiu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX); }
void iFpiU(x64emu_t *emu, uintptr_t fcn) { iFpiU_t fn = (iFpiU_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint64_t)R_RDX); }
void iFpid(x64emu_t *emu, uintptr_t fcn) { iFpid_t fn = (iFpid_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, emu->xmm[0].d[0]); }
void iFpil(x64emu_t *emu, uintptr_t fcn) { iFpil_t fn = (iFpil_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (intptr_t)R_RDX); }
void iFpiL(x64emu_t *emu, uintptr_t fcn) { iFpiL_t fn = (iFpiL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uintptr_t)R_RDX); }
void iFpip(x64emu_t *emu, uintptr_t fcn) { iFpip_t fn = (iFpip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX); }
@ -5529,6 +5538,7 @@ void iFpppuiii(x64emu_t *emu, uintptr_t fcn) { iFpppuiii_t fn = (iFpppuiii_t)fcn
void iFpppLppp(x64emu_t *emu, uintptr_t fcn) { iFpppLppp_t fn = (iFpppLppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
void iFppppilp(x64emu_t *emu, uintptr_t fcn) { iFppppilp_t fn = (iFppppilp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (intptr_t)R_R9, *(void**)(R_RSP + 8)); }
void iFppppipp(x64emu_t *emu, uintptr_t fcn) { iFppppipp_t fn = (iFppppipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
void iFppppIip(x64emu_t *emu, uintptr_t fcn) { iFppppIip_t fn = (iFppppIip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
void iFppppdpu(x64emu_t *emu, uintptr_t fcn) { iFppppdpu_t fn = (iFppppdpu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, emu->xmm[0].d[0], (void*)R_R8, (uint32_t)R_R9); }
void iFpppppip(x64emu_t *emu, uintptr_t fcn) { iFpppppip_t fn = (iFpppppip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
void iFpppppLp(x64emu_t *emu, uintptr_t fcn) { iFpppppLp_t fn = (iFpppppLp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8)); }
@ -6269,6 +6279,7 @@ int isSimpleWrapper(wrapper_t fun) {
if (fun == &iFL) return 1;
if (fun == &iFp) return 1;
if (fun == &IFv) return 1;
if (fun == &IFi) return 1;
if (fun == &IFI) return 1;
if (fun == &IFf) return 2;
if (fun == &IFd) return 2;
@ -6566,6 +6577,7 @@ int isSimpleWrapper(wrapper_t fun) {
if (fun == &vFLup) return 1;
if (fun == &vFLpL) return 1;
if (fun == &vFLpp) return 1;
if (fun == &vFpic) return 1;
if (fun == &vFpii) return 1;
if (fun == &vFpiI) return 1;
if (fun == &vFpiC) return 1;
@ -6647,10 +6659,12 @@ int isSimpleWrapper(wrapper_t fun) {
if (fun == &iFLpp) return 1;
if (fun == &iFpwp) return 1;
if (fun == &iFpii) return 1;
if (fun == &iFpiI) return 1;
if (fun == &iFpiC) return 1;
if (fun == &iFpiW) return 1;
if (fun == &iFpiu) return 1;
if (fun == &iFpiU) return 1;
if (fun == &iFpid) return 2;
if (fun == &iFpil) return 1;
if (fun == &iFpiL) return 1;
if (fun == &iFpip) return 1;

View File

@ -78,6 +78,7 @@ void iFS(x64emu_t *emu, uintptr_t fnc);
void iFP(x64emu_t *emu, uintptr_t fnc);
void iFb(x64emu_t *emu, uintptr_t fnc);
void IFv(x64emu_t *emu, uintptr_t fnc);
void IFi(x64emu_t *emu, uintptr_t fnc);
void IFI(x64emu_t *emu, uintptr_t fnc);
void IFf(x64emu_t *emu, uintptr_t fnc);
void IFd(x64emu_t *emu, uintptr_t fnc);
@ -453,6 +454,7 @@ void vFlpp(x64emu_t *emu, uintptr_t fnc);
void vFLup(x64emu_t *emu, uintptr_t fnc);
void vFLpL(x64emu_t *emu, uintptr_t fnc);
void vFLpp(x64emu_t *emu, uintptr_t fnc);
void vFpic(x64emu_t *emu, uintptr_t fnc);
void vFpii(x64emu_t *emu, uintptr_t fnc);
void vFpiI(x64emu_t *emu, uintptr_t fnc);
void vFpiC(x64emu_t *emu, uintptr_t fnc);
@ -551,10 +553,12 @@ void iFLip(x64emu_t *emu, uintptr_t fnc);
void iFLpp(x64emu_t *emu, uintptr_t fnc);
void iFpwp(x64emu_t *emu, uintptr_t fnc);
void iFpii(x64emu_t *emu, uintptr_t fnc);
void iFpiI(x64emu_t *emu, uintptr_t fnc);
void iFpiC(x64emu_t *emu, uintptr_t fnc);
void iFpiW(x64emu_t *emu, uintptr_t fnc);
void iFpiu(x64emu_t *emu, uintptr_t fnc);
void iFpiU(x64emu_t *emu, uintptr_t fnc);
void iFpid(x64emu_t *emu, uintptr_t fnc);
void iFpil(x64emu_t *emu, uintptr_t fnc);
void iFpiL(x64emu_t *emu, uintptr_t fnc);
void iFpip(x64emu_t *emu, uintptr_t fnc);
@ -2435,6 +2439,7 @@ void iFpppuiii(x64emu_t *emu, uintptr_t fnc);
void iFpppLppp(x64emu_t *emu, uintptr_t fnc);
void iFppppilp(x64emu_t *emu, uintptr_t fnc);
void iFppppipp(x64emu_t *emu, uintptr_t fnc);
void iFppppIip(x64emu_t *emu, uintptr_t fnc);
void iFppppdpu(x64emu_t *emu, uintptr_t fnc);
void iFpppppip(x64emu_t *emu, uintptr_t fnc);
void iFpppppLp(x64emu_t *emu, uintptr_t fnc);

View File

@ -0,0 +1,32 @@
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dlfcn.h>
#include "wrappedlibs.h"
#include "debug.h"
#include "wrapper.h"
#include "bridge.h"
#include "librarian/library_private.h"
#include "x64emu.h"
#include "emu/x64emu_private.h"
#include "callback.h"
#include "box64context.h"
#include "librarian.h"
#include "myalign.h"
const char* libsqlite3Name = "libsqlite3.so.0";
#define LIBNAME libsqlite3
#define ADDED_FUNCTIONS()
#include "generated/wrappedlibsqlite3types.h"
#include "wrappercallback.h"
// Insert my_* functions here...
#include "wrappedlib_init.h"

View File

@ -0,0 +1,269 @@
#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
error Meh...
#endif
GO(sqlite3_aggregate_context, pFpi)
GO(sqlite3_aggregate_count, iFp)
// GO(sqlite3_auto_extension,
GO(sqlite3_backup_finish, iFp)
GO(sqlite3_backup_init, pFpppp)
// GO(sqlite3_backup_pagecount, iFp)
GO(sqlite3_backup_step, iFpi)
// GO(sqlite3_bind_blob,
// GO(sqlite3_bind_blob64,
GO(sqlite3_bind_double, iFpid)
GO(sqlite3_bind_int, iFpii)
GO(sqlite3_bind_int64, iFpiI)
GO(sqlite3_bind_null, iFpi)
GO(sqlite3_bind_parameter_count, iFp)
GO(sqlite3_bind_parameter_index, iFpp)
GO(sqlite3_bind_parameter_name, pFpi)
// GO(sqlite3_bind_pointer,
// GO(sqlite3_bind_text,
// GO(sqlite3_bind_text16,
// GO(sqlite3_bind_text64,
GO(sqlite3_bind_value, iFpip)
GO(sqlite3_bind_zeroblob, iFpii)
GO(sqlite3_bind_zeroblob64, iFpiU)
GO(sqlite3_blob_bytes, iFp)
GO(sqlite3_blob_close, iFp)
GO(sqlite3_blob_open, iFppppIip)
GO(sqlite3_blob_read, iFppii)
GO(sqlite3_blob_write, iFppii)
// GO(sqlite3_busy_handler,
GO(sqlite3_busy_timeout, iFpi)
// GO(sqlite3_cancel_auto_extension,
GO(sqlite3_changes, iFp)
GO(sqlite3_clear_bindings, iFp)
GO(sqlite3_close_v2, iFp)
GO(sqlite3_close, iFp)
// GO(sqlite3_collation_needed,
// GO(sqlite3_collation_needed16,
GO(sqlite3_column_blob, pFpi)
GO(sqlite3_column_bytes, iFpi)
GO(sqlite3_column_count, iFp)
GO(sqlite3_column_database_name, pFpi)
GO(sqlite3_column_database_name16, pFpi)
GO(sqlite3_column_decltype, pFpi)
GO(sqlite3_column_decltype16, pFpi)
GO(sqlite3_column_double, dFpi)
GO(sqlite3_column_int, iFpi)
GO(sqlite3_column_int64, IFpi)
GO(sqlite3_column_name, pFpi)
GO(sqlite3_column_name16, pFpi)
GO(sqlite3_column_origin_name, pFpi)
GO(sqlite3_column_origin_name16, pFpi)
GO(sqlite3_column_table_name, pFpi)
GO(sqlite3_column_table_name16, pFpi)
GO(sqlite3_column_text16, pFpi)
GO(sqlite3_column_type, iFpi)
GO(sqlite3_column_value, pFpi)
// GO(sqlite3_commit_hook,
GO(sqlite3_compileoption_get, pFi)
GO(sqlite3_compileoption_used, iFp)
GO(sqlite3_complete, iFp)
GO(sqlite3_complete16, iFp)
// GO(sqlite3_config,
GO(sqlite3_context_db_handle, pFp)
// GO(sqlite3_create_collation_v2,
// GO(sqlite3_create_collation,
// GO(sqlite3_create_collation16,
GO(sqlite3_create_filename, pFpppip)
// GO(sqlite3_create_function_v2,
// GO(sqlite3_create_function,
// GO(sqlite3_create_function16,
// GO(sqlite3_create_module_v2,
// GO(sqlite3_create_module,
// GO(sqlite3_create_window_function,
GO(sqlite3_data_count, iFp)
// GO(sqlite3_data_directory,
GO(sqlite3_database_file_object, pFp)
GO(sqlite3_db_cacheflush, iFp)
// GO(sqlite3_db_config,
GO(sqlite3_db_filename, pFpp)
GO(sqlite3_db_handle, pFp)
GO(sqlite3_db_mutex, pFp)
GO(sqlite3_db_readonly, iFpp)
GO(sqlite3_db_release_memory, iFp)
GO(sqlite3_db_status, iFpippi)
GO(sqlite3_declare_vtab, iFpp)
GO(sqlite3_enable_load_extension, iFpi)
GO(sqlite3_enable_shared_cache, iFi)
GO(sqlite3_errcode, iFp)
GO(sqlite3_errmsg, pFp)
GO(sqlite3_errmsg16, pFp)
GO(sqlite3_errstr, pFi)
// GO(sqlite3_exec,
GO(sqlite3_expanded_sql, pFp)
GO(sqlite3_extended_errcode, iFp)
GO(sqlite3_extended_result_codes, iFpi)
GO(sqlite3_file_control, iFppip)
GO(sqlite3_filename_database, pFp)
GO(sqlite3_filename_journal, pFp)
GO(sqlite3_filename_wal, pFp)
GO(sqlite3_finalize, iFp)
GO(sqlite3_free_filename, vFp)
GO(sqlite3_free_table, vFp)
GO(sqlite3_free, vFp)
GO(sqlite3_get_autocommit, iFp)
GO(sqlite3_get_auxdata, pFpi)
GO(sqlite3_get_table, iFpppppp)
GO(sqlite3_global_recover, iFv)
GO(sqlite3_hard_heap_limit64, IFI)
GO(sqlite3_initialize, iFv)
GO(sqlite3_interrupt, vFp)
GO(sqlite3_keyword_check, iFpi)
GO(sqlite3_keyword_count, iFv)
GO(sqlite3_keyword_name, iFipp)
GO(sqlite3_last_insert_rowid, IFp)
GO(sqlite3_libversion_number, iFv)
GO(sqlite3_libversion, pFv)
GO(sqlite3_limit, iFpii)
GO(sqlite3_load_extension, iFpppp)
// GO(sqlite3_log,
GO(sqlite3_malloc, pFi)
GO(sqlite3_malloc64, pFU)
// GO(sqlite3_memory_alarm,
GO(sqlite3_memory_highwater, IFi)
GO(sqlite3_memory_used, IFv)
// GO(sqlite3_mprintf,
GO(sqlite3_msize, UFp)
GO(sqlite3_mutex_alloc, pFi)
GO(sqlite3_mutex_enter, vFp)
GO(sqlite3_mutex_free, vFp)
GO(sqlite3_mutex_try, iFp)
GO(sqlite3_next_stmt, pFpp)
GO(sqlite3_open_v2, iFppip)
GO(sqlite3_open16, iFpp)
GO(sqlite3_os_end, iFv)
GO(sqlite3_os_init, iFv)
GO(sqlite3_overload_function, iFppi)
GO(sqlite3_prepare_v2, iFppipp)
GO(sqlite3_prepare_v3, iFppippp)
GO(sqlite3_prepare16_v2, iFppipp)
GO(sqlite3_prepare16_v3, iFppippp)
GO(sqlite3_prepare16, iFppipp)
// GO(sqlite3_profile,
// GO(sqlite3_progress_handler,
GO(sqlite3_randomness, vFip)
GO(sqlite3_realloc, pFpi)
GO(sqlite3_realloc64, pFpU)
GO(sqlite3_release_memory, iFi)
GO(sqlite3_reset_auto_extension, vFv)
GO(sqlite3_reset, iFp)
// GO(sqlite3_result_blob,
// GO(sqlite3_result_blob64,
GO(sqlite3_result_error_code, vFpi)
GO(sqlite3_result_error_nomem, vFp)
GO(sqlite3_result_error_toobig, vFp)
GO(sqlite3_result_error, vFppi)
GO(sqlite3_result_error16, vFppi)
GO(sqlite3_result_int, vFpi)
GO(sqlite3_result_int64, vFpI)
GO(sqlite3_result_null, vFp)
// GO(sqlite3_result_pointer,
GO(sqlite3_result_subtype, vFpu)
// GO(sqlite3_result_text,
// GO(sqlite3_result_text16,
// GO(sqlite3_result_text16be,
// GO(sqlite3_result_text16le,
// GO(sqlite3_result_text64,
GO(sqlite3_result_value, vFpp)
GO(sqlite3_result_zeroblob, vFpi)
GO(sqlite3_result_zeroblob64, iFpU)
// GO(sqlite3_rollback_hook,
// GO(sqlite3_rtree_geometry_callback,
// GO(sqlite3_rtree_query_callback,
// GO(sqlite3_set_authorizer,
// GO(sqlite3_set_auxdata,
// GO(sqlite3_set_last_insert_rowid,
GO(sqlite3_shutdown, iFv)
GO(sqlite3_sleep, iFi)
// GO(sqlite3_snprintf,
GO(sqlite3_soft_heap_limit, vFi)
GO(sqlite3_soft_heap_limit64, IFI)
GO(sqlite3_sourceid, pFv)
GO(sqlite3_sql, pFp)
GO(sqlite3_status, iFippi)
GO(sqlite3_status64, iFippi)
GO(sqlite3_step, iFp)
GO(sqlite3_stmt_busy, iFp)
GO(sqlite3_stmt_isexplain, iFp)
GO(sqlite3_stmt_readonly, iFp)
GO(sqlite3_stmt_status, iFpii)
GO(sqlite3_str_append, vFppi)
GO(sqlite3_str_appendall, vFpp)
GO(sqlite3_str_appendchar, vFpic)
// GO(sqlite3_str_appendf,
GO(sqlite3_str_errcode, iFp)
GO(sqlite3_str_finish, pFp)
GO(sqlite3_str_length, iFp)
GO(sqlite3_str_new, pFp)
GO(sqlite3_str_reset, vFp)
GO(sqlite3_str_value, pFp)
// GO(sqlite3_str_vappendf,
GO(sqlite3_strglob, iFpp)
GO(sqlite3_stricmp, iFpp)
GO(sqlite3_strlike, iFppu)
GO(sqlite3_strnicmp, iFppi)
GO(sqlite3_system_errno, iFp)
// GO(sqlite3_table_column_metadata,
// GO(sqlite3_temp_directory,
// GO(sqlite3_test_control,
// GO(sqlite3_thread_cleanup,
// GO(sqlite3_threadsafe,
// GO(sqlite3_total_changes,
// GO(sqlite3_trace_v2,
// GO(sqlite3_trace,
// GO(sqlite3_transfer_bindings,
// GO(sqlite3_txn_state,
// GO(sqlite3_unlock_notify,
// GO(sqlite3_unsupported_selecttrace,
// GO(sqlite3_update_hook,
GO(sqlite3_uri_boolean, iFppi)
GO(sqlite3_uri_int64, IFppI)
GO(sqlite3_uri_key, pFpi)
GO(sqlite3_uri_parameter, pFpp)
// GO(sqlite3_user_data,
GO(sqlite3_value_blob, pFp)
GO(sqlite3_value_bytes, iFp)
GO(sqlite3_value_bytes16, iFp)
GO(sqlite3_value_double, dFp)
GO(sqlite3_value_dup, pFp)
GO(sqlite3_value_free, vFp)
GO(sqlite3_value_frombind, iFp)
GO(sqlite3_value_int, iFp)
GO(sqlite3_value_int64, IFp)
GO(sqlite3_value_nochange, iFp)
GO(sqlite3_value_numeric_type, iFp)
GO(sqlite3_value_subtype, uFp)
GO(sqlite3_value_text, pFp)
GO(sqlite3_value_text16, pFp)
GO(sqlite3_value_text16be, pFp)
GO(sqlite3_value_text16le, pFp)
GO(sqlite3_value_type, iFp)
// GO(sqlite3_version,
// GO(sqlite3_vfs_find,
// GO(sqlite3_vfs_register,
// GO(sqlite3_vfs_unregister,
// GO(sqlite3_vmprintf,
// GO(sqlite3_vsnprintf,
// GO(sqlite3_vtab_collation,
// GO(sqlite3_vtab_config,
// GO(sqlite3_vtab_nochange,
// GO(sqlite3_vtab_on_conflict,
// GO(sqlite3_wal_autocheckpoint,
GO(sqlite3_wal_checkpoint_v2, iFppipp)
GO(sqlite3_wal_checkpoint, iFpp)
// GO(sqlite3_wal_hook,
GO(sqlite3_backup_remaining, iFp)
GO(sqlite3_blob_reopen, iFpI)
GO(sqlite3_column_bytes16, iFpi)
GO(sqlite3_column_text, pFpi)
GO(sqlite3_drop_modules, iFpp)
GO(sqlite3_expired, iFp)
GO(sqlite3_mutex_leave, vFp)
GO(sqlite3_open, iFpp)
GO(sqlite3_prepare, iFppipp)
GO(sqlite3_result_double, vFpd)
GO(sqlite3_value_pointer, pFpp)