diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 13 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedglib2types.h | 1 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibctypes.h | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlzmatypes.h | 1 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedxml2types.h | 8 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 11 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 3 | ||||
| -rwxr-xr-x | src/wrapped/wrappedglib2.c | 5 | ||||
| -rwxr-xr-x | src/wrapped/wrappedglib2_private.h | 2 | ||||
| -rwxr-xr-x | src/wrapped/wrappedgtk3_private.h | 2 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibc.c | 12 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibc_private.h | 4 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlzma.c | 8 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlzma_private.h | 8 | ||||
| -rwxr-xr-x | src/wrapped/wrappedxml2.c | 52 | ||||
| -rwxr-xr-x | src/wrapped/wrappedxml2_private.h | 28 |
16 files changed, 132 insertions, 28 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 9538d51e..82d2b3b7 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -489,6 +489,7 @@ #() uFpuu #() uFpup #() uFpfu +#() uFpLu #() uFpLp #() uFppi #() uFppu @@ -878,6 +879,7 @@ #() iFppui #() iFppuu #() iFppup +#() iFppdd #() iFppdp #() iFppll #() iFpplp @@ -1228,6 +1230,7 @@ #() iFEpppL #() iFEpppp #() iFEpppV +#() iFEpppA #() iFiiipu #() iFiiipp #() iFiiupp @@ -2851,6 +2854,7 @@ wrappedglib2: - g_thread_create - pFpppp: - g_hash_table_new_full + - g_list_insert_sorted_with_data - g_slist_insert_sorted_with_data - g_thread_try_new - vFpiLpp: @@ -3349,6 +3353,8 @@ wrappedlibc: - fts64_open - fts_open - pFppp: + - tdelete + - tfind - tsearch - vFiipV: - __syslog_chk @@ -3903,6 +3909,7 @@ wrappedlzma: - lzma_alone_encoder - lzma_raw_decoder - lzma_raw_encoder + - lzma_stream_encoder_mt - iFpui: - lzma_easy_encoder - iFpUi: @@ -4598,6 +4605,7 @@ wrappedxml2: - xmlHashScanFull - xmlSchemaSetParserStructuredErrors - xmlSchemaSetValidStructuredErrors + - xmlTextReaderSetErrorHandler - iFppp: - xmlHashRemoveEntry - xmlXPathRegisterFunc @@ -4611,6 +4619,10 @@ wrappedxml2: - xmlHashUpdateEntry - xmlRegisterInputCallbacks - xmlRegisterOutputCallbacks +- iFpppV: + - xmlTextWriterWriteFormatAttribute +- iFpppA: + - xmlTextWriterWriteVFormatAttribute - pFpppi: - xmlParserInputBufferCreateIO - pFpppp: @@ -4627,6 +4639,7 @@ wrappedxml2: - xmlHashUpdateEntry3 - pFpppppi: - xmlCreateIOParserCtxt + - xmlReaderForIO wrappedxshmfence: wrappedxslt: - vFp: diff --git a/src/wrapped/generated/wrappedglib2types.h b/src/wrapped/generated/wrappedglib2types.h index fa7231cd..8a30a358 100644 --- a/src/wrapped/generated/wrappedglib2types.h +++ b/src/wrapped/generated/wrappedglib2types.h @@ -154,6 +154,7 @@ typedef int32_t (*iFpppippppppp_t)(void*, void*, void*, int32_t, void*, void*, v GO(g_datalist_id_dup_data, pFpupp_t) \ GO(g_thread_create, pFppip_t) \ GO(g_hash_table_new_full, pFpppp_t) \ + GO(g_list_insert_sorted_with_data, pFpppp_t) \ GO(g_slist_insert_sorted_with_data, pFpppp_t) \ GO(g_thread_try_new, pFpppp_t) \ GO(g_qsort_with_data, vFpiLpp_t) \ diff --git a/src/wrapped/generated/wrappedlibctypes.h b/src/wrapped/generated/wrappedlibctypes.h index cf1b0143..8c4ab887 100644 --- a/src/wrapped/generated/wrappedlibctypes.h +++ b/src/wrapped/generated/wrappedlibctypes.h @@ -211,6 +211,8 @@ typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void* GO(strlcpy, LFppL_t) \ GO(fts64_open, pFpip_t) \ GO(fts_open, pFpip_t) \ + GO(tdelete, pFppp_t) \ + GO(tfind, pFppp_t) \ GO(tsearch, pFppp_t) \ GO(__syslog_chk, vFiipV_t) \ GO(__vsyslog_chk, vFiipA_t) \ diff --git a/src/wrapped/generated/wrappedlzmatypes.h b/src/wrapped/generated/wrappedlzmatypes.h index 02c343ff..a2d6d8cc 100644 --- a/src/wrapped/generated/wrappedlzmatypes.h +++ b/src/wrapped/generated/wrappedlzmatypes.h @@ -27,6 +27,7 @@ typedef int32_t (*iFpupppLppL_t)(void*, uint32_t, void*, void*, void*, uintptr_t GO(lzma_alone_encoder, iFpp_t) \ GO(lzma_raw_decoder, iFpp_t) \ GO(lzma_raw_encoder, iFpp_t) \ + GO(lzma_stream_encoder_mt, iFpp_t) \ GO(lzma_easy_encoder, iFpui_t) \ GO(lzma_stream_decoder, iFpUi_t) \ GO(lzma_stream_encoder, iFppi_t) \ diff --git a/src/wrapped/generated/wrappedxml2types.h b/src/wrapped/generated/wrappedxml2types.h index fb721595..b39a1161 100644 --- a/src/wrapped/generated/wrappedxml2types.h +++ b/src/wrapped/generated/wrappedxml2types.h @@ -21,6 +21,8 @@ typedef int32_t (*iFppp_t)(void*, void*, void*); typedef void* (*pFppp_t)(void*, void*, void*); typedef void (*vFpppp_t)(void*, void*, void*, void*); typedef int32_t (*iFpppp_t)(void*, void*, void*, void*); +typedef int32_t (*iFpppV_t)(void*, void*, void*, ...); +typedef int32_t (*iFpppA_t)(void*, void*, void*, va_list); typedef void* (*pFpppi_t)(void*, void*, void*, int32_t); typedef void* (*pFpppp_t)(void*, void*, void*, void*); typedef int32_t (*iFppppp_t)(void*, void*, void*, void*, void*); @@ -43,6 +45,7 @@ typedef void* (*pFpppppi_t)(void*, void*, void*, void*, void*, int32_t); GO(xmlHashScanFull, vFppp_t) \ GO(xmlSchemaSetParserStructuredErrors, vFppp_t) \ GO(xmlSchemaSetValidStructuredErrors, vFppp_t) \ + GO(xmlTextReaderSetErrorHandler, vFppp_t) \ GO(xmlHashRemoveEntry, iFppp_t) \ GO(xmlXPathRegisterFunc, iFppp_t) \ GO(xmlNewCharEncodingHandler, pFppp_t) \ @@ -52,6 +55,8 @@ typedef void* (*pFpppppi_t)(void*, void*, void*, void*, void*, int32_t); GO(xmlHashUpdateEntry, iFpppp_t) \ GO(xmlRegisterInputCallbacks, iFpppp_t) \ GO(xmlRegisterOutputCallbacks, iFpppp_t) \ + GO(xmlTextWriterWriteFormatAttribute, iFpppV_t) \ + GO(xmlTextWriterWriteVFormatAttribute, iFpppA_t) \ GO(xmlParserInputBufferCreateIO, pFpppi_t) \ GO(xmlOutputBufferCreateIO, pFpppp_t) \ GO(xmlHashRemoveEntry3, iFppppp_t) \ @@ -60,6 +65,7 @@ typedef void* (*pFpppppi_t)(void*, void*, void*, void*, void*, int32_t); GO(xmlHashScan3, vFpppppp_t) \ GO(xmlHashScanFull3, vFpppppp_t) \ GO(xmlHashUpdateEntry3, iFpppppp_t) \ - GO(xmlCreateIOParserCtxt, pFpppppi_t) + GO(xmlCreateIOParserCtxt, pFpppppi_t) \ + GO(xmlReaderForIO, pFpppppi_t) #endif // __wrappedxml2TYPES_H_ diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 1a7ebf84..3a6e7de0 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -525,6 +525,7 @@ typedef uint32_t (*uFpuC_t)(void*, uint32_t, uint8_t); typedef uint32_t (*uFpuu_t)(void*, uint32_t, uint32_t); typedef uint32_t (*uFpup_t)(void*, uint32_t, void*); typedef uint32_t (*uFpfu_t)(void*, float, uint32_t); +typedef uint32_t (*uFpLu_t)(void*, uintptr_t, uint32_t); typedef uint32_t (*uFpLp_t)(void*, uintptr_t, void*); typedef uint32_t (*uFppi_t)(void*, void*, int32_t); typedef uint32_t (*uFppu_t)(void*, void*, uint32_t); @@ -1265,6 +1266,7 @@ typedef int32_t (*iFEpppi_t)(x64emu_t*, void*, void*, void*, int32_t); typedef int32_t (*iFEpppL_t)(x64emu_t*, void*, void*, void*, uintptr_t); typedef int32_t (*iFEpppp_t)(x64emu_t*, void*, void*, void*, void*); typedef int32_t (*iFEpppV_t)(x64emu_t*, void*, void*, void*, void*); +typedef int32_t (*iFEpppA_t)(x64emu_t*, void*, void*, void*, void*); typedef int32_t (*iFiiipu_t)(int32_t, int32_t, int32_t, void*, uint32_t); typedef int32_t (*iFiiipp_t)(int32_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFiiupp_t)(int32_t, int32_t, uint32_t, void*, void*); @@ -1980,7 +1982,6 @@ typedef void* (*pFpppdddi_t)(void*, void*, void*, double, double, double, int32_ typedef void* (*pFpppllli_t)(void*, void*, void*, intptr_t, intptr_t, intptr_t, int32_t); typedef void* (*pFpppLLLi_t)(void*, void*, void*, uintptr_t, uintptr_t, uintptr_t, int32_t); typedef void* (*pFppppuuu_t)(void*, void*, void*, void*, uint32_t, uint32_t, uint32_t); -typedef void* (*pFpppppip_t)(void*, void*, void*, void*, void*, int32_t, void*); typedef void* (*pFpppppuu_t)(void*, void*, void*, void*, void*, uint32_t, uint32_t); typedef void* (*pFppppppi_t)(void*, void*, void*, void*, void*, void*, int32_t); typedef void* (*pFppppppp_t)(void*, void*, void*, void*, void*, void*, void*); @@ -2932,6 +2933,7 @@ void uFpuC(x64emu_t *emu, uintptr_t fcn) { uFpuC_t fn = (uFpuC_t)fcn; R_RAX=(uin void uFpuu(x64emu_t *emu, uintptr_t fcn) { uFpuu_t fn = (uFpuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX); } void uFpup(x64emu_t *emu, uintptr_t fcn) { uFpup_t fn = (uFpup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); } void uFpfu(x64emu_t *emu, uintptr_t fcn) { uFpfu_t fn = (uFpfu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, emu->xmm[0].f[0], (uint32_t)R_RSI); } +void uFpLu(x64emu_t *emu, uintptr_t fcn) { uFpLu_t fn = (uFpLu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX); } void uFpLp(x64emu_t *emu, uintptr_t fcn) { uFpLp_t fn = (uFpLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); } void uFppi(x64emu_t *emu, uintptr_t fcn) { uFppi_t fn = (uFppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); } void uFppu(x64emu_t *emu, uintptr_t fcn) { uFppu_t fn = (uFppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); } @@ -3321,7 +3323,7 @@ void iFppuw(x64emu_t *emu, uintptr_t fcn) { iFppuw_t fn = (iFppuw_t)fcn; R_RAX=( void iFppui(x64emu_t *emu, uintptr_t fcn) { iFppui_t fn = (iFppui_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); } void iFppuu(x64emu_t *emu, uintptr_t fcn) { iFppuu_t fn = (iFppuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } void iFppup(x64emu_t *emu, uintptr_t fcn) { iFppup_t fn = (iFppup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); } -void iFppdd(x64emu_t *emu, uintptr_t fcn) { iFppdd_t fn = (iFppdd_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[0].d[1]); } +void iFppdd(x64emu_t *emu, uintptr_t fcn) { iFppdd_t fn = (iFppdd_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0]); } void iFppdp(x64emu_t *emu, uintptr_t fcn) { iFppdp_t fn = (iFppdp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], (void*)R_RDX); } void iFppll(x64emu_t *emu, uintptr_t fcn) { iFppll_t fn = (iFppll_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX); } void iFpplp(x64emu_t *emu, uintptr_t fcn) { iFpplp_t fn = (iFpplp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); } @@ -3672,6 +3674,7 @@ void iFEpppi(x64emu_t *emu, uintptr_t fcn) { iFEpppi_t fn = (iFEpppi_t)fcn; R_RA void iFEpppL(x64emu_t *emu, uintptr_t fcn) { iFEpppL_t fn = (iFEpppL_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); } void iFEpppp(x64emu_t *emu, uintptr_t fcn) { iFEpppp_t fn = (iFEpppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } void iFEpppV(x64emu_t *emu, uintptr_t fcn) { iFEpppV_t fn = (iFEpppV_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); } +void iFEpppA(x64emu_t *emu, uintptr_t fcn) { iFEpppA_t fn = (iFEpppA_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } void iFiiipu(x64emu_t *emu, uintptr_t fcn) { iFiiipu_t fn = (iFiiipu_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8); } void iFiiipp(x64emu_t *emu, uintptr_t fcn) { iFiiipp_t fn = (iFiiipp_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void iFiiupp(x64emu_t *emu, uintptr_t fcn) { iFiiupp_t fn = (iFiiupp_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } @@ -4387,7 +4390,6 @@ void pFpppdddi(x64emu_t *emu, uintptr_t fcn) { pFpppdddi_t fn = (pFpppdddi_t)fcn void pFpppllli(x64emu_t *emu, uintptr_t fcn) { pFpppllli_t fn = (pFpppllli_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9, *(int32_t*)(R_RSP + 8)); } void pFpppLLLi(x64emu_t *emu, uintptr_t fcn) { pFpppLLLi_t fn = (pFpppLLLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9, *(int32_t*)(R_RSP + 8)); } void pFppppuuu(x64emu_t *emu, uintptr_t fcn) { pFppppuuu_t fn = (pFppppuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); } -void pFpppppip(x64emu_t *emu, uintptr_t fcn) { pFpppppip_t fn = (pFpppppip_t)fcn; R_RAX=(uintptr_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 pFpppppuu(x64emu_t *emu, uintptr_t fcn) { pFpppppuu_t fn = (pFpppppuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); } void pFppppppi(x64emu_t *emu, uintptr_t fcn) { pFppppppi_t fn = (pFppppppi_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, *(int32_t*)(R_RSP + 8)); } 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)); } @@ -5267,6 +5269,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &uFpuu) return 1; if (fun == &uFpup) return 1; if (fun == &uFpfu) return 2; + if (fun == &uFpLu) return 1; if (fun == &uFpLp) return 1; if (fun == &uFppi) return 1; if (fun == &uFppu) return 1; @@ -5585,7 +5588,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFppui) return 1; if (fun == &iFppuu) return 1; if (fun == &iFppup) return 1; - if (fun == &iFppdd) return 2; + if (fun == &iFppdd) return 3; if (fun == &iFppdp) return 2; if (fun == &iFppll) return 1; if (fun == &iFpplp) return 1; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 523daf87..d7e9b5c5 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -526,6 +526,7 @@ void uFpuC(x64emu_t *emu, uintptr_t fnc); void uFpuu(x64emu_t *emu, uintptr_t fnc); void uFpup(x64emu_t *emu, uintptr_t fnc); void uFpfu(x64emu_t *emu, uintptr_t fnc); +void uFpLu(x64emu_t *emu, uintptr_t fnc); void uFpLp(x64emu_t *emu, uintptr_t fnc); void uFppi(x64emu_t *emu, uintptr_t fnc); void uFppu(x64emu_t *emu, uintptr_t fnc); @@ -1266,6 +1267,7 @@ void iFEpppi(x64emu_t *emu, uintptr_t fnc); void iFEpppL(x64emu_t *emu, uintptr_t fnc); void iFEpppp(x64emu_t *emu, uintptr_t fnc); void iFEpppV(x64emu_t *emu, uintptr_t fnc); +void iFEpppA(x64emu_t *emu, uintptr_t fnc); void iFiiipu(x64emu_t *emu, uintptr_t fnc); void iFiiipp(x64emu_t *emu, uintptr_t fnc); void iFiiupp(x64emu_t *emu, uintptr_t fnc); @@ -1981,7 +1983,6 @@ void pFpppdddi(x64emu_t *emu, uintptr_t fnc); void pFpppllli(x64emu_t *emu, uintptr_t fnc); void pFpppLLLi(x64emu_t *emu, uintptr_t fnc); void pFppppuuu(x64emu_t *emu, uintptr_t fnc); -void pFpppppip(x64emu_t *emu, uintptr_t fnc); void pFpppppuu(x64emu_t *emu, uintptr_t fnc); void pFppppppi(x64emu_t *emu, uintptr_t fnc); void pFppppppp(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedglib2.c b/src/wrapped/wrappedglib2.c index 1ddd6cb5..30bfbdd6 100755 --- a/src/wrapped/wrappedglib2.c +++ b/src/wrapped/wrappedglib2.c @@ -1388,6 +1388,11 @@ EXPORT void my_g_slist_free_full(x64emu_t* emu, void* list, void* f) my->g_slist_free_full(list, findDestroyFct(f)); } +EXPORT void* my_g_list_insert_sorted_with_data(x64emu_t* emu, void* list, void* data, void* f, void* user) +{ + return my->g_list_insert_sorted_with_data(list, data, findGCompareDataFuncFct(f), user); +} + #define PRE_INIT \ if(box64_nogtk) \ return -1; diff --git a/src/wrapped/wrappedglib2_private.h b/src/wrapped/wrappedglib2_private.h index 5559f0e9..c714900d 100755 --- a/src/wrapped/wrappedglib2_private.h +++ b/src/wrapped/wrappedglib2_private.h @@ -588,7 +588,7 @@ GO(g_list_index, iFpp) GO(g_list_insert, pFppi) GO(g_list_insert_before, pFppp) GOM(g_list_insert_sorted, pFEppp) -//GO(g_list_insert_sorted_with_data, pFEppBp) +GOM(g_list_insert_sorted_with_data, pFEpppp) GO(g_list_last, pFp) GO(g_list_length, uFp) GO(g_list_nth, pFpu) diff --git a/src/wrapped/wrappedgtk3_private.h b/src/wrapped/wrappedgtk3_private.h index b9cf5707..46b69727 100755 --- a/src/wrapped/wrappedgtk3_private.h +++ b/src/wrapped/wrappedgtk3_private.h @@ -4205,3 +4205,5 @@ GO(gtk_gesture_get_type, LFv) GO(gtk_event_controller_get_type, LFv) GO(gtk_stack_set_visible_child_name, vFpp) GO(gtk_stack_get_visible_child_name, pFp) + +GO(dummy_iFppdd, iFppdd) // for GtkEventController wrapping \ No newline at end of file diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index 0e87ca92..cc68c216 100755 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -1291,7 +1291,17 @@ EXPORT void* my_tsearch(x64emu_t* emu, void* key, void* root, void* fnc) EXPORT void my_tdestroy(x64emu_t* emu, void* root, void* fnc) { (void)emu; - return tdestroy(root, findfreeFct(fnc)); + tdestroy(root, findfreeFct(fnc)); +} +EXPORT void* my_tdelete(x64emu_t* emu, void* key, void** root, void* fnc) +{ + (void)emu; + return tdelete(key, root, findcompareFct(fnc)); +} +EXPORT void* my_tfind(x64emu_t* emu, void* key, void** root, void* fnc) +{ + (void)emu; + return tfind(key, root, findcompareFct(fnc)); } EXPORT void* my_lfind(x64emu_t* emu, void* key, void* base, size_t* nmemb, size_t size, void* fnc) { diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h index 213a10f6..5a9f5af0 100755 --- a/src/wrapped/wrappedlibc_private.h +++ b/src/wrapped/wrappedlibc_private.h @@ -1956,14 +1956,14 @@ GO(tcsendbreak, iFii) GO(tcsetattr, iFiip) GO(tcsetpgrp, iFii) //GO(__tdelete, -//GOW(tdelete, pFpp@) +GOWM(tdelete, pFEppp) GOWM(tdestroy, vFEpp) GO(tee, lFiiLu) GO(telldir, lFp) GO(tempnam, pFpp) GOW(textdomain, pFp) //GO(__tfind, -//GOW(tfind, pFpp@) +GOWM(tfind, pFEppp) GOW(tgkill, iFiii) //GO(thrd_current, //GO(thrd_equal, diff --git a/src/wrapped/wrappedlzma.c b/src/wrapped/wrappedlzma.c index 638a38dc..ad796fcf 100755 --- a/src/wrapped/wrappedlzma.c +++ b/src/wrapped/wrappedlzma.c @@ -200,6 +200,14 @@ EXPORT int my_lzma_alone_encoder(x64emu_t* emu, lzma_stream_t* stream, void* opt return my->lzma_alone_encoder(stream, options); } +EXPORT int my_lzma_stream_encoder_mt(x64emu_t* emu, lzma_stream_t* stream, void* options) +{ + // not restoring the allocator after, so lzma_code and lzma_end can be used without "GOM" wrapping + if(stream->allocator) + wrap_alloc_struct(stream->allocator, stream->allocator); + return my->lzma_stream_encoder_mt(stream, options); +} + #define CUSTOM_INIT \ getMy(lib); diff --git a/src/wrapped/wrappedlzma_private.h b/src/wrapped/wrappedlzma_private.h index 3b82a076..5dff2439 100755 --- a/src/wrapped/wrappedlzma_private.h +++ b/src/wrapped/wrappedlzma_private.h @@ -20,8 +20,8 @@ GO(lzma_auto_decoder, iFpUu) GO(lzma_check_is_supported, iFi) //GO(lzma_check_size, GO(lzma_code, iFpi) -//GO(lzma_cputhreads, -//GO(lzma_crc32, +GO(lzma_cputhreads, uFv) +GO(lzma_crc32, uFpLu) //GO(lzma_crc64, //GO(lzma_easy_buffer_encode, //GO(lzma_easy_decoder_memusage, @@ -70,7 +70,7 @@ GO(lzma_index_uncompressed_size, UFp) GO(lzma_lzma_preset, iFpu) //GO(lzma_memlimit_get, //GO(lzma_memlimit_set, -//GO(lzma_memusage, +GO(lzma_memusage, UFp) //GO(lzma_mf_is_supported, //GO(lzma_mode_is_supported, //GO(lzma_physmem, @@ -88,7 +88,7 @@ GOM(lzma_stream_buffer_decode, iFEpupppLppL) //GO(lzma_stream_buffer_encode, GOM(lzma_stream_decoder, iFEpUi) GOM(lzma_stream_encoder, iFEppi) -//GO(lzma_stream_encoder_mt, +GOM(lzma_stream_encoder_mt, iFEpp) //GO(lzma_stream_encoder_mt_memusage, //GO(lzma_stream_flags_compare, GO(lzma_stream_footer_decode, iFpp) diff --git a/src/wrapped/wrappedxml2.c b/src/wrapped/wrappedxml2.c index bcf0391a..e9f8dff8 100755 --- a/src/wrapped/wrappedxml2.c +++ b/src/wrapped/wrappedxml2.c @@ -16,6 +16,7 @@ #include "box64context.h" #include "librarian.h" #include "callback.h" +#include "myalign.h" const char* xml2Name = #ifdef ANDROID @@ -1215,6 +1216,29 @@ static void* find_xmlOutputOpenCallback_Fct(void* fct) // this one have a VAArg return NULL; } +// xmlTextReaderErrorFunc ... +#define GO(A) \ +static uintptr_t my_xmlTextReaderErrorFunc_fct_##A = 0; \ +static void my_xmlTextReaderErrorFunc_##A(void* a, void* b, int c, void* d) \ +{ \ + RunFunction(my_context, my_xmlTextReaderErrorFunc_fct_##A, 4, a, b, c, d); \ +} +SUPER() +#undef GO +static void* find_xmlTextReaderErrorFunc_Fct(void* fct) // this one have a VAArg +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_xmlTextReaderErrorFunc_fct_##A == (uintptr_t)fct) return my_xmlTextReaderErrorFunc_##A; + SUPER() + #undef GO + #define GO(A) if(my_xmlTextReaderErrorFunc_fct_##A == 0) {my_xmlTextReaderErrorFunc_fct_##A = (uintptr_t)fct; return my_xmlTextReaderErrorFunc_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libxml2 xmlTextReaderErrorFunc callback\n"); + return NULL; +} + #undef SUPER EXPORT void* my_xmlHashCopy(x64emu_t* emu, void* table, void* f) @@ -1438,6 +1462,34 @@ EXPORT int my_xmlRegisterOutputCallbacks(x64emu_t* emu, void* match, void* open, return my->xmlRegisterOutputCallbacks(find_xmlOutputMatchCallback_Fct(match), find_xmlOutputOpenCallback_Fct(open), find_xmlOutputWriteCallback_Fct(write), find_xmlOutputCloseCallback_Fct(close)); } +EXPORT int my_xmlTextWriterWriteVFormatAttribute(x64emu_t* emu, void* writer, void* name, void* fmt, x64_va_list_t b) +{ + #ifdef CONVERT_VALIST + CONVERT_VALIST(b); + #else + myStackAlignValist(emu, (const char*)fmt, emu->scratch, b); + PREPARE_VALIST; + #endif + return my->xmlTextWriterWriteVFormatAttribute(writer, name, fmt, VARARGS); +} + +EXPORT int my_xmlTextWriterWriteFormatAttribute(x64emu_t* emu, void* writer, void* name, void* fmt, void* b) +{ + myStackAlign(emu, (const char*)fmt, b, emu->scratch, R_EAX, 2); + PREPARE_VALIST; + return my->xmlTextWriterWriteVFormatAttribute(writer, name, fmt, VARARGS); +} + +EXPORT void* my_xmlReaderForIO(void *emu, void * ioread, void * ioclose, void * ioctx, char * URL, char * encoding, int options) +{ + return my->xmlReaderForIO(find_xmlInputReadCallback_Fct(ioread), find_xmlInputCloseCallback_Fct(ioclose), ioctx, URL, encoding, options); +} + +EXPORT void my_xmlTextReaderSetErrorHandler(x64emu_t* emu, void* reader, void* f, void* arg) +{ + my->xmlTextReaderSetErrorHandler(reader, find_xmlTextReaderErrorFunc_Fct(f), arg); +} + #define CUSTOM_INIT \ getMy(lib); diff --git a/src/wrapped/wrappedxml2_private.h b/src/wrapped/wrappedxml2_private.h index dd699a9b..4a43dac1 100755 --- a/src/wrapped/wrappedxml2_private.h +++ b/src/wrapped/wrappedxml2_private.h @@ -362,7 +362,7 @@ GO(xmlFreeRefTable, vFp) //GO(xmlFreeRMutex, //GO(xmlFreeStreamCtxt, GO(xmlFreeTextReader, vFp) -//GO(xmlFreeTextWriter, +GO(xmlFreeTextWriter, vFp) //GO(xmlFreeURI, GO(xmlFreeValidCtxt, vFp) //GO(xmlGcMemGet, @@ -622,7 +622,7 @@ GO(xmlNewTextLen, pFpi) //GO(xmlNewTextWriter, //GO(xmlNewTextWriterDoc, //GO(xmlNewTextWriterFilename, -//GO(xmlNewTextWriterMemory, +GO(xmlNewTextWriterMemory, pFpi) //GO(xmlNewTextWriterPushParser, //GO(xmlNewTextWriterTree, GO(xmlNewValidCtxt, pFv) @@ -776,7 +776,7 @@ GO(xmlReadDoc, pFpppi) //GO(xmlReaderForDoc, //GO(xmlReaderForFd, //GO(xmlReaderForFile, -//GO(xmlReaderForIO, +GOM(xmlReaderForIO, pFEpppppi) GO(xmlReaderForMemory, pFpippi) //GO(xmlReaderNewDoc, //GO(xmlReaderNewFd, @@ -1103,7 +1103,7 @@ GO(xmlTextReaderRead, iFp) //GO(xmlTextReaderRelaxNGValidate, //GO(xmlTextReaderSchemaValidate, //GO(xmlTextReaderSchemaValidateCtxt, -//GO(xmlTextReaderSetErrorHandler, +GOM(xmlTextReaderSetErrorHandler, vFEppp) //GO(xmlTextReaderSetParserProp, //GO(xmlTextReaderSetSchema, //GO(xmlTextReaderSetStructuredErrorHandler, @@ -1114,32 +1114,32 @@ GO(xmlTextReaderRead, iFp) //GO(xmlTextWriterEndAttribute, //GO(xmlTextWriterEndCDATA, //GO(xmlTextWriterEndComment, -//GO(xmlTextWriterEndDocument, +GO(xmlTextWriterEndDocument, iFp) //GO(xmlTextWriterEndDTD, //GO(xmlTextWriterEndDTDAttlist, //GO(xmlTextWriterEndDTDElement, //GO(xmlTextWriterEndDTDEntity, -//GO(xmlTextWriterEndElement, +GO(xmlTextWriterEndElement, iFp) //GO(xmlTextWriterEndPI, //GO(xmlTextWriterFlush, //GO(xmlTextWriterFullEndElement, -//GO(xmlTextWriterSetIndent, +GO(xmlTextWriterSetIndent, iFpi) //GO(xmlTextWriterSetIndentString, //GO(xmlTextWriterStartAttribute, //GO(xmlTextWriterStartAttributeNS, //GO(xmlTextWriterStartCDATA, //GO(xmlTextWriterStartComment, -//GO(xmlTextWriterStartDocument, +GO(xmlTextWriterStartDocument, iFpppp) //GO(xmlTextWriterStartDTD, //GO(xmlTextWriterStartDTDAttlist, //GO(xmlTextWriterStartDTDElement, //GO(xmlTextWriterStartDTDEntity, -//GO(xmlTextWriterStartElement, +GO(xmlTextWriterStartElement, iFpp) //GO(xmlTextWriterStartElementNS, //GO(xmlTextWriterStartPI, -//GO(xmlTextWriterWriteAttribute, +GO(xmlTextWriterWriteAttribute, iFppp) //GO(xmlTextWriterWriteAttributeNS, -//GO(xmlTextWriterWriteBase64, +GO(xmlTextWriterWriteBase64, iFppii) //GO(xmlTextWriterWriteBinHex, //GO(xmlTextWriterWriteCDATA, //GO(xmlTextWriterWriteComment, @@ -1153,7 +1153,7 @@ GO(xmlTextReaderRead, iFp) //GO(xmlTextWriterWriteDTDNotation, //GO(xmlTextWriterWriteElement, //GO(xmlTextWriterWriteElementNS, -//GO(xmlTextWriterWriteFormatAttribute, +GOM(xmlTextWriterWriteFormatAttribute, iFEpppV) //GO(xmlTextWriterWriteFormatAttributeNS, //GO(xmlTextWriterWriteFormatCDATA, //GO(xmlTextWriterWriteFormatComment, @@ -1169,8 +1169,8 @@ GO(xmlTextReaderRead, iFp) //GO(xmlTextWriterWritePI, //GO(xmlTextWriterWriteRaw, //GO(xmlTextWriterWriteRawLen, -//GO(xmlTextWriterWriteString, -//GO(xmlTextWriterWriteVFormatAttribute, +GO(xmlTextWriterWriteString, iFpp) +GOM(xmlTextWriterWriteVFormatAttribute, iFEpppA) //GO(xmlTextWriterWriteVFormatAttributeNS, //GO(xmlTextWriterWriteVFormatCDATA, //GO(xmlTextWriterWriteVFormatComment, |