about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/library_list.h3
-rw-r--r--src/wrapped/generated/functions_list.txt8
-rw-r--r--src/wrapped/generated/wrapper.c16
-rw-r--r--src/wrapped/generated/wrapper.h8
-rwxr-xr-xsrc/wrapped/wrappedbz2.c230
-rwxr-xr-xsrc/wrapped/wrappedbz2_private.h37
-rwxr-xr-xsrc/wrapped/wrappedlzma.c60
-rwxr-xr-xsrc/wrapped/wrappedlzma_private.h102
8 files changed, 463 insertions, 1 deletions
diff --git a/src/library_list.h b/src/library_list.h
index 5096672e..bdbe9348 100755
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -113,7 +113,8 @@ GO("libpulse.so.0", pulse)
 //GO("libnm-util.so.2", libnm)
 GO("libfontconfig.so.1", fontconfig)
 GO("libfreetype.so.6", freetype)
-//GO("libbz2.so.1", bz2)
+GO("libbz2.so.1", bz2)
+GO("liblzma.so.5", lzma)
 GO("libSM.so.6", libsm)
 GO("libICE.so.6", libice)
 //GO("libusb-1.0.so.0", libusb1)
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 6e46e5a8..800b6dca 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -254,6 +254,7 @@
 #() iFpuU
 #() iFpuL
 #() iFpup
+#() iFpUi
 #() iFpUU
 #() iFpfu
 #() iFpff
@@ -417,6 +418,7 @@
 #() iFEipp
 #() iFEipV
 #() iFEupp
+#() iFEpii
 #() iFEpip
 #() iFEpLi
 #() iFEppi
@@ -604,11 +606,13 @@
 #() vFpliil
 #() vFppiii
 #() vFppiip
+#() vFppipp
 #() vFppWui
 #() vFpppii
 #() vFppppi
 #() vFppppp
 #() iFEippp
+#() iFEpiii
 #() iFEpipi
 #() iFEpipp
 #() iFEpipV
@@ -698,6 +702,7 @@
 #() pFpuWWW
 #() pFpuuWW
 #() pFpuuup
+#() pFppiii
 #() pFppipi
 #() pFppipp
 #() pFppuuu
@@ -794,6 +799,7 @@
 #() iFpppiuu
 #() iFpppipi
 #() iFpppipp
+#() iFpppuii
 #() iFppppii
 #() iFppppip
 #() iFppppup
@@ -864,6 +870,7 @@
 #() vFpipipii
 #() vFpddiidd
 #() vFppiiipi
+#() vFppipppp
 #() vFpppiiii
 #() vFpppuuuu
 #() vFppppipi
@@ -892,6 +899,7 @@
 #() iFpppiiup
 #() iFpppiipi
 #() iFpppiuwu
+#() iFpppuiii
 #() iFppppiii
 #() iFppppdpi
 #() iFppppppp
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 85ac2046..57990bce 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -287,6 +287,7 @@ typedef int32_t (*iFpuu_t)(void*, uint32_t, uint32_t);
 typedef int32_t (*iFpuU_t)(void*, uint32_t, uint64_t);
 typedef int32_t (*iFpuL_t)(void*, uint32_t, uintptr_t);
 typedef int32_t (*iFpup_t)(void*, uint32_t, void*);
+typedef int32_t (*iFpUi_t)(void*, uint64_t, int32_t);
 typedef int32_t (*iFpUU_t)(void*, uint64_t, uint64_t);
 typedef int32_t (*iFpfu_t)(void*, float, uint32_t);
 typedef int32_t (*iFpff_t)(void*, float, float);
@@ -450,6 +451,7 @@ typedef int32_t (*iFEiiN_t)(x64emu_t*, int32_t, int32_t, ...);
 typedef int32_t (*iFEipp_t)(x64emu_t*, int32_t, void*, void*);
 typedef int32_t (*iFEipV_t)(x64emu_t*, int32_t, void*, void*);
 typedef int32_t (*iFEupp_t)(x64emu_t*, uint32_t, void*, void*);
+typedef int32_t (*iFEpii_t)(x64emu_t*, void*, int32_t, int32_t);
 typedef int32_t (*iFEpip_t)(x64emu_t*, void*, int32_t, void*);
 typedef int32_t (*iFEpLi_t)(x64emu_t*, void*, uintptr_t, int32_t);
 typedef int32_t (*iFEppi_t)(x64emu_t*, void*, void*, int32_t);
@@ -637,11 +639,13 @@ typedef void (*vFpddii_t)(void*, double, double, int32_t, int32_t);
 typedef void (*vFpliil_t)(void*, intptr_t, int32_t, int32_t, intptr_t);
 typedef void (*vFppiii_t)(void*, void*, int32_t, int32_t, int32_t);
 typedef void (*vFppiip_t)(void*, void*, int32_t, int32_t, void*);
+typedef void (*vFppipp_t)(void*, void*, int32_t, void*, void*);
 typedef void (*vFppWui_t)(void*, void*, uint16_t, uint32_t, int32_t);
 typedef void (*vFpppii_t)(void*, void*, void*, int32_t, int32_t);
 typedef void (*vFppppi_t)(void*, void*, void*, void*, int32_t);
 typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
 typedef int32_t (*iFEippp_t)(x64emu_t*, int32_t, void*, void*, void*);
+typedef int32_t (*iFEpiii_t)(x64emu_t*, void*, int32_t, int32_t, int32_t);
 typedef int32_t (*iFEpipi_t)(x64emu_t*, void*, int32_t, void*, int32_t);
 typedef int32_t (*iFEpipp_t)(x64emu_t*, void*, int32_t, void*, void*);
 typedef int32_t (*iFEpipV_t)(x64emu_t*, void*, int32_t, void*, void*);
@@ -731,6 +735,7 @@ typedef void* (*pFpuiip_t)(void*, uint32_t, int32_t, int32_t, void*);
 typedef void* (*pFpuWWW_t)(void*, uint32_t, uint16_t, uint16_t, uint16_t);
 typedef void* (*pFpuuWW_t)(void*, uint32_t, uint32_t, uint16_t, uint16_t);
 typedef void* (*pFpuuup_t)(void*, uint32_t, uint32_t, uint32_t, void*);
+typedef void* (*pFppiii_t)(void*, void*, int32_t, int32_t, int32_t);
 typedef void* (*pFppipi_t)(void*, void*, int32_t, void*, int32_t);
 typedef void* (*pFppipp_t)(void*, void*, int32_t, void*, void*);
 typedef void* (*pFppuuu_t)(void*, void*, uint32_t, uint32_t, uint32_t);
@@ -827,6 +832,7 @@ typedef int32_t (*iFppLupp_t)(void*, void*, uintptr_t, uint32_t, void*, void*);
 typedef int32_t (*iFpppiuu_t)(void*, void*, void*, int32_t, uint32_t, uint32_t);
 typedef int32_t (*iFpppipi_t)(void*, void*, void*, int32_t, void*, int32_t);
 typedef int32_t (*iFpppipp_t)(void*, void*, void*, int32_t, void*, void*);
+typedef int32_t (*iFpppuii_t)(void*, void*, void*, uint32_t, int32_t, int32_t);
 typedef int32_t (*iFppppii_t)(void*, void*, void*, void*, int32_t, int32_t);
 typedef int32_t (*iFppppip_t)(void*, void*, void*, void*, int32_t, void*);
 typedef int32_t (*iFppppup_t)(void*, void*, void*, void*, uint32_t, void*);
@@ -897,6 +903,7 @@ typedef void (*vFpiiliip_t)(void*, int32_t, int32_t, intptr_t, int32_t, int32_t,
 typedef void (*vFpipipii_t)(void*, int32_t, void*, int32_t, void*, int32_t, int32_t);
 typedef void (*vFpddiidd_t)(void*, double, double, int32_t, int32_t, double, double);
 typedef void (*vFppiiipi_t)(void*, void*, int32_t, int32_t, int32_t, void*, int32_t);
+typedef void (*vFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*);
 typedef void (*vFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFpppuuuu_t)(void*, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef void (*vFppppipi_t)(void*, void*, void*, void*, int32_t, void*, int32_t);
@@ -925,6 +932,7 @@ typedef int32_t (*iFpppiiuu_t)(void*, void*, void*, int32_t, int32_t, uint32_t,
 typedef int32_t (*iFpppiiup_t)(void*, void*, void*, int32_t, int32_t, uint32_t, void*);
 typedef int32_t (*iFpppiipi_t)(void*, void*, void*, int32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFpppiuwu_t)(void*, void*, void*, int32_t, uint32_t, int16_t, uint32_t);
+typedef int32_t (*iFpppuiii_t)(void*, void*, void*, uint32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFppppiii_t)(void*, void*, void*, void*, int32_t, int32_t, int32_t);
 typedef int32_t (*iFppppdpi_t)(void*, void*, void*, void*, double, void*, int32_t);
 typedef int32_t (*iFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
@@ -1370,6 +1378,7 @@ void iFpuu(x64emu_t *emu, uintptr_t fcn) { iFpuu_t fn = (iFpuu_t)fcn; R_RAX=fn((
 void iFpuU(x64emu_t *emu, uintptr_t fcn) { iFpuU_t fn = (iFpuU_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uint64_t)R_RDX); }
 void iFpuL(x64emu_t *emu, uintptr_t fcn) { iFpuL_t fn = (iFpuL_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX); }
 void iFpup(x64emu_t *emu, uintptr_t fcn) { iFpup_t fn = (iFpup_t)fcn; R_RAX=fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); }
+void iFpUi(x64emu_t *emu, uintptr_t fcn) { iFpUi_t fn = (iFpUi_t)fcn; R_RAX=fn((void*)R_RDI, (uint64_t)R_RSI, (int32_t)R_RDX); }
 void iFpUU(x64emu_t *emu, uintptr_t fcn) { iFpUU_t fn = (iFpUU_t)fcn; R_RAX=fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX); }
 void iFpfu(x64emu_t *emu, uintptr_t fcn) { iFpfu_t fn = (iFpfu_t)fcn; R_RAX=fn((void*)R_RDI, emu->xmm[0].f[0], (uint32_t)R_RSI); }
 void iFpff(x64emu_t *emu, uintptr_t fcn) { iFpff_t fn = (iFpff_t)fcn; R_RAX=fn((void*)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
@@ -1533,6 +1542,7 @@ void iFEiiN(x64emu_t *emu, uintptr_t fcn) { iFEiiN_t fn = (iFEiiN_t)fcn; R_RAX=f
 void iFEipp(x64emu_t *emu, uintptr_t fcn) { iFEipp_t fn = (iFEipp_t)fcn; R_RAX=fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void iFEipV(x64emu_t *emu, uintptr_t fcn) { iFEipV_t fn = (iFEipV_t)fcn; R_RAX=fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)(R_RSP + 8)); }
 void iFEupp(x64emu_t *emu, uintptr_t fcn) { iFEupp_t fn = (iFEupp_t)fcn; R_RAX=fn(emu, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
+void iFEpii(x64emu_t *emu, uintptr_t fcn) { iFEpii_t fn = (iFEpii_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); }
 void iFEpip(x64emu_t *emu, uintptr_t fcn) { iFEpip_t fn = (iFEpip_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX); }
 void iFEpLi(x64emu_t *emu, uintptr_t fcn) { iFEpLi_t fn = (iFEpLi_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX); }
 void iFEppi(x64emu_t *emu, uintptr_t fcn) { iFEppi_t fn = (iFEppi_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); }
@@ -1720,11 +1730,13 @@ void vFpddii(x64emu_t *emu, uintptr_t fcn) { vFpddii_t fn = (vFpddii_t)fcn; fn((
 void vFpliil(x64emu_t *emu, uintptr_t fcn) { vFpliil_t fn = (vFpliil_t)fcn; fn((void*)R_RDI, (intptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (intptr_t)R_R8); }
 void vFppiii(x64emu_t *emu, uintptr_t fcn) { vFppiii_t fn = (vFppiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void vFppiip(x64emu_t *emu, uintptr_t fcn) { vFppiip_t fn = (vFppiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
+void vFppipp(x64emu_t *emu, uintptr_t fcn) { vFppipp_t fn = (vFppipp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFppWui(x64emu_t *emu, uintptr_t fcn) { vFppWui_t fn = (vFppWui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint16_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void vFpppii(x64emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void vFppppi(x64emu_t *emu, uintptr_t fcn) { vFppppi_t fn = (vFppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
 void vFppppp(x64emu_t *emu, uintptr_t fcn) { vFppppp_t fn = (vFppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFEippp(x64emu_t *emu, uintptr_t fcn) { iFEippp_t fn = (iFEippp_t)fcn; R_RAX=fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void iFEpiii(x64emu_t *emu, uintptr_t fcn) { iFEpiii_t fn = (iFEpiii_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void iFEpipi(x64emu_t *emu, uintptr_t fcn) { iFEpipi_t fn = (iFEpipi_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
 void iFEpipp(x64emu_t *emu, uintptr_t fcn) { iFEpipp_t fn = (iFEpipp_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFEpipV(x64emu_t *emu, uintptr_t fcn) { iFEpipV_t fn = (iFEpipV_t)fcn; R_RAX=fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); }
@@ -1814,6 +1826,7 @@ void pFpuiip(x64emu_t *emu, uintptr_t fcn) { pFpuiip_t fn = (pFpuiip_t)fcn; R_RA
 void pFpuWWW(x64emu_t *emu, uintptr_t fcn) { pFpuWWW_t fn = (pFpuWWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint16_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8); }
 void pFpuuWW(x64emu_t *emu, uintptr_t fcn) { pFpuuWW_t fn = (pFpuuWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8); }
 void pFpuuup(x64emu_t *emu, uintptr_t fcn) { pFpuuup_t fn = (pFpuuup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
+void pFppiii(x64emu_t *emu, uintptr_t fcn) { pFppiii_t fn = (pFppiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void pFppipi(x64emu_t *emu, uintptr_t fcn) { pFppipi_t fn = (pFppipi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
 void pFppipp(x64emu_t *emu, uintptr_t fcn) { pFppipp_t fn = (pFppipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFppuuu(x64emu_t *emu, uintptr_t fcn) { pFppuuu_t fn = (pFppuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
@@ -1910,6 +1923,7 @@ void iFppLupp(x64emu_t *emu, uintptr_t fcn) { iFppLupp_t fn = (iFppLupp_t)fcn; R
 void iFpppiuu(x64emu_t *emu, uintptr_t fcn) { iFpppiuu_t fn = (iFpppiuu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
 void iFpppipi(x64emu_t *emu, uintptr_t fcn) { iFpppipi_t fn = (iFpppipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); }
 void iFpppipp(x64emu_t *emu, uintptr_t fcn) { iFpppipp_t fn = (iFpppipp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void iFpppuii(x64emu_t *emu, uintptr_t fcn) { iFpppuii_t fn = (iFpppuii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void iFppppii(x64emu_t *emu, uintptr_t fcn) { iFppppii_t fn = (iFppppii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void iFppppip(x64emu_t *emu, uintptr_t fcn) { iFppppip_t fn = (iFppppip_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void iFppppup(x64emu_t *emu, uintptr_t fcn) { iFppppup_t fn = (iFppppup_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
@@ -1980,6 +1994,7 @@ void vFpiiliip(x64emu_t *emu, uintptr_t fcn) { vFpiiliip_t fn = (vFpiiliip_t)fcn
 void vFpipipii(x64emu_t *emu, uintptr_t fcn) { vFpipipii_t fn = (vFpipipii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void vFpddiidd(x64emu_t *emu, uintptr_t fcn) { vFpddiidd_t fn = (vFpddiidd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int32_t)R_RSI, (int32_t)R_RDX, emu->xmm[2].d[0], emu->xmm[3].d[0]); }
 void vFppiiipi(x64emu_t *emu, uintptr_t fcn) { vFppiiipi_t fn = (vFppiiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
+void vFppipppp(x64emu_t *emu, uintptr_t fcn) { vFppipppp_t fn = (vFppipppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFpppiiii(x64emu_t *emu, uintptr_t fcn) { vFpppiiii_t fn = (vFpppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void vFpppuuuu(x64emu_t *emu, uintptr_t fcn) { vFpppuuuu_t fn = (vFpppuuuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void vFppppipi(x64emu_t *emu, uintptr_t fcn) { vFppppipi_t fn = (vFppppipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
@@ -2008,6 +2023,7 @@ void iFpppiiuu(x64emu_t *emu, uintptr_t fcn) { iFpppiiuu_t fn = (iFpppiiuu_t)fcn
 void iFpppiiup(x64emu_t *emu, uintptr_t fcn) { iFpppiiup_t fn = (iFpppiiup_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
 void iFpppiipi(x64emu_t *emu, uintptr_t fcn) { iFpppiipi_t fn = (iFpppiipi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFpppiuwu(x64emu_t *emu, uintptr_t fcn) { iFpppiuwu_t fn = (iFpppiuwu_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (int16_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
+void iFpppuiii(x64emu_t *emu, uintptr_t fcn) { iFpppuiii_t fn = (iFpppuiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFppppiii(x64emu_t *emu, uintptr_t fcn) { iFppppiii_t fn = (iFppppiii_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFppppdpi(x64emu_t *emu, uintptr_t fcn) { iFppppdpi_t fn = (iFppppdpi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, emu->xmm[0].d[0], (void*)R_R8, (int32_t)R_R9); }
 void iFppppppp(x64emu_t *emu, uintptr_t fcn) { iFppppppp_t fn = (iFppppppp_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 174b2928..6dc17259 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -284,6 +284,7 @@ void iFpuu(x64emu_t *emu, uintptr_t fnc);
 void iFpuU(x64emu_t *emu, uintptr_t fnc);
 void iFpuL(x64emu_t *emu, uintptr_t fnc);
 void iFpup(x64emu_t *emu, uintptr_t fnc);
+void iFpUi(x64emu_t *emu, uintptr_t fnc);
 void iFpUU(x64emu_t *emu, uintptr_t fnc);
 void iFpfu(x64emu_t *emu, uintptr_t fnc);
 void iFpff(x64emu_t *emu, uintptr_t fnc);
@@ -447,6 +448,7 @@ void iFEiiN(x64emu_t *emu, uintptr_t fnc);
 void iFEipp(x64emu_t *emu, uintptr_t fnc);
 void iFEipV(x64emu_t *emu, uintptr_t fnc);
 void iFEupp(x64emu_t *emu, uintptr_t fnc);
+void iFEpii(x64emu_t *emu, uintptr_t fnc);
 void iFEpip(x64emu_t *emu, uintptr_t fnc);
 void iFEpLi(x64emu_t *emu, uintptr_t fnc);
 void iFEppi(x64emu_t *emu, uintptr_t fnc);
@@ -634,11 +636,13 @@ void vFpddii(x64emu_t *emu, uintptr_t fnc);
 void vFpliil(x64emu_t *emu, uintptr_t fnc);
 void vFppiii(x64emu_t *emu, uintptr_t fnc);
 void vFppiip(x64emu_t *emu, uintptr_t fnc);
+void vFppipp(x64emu_t *emu, uintptr_t fnc);
 void vFppWui(x64emu_t *emu, uintptr_t fnc);
 void vFpppii(x64emu_t *emu, uintptr_t fnc);
 void vFppppi(x64emu_t *emu, uintptr_t fnc);
 void vFppppp(x64emu_t *emu, uintptr_t fnc);
 void iFEippp(x64emu_t *emu, uintptr_t fnc);
+void iFEpiii(x64emu_t *emu, uintptr_t fnc);
 void iFEpipi(x64emu_t *emu, uintptr_t fnc);
 void iFEpipp(x64emu_t *emu, uintptr_t fnc);
 void iFEpipV(x64emu_t *emu, uintptr_t fnc);
@@ -728,6 +732,7 @@ void pFpuiip(x64emu_t *emu, uintptr_t fnc);
 void pFpuWWW(x64emu_t *emu, uintptr_t fnc);
 void pFpuuWW(x64emu_t *emu, uintptr_t fnc);
 void pFpuuup(x64emu_t *emu, uintptr_t fnc);
+void pFppiii(x64emu_t *emu, uintptr_t fnc);
 void pFppipi(x64emu_t *emu, uintptr_t fnc);
 void pFppipp(x64emu_t *emu, uintptr_t fnc);
 void pFppuuu(x64emu_t *emu, uintptr_t fnc);
@@ -824,6 +829,7 @@ void iFppLupp(x64emu_t *emu, uintptr_t fnc);
 void iFpppiuu(x64emu_t *emu, uintptr_t fnc);
 void iFpppipi(x64emu_t *emu, uintptr_t fnc);
 void iFpppipp(x64emu_t *emu, uintptr_t fnc);
+void iFpppuii(x64emu_t *emu, uintptr_t fnc);
 void iFppppii(x64emu_t *emu, uintptr_t fnc);
 void iFppppip(x64emu_t *emu, uintptr_t fnc);
 void iFppppup(x64emu_t *emu, uintptr_t fnc);
@@ -894,6 +900,7 @@ void vFpiiliip(x64emu_t *emu, uintptr_t fnc);
 void vFpipipii(x64emu_t *emu, uintptr_t fnc);
 void vFpddiidd(x64emu_t *emu, uintptr_t fnc);
 void vFppiiipi(x64emu_t *emu, uintptr_t fnc);
+void vFppipppp(x64emu_t *emu, uintptr_t fnc);
 void vFpppiiii(x64emu_t *emu, uintptr_t fnc);
 void vFpppuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFppppipi(x64emu_t *emu, uintptr_t fnc);
@@ -922,6 +929,7 @@ void iFpppiiuu(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiup(x64emu_t *emu, uintptr_t fnc);
 void iFpppiipi(x64emu_t *emu, uintptr_t fnc);
 void iFpppiuwu(x64emu_t *emu, uintptr_t fnc);
+void iFpppuiii(x64emu_t *emu, uintptr_t fnc);
 void iFppppiii(x64emu_t *emu, uintptr_t fnc);
 void iFppppdpi(x64emu_t *emu, uintptr_t fnc);
 void iFppppppp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedbz2.c b/src/wrapped/wrappedbz2.c
new file mode 100755
index 00000000..0f4b76b8
--- /dev/null
+++ b/src/wrapped/wrappedbz2.c
@@ -0,0 +1,230 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#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 "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
+
+const char* bz2Name = "libbz2.so.1";
+#define LIBNAME bz2
+static library_t* my_lib = NULL;
+
+typedef int  (*iFp_t)(void*);
+typedef int  (*iFpi_t)(void*, int);
+typedef int  (*iFpii_t)(void*, int, int);
+typedef int  (*iFpiii_t)(void*, int, int, int);
+
+#define SUPER() \
+    GO(BZ2_bzCompressInit, iFpiii_t)    \
+    GO(BZ2_bzCompress, iFpi_t)          \
+    GO(BZ2_bzCompressEnd, iFp_t)        \
+    GO(BZ2_bzDecompressInit, iFpii_t)   \
+    GO(BZ2_bzDecompress, iFp_t)         \
+    GO(BZ2_bzDecompressEnd, iFp_t)
+
+typedef struct bz2_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+} bz2_my_t;
+
+void* getBz2My(library_t* lib)
+{
+    bz2_my_t* my = (bz2_my_t*)calloc(1, sizeof(bz2_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    return my;
+}
+#undef SUPER
+
+void freeBz2My(void* lib)
+{
+    //bz2_my_t *my = (bz2_my_t *)lib;
+}
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)
+
+// alloc ...
+#define GO(A)   \
+static uintptr_t my_alloc_fct_##A = 0;                                          \
+static void* my_alloc_##A(void* opaque, int m, int n)                           \
+{                                                                               \
+    return (void*)RunFunction(my_context, my_alloc_fct_##A, 3, opaque, m, n);   \
+}
+SUPER()
+#undef GO
+static void* find_alloc_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_alloc_fct_##A == (uintptr_t)fct) return my_alloc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_alloc_fct_##A == 0) {my_alloc_fct_##A = (uintptr_t)fct; return my_alloc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for bz2 alloc callback\n");
+    return NULL;
+}
+static void* reverse_alloc_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(CheckBridged(my_lib->priv.w.bridge, fct))
+        return (void*)CheckBridged(my_lib->priv.w.bridge, fct);
+    #define GO(A) if(my_alloc_##A == fct) return (void*)my_alloc_fct_##A;
+    SUPER()
+    #undef GO
+    return (void*)AddBridge(my_lib->priv.w.bridge, pFpii, fct, 0, NULL);
+}
+// free ...
+#define GO(A)   \
+static uintptr_t my_free_fct_##A = 0;                       \
+static void my_free_##A(void* opaque, void* p)              \
+{                                                           \
+    RunFunction(my_context, my_free_fct_##A, 2, opaque, p); \
+}
+SUPER()
+#undef GO
+static void* find_free_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_free_fct_##A == (uintptr_t)fct) return my_free_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_free_fct_##A == 0) {my_free_fct_##A = (uintptr_t)fct; return my_free_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for bz2 free callback\n");
+    return NULL;
+}
+static void* reverse_free_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(CheckBridged(my_lib->priv.w.bridge, fct))
+        return (void*)CheckBridged(my_lib->priv.w.bridge, fct);
+    #define GO(A) if(my_free_##A == fct) return (void*)my_free_fct_##A;
+    SUPER()
+    #undef GO
+    return (void*)AddBridge(my_lib->priv.w.bridge, vFpp, fct, 0, NULL);
+}
+#undef SUPER
+
+typedef struct {
+    char *next_in;
+    unsigned int avail_in;
+    unsigned int total_in_lo32;
+    unsigned int total_in_hi32;
+
+    char *next_out;
+    unsigned int avail_out;
+    unsigned int total_out_lo32;
+    unsigned int total_out_hi32;
+
+    void *state;
+
+    void *(*bzalloc)(void *,int,int);
+    void (*bzfree)(void *,void *);
+    void *opaque;
+} my_bz_stream_t;
+
+
+#define WRAP_BZ(A) \
+    A->bzalloc = find_alloc_Fct(A->bzalloc);        \
+    A->bzfree = find_free_Fct(A->bzfree);
+
+#define UNWRAP_BZ(A) if(A->bzalloc || A->bzfree)    \
+    A->bzalloc = reverse_alloc_Fct(A->bzalloc);     \
+    A->bzfree = reverse_free_Fct(A->bzfree);
+
+EXPORT int my_BZ2_bzCompressInit(x64emu_t* emu, my_bz_stream_t* strm, int blocksize, int verbosity, int work)
+{
+    library_t * lib = GetLibInternal(bz2Name);
+    bz2_my_t *my = (bz2_my_t*)lib->priv.w.p2;
+    WRAP_BZ(strm);
+    int ret = my->BZ2_bzCompressInit(strm, blocksize, verbosity, work);
+    UNWRAP_BZ(strm);
+    return ret;
+}
+
+EXPORT int my_BZ2_bzCompress(x64emu_t* emu, my_bz_stream_t* strm, int action)
+{
+    library_t * lib = GetLibInternal(bz2Name);
+    bz2_my_t *my = (bz2_my_t*)lib->priv.w.p2;
+    WRAP_BZ(strm);
+    int ret = my->BZ2_bzCompress(strm, action);
+    UNWRAP_BZ(strm);
+    return ret;
+}
+
+EXPORT int my_BZ2_bzCompressEnd(x64emu_t* emu, my_bz_stream_t* strm)
+{
+    library_t * lib = GetLibInternal(bz2Name);
+    bz2_my_t *my = (bz2_my_t*)lib->priv.w.p2;
+    WRAP_BZ(strm);
+    int ret = my->BZ2_bzCompressEnd(strm);
+    UNWRAP_BZ(strm);
+    return ret;
+}
+
+EXPORT int my_BZ2_bzDecompressInit(x64emu_t* emu, my_bz_stream_t* strm, int verbosity, int small)
+{
+    library_t * lib = GetLibInternal(bz2Name);
+    bz2_my_t *my = (bz2_my_t*)lib->priv.w.p2;
+    WRAP_BZ(strm);
+    int ret = my->BZ2_bzDecompressInit(strm, verbosity, small);
+    UNWRAP_BZ(strm);
+    return ret;
+}
+
+EXPORT int my_BZ2_bzDecompress(x64emu_t* emu, my_bz_stream_t* strm)
+{
+    library_t * lib = GetLibInternal(bz2Name);
+    bz2_my_t *my = (bz2_my_t*)lib->priv.w.p2;
+    WRAP_BZ(strm);
+    int ret = my->BZ2_bzDecompress(strm);
+    UNWRAP_BZ(strm);
+    return ret;
+}
+
+EXPORT int my_BZ2_bzDecompressEnd(x64emu_t* emu, my_bz_stream_t* strm)
+{
+    library_t * lib = GetLibInternal(bz2Name);
+    bz2_my_t *my = (bz2_my_t*)lib->priv.w.p2;
+    WRAP_BZ(strm);
+    int ret = my->BZ2_bzDecompressEnd(strm);
+    UNWRAP_BZ(strm);
+    return ret;
+}
+
+#define CUSTOM_INIT \
+    lib->priv.w.p2 = getBz2My(lib); \
+    my_lib = lib;
+
+#define CUSTOM_FINI \
+    freeBz2My(lib->priv.w.p2);  \
+    free(lib->priv.w.p2);       \
+    my_lib = NULL;
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedbz2_private.h b/src/wrapped/wrappedbz2_private.h
new file mode 100755
index 00000000..f05e42f8
--- /dev/null
+++ b/src/wrapped/wrappedbz2_private.h
@@ -0,0 +1,37 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(BZ2_blockSort, 
+//GO(BZ2_bsInitWrite, 
+//GO(BZ2_bz__AssertH__fail, 
+GO(BZ2_bzBuffToBuffCompress, iFpppuiii)
+GO(BZ2_bzBuffToBuffDecompress, iFpppuii)
+GO(BZ2_bzclose, iFp)
+GOM(BZ2_bzCompress, iFEpi)
+GOM(BZ2_bzCompressEnd, iFEp)
+GOM(BZ2_bzCompressInit, iFEpiii)
+GOM(BZ2_bzDecompress, iFEp)
+GOM(BZ2_bzDecompressEnd, iFEp)
+GOM(BZ2_bzDecompressInit, iFEpii)
+GO(BZ2_bzdopen, pFip)
+GO(BZ2_bzerror, pFpp)
+GO(BZ2_bzflush, iFp)
+GO(BZ2_bzlibVersion, pFv)
+GO(BZ2_bzopen, pFpp)
+GO(BZ2_bzread, iFppi)
+GO(BZ2_bzRead, iFpppi)
+GO(BZ2_bzReadClose, vFpp)
+GO(BZ2_bzReadGetUnused, vFpppp)
+GO(BZ2_bzReadOpen, pFppipi)
+GO(BZ2_bzwrite, iFppi)
+GO(BZ2_bzWrite, vFpppi)
+GO(BZ2_bzWriteClose, vFppipp)
+GO(BZ2_bzWriteClose64, vFppipppp)
+GO(BZ2_bzWriteOpen, pFppiii)
+//GO(BZ2_compressBlock, 
+//GO(BZ2_decompress, 
+//GO(BZ2_hbAssignCodes, 
+//GO(BZ2_hbCreateDecodeTables, 
+//GO(BZ2_hbMakeCodeLengths, 
+//GO(BZ2_indexIntoF, 
diff --git a/src/wrapped/wrappedlzma.c b/src/wrapped/wrappedlzma.c
new file mode 100755
index 00000000..8bfb5707
--- /dev/null
+++ b/src/wrapped/wrappedlzma.c
@@ -0,0 +1,60 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#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 "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
+
+const char* lzmaName = "liblzma.so.5";
+#define LIBNAME lzma
+static library_t* my_lib = NULL;
+
+
+#define SUPER() \
+
+typedef struct lzma_my_s {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+} lzma_my_t;
+
+void* getLzmaMy(library_t* lib)
+{
+    lzma_my_t* my = (lzma_my_t*)calloc(1, sizeof(lzma_my_t));
+    #define GO(A, W) my->A = (W)dlsym(lib->priv.w.lib, #A);
+    SUPER()
+    #undef GO
+    return my;
+}
+#undef SUPER
+
+void freeLzmaMy(void* lib)
+{
+    //lzma_my_t *my = (lzma_my_t *)lib;
+}
+
+#define CUSTOM_INIT \
+    lib->priv.w.p2 = getLzmaMy(lib); \
+    my_lib = lib;
+
+#define CUSTOM_FINI \
+    freeLzmaMy(lib->priv.w.p2);  \
+    free(lib->priv.w.p2);       \
+    my_lib = NULL;
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedlzma_private.h b/src/wrapped/wrappedlzma_private.h
new file mode 100755
index 00000000..a4e9fae8
--- /dev/null
+++ b/src/wrapped/wrappedlzma_private.h
@@ -0,0 +1,102 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(lzma_alone_decoder, 
+//GO(lzma_alone_encoder, 
+//GO(lzma_auto_decoder, 
+//GO(lzma_block_buffer_bound, 
+//GO(lzma_block_buffer_decode, 
+//GO(lzma_block_buffer_encode, 
+//GO(lzma_block_compressed_size, 
+//GO(lzma_block_decoder, 
+//GO(lzma_block_encoder, 
+//GO(lzma_block_header_decode, 
+//GO(lzma_block_header_encode, 
+//GO(lzma_block_header_size, 
+//GO(lzma_block_total_size, 
+//GO(lzma_block_uncomp_encode, 
+//GO(lzma_block_unpadded_size, 
+//GO(lzma_check_is_supported, 
+//GO(lzma_check_size, 
+GO(lzma_code, iFpi)
+//GO(lzma_cputhreads, 
+//GO(lzma_crc32, 
+//GO(lzma_crc64, 
+//GO(lzma_easy_buffer_encode, 
+//GO(lzma_easy_decoder_memusage, 
+//GO(lzma_easy_encoder, 
+//GO(lzma_easy_encoder_memusage, 
+GO(lzma_end, vFp)
+//GO(lzma_filter_decoder_is_supported, 
+//GO(lzma_filter_encoder_is_supported, 
+//GO(lzma_filter_flags_decode, 
+//GO(lzma_filter_flags_encode, 
+//GO(lzma_filter_flags_size, 
+//GO(lzma_filters_copy, 
+//GO(lzma_filters_update, 
+//GO(lzma_get_check, 
+//GO(lzma_get_progress, 
+//GO(lzma_index_append, 
+//GO(lzma_index_block_count, 
+//GO(lzma_index_buffer_decode, 
+//GO(lzma_index_buffer_encode, 
+//GO(lzma_index_cat, 
+//GO(lzma_index_checks, 
+//GO(lzma_index_decoder, 
+//GO(lzma_index_dup, 
+//GO(lzma_index_encoder, 
+//GO(lzma_index_end, 
+//GO(lzma_index_file_size, 
+//GO(lzma_index_hash_append, 
+//GO(lzma_index_hash_decode, 
+//GO(lzma_index_hash_end, 
+//GO(lzma_index_hash_init, 
+//GO(lzma_index_hash_size, 
+//GO(lzma_index_init, 
+//GO(lzma_index_iter_init, 
+//GO(lzma_index_iter_locate, 
+//GO(lzma_index_iter_next, 
+//GO(lzma_index_iter_rewind, 
+//GO(lzma_index_memusage, 
+//GO(lzma_index_memused, 
+//GO(lzma_index_size, 
+//GO(lzma_index_stream_count, 
+//GO(lzma_index_stream_flags, 
+//GO(lzma_index_stream_padding, 
+//GO(lzma_index_stream_size, 
+//GO(lzma_index_total_size, 
+//GO(lzma_index_uncompressed_size, 
+//GO(lzma_lzma_preset, 
+//GO(lzma_memlimit_get, 
+//GO(lzma_memlimit_set, 
+//GO(lzma_memusage, 
+//GO(lzma_mf_is_supported, 
+//GO(lzma_mode_is_supported, 
+//GO(lzma_physmem, 
+//GO(lzma_properties_decode, 
+//GO(lzma_properties_encode, 
+//GO(lzma_properties_size, 
+//GO(lzma_raw_buffer_decode, 
+//GO(lzma_raw_buffer_encode, 
+//GO(lzma_raw_decoder, 
+//GO(lzma_raw_decoder_memusage, 
+//GO(lzma_raw_encoder, 
+//GO(lzma_raw_encoder_memusage, 
+//GO(lzma_stream_buffer_bound, 
+//GO(lzma_stream_buffer_decode, 
+//GO(lzma_stream_buffer_encode, 
+GO(lzma_stream_decoder, iFpUi)
+//GO(lzma_stream_encoder, 
+//GO(lzma_stream_encoder_mt, 
+//GO(lzma_stream_encoder_mt_memusage, 
+//GO(lzma_stream_flags_compare, 
+//GO(lzma_stream_footer_decode, 
+//GO(lzma_stream_footer_encode, 
+//GO(lzma_stream_header_decode, 
+//GO(lzma_stream_header_encode, 
+//GO(lzma_version_number, 
+//GO(lzma_version_string, 
+//GO(lzma_vli_decode, 
+//GO(lzma_vli_encode, 
+//GO(lzma_vli_size,