about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-01-23 22:22:40 +0100
committerptitSeb <sebastien.chev@gmail.com>2022-01-23 22:22:40 +0100
commitca3247d21affcd2c022ff010a523ee9d39cc8b6d (patch)
tree54ed0dcb93a6aeb9e80d48f927a6b3ef8f5f5520 /src
parent511a7d24488b64f9e8aa7ed98ed26425c4b1f06e (diff)
downloadbox64-ca3247d21affcd2c022ff010a523ee9d39cc8b6d.tar.gz
box64-ca3247d21affcd2c022ff010a523ee9d39cc8b6d.zip
Wrapped g_initable_new and g_initable_new_valist from libgio2
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt11
-rw-r--r--src/wrapped/generated/wrappedgio2types.h8
-rw-r--r--src/wrapped/generated/wrapper.c11
-rw-r--r--src/wrapped/generated/wrapper.h5
-rwxr-xr-xsrc/wrapped/wrappedgio2.c89
-rwxr-xr-xsrc/wrapped/wrappedgio2_private.h8
6 files changed, 59 insertions, 73 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 8352de4a..70264ae6 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -1204,6 +1204,7 @@
 #() pFpuuip
 #() pFpuuWW
 #() pFpuuup
+#() pFpuppp
 #() pFpUdii
 #() pFpdddd
 #() pFplppp
@@ -1443,6 +1444,8 @@
 #() pFEpppLp
 #() pFEppppi
 #() pFEppppp
+#() pFEppppV
+#() pFEppApp
 #() pFiiiiii
 #() pFiCiiCi
 #() pFdddddd
@@ -1661,7 +1664,7 @@
 #() pFppppppp
 #() vFEiippppV
 #() vFEiupippp
-#() vFEippippp
+#() vFEipAippp
 #() vFEppipppp
 #() vFEpppuipV
 #() vFEpppppuu
@@ -2200,13 +2203,17 @@ wrappedgio2:
   - g_simple_async_result_set_error
 - vFppipA:
   - g_simple_async_result_set_error_va
+- pFppppV:
+  - g_initable_new
+- pFppApp:
+  - g_initable_new_valist
 - vFpipppp:
   - g_dbus_connection_new_for_address
 - vFiippppV:
   - g_async_initable_new_async
 - vFiupippp:
   - g_async_initable_newv_async
-- vFippippp:
+- vFipAippp:
   - g_async_initable_new_valist_async
 - vFppipppp:
   - g_dbus_connection_new
diff --git a/src/wrapped/generated/wrappedgio2types.h b/src/wrapped/generated/wrappedgio2types.h
index 54be1037..1448cd34 100644
--- a/src/wrapped/generated/wrappedgio2types.h
+++ b/src/wrapped/generated/wrappedgio2types.h
@@ -21,10 +21,12 @@ typedef void* (*pFpppp_t)(void*, void*, void*, void*);
 typedef void (*vFpippp_t)(void*, int64_t, void*, void*, void*);
 typedef void (*vFppipV_t)(void*, void*, int64_t, void*, ...);
 typedef void (*vFppipA_t)(void*, void*, int64_t, void*, va_list);
+typedef void* (*pFppppV_t)(void*, void*, void*, void*, ...);
+typedef void* (*pFppApp_t)(void*, void*, va_list, void*, void*);
 typedef void (*vFpipppp_t)(void*, int64_t, void*, void*, void*, void*);
 typedef void (*vFiippppV_t)(int64_t, int64_t, void*, void*, void*, void*, ...);
 typedef void (*vFiupippp_t)(int64_t, uint64_t, void*, int64_t, void*, void*, void*);
-typedef void (*vFippippp_t)(int64_t, void*, void*, int64_t, void*, void*, void*);
+typedef void (*vFipAippp_t)(int64_t, void*, va_list, int64_t, void*, void*, void*);
 typedef void (*vFppipppp_t)(void*, void*, int64_t, void*, void*, void*, void*);
 typedef void (*vFpppuipV_t)(void*, void*, void*, uint64_t, int64_t, void*, ...);
 typedef uint64_t (*uFipipppp_t)(int64_t, void*, int64_t, void*, void*, void*, void*);
@@ -57,10 +59,12 @@ typedef void (*vFpppppppiippp_t)(void*, void*, void*, void*, void*, void*, void*
 	GO(g_async_initable_init_async, vFpippp_t) \
 	GO(g_simple_async_result_set_error, vFppipV_t) \
 	GO(g_simple_async_result_set_error_va, vFppipA_t) \
+	GO(g_initable_new, pFppppV_t) \
+	GO(g_initable_new_valist, pFppApp_t) \
 	GO(g_dbus_connection_new_for_address, vFpipppp_t) \
 	GO(g_async_initable_new_async, vFiippppV_t) \
 	GO(g_async_initable_newv_async, vFiupippp_t) \
-	GO(g_async_initable_new_valist_async, vFippippp_t) \
+	GO(g_async_initable_new_valist_async, vFipAippp_t) \
 	GO(g_dbus_connection_new, vFppipppp_t) \
 	GO(g_simple_async_report_error_in_idle, vFpppuipV_t) \
 	GO(g_bus_watch_name, uFipipppp_t) \
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 969798c4..a70f0051 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -1238,6 +1238,7 @@ typedef void* (*pFpuWWW_t)(void*, uint64_t, uint16_t, uint16_t, uint16_t);
 typedef void* (*pFpuuip_t)(void*, uint64_t, uint64_t, int64_t, void*);
 typedef void* (*pFpuuWW_t)(void*, uint64_t, uint64_t, uint16_t, uint16_t);
 typedef void* (*pFpuuup_t)(void*, uint64_t, uint64_t, uint64_t, void*);
+typedef void* (*pFpuppp_t)(void*, uint64_t, void*, void*, void*);
 typedef void* (*pFpUdii_t)(void*, uint64_t, double, int64_t, int64_t);
 typedef void* (*pFpdddd_t)(void*, double, double, double, double);
 typedef void* (*pFplppp_t)(void*, intptr_t, void*, void*, void*);
@@ -1477,6 +1478,8 @@ typedef void* (*pFEppLLp_t)(x64emu_t*, void*, void*, uintptr_t, uintptr_t, void*
 typedef void* (*pFEpppLp_t)(x64emu_t*, void*, void*, void*, uintptr_t, void*);
 typedef void* (*pFEppppi_t)(x64emu_t*, void*, void*, void*, void*, int64_t);
 typedef void* (*pFEppppp_t)(x64emu_t*, void*, void*, void*, void*, void*);
+typedef void* (*pFEppppV_t)(x64emu_t*, void*, void*, void*, void*, void*);
+typedef void* (*pFEppApp_t)(x64emu_t*, void*, void*, void*, void*, void*);
 typedef void* (*pFiiiiii_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void* (*pFiCiiCi_t)(int64_t, uint8_t, int64_t, int64_t, uint8_t, int64_t);
 typedef void* (*pFdddddd_t)(double, double, double, double, double, double);
@@ -1695,7 +1698,7 @@ typedef void* (*pFppppppi_t)(void*, void*, void*, void*, void*, void*, int64_t);
 typedef void* (*pFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
 typedef void (*vFEiippppV_t)(x64emu_t*, int64_t, int64_t, void*, void*, void*, void*, void*);
 typedef void (*vFEiupippp_t)(x64emu_t*, int64_t, uint64_t, void*, int64_t, void*, void*, void*);
-typedef void (*vFEippippp_t)(x64emu_t*, int64_t, void*, void*, int64_t, void*, void*, void*);
+typedef void (*vFEipAippp_t)(x64emu_t*, int64_t, void*, void*, int64_t, void*, void*, void*);
 typedef void (*vFEppipppp_t)(x64emu_t*, void*, void*, int64_t, void*, void*, void*, void*);
 typedef void (*vFEpppuipV_t)(x64emu_t*, void*, void*, void*, uint64_t, int64_t, void*, void*);
 typedef void (*vFEpppppuu_t)(x64emu_t*, void*, void*, void*, void*, void*, uint64_t, uint64_t);
@@ -3274,6 +3277,7 @@ void pFpuWWW(x64emu_t *emu, uintptr_t fcn) { pFpuWWW_t fn = (pFpuWWW_t)fcn; R_RA
 void pFpuuip(x64emu_t *emu, uintptr_t fcn) { pFpuuip_t fn = (pFpuuip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); }
 void pFpuuWW(x64emu_t *emu, uintptr_t fcn) { pFpuuWW_t fn = (pFpuuWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_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, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); }
+void pFpuppp(x64emu_t *emu, uintptr_t fcn) { pFpuppp_t fn = (pFpuppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFpUdii(x64emu_t *emu, uintptr_t fcn) { pFpUdii_t fn = (pFpUdii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], (int64_t)R_RDX, (int64_t)R_RCX); }
 void pFpdddd(x64emu_t *emu, uintptr_t fcn) { pFpdddd_t fn = (pFpdddd_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); }
 void pFplppp(x64emu_t *emu, uintptr_t fcn) { pFplppp_t fn = (pFplppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -3513,6 +3517,8 @@ void pFEppLLp(x64emu_t *emu, uintptr_t fcn) { pFEppLLp_t fn = (pFEppLLp_t)fcn; R
 void pFEpppLp(x64emu_t *emu, uintptr_t fcn) { pFEpppLp_t fn = (pFEpppLp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
 void pFEppppi(x64emu_t *emu, uintptr_t fcn) { pFEppppi_t fn = (pFEppppi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); }
 void pFEppppp(x64emu_t *emu, uintptr_t fcn) { pFEppppp_t fn = (pFEppppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void pFEppppV(x64emu_t *emu, uintptr_t fcn) { pFEppppV_t fn = (pFEppppV_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)(R_RSP + 8)); }
+void pFEppApp(x64emu_t *emu, uintptr_t fcn) { pFEppApp_t fn = (pFEppApp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFiiiiii(x64emu_t *emu, uintptr_t fcn) { pFiiiiii_t fn = (pFiiiiii_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
 void pFiCiiCi(x64emu_t *emu, uintptr_t fcn) { pFiCiiCi_t fn = (pFiCiiCi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI, (uint8_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint8_t)R_R8, (int64_t)R_R9); }
 void pFdddddd(x64emu_t *emu, uintptr_t fcn) { pFdddddd_t fn = (pFdddddd_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0]); }
@@ -3731,7 +3737,7 @@ void pFppppppi(x64emu_t *emu, uintptr_t fcn) { pFppppppi_t fn = (pFppppppi_t)fcn
 void pFppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppp_t fn = (pFppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFEiippppV(x64emu_t *emu, uintptr_t fcn) { vFEiippppV_t fn = (vFEiippppV_t)fcn; fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, (void*)(R_RSP + 8)); }
 void vFEiupippp(x64emu_t *emu, uintptr_t fcn) { vFEiupippp_t fn = (vFEiupippp_t)fcn; fn(emu, (int64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
-void vFEippippp(x64emu_t *emu, uintptr_t fcn) { vFEippippp_t fn = (vFEippippp_t)fcn; fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void vFEipAippp(x64emu_t *emu, uintptr_t fcn) { vFEipAippp_t fn = (vFEipAippp_t)fcn; fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFEppipppp(x64emu_t *emu, uintptr_t fcn) { vFEppipppp_t fn = (vFEppipppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFEpppuipV(x64emu_t *emu, uintptr_t fcn) { vFEpppuipV_t fn = (vFEpppuipV_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, (void*)(R_RSP + 8)); }
 void vFEpppppuu(x64emu_t *emu, uintptr_t fcn) { vFEpppppuu_t fn = (vFEpppppuu_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8)); }
@@ -5138,6 +5144,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpuuip) return 1;
 	if (fun == &pFpuuWW) return 1;
 	if (fun == &pFpuuup) return 1;
+	if (fun == &pFpuppp) return 1;
 	if (fun == &pFpUdii) return 2;
 	if (fun == &pFpdddd) return 5;
 	if (fun == &pFplppp) return 1;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 0f71eb99..7943a050 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -1237,6 +1237,7 @@ void pFpuWWW(x64emu_t *emu, uintptr_t fnc);
 void pFpuuip(x64emu_t *emu, uintptr_t fnc);
 void pFpuuWW(x64emu_t *emu, uintptr_t fnc);
 void pFpuuup(x64emu_t *emu, uintptr_t fnc);
+void pFpuppp(x64emu_t *emu, uintptr_t fnc);
 void pFpUdii(x64emu_t *emu, uintptr_t fnc);
 void pFpdddd(x64emu_t *emu, uintptr_t fnc);
 void pFplppp(x64emu_t *emu, uintptr_t fnc);
@@ -1476,6 +1477,8 @@ void pFEppLLp(x64emu_t *emu, uintptr_t fnc);
 void pFEpppLp(x64emu_t *emu, uintptr_t fnc);
 void pFEppppi(x64emu_t *emu, uintptr_t fnc);
 void pFEppppp(x64emu_t *emu, uintptr_t fnc);
+void pFEppppV(x64emu_t *emu, uintptr_t fnc);
+void pFEppApp(x64emu_t *emu, uintptr_t fnc);
 void pFiiiiii(x64emu_t *emu, uintptr_t fnc);
 void pFiCiiCi(x64emu_t *emu, uintptr_t fnc);
 void pFdddddd(x64emu_t *emu, uintptr_t fnc);
@@ -1694,7 +1697,7 @@ void pFppppppi(x64emu_t *emu, uintptr_t fnc);
 void pFppppppp(x64emu_t *emu, uintptr_t fnc);
 void vFEiippppV(x64emu_t *emu, uintptr_t fnc);
 void vFEiupippp(x64emu_t *emu, uintptr_t fnc);
-void vFEippippp(x64emu_t *emu, uintptr_t fnc);
+void vFEipAippp(x64emu_t *emu, uintptr_t fnc);
 void vFEppipppp(x64emu_t *emu, uintptr_t fnc);
 void vFEpppuipV(x64emu_t *emu, uintptr_t fnc);
 void vFEpppppuu(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedgio2.c b/src/wrapped/wrappedgio2.c
index 43e58573..a9c89080 100755
--- a/src/wrapped/wrappedgio2.c
+++ b/src/wrapped/wrappedgio2.c
@@ -24,69 +24,10 @@ const char* gio2Name = "libgio-2.0.so.0";
 
 static char* libname = NULL;
 
-typedef void    (*vFppp_t)          (void*, void*, void*);
-typedef void    (*vFppip_t)         (void*, void*, int, void*);
-typedef void    (*vFippp_t)         (int, void*, void*, void*);
-typedef void*   (*pFpppp_t)         (void*, void*, void*, void*);
-typedef void    (*vFpppp_t)         (void*, void*, void*, void*);
-typedef uint32_t(*uFpppp_t)         (void*, void*, void*, void*);
-typedef unsigned long (*LFpppp_t)   (void*, void*, void*, void*);
-typedef void    (*vFpippp_t)        (void*, int, void*, void*, void*);
-typedef void    (*vFpipppp_t)       (void*, int, void*, void*, void*, void*);
-typedef void*   (*vFippippp_t)      (int, void*, void*, int, void*, void*, void*);
-typedef uint32_t(*uFipipppp_t)      (int, void*, int, void*, void*, void*, void*);
-typedef uint32_t(*uFppipppp_t)      (void*, void*, int, void*, void*, void*, void*);
-typedef void    (*vFppipppp_t)      (void*, void*, int, void*, void*, void*, void*);
-typedef void    (*vFiupippp_t)      (int, uint32_t, void*, int, void*, void*, void*);
-typedef void    (*vFpppuipV_t)      (void*, void*, void*, uint32_t, int, void*, ...);
-typedef void*   (*pFpppuipV_t)      (void*, void*, void*, uint32_t, int, void*, ...);
-typedef uint32_t(*uFppppppp_t)      (void*, void*, void*, void*, void*, void*, void*);
-typedef void*   (*vFLpAippp_t)      (size_t, void*, va_list, int, void*, void*, void*);
-typedef void    (*vFppiipppp_t)     (void*, void*, int, int, void*, void*, void*, void*);
-typedef void    (*vFpppiippp_t)     (void*, void*, void*, int, int, void*, void*, void*);
-typedef uint32_t(*uFLpippppp_t)     (size_t, void*, int, void*, void*, void*, void*, void*);
-typedef void    (*vFpppiipppp_t)    (void*, void*, void*, int, int, void*, void*, void*, void*);
-typedef void    (*vFiippppppp_t)    (int, int, void*, void*, void*, void*, void*, void*, void*);
-typedef void    (*vFpippppppp_t)    (void*, int, void*, void*, void*, void*, void*, void*, void*);
-typedef void*   (*pFLippppppp_t)    (size_t, int, void*, void*, void*, void*, void*, void*, void*);
-typedef uint32_t(*uFppppppippp_t)   (void*, void*, void*, void*, void*, void*, int, void*, void*, void*);
-typedef void    (*vFpppppppiippp_t) (void*, void*, void*, void*, void*, void*, void*, int, int, void*, void*, void*);
-typedef void    (*vFppipA_t)        (void*, void*, int, void*, va_list);
 
-#define SUPER() \
-    GO(g_dbus_proxy_new, vFpippppppp_t)             \
-    GO(g_dbus_proxy_new_for_bus, vFiippppppp_t)     \
-    GO(g_dbus_proxy_call, vFpppiippp_t)             \
-    GO(g_dbus_proxy_call_with_unix_fd_list, vFpppiipppp_t)              \
-    GO(g_dbus_object_manager_client_new_for_bus_sync, pFLippppppp_t)    \
-    GO(g_simple_async_result_new, pFpppp_t)         \
-    GO(g_simple_async_result_new_error, pFpppuipV_t)\
-    GO(g_simple_async_result_new_from_error, pFpppp_t)                  \
-    GO(g_simple_async_result_new_take_error, pFpppp_t)                  \
-    GO(g_simple_async_result_set_op_res_gpointer, vFppp_t)              \
-    GO(g_simple_async_result_run_in_thread, vFppip_t)                   \
-    GO(g_simple_async_report_error_in_idle, vFpppuipV_t)                \
-    GO(g_simple_async_report_gerror_in_idle, vFpppp_t)                  \
-    GO(g_simple_async_report_take_gerror_in_idle, vFpppp_t)             \
-    GO(g_cancellable_connect, LFpppp_t)             \
-    GO(g_async_initable_init_async, vFpippp_t)      \
-    GO(g_async_initable_new_valist_async, vFLpAippp_t)                  \
-    GO(g_async_initable_newv_async, vFiupippp_t)    \
-    GO(g_bus_get, vFippp_t)                         \
-    GO(g_dbus_connection_new, vFppipppp_t)          \
-    GO(g_dbus_connection_new_for_address, vFpipppp_t)                   \
-    GO(g_dbus_connection_close, vFpppp_t)           \
-    GO(g_dbus_connection_flush, vFpppp_t)           \
-    GO(g_dbus_connection_call, vFpppppppiippp_t)    \
-    GO(g_dbus_connection_signal_subscribe, uFppppppippp_t)              \
-    GO(g_dbus_connection_send_message_with_reply, vFppiipppp_t)         \
-    GO(g_dbus_connection_add_filter, uFpppp_t)      \
-    GO(g_dbus_connection_register_object, uFppppppp_t)                  \
-    GO(g_bus_watch_name, uFipipppp_t)               \
-    GO(g_bus_watch_name_on_connection, uFppipppp_t) \
-    GO(g_bus_own_name, uFLpippppp_t)                \
-    GO(g_bus_own_name_on_connection, uFppipppp_t)   \
-    GO(g_simple_async_result_set_error_va, vFppipA_t)                   \
+#define ADDED_FUNCTIONS() \
+
+#include "wrappedgio2types.h"
 
 
 typedef struct gio2_my_s {
@@ -750,6 +691,30 @@ EXPORT void my_g_simple_async_result_set_error(x64emu_t* emu, void* simple, void
     my->g_simple_async_result_set_error_va(simple, domain, code, fmt, VARARGS);
 }
 
+EXPORT void* my_g_initable_new(x64emu_t* emu, void* type, void* cancel, void* err, void* first, uintptr_t* b)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    myStackAlign(emu, first, b, emu->scratch, R_EAX, 4);
+    PREPARE_VALIST;
+    return my->g_initable_new_valist(type, first, VARARGS, cancel, err);
+}
+
+EXPORT void* my_g_initable_new_valist(x64emu_t* emu, void* type, void* first, x64_va_list_t V, void* cancel, void* err)
+{
+    library_t * lib = GetLibInternal(libname);
+    gio2_my_t *my = (gio2_my_t*)lib->priv.w.p2;
+
+    #ifdef CONVERT_VALIST
+    CONVERT_VALIST(V);
+    #else
+    CREATE_VALIST_FROM_VALIST(V, emu->scratch);
+    #endif
+    return my->g_initable_new_valist(type, first, VARARGS, cancel, err);
+}
+
+
 #define PRE_INIT    \
     if(box64_nogtk) \
         return -1;
diff --git a/src/wrapped/wrappedgio2_private.h b/src/wrapped/wrappedgio2_private.h
index ef5bff3e..cdeebeb7 100755
--- a/src/wrapped/wrappedgio2_private.h
+++ b/src/wrapped/wrappedgio2_private.h
@@ -132,7 +132,7 @@ GOM(g_async_initable_init_async, vFEpippp)
 GO(g_async_initable_init_finish, iFppp)
 GOM(g_async_initable_new_async, vFEiippppV)
 GO(g_async_initable_new_finish, pFppp)
-GOM(g_async_initable_new_valist_async, vFEippippp)
+GOM(g_async_initable_new_valist_async, vFEipAippp)
 GOM(g_async_initable_newv_async, vFEiupippp)
 //GO(g_async_result_get_source_object, 
 //GO(g_async_result_get_type, 
@@ -940,9 +940,9 @@ GO(g_icon_to_string, pFp)
 //GO(g_inet_socket_address_new_from_string, 
 GO(g_initable_get_type, LFv)
 GO(g_initable_init, iFppp)
-//GO(g_initable_new, pFippppppppppppppp)    // vaarg, should vrap with g_initable_new_valist
-GO(g_initable_newv, pFpippp)
-//GO(g_initable_new_valist, pFipppp)
+GOM(g_initable_new, pFEppppV)
+GO(g_initable_newv, pFpuppp)
+GOM(g_initable_new_valist, pFEppApp)
 //GO(g_input_stream_clear_pending, 
 //GO(g_input_stream_close, 
 //GO(g_input_stream_close_async,