about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--src/library_list.h1
-rw-r--r--src/wrapped/generated/functions_list.txt6
-rw-r--r--src/wrapped/generated/wrappedlibsqlite3defs.h8
-rw-r--r--src/wrapped/generated/wrappedlibsqlite3types.h17
-rw-r--r--src/wrapped/generated/wrappedlibsqlite3undefs.h8
-rw-r--r--src/wrapped/generated/wrapper.c14
-rw-r--r--src/wrapped/generated/wrapper.h5
-rw-r--r--src/wrapped/wrappedlibsqlite3.c32
-rw-r--r--src/wrapped/wrappedlibsqlite3_private.h269
10 files changed, 361 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ad7791a8..c677128d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -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)
diff --git a/src/library_list.h b/src/library_list.h
index ea6978a3..bb9caaae 100644
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -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)
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 40736f01..8bed3675 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -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:
diff --git a/src/wrapped/generated/wrappedlibsqlite3defs.h b/src/wrapped/generated/wrappedlibsqlite3defs.h
new file mode 100644
index 00000000..95e690c6
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibsqlite3defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.4.0.21) *
+ *******************************************************************/
+#ifndef __wrappedlibsqlite3DEFS_H_
+#define __wrappedlibsqlite3DEFS_H_
+
+
+#endif // __wrappedlibsqlite3DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibsqlite3types.h b/src/wrapped/generated/wrappedlibsqlite3types.h
new file mode 100644
index 00000000..03aa5289
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibsqlite3types.h
@@ -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_
diff --git a/src/wrapped/generated/wrappedlibsqlite3undefs.h b/src/wrapped/generated/wrappedlibsqlite3undefs.h
new file mode 100644
index 00000000..39570fed
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibsqlite3undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.4.0.21) *
+ *******************************************************************/
+#ifndef __wrappedlibsqlite3UNDEFS_H_
+#define __wrappedlibsqlite3UNDEFS_H_
+
+
+#endif // __wrappedlibsqlite3UNDEFS_H_
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 298e3940..4e3fc14e 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -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;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 224bf7fa..81024d37 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -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);
diff --git a/src/wrapped/wrappedlibsqlite3.c b/src/wrapped/wrappedlibsqlite3.c
new file mode 100644
index 00000000..025f816a
--- /dev/null
+++ b/src/wrapped/wrappedlibsqlite3.c
@@ -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"
diff --git a/src/wrapped/wrappedlibsqlite3_private.h b/src/wrapped/wrappedlibsqlite3_private.h
new file mode 100644
index 00000000..3d19be80
--- /dev/null
+++ b/src/wrapped/wrappedlibsqlite3_private.h
@@ -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)