mirror of https://github.com/ptitSeb/box64.git
Added a bunch of wrapped functions (for #725)
This commit is contained in:
parent
5b04c49e74
commit
66abc05259
|
@ -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:
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -3,5 +3,5 @@ project("helper")
|
|||
find_package(Clang REQUIRED CONFIG)
|
||||
|
||||
add_executable(helper main.cpp gen.cpp)
|
||||
#target_include_directories(helper SYSTEM PUBLIC ${CLANG_INCLUDE_DIRS})
|
||||
target_include_directories(helper SYSTEM PUBLIC ${CLANG_INCLUDE_DIRS})
|
||||
target_link_libraries(helper PUBLIC clang-cpp LLVM)
|
||||
|
|
Loading…
Reference in New Issue