diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-12-13 15:24:03 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-12-13 15:24:11 +0100 |
| commit | fa3db3df11f0d10a4a46f5ec5b0aaeaf34656d72 (patch) | |
| tree | 74dacd24ef44f155a2b6f0ab517bfe25c2e48dc2 /src/wrapped32 | |
| parent | 4b4c0143d951b6aa18e2102136b4b72e165459d4 (diff) | |
| download | box64-fa3db3df11f0d10a4a46f5ec5b0aaeaf34656d72.tar.gz box64-fa3db3df11f0d10a4a46f5ec5b0aaeaf34656d72.zip | |
[BOX32][WRAPPER] Added a arge batch of 32bits wrapped function to X11 and friends
Diffstat (limited to 'src/wrapped32')
| -rw-r--r-- | src/wrapped32/generated/functions_list.txt | 88 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibx11types32.h | 52 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxcursortypes32.h | 6 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxitypes32.h | 12 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrappedlibxrandrtypes32.h | 2 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.c | 40 | ||||
| -rw-r--r-- | src/wrapped32/generated/wrapper32.h | 20 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibx11.c | 383 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibx11_private.h | 86 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxcursor.c | 14 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxcursor_private.h | 96 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxext_private.h | 10 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxi.c | 60 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxi_private.h | 18 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxrandr.c | 7 | ||||
| -rw-r--r-- | src/wrapped32/wrappedlibxrandr_private.h | 2 |
16 files changed, 736 insertions, 160 deletions
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index d1996f7b..c5efa3ab 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -31,6 +31,7 @@ #() iEI -> iEI #() iEu -> iEu #() iFu -> iFu +#() iFU -> iFU #() iEf -> iEf #() iEd -> iEd #() iEl -> iEl @@ -294,6 +295,7 @@ #() LEpp -> LEpp #() LFXi -> LFXi #() LFXu -> LFXu +#() LFXU -> LFXU #() LFXL -> LFXL #() LFXp -> LFXp #() pFEv -> pFEv @@ -543,6 +545,7 @@ #() iFXup -> iFXup #() iFXLi -> iFXLi #() iFXLu -> iFXLu +#() iFXLU -> iFXLU #() iFXLf -> iFXLf #() iFXLl -> iFXLl #() iFXLL -> iFXLL @@ -715,6 +718,7 @@ #() vEEipp -> vEEipp #() vFEipp -> vFEipp #() vEEipV -> vEEipV +#() vFEpui -> vFEpui #() vEEpuu -> vEEpuu #() vEEpup -> vEEpup #() vFEpup -> vFEpup @@ -814,6 +818,7 @@ #() vFXiLu -> vFXiLu #() vFXLii -> vFXLii #() vFXLip -> vFXLip +#() vFXLuu -> vFXLuu #() vFXLLL -> vFXLLL #() vFXLLp -> vFXLLp #() vFXLpi -> vFXLpi @@ -848,6 +853,7 @@ #() iEESpp -> iEESpp #() iEESpV -> iEESpV #() iFEXip -> iFEXip +#() iFEXup -> iFEXup #() iFEXlp -> iFEXlp #() iFEXLp -> iFEXLp #() iFEXpp -> iFEXpp @@ -945,6 +951,7 @@ #() LFXLuu -> LFXLuu #() LFXpLp -> LFXpLp #() pEEipi -> pEEipi +#() pFEupi -> pFEupi #() pFEupp -> pFEupp #() pEEpii -> pEEpii #() pFEpip -> pFEpip @@ -954,6 +961,8 @@ #() pEEppp -> pEEppp #() pFEppp -> pFEppp #() pFEXip -> pFEXip +#() pFEXCL -> pFEXCL +#() pFEXuu -> pFEXuu #() pFEXLL -> pFEXLL #() pFEXLp -> pFEXLp #() pFEXpL -> pFEXpL @@ -1174,7 +1183,6 @@ #() iFpCCCC -> iFpCCCC #() iFpuipp -> iFpuipp #() iFppiUi -> iFppiUi -#() iFppipp -> iFppipp #() iFpppip -> iFpppip #() iEpppLi -> iEpppLi #() iEpppLp -> iEpppLp @@ -1378,6 +1386,7 @@ #() pFEpiiuu -> pFEpiiuu #() pEEpLLiN -> pEEpLLiN #() pEEppLLp -> pEEppLLp +#() pFEXLLLp -> pFEXLLLp #() pFEXLpii -> pFEXLpii #() pFEXpppp -> pFEXpppp #() pFWCiWCi -> pFWCiWCi @@ -1493,13 +1502,14 @@ #() pFEpLiiiI -> pFEpLiiiI #() pEEpLiiil -> pEEpLiiil #() pFEpXppip -> pFEpXppip +#() pFppppiii -> pFppppiii #() vFXLLiiibl_ -> vFXLLiiiB #() iFXiLibiip_ip -> iFXiLiBip #() iFXLibL_ubL_u -> iFXLiBuBu -#() vFXLpiibpiip_i -> vFXLpiiBi #() iFXLpiibpiiL_i -> iFXLpiiBi #() LFXLLuubLWWWcc_bLWWWcc_ -> LFXLLuuBB #() LFXLLbLWWWcc_bLWWWcc_uu -> LFXLLBBuu +#() vFEXLpiipi -> vFEXLpiipi #() vFiiiiuuip -> vFiiiiuuip #() vFiilliilp -> vFiilliilp #() vFiupuiuup -> vFiupuiuup @@ -1531,7 +1541,6 @@ #() vFXiLpiiuu -> vFXiLpiiuu #() vFXLiiiLii -> vFXLiiiLii #() vFXLLLiipi -> vFXLLLiipi -#() vFXLppiipi -> vFXLppiipi #() vFXppuulll -> vFXppuulll #() iEEpippppp -> iEEpippppp #() iEEpLiLppp -> iEEpLiLppp @@ -1548,9 +1557,11 @@ #() uFulpppppp -> uFulpppppp #() LFEXLppuuu -> LFEXLppuuu #() LFXLpuuLLu -> LFXLpuuLLu +#() pFEXpLLppp -> pFEXpLLppp #() iFXLLiippBL_ -> iFXLLiippB #() iFXLpppbL_pp -> iFXLpppBpp #() vFppibLdd_ipiu -> vFppiBipiu +#() vFEXLppiipi -> vFEXLppiipi #() vFiiiiiiiii -> vFiiiiiiiii #() vFiiiiiiill -> vFiiiiiiill #() vFiiiiillli -> vFiiiiillli @@ -1582,7 +1593,6 @@ #() iFuiiuuiiip -> iFuiiuuiiip #() iFuiiupiiup -> iFuiiupiiup #() iFdddpppppp -> iFdddpppppp -#() iFppippippp -> iFppippippp #() iFXuuuLiiip -> iFXuuuLiiip #() iFXuuuLpppp -> iFXuuuLpppp #() iFXLiuiiLLL -> iFXLiuiiLLL @@ -1619,6 +1629,8 @@ #() vFuffiiffiip -> vFuffiiffiip #() vFuddiiddiip -> vFuddiiddiip #() vFffffffffff -> vFffffffffff +#() iFEppippippp -> iFEppippippp +#() iFEXpLiipiiL -> iFEXpLiipiiL #() iFuiiiuuiiip -> iFuiiiuuiiip #() iFppuuiiuuuu -> iFppuuiiuuuu #() iFXiLLdduudd -> iFXiLLdduudd @@ -2319,7 +2331,10 @@ wrappedlibx11: - vFX: - XLockDisplay - iFp: + - XContextDependentDrawing + - XContextualDrawing - XDestroyImage + - XDirectionalDependentDrawing - XFreeExtensionList - XFreeFontNames - XFreeModifiermap @@ -2332,6 +2347,9 @@ wrappedlibx11: - LFp: - XVisualIDFromVisual - pFp: + - XBaseFontNameListOfFontSet + - XExtentsOfFontSet + - XLocaleOfFontSet - XSetErrorHandler - XSetIOErrorHandler - pFX: @@ -2340,6 +2358,8 @@ wrappedlibx11: - XOpenDisplay - vFXp: - XFreeEventData + - XFreeFontSet + - _XDeqAsyncHandler - iFpL: - XFilterEvent - iFXp: @@ -2365,26 +2385,44 @@ wrappedlibx11: - pFXp: - XListExtensions - XLoadQueryFont +- vFpui: + - XkbFreeKeyboard - vFXLp: - XSetWMNormalHints - iFpip: - XStringListToTextProperty - iFppi: - XFreeFontInfo + - XTextWidth - XTextWidth16 + - XmbTextEscapement + - Xutf8TextEscapement + - XwcTextEscapement +- iFppp: + - XFontsOfFontSet - iFXip: - XCheckTypedEvent +- iFXup: + - XkbGetNames + - XkbGetUpdatedMap - iFXlp: - XMaskEvent - iFXLp: - XGetWindowAttributes - XSetWMHints + - XkbGetControls +- iFXpp: + - XAddConnectionWatch - LFXii: - XGetPixel - pFXip: - XESetCloseDisplay - XESetEventToWire - XESetWireToEvent +- pFXCL: + - _XGetRequest +- pFXuu: + - XkbGetMap - vFXLpL: - XSetWMSizeHints - iFXLip: @@ -2399,6 +2437,7 @@ wrappedlibx11: - XSetWMProtocols - XStoreColors - iFXLpp: + - XGetWMColormapWindows - XGetWMNormalHints - iFXppp: - XCheckIfEvent @@ -2411,8 +2450,13 @@ wrappedlibx11: - XListFonts - iFXbpLiL_pp: - XmbTextPropertyToTextList + - Xutf8TextPropertyToTextList + - XwcTextPropertyToTextList - iFppipp: - XLookupString + - XmbTextExtents + - Xutf8TextExtents + - XwcTextExtents - iFXLilp: - XSendEvent - iFXLpiL: @@ -2422,10 +2466,13 @@ wrappedlibx11: - iFXpiup: - XmbTextListToTextProperty - Xutf8TextListToTextProperty + - XwcTextListToTextProperty - iFXpppp: - XQueryExtension - pFpiiuu: - XSubImage +- pFXLLLp: + - XGetMotionEvents - pFXpppp: - XCreateFontSet - iFpppipp: @@ -2436,15 +2483,32 @@ wrappedlibx11: - iFXppppp: - XRegisterIMInstantiateCallback - XUnregisterIMInstantiateCallback +- vFXLpiipi: + - XmbDrawText + - Xutf8DrawText + - XwcDrawText - iFppipppp: - XTextExtents + - XTextExtents16 +- vFXLppiipi: + - XmbDrawImageString + - XmbDrawString + - Xutf8DrawImageString + - Xutf8DrawString + - XwcDrawImageString + - XwcDrawString - iFXLLLiipi: - XChangeProperty - pFXLiiuuLi: - XGetImage - vFXLpppippp: - XSetWMProperties + - XmbSetWMProperties - Xutf8SetWMProperties +- iFppippippp: + - XmbTextPerCharExtents + - Xutf8TextPerCharExtents + - XwcTextPerCharExtents - iFXLppiiiiuu: - XPutImage - pFXpuiipuuii: @@ -2472,6 +2536,10 @@ wrappedlibxcursor: - XcursorCursorsCreate - pFXp: - XcursorImagesLoadCursors +- pFupi: + - XcursorShapeLoadImages +- pFppi: + - XcursorLibraryLoadImages wrappedlibxdamage: wrappedlibxext: - vFp: @@ -2505,11 +2573,17 @@ wrappedlibxfixes: - XFixesQueryExtension wrappedlibxi: - vFp: + - XFreeDeviceList + - XFreeDeviceMotionEvents + - XFreeDeviceState - XIFreeDeviceInfo - iFXp: - XCloseDevice - pFXL: - XOpenDevice +- pFXp: + - XListInputDevices + - XQueryDeviceState - pFXip: - XIQueryDevice - pFXLp: @@ -2518,10 +2592,16 @@ wrappedlibxi: - XISelectEvents - iFXppu: - XGetDeviceButtonMapping +- pFXpLLppp: + - XGetDeviceMotionEvents +- iFXpLiipiiL: + - XGrabDevice wrappedlibxrandr: - vFp: - XRRFreeProviderInfo - XRRFreeProviderResources +- iFp: + - XRRUpdateConfiguration - pFXL: - XRRGetProviderResources - XRRGetScreenResources diff --git a/src/wrapped32/generated/wrappedlibx11types32.h b/src/wrapped32/generated/wrappedlibx11types32.h index 07cff32c..b8719e0b 100644 --- a/src/wrapped32/generated/wrappedlibx11types32.h +++ b/src/wrapped32/generated/wrappedlibx11types32.h @@ -28,14 +28,20 @@ typedef void* (*pFpV_t)(void*, ...); typedef void* (*pFXi_t)(void*, int32_t); typedef void* (*pFXL_t)(void*, uintptr_t); typedef void* (*pFXp_t)(void*, void*); +typedef void (*vFpui_t)(void*, uint32_t, int32_t); typedef void (*vFXLp_t)(void*, uintptr_t, void*); typedef int32_t (*iFpip_t)(void*, int32_t, void*); typedef int32_t (*iFppi_t)(void*, void*, int32_t); +typedef int32_t (*iFppp_t)(void*, void*, void*); typedef int32_t (*iFXip_t)(void*, int32_t, void*); +typedef int32_t (*iFXup_t)(void*, uint32_t, void*); typedef int32_t (*iFXlp_t)(void*, intptr_t, void*); typedef int32_t (*iFXLp_t)(void*, uintptr_t, void*); +typedef int32_t (*iFXpp_t)(void*, void*, void*); typedef uintptr_t (*LFXii_t)(void*, int32_t, int32_t); typedef void* (*pFXip_t)(void*, int32_t, void*); +typedef void* (*pFXCL_t)(void*, uint8_t, uintptr_t); +typedef void* (*pFXuu_t)(void*, uint32_t, uint32_t); typedef void (*vFXLpL_t)(void*, uintptr_t, void*, uintptr_t); typedef int32_t (*iFXLip_t)(void*, uintptr_t, int32_t, void*); typedef int32_t (*iFXLlp_t)(void*, uintptr_t, intptr_t, void*); @@ -54,14 +60,18 @@ typedef int32_t (*iFXpiip_t)(void*, void*, int32_t, int32_t, void*); typedef int32_t (*iFXpiup_t)(void*, void*, int32_t, uint32_t, void*); typedef int32_t (*iFXpppp_t)(void*, void*, void*, void*, void*); typedef void* (*pFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t); +typedef void* (*pFXLLLp_t)(void*, uintptr_t, uintptr_t, uintptr_t, void*); typedef void* (*pFXpppp_t)(void*, void*, void*, void*, void*); typedef int32_t (*iFpppipp_t)(void*, void*, void*, int32_t, void*, void*); typedef int32_t (*iFXLpppp_t)(void*, uintptr_t, void*, void*, void*, void*); typedef int32_t (*iFXppppp_t)(void*, void*, void*, void*, void*, void*); +typedef void (*vFXLpiipi_t)(void*, uintptr_t, void*, int32_t, int32_t, void*, int32_t); typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*); +typedef void (*vFXLppiipi_t)(void*, uintptr_t, void*, void*, int32_t, int32_t, void*, int32_t); typedef int32_t (*iFXLLLiipi_t)(void*, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, void*, int32_t); typedef void* (*pFXLiiuuLi_t)(void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t); typedef void (*vFXLpppippp_t)(void*, uintptr_t, void*, void*, void*, int32_t, void*, void*, void*); +typedef int32_t (*iFppippippp_t)(void*, void*, int32_t, void*, void*, int32_t, void*, void*, void*); typedef int32_t (*iFXLppiiiiuu_t)(void*, uintptr_t, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t); typedef void* (*pFXpuiipuuii_t)(void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t); typedef void* (*pFXLiiuuLipii_t)(void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t, void*, int32_t, int32_t); @@ -71,7 +81,10 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32 #define SUPER() ADDED_FUNCTIONS() \ GO(XFreeStringList, vFp_t) \ GO(XLockDisplay, vFX_t) \ + GO(XContextDependentDrawing, iFp_t) \ + GO(XContextualDrawing, iFp_t) \ GO(XDestroyImage, iFp_t) \ + GO(XDirectionalDependentDrawing, iFp_t) \ GO(XFreeExtensionList, iFp_t) \ GO(XFreeFontNames, iFp_t) \ GO(XFreeModifiermap, iFp_t) \ @@ -81,11 +94,16 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32 GO(XCloseDisplay, iFX_t) \ GO(XGrabServer, iFX_t) \ GO(XVisualIDFromVisual, LFp_t) \ + GO(XBaseFontNameListOfFontSet, pFp_t) \ + GO(XExtentsOfFontSet, pFp_t) \ + GO(XLocaleOfFontSet, pFp_t) \ GO(XSetErrorHandler, pFp_t) \ GO(XSetIOErrorHandler, pFp_t) \ GO(XGetModifierMapping, pFX_t) \ GO(XOpenDisplay, XFp_t) \ GO(XFreeEventData, vFXp_t) \ + GO(XFreeFontSet, vFXp_t) \ + GO(_XDeqAsyncHandler, vFXp_t) \ GO(XFilterEvent, iFpL_t) \ GO(XFreeFont, iFXp_t) \ GO(XGetEventData, iFXp_t) \ @@ -103,18 +121,30 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32 GO(XQueryFont, pFXL_t) \ GO(XListExtensions, pFXp_t) \ GO(XLoadQueryFont, pFXp_t) \ + GO(XkbFreeKeyboard, vFpui_t) \ GO(XSetWMNormalHints, vFXLp_t) \ GO(XStringListToTextProperty, iFpip_t) \ GO(XFreeFontInfo, iFppi_t) \ + GO(XTextWidth, iFppi_t) \ GO(XTextWidth16, iFppi_t) \ + GO(XmbTextEscapement, iFppi_t) \ + GO(Xutf8TextEscapement, iFppi_t) \ + GO(XwcTextEscapement, iFppi_t) \ + GO(XFontsOfFontSet, iFppp_t) \ GO(XCheckTypedEvent, iFXip_t) \ + GO(XkbGetNames, iFXup_t) \ + GO(XkbGetUpdatedMap, iFXup_t) \ GO(XMaskEvent, iFXlp_t) \ GO(XGetWindowAttributes, iFXLp_t) \ GO(XSetWMHints, iFXLp_t) \ + GO(XkbGetControls, iFXLp_t) \ + GO(XAddConnectionWatch, iFXpp_t) \ GO(XGetPixel, LFXii_t) \ GO(XESetCloseDisplay, pFXip_t) \ GO(XESetEventToWire, pFXip_t) \ GO(XESetWireToEvent, pFXip_t) \ + GO(_XGetRequest, pFXCL_t) \ + GO(XkbGetMap, pFXuu_t) \ GO(XSetWMSizeHints, vFXLpL_t) \ GO(XCheckTypedWindowEvent, iFXLip_t) \ GO(XCheckWindowEvent, iFXLlp_t) \ @@ -123,6 +153,7 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32 GO(XQueryColors, iFXLpi_t) \ GO(XSetWMProtocols, iFXLpi_t) \ GO(XStoreColors, iFXLpi_t) \ + GO(XGetWMColormapWindows, iFXLpp_t) \ GO(XGetWMNormalHints, iFXLpp_t) \ GO(XCheckIfEvent, iFXppp_t) \ GO(XIfEvent, iFXppp_t) \ @@ -130,25 +161,46 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32 GO(XGetVisualInfo, pFXlpp_t) \ GO(XListFonts, pFXpip_t) \ GO(XmbTextPropertyToTextList, iFXbpLiL_pp_t) \ + GO(Xutf8TextPropertyToTextList, iFXbpLiL_pp_t) \ + GO(XwcTextPropertyToTextList, iFXbpLiL_pp_t) \ GO(XLookupString, iFppipp_t) \ + GO(XmbTextExtents, iFppipp_t) \ + GO(Xutf8TextExtents, iFppipp_t) \ + GO(XwcTextExtents, iFppipp_t) \ GO(XSendEvent, iFXLilp_t) \ GO(XFreeColors, iFXLpiL_t) \ GO(XInternAtoms, iFXpiip_t) \ GO(XmbTextListToTextProperty, iFXpiup_t) \ GO(Xutf8TextListToTextProperty, iFXpiup_t) \ + GO(XwcTextListToTextProperty, iFXpiup_t) \ GO(XQueryExtension, iFXpppp_t) \ GO(XSubImage, pFpiiuu_t) \ + GO(XGetMotionEvents, pFXLLLp_t) \ GO(XCreateFontSet, pFXpppp_t) \ GO(XmbLookupString, iFpppipp_t) \ GO(Xutf8LookupString, iFpppipp_t) \ GO(XQueryTree, iFXLpppp_t) \ GO(XRegisterIMInstantiateCallback, iFXppppp_t) \ GO(XUnregisterIMInstantiateCallback, iFXppppp_t) \ + GO(XmbDrawText, vFXLpiipi_t) \ + GO(Xutf8DrawText, vFXLpiipi_t) \ + GO(XwcDrawText, vFXLpiipi_t) \ GO(XTextExtents, iFppipppp_t) \ + GO(XTextExtents16, iFppipppp_t) \ + GO(XmbDrawImageString, vFXLppiipi_t) \ + GO(XmbDrawString, vFXLppiipi_t) \ + GO(Xutf8DrawImageString, vFXLppiipi_t) \ + GO(Xutf8DrawString, vFXLppiipi_t) \ + GO(XwcDrawImageString, vFXLppiipi_t) \ + GO(XwcDrawString, vFXLppiipi_t) \ GO(XChangeProperty, iFXLLLiipi_t) \ GO(XGetImage, pFXLiiuuLi_t) \ GO(XSetWMProperties, vFXLpppippp_t) \ + GO(XmbSetWMProperties, vFXLpppippp_t) \ GO(Xutf8SetWMProperties, vFXLpppippp_t) \ + GO(XmbTextPerCharExtents, iFppippippp_t) \ + GO(Xutf8TextPerCharExtents, iFppippippp_t) \ + GO(XwcTextPerCharExtents, iFppippippp_t) \ GO(XPutImage, iFXLppiiiiuu_t) \ GO(XCreateImage, pFXpuiipuuii_t) \ GO(XGetSubImage, pFXLiiuuLipii_t) \ diff --git a/src/wrapped32/generated/wrappedlibxcursortypes32.h b/src/wrapped32/generated/wrappedlibxcursortypes32.h index b01813c7..0f5ab7ed 100644 --- a/src/wrapped32/generated/wrappedlibxcursortypes32.h +++ b/src/wrapped32/generated/wrappedlibxcursortypes32.h @@ -17,6 +17,8 @@ typedef uintptr_t (*LFXp_t)(void*, void*); typedef void* (*pFii_t)(int32_t, int32_t); typedef void* (*pFXi_t)(void*, int32_t); typedef void* (*pFXp_t)(void*, void*); +typedef void* (*pFupi_t)(uint32_t, void*, int32_t); +typedef void* (*pFppi_t)(void*, void*, int32_t); #define SUPER() ADDED_FUNCTIONS() \ GO(XcursorCursorsDestroy, vFp_t) \ @@ -27,6 +29,8 @@ typedef void* (*pFXp_t)(void*, void*); GO(XcursorImagesLoadCursor, LFXp_t) \ GO(XcursorImageCreate, pFii_t) \ GO(XcursorCursorsCreate, pFXi_t) \ - GO(XcursorImagesLoadCursors, pFXp_t) + GO(XcursorImagesLoadCursors, pFXp_t) \ + GO(XcursorShapeLoadImages, pFupi_t) \ + GO(XcursorLibraryLoadImages, pFppi_t) #endif // __wrappedlibxcursorTYPES32_H_ diff --git a/src/wrapped32/generated/wrappedlibxitypes32.h b/src/wrapped32/generated/wrappedlibxitypes32.h index 0e74b840..a39bd1ef 100644 --- a/src/wrapped32/generated/wrappedlibxitypes32.h +++ b/src/wrapped32/generated/wrappedlibxitypes32.h @@ -14,18 +14,28 @@ typedef void (*vFp_t)(void*); typedef int32_t (*iFXp_t)(void*, void*); typedef void* (*pFXL_t)(void*, uintptr_t); +typedef void* (*pFXp_t)(void*, void*); typedef void* (*pFXip_t)(void*, int32_t, void*); typedef void* (*pFXLp_t)(void*, uintptr_t, void*); typedef int32_t (*iFXLpi_t)(void*, uintptr_t, void*, int32_t); typedef int32_t (*iFXppu_t)(void*, void*, void*, uint32_t); +typedef void* (*pFXpLLppp_t)(void*, void*, uintptr_t, uintptr_t, void*, void*, void*); +typedef int32_t (*iFXpLiipiiL_t)(void*, void*, uintptr_t, int32_t, int32_t, void*, int32_t, int32_t, uintptr_t); #define SUPER() ADDED_FUNCTIONS() \ + GO(XFreeDeviceList, vFp_t) \ + GO(XFreeDeviceMotionEvents, vFp_t) \ + GO(XFreeDeviceState, vFp_t) \ GO(XIFreeDeviceInfo, vFp_t) \ GO(XCloseDevice, iFXp_t) \ GO(XOpenDevice, pFXL_t) \ + GO(XListInputDevices, pFXp_t) \ + GO(XQueryDeviceState, pFXp_t) \ GO(XIQueryDevice, pFXip_t) \ GO(XIGetSelectedEvents, pFXLp_t) \ GO(XISelectEvents, iFXLpi_t) \ - GO(XGetDeviceButtonMapping, iFXppu_t) + GO(XGetDeviceButtonMapping, iFXppu_t) \ + GO(XGetDeviceMotionEvents, pFXpLLppp_t) \ + GO(XGrabDevice, iFXpLiipiiL_t) #endif // __wrappedlibxiTYPES32_H_ diff --git a/src/wrapped32/generated/wrappedlibxrandrtypes32.h b/src/wrapped32/generated/wrappedlibxrandrtypes32.h index 0de1eca3..efaa1d1d 100644 --- a/src/wrapped32/generated/wrappedlibxrandrtypes32.h +++ b/src/wrapped32/generated/wrappedlibxrandrtypes32.h @@ -12,6 +12,7 @@ #endif typedef void (*vFp_t)(void*); +typedef int32_t (*iFp_t)(void*); typedef void* (*pFXL_t)(void*, uintptr_t); typedef int32_t (*iFXpp_t)(void*, void*, void*); typedef void* (*pFXLL_t)(void*, uintptr_t, uintptr_t); @@ -23,6 +24,7 @@ typedef int32_t (*iFXpLLiiLWpi_t)(void*, void*, uintptr_t, uintptr_t, int32_t, i #define SUPER() ADDED_FUNCTIONS() \ GO(XRRFreeProviderInfo, vFp_t) \ GO(XRRFreeProviderResources, vFp_t) \ + GO(XRRUpdateConfiguration, iFp_t) \ GO(XRRGetProviderResources, pFXL_t) \ GO(XRRGetScreenResources, pFXL_t) \ GO(XRRGetScreenResourcesCurrent, pFXL_t) \ diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index 4c353ff4..ef540162 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -122,6 +122,7 @@ typedef int32_t (*iFi_t)(int32_t); typedef int32_t (*iEI_t)(int64_t); typedef int32_t (*iEu_t)(uint32_t); typedef int32_t (*iFu_t)(uint32_t); +typedef int32_t (*iFU_t)(uint64_t); typedef int32_t (*iEf_t)(float); typedef int32_t (*iEd_t)(double); typedef int32_t (*iEl_t)(intptr_t); @@ -385,6 +386,7 @@ typedef uintptr_t (*LEpL_t)(void*, uintptr_t); typedef uintptr_t (*LEpp_t)(void*, void*); typedef uintptr_t (*LFXi_t)(void*, int32_t); typedef uintptr_t (*LFXu_t)(void*, uint32_t); +typedef uintptr_t (*LFXU_t)(void*, uint64_t); typedef uintptr_t (*LFXL_t)(void*, uintptr_t); typedef uintptr_t (*LFXp_t)(void*, void*); typedef void* (*pFEv_t)(x64emu_t*); @@ -634,6 +636,7 @@ typedef int32_t (*iFXuu_t)(void*, uint32_t, uint32_t); typedef int32_t (*iFXup_t)(void*, uint32_t, void*); typedef int32_t (*iFXLi_t)(void*, uintptr_t, int32_t); typedef int32_t (*iFXLu_t)(void*, uintptr_t, uint32_t); +typedef int32_t (*iFXLU_t)(void*, uintptr_t, uint64_t); typedef int32_t (*iFXLf_t)(void*, uintptr_t, float); typedef int32_t (*iFXLl_t)(void*, uintptr_t, intptr_t); typedef int32_t (*iFXLL_t)(void*, uintptr_t, uintptr_t); @@ -806,6 +809,7 @@ typedef void* (*pEppriiiiiiiiilt__t)(void*, void*, struct_iiiiiiiiilt_t*); typedef void (*vEEipp_t)(x64emu_t*, int32_t, void*, void*); typedef void (*vFEipp_t)(x64emu_t*, int32_t, void*, void*); typedef void (*vEEipV_t)(x64emu_t*, int32_t, void*, void*); +typedef void (*vFEpui_t)(x64emu_t*, void*, uint32_t, int32_t); typedef void (*vEEpuu_t)(x64emu_t*, void*, uint32_t, uint32_t); typedef void (*vEEpup_t)(x64emu_t*, void*, uint32_t, void*); typedef void (*vFEpup_t)(x64emu_t*, void*, uint32_t, void*); @@ -905,6 +909,7 @@ typedef void (*vFXiiL_t)(void*, int32_t, int32_t, uintptr_t); typedef void (*vFXiLu_t)(void*, int32_t, uintptr_t, uint32_t); typedef void (*vFXLii_t)(void*, uintptr_t, int32_t, int32_t); typedef void (*vFXLip_t)(void*, uintptr_t, int32_t, void*); +typedef void (*vFXLuu_t)(void*, uintptr_t, uint32_t, uint32_t); typedef void (*vFXLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t); typedef void (*vFXLLp_t)(void*, uintptr_t, uintptr_t, void*); typedef void (*vFXLpi_t)(void*, uintptr_t, void*, int32_t); @@ -939,6 +944,7 @@ typedef int32_t (*iEEhup_t)(x64emu_t*, uintptr_t, uint32_t, void*); typedef int32_t (*iEESpp_t)(x64emu_t*, void*, void*, void*); typedef int32_t (*iEESpV_t)(x64emu_t*, void*, void*, void*); typedef int32_t (*iFEXip_t)(x64emu_t*, void*, int32_t, void*); +typedef int32_t (*iFEXup_t)(x64emu_t*, void*, uint32_t, void*); typedef int32_t (*iFEXlp_t)(x64emu_t*, void*, intptr_t, void*); typedef int32_t (*iFEXLp_t)(x64emu_t*, void*, uintptr_t, void*); typedef int32_t (*iFEXpp_t)(x64emu_t*, void*, void*, void*); @@ -1036,6 +1042,7 @@ typedef uintptr_t (*LFXCii_t)(void*, uint8_t, int32_t, int32_t); typedef uintptr_t (*LFXLuu_t)(void*, uintptr_t, uint32_t, uint32_t); typedef uintptr_t (*LFXpLp_t)(void*, void*, uintptr_t, void*); typedef void* (*pEEipi_t)(x64emu_t*, int32_t, void*, int32_t); +typedef void* (*pFEupi_t)(x64emu_t*, uint32_t, void*, int32_t); typedef void* (*pFEupp_t)(x64emu_t*, uint32_t, void*, void*); typedef void* (*pEEpii_t)(x64emu_t*, void*, int32_t, int32_t); typedef void* (*pFEpip_t)(x64emu_t*, void*, int32_t, void*); @@ -1045,6 +1052,8 @@ typedef void* (*pFEppi_t)(x64emu_t*, void*, void*, int32_t); typedef void* (*pEEppp_t)(x64emu_t*, void*, void*, void*); typedef void* (*pFEppp_t)(x64emu_t*, void*, void*, void*); typedef void* (*pFEXip_t)(x64emu_t*, void*, int32_t, void*); +typedef void* (*pFEXCL_t)(x64emu_t*, void*, uint8_t, uintptr_t); +typedef void* (*pFEXuu_t)(x64emu_t*, void*, uint32_t, uint32_t); typedef void* (*pFEXLL_t)(x64emu_t*, void*, uintptr_t, uintptr_t); typedef void* (*pFEXLp_t)(x64emu_t*, void*, uintptr_t, void*); typedef void* (*pFEXpL_t)(x64emu_t*, void*, void*, uintptr_t); @@ -1265,7 +1274,6 @@ typedef int32_t (*iFpippp_t)(void*, int32_t, void*, void*, void*); typedef int32_t (*iFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t); typedef int32_t (*iFpuipp_t)(void*, uint32_t, int32_t, void*, void*); typedef int32_t (*iFppiUi_t)(void*, void*, int32_t, uint64_t, int32_t); -typedef int32_t (*iFppipp_t)(void*, void*, int32_t, void*, void*); typedef int32_t (*iFpppip_t)(void*, void*, void*, int32_t, void*); typedef int32_t (*iEpppLi_t)(void*, void*, void*, uintptr_t, int32_t); typedef int32_t (*iEpppLp_t)(void*, void*, void*, uintptr_t, void*); @@ -1469,6 +1477,7 @@ typedef intptr_t (*lEipLipp_t)(int32_t, void*, uintptr_t, int32_t, void*, void*) typedef void* (*pFEpiiuu_t)(x64emu_t*, void*, int32_t, int32_t, uint32_t, uint32_t); typedef void* (*pEEpLLiN_t)(x64emu_t*, void*, uintptr_t, uintptr_t, int32_t, ...); typedef void* (*pEEppLLp_t)(x64emu_t*, void*, void*, uintptr_t, uintptr_t, void*); +typedef void* (*pFEXLLLp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, uintptr_t, void*); typedef void* (*pFEXLpii_t)(x64emu_t*, void*, uintptr_t, void*, int32_t, int32_t); typedef void* (*pFEXpppp_t)(x64emu_t*, void*, void*, void*, void*, void*); typedef void* (*pFWCiWCi_t)(uint16_t, uint8_t, int32_t, uint16_t, uint8_t, int32_t); @@ -1584,13 +1593,14 @@ typedef void* (*pEEpLiiiI_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int3 typedef void* (*pFEpLiiiI_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int32_t, int64_t); typedef void* (*pEEpLiiil_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int32_t, intptr_t); typedef void* (*pFEpXppip_t)(x64emu_t*, void*, void*, void*, void*, int32_t, void*); +typedef void* (*pFppppiii_t)(void*, void*, void*, void*, int32_t, int32_t, int32_t); typedef void (*vFXLLiiibl__t)(void*, uintptr_t, uintptr_t, int32_t, int32_t, int32_t, struct_l_t*); typedef int32_t (*iFXiLibiip_ip_t)(void*, int32_t, uintptr_t, int32_t, struct_iip_t*, int32_t, void*); typedef int32_t (*iFXLibL_ubL_u_t)(void*, uintptr_t, int32_t, struct_L_t*, uint32_t, struct_L_t*, uint32_t); -typedef void (*vFXLpiibpiip_i_t)(void*, uintptr_t, void*, int32_t, int32_t, struct_piip_t*, int32_t); typedef int32_t (*iFXLpiibpiiL_i_t)(void*, uintptr_t, void*, int32_t, int32_t, struct_piiL_t*, int32_t); typedef uintptr_t (*LFXLLuubLWWWcc_bLWWWcc__t)(void*, uintptr_t, uintptr_t, uint32_t, uint32_t, struct_LWWWcc_t*, struct_LWWWcc_t*); typedef uintptr_t (*LFXLLbLWWWcc_bLWWWcc_uu_t)(void*, uintptr_t, uintptr_t, struct_LWWWcc_t*, struct_LWWWcc_t*, uint32_t, uint32_t); +typedef void (*vFEXLpiipi_t)(x64emu_t*, void*, uintptr_t, void*, int32_t, int32_t, void*, int32_t); typedef void (*vFiiiiuuip_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, void*); typedef void (*vFiilliilp_t)(int32_t, int32_t, intptr_t, intptr_t, int32_t, int32_t, intptr_t, void*); typedef void (*vFiupuiuup_t)(int32_t, uint32_t, void*, uint32_t, int32_t, uint32_t, uint32_t, void*); @@ -1622,7 +1632,6 @@ typedef void (*vFXiLLiipi_t)(void*, int32_t, uintptr_t, uintptr_t, int32_t, int3 typedef void (*vFXiLpiiuu_t)(void*, int32_t, uintptr_t, void*, int32_t, int32_t, uint32_t, uint32_t); typedef void (*vFXLiiiLii_t)(void*, uintptr_t, int32_t, int32_t, int32_t, uintptr_t, int32_t, int32_t); typedef void (*vFXLLLiipi_t)(void*, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, void*, int32_t); -typedef void (*vFXLppiipi_t)(void*, uintptr_t, void*, void*, int32_t, int32_t, void*, int32_t); typedef void (*vFXppuulll_t)(void*, void*, void*, uint32_t, uint32_t, intptr_t, intptr_t, intptr_t); typedef int32_t (*iEEpippppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*, void*); typedef int32_t (*iEEpLiLppp_t)(x64emu_t*, void*, uintptr_t, int32_t, uintptr_t, void*, void*, void*); @@ -1639,9 +1648,11 @@ typedef uint32_t (*uFuupuuiuf_t)(uint32_t, uint32_t, void*, uint32_t, uint32_t, typedef uint32_t (*uFulpppppp_t)(uint32_t, intptr_t, void*, void*, void*, void*, void*, void*); typedef uintptr_t (*LFEXLppuuu_t)(x64emu_t*, void*, uintptr_t, void*, void*, uint32_t, uint32_t, uint32_t); typedef uintptr_t (*LFXLpuuLLu_t)(void*, uintptr_t, void*, uint32_t, uint32_t, uintptr_t, uintptr_t, uint32_t); +typedef void* (*pFEXpLLppp_t)(x64emu_t*, void*, void*, uintptr_t, uintptr_t, void*, void*, void*); typedef int32_t (*iFXLLiippBL__t)(void*, uintptr_t, uintptr_t, int32_t, int32_t, void*, void*, struct_L_t*); typedef int32_t (*iFXLpppbL_pp_t)(void*, uintptr_t, void*, void*, void*, struct_L_t*, void*, void*); typedef void (*vFppibLdd_ipiu_t)(void*, void*, int32_t, struct_Ldd_t*, int32_t, void*, int32_t, uint32_t); +typedef void (*vFEXLppiipi_t)(x64emu_t*, void*, uintptr_t, void*, void*, int32_t, int32_t, void*, int32_t); typedef void (*vFiiiiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t); typedef void (*vFiiiiiiill_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t); typedef void (*vFiiiiillli_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t); @@ -1673,7 +1684,6 @@ typedef int32_t (*iFEXLLLiipi_t)(x64emu_t*, void*, uintptr_t, uintptr_t, uintptr typedef int32_t (*iFuiiuuiiip_t)(uint32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFuiiupiiup_t)(uint32_t, int32_t, int32_t, uint32_t, void*, int32_t, int32_t, uint32_t, void*); typedef int32_t (*iFdddpppppp_t)(double, double, double, void*, void*, void*, void*, void*, void*); -typedef int32_t (*iFppippippp_t)(void*, void*, int32_t, void*, void*, int32_t, void*, void*, void*); typedef int32_t (*iFXuuuLiiip_t)(void*, uint32_t, uint32_t, uint32_t, uintptr_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFXuuuLpppp_t)(void*, uint32_t, uint32_t, uint32_t, uintptr_t, void*, void*, void*, void*); typedef int32_t (*iFXLiuiiLLL_t)(void*, uintptr_t, int32_t, uint32_t, int32_t, int32_t, uintptr_t, uintptr_t, uintptr_t); @@ -1710,6 +1720,8 @@ typedef void (*vFuupuiupuuf_t)(uint32_t, uint32_t, void*, uint32_t, int32_t, uin typedef void (*vFuffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*); typedef void (*vFuddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*); typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float, float, float, float); +typedef int32_t (*iFEppippippp_t)(x64emu_t*, void*, void*, int32_t, void*, void*, int32_t, void*, void*, void*); +typedef int32_t (*iFEXpLiipiiL_t)(x64emu_t*, void*, void*, uintptr_t, int32_t, int32_t, void*, int32_t, int32_t, uintptr_t); typedef int32_t (*iFuiiiuuiiip_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, void*); typedef int32_t (*iFppuuiiuuuu_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef int32_t (*iFXiLLdduudd_t)(void*, int32_t, uintptr_t, uintptr_t, double, double, uint32_t, uint32_t, double, double); @@ -1827,6 +1839,7 @@ void iFi_32(x64emu_t *emu, uintptr_t fcn) { iFi_t fn = (iFi_t)fcn; R_EAX = fn(fr void iEI_32(x64emu_t *emu, uintptr_t fcn) { iEI_t fn = (iEI_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(int64_t, R_ESP + 4)); emu->libc_err = errno; } void iEu_32(x64emu_t *emu, uintptr_t fcn) { iEu_t fn = (iEu_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4)); emu->libc_err = errno; } void iFu_32(x64emu_t *emu, uintptr_t fcn) { iFu_t fn = (iFu_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4)); } +void iFU_32(x64emu_t *emu, uintptr_t fcn) { iFU_t fn = (iFU_t)fcn; R_EAX = fn(from_ptri(uint64_t, R_ESP + 4)); } void iEf_32(x64emu_t *emu, uintptr_t fcn) { iEf_t fn = (iEf_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(float, R_ESP + 4)); emu->libc_err = errno; } void iEd_32(x64emu_t *emu, uintptr_t fcn) { iEd_t fn = (iEd_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptri(double, R_ESP + 4)); emu->libc_err = errno; } void iEl_32(x64emu_t *emu, uintptr_t fcn) { iEl_t fn = (iEl_t)fcn; errno = emu->libc_err; R_EAX = fn(from_long(from_ptri(long_t, R_ESP + 4))); emu->libc_err = errno; } @@ -2090,6 +2103,7 @@ void LEpL_32(x64emu_t *emu, uintptr_t fcn) { LEpL_t fn = (LEpL_t)fcn; errno = em void LEpp_32(x64emu_t *emu, uintptr_t fcn) { LEpp_t fn = (LEpp_t)fcn; errno = emu->libc_err; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8))); emu->libc_err = errno; } void LFXi_32(x64emu_t *emu, uintptr_t fcn) { LFXi_t fn = (LFXi_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8))); } void LFXu_32(x64emu_t *emu, uintptr_t fcn) { LFXu_t fn = (LFXu_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8))); } +void LFXU_32(x64emu_t *emu, uintptr_t fcn) { LFXU_t fn = (LFXU_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint64_t, R_ESP + 8))); } void LFXL_32(x64emu_t *emu, uintptr_t fcn) { LFXL_t fn = (LFXL_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)))); } void LFXp_32(x64emu_t *emu, uintptr_t fcn) { LFXp_t fn = (LFXp_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8))); } void pFEv_32(x64emu_t *emu, uintptr_t fcn) { pFEv_t fn = (pFEv_t)fcn; R_EAX = to_ptrv(fn(emu)); } @@ -2339,6 +2353,7 @@ void iFXuu_32(x64emu_t *emu, uintptr_t fcn) { iFXuu_t fn = (iFXuu_t)fcn; R_EAX = void iFXup_32(x64emu_t *emu, uintptr_t fcn) { iFXup_t fn = (iFXup_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void iFXLi_32(x64emu_t *emu, uintptr_t fcn) { iFXLi_t fn = (iFXLi_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); } void iFXLu_32(x64emu_t *emu, uintptr_t fcn) { iFXLu_t fn = (iFXLu_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12)); } +void iFXLU_32(x64emu_t *emu, uintptr_t fcn) { iFXLU_t fn = (iFXLU_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint64_t, R_ESP + 12)); } void iFXLf_32(x64emu_t *emu, uintptr_t fcn) { iFXLf_t fn = (iFXLf_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(float, R_ESP + 12)); } void iFXLl_32(x64emu_t *emu, uintptr_t fcn) { iFXLl_t fn = (iFXLl_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12))); } void iFXLL_32(x64emu_t *emu, uintptr_t fcn) { iFXLL_t fn = (iFXLL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12))); } @@ -2511,6 +2526,7 @@ void pEppriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { pEppriiiiiiiiilt__t fn void vEEipp_32(x64emu_t *emu, uintptr_t fcn) { vEEipp_t fn = (vEEipp_t)fcn; errno = emu->libc_err; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); emu->libc_err = errno; } void vFEipp_32(x64emu_t *emu, uintptr_t fcn) { vFEipp_t fn = (vFEipp_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } void vEEipV_32(x64emu_t *emu, uintptr_t fcn) { vEEipV_t fn = (vEEipV_t)fcn; errno = emu->libc_err; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptrv(R_ESP + 12)); emu->libc_err = errno; } +void vFEpui_32(x64emu_t *emu, uintptr_t fcn) { vFEpui_t fn = (vFEpui_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); } void vEEpuu_32(x64emu_t *emu, uintptr_t fcn) { vEEpuu_t fn = (vEEpuu_t)fcn; errno = emu->libc_err; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); emu->libc_err = errno; } void vEEpup_32(x64emu_t *emu, uintptr_t fcn) { vEEpup_t fn = (vEEpup_t)fcn; errno = emu->libc_err; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); emu->libc_err = errno; } void vFEpup_32(x64emu_t *emu, uintptr_t fcn) { vFEpup_t fn = (vFEpup_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } @@ -2610,6 +2626,7 @@ void vFXiiL_32(x64emu_t *emu, uintptr_t fcn) { vFXiiL_t fn = (vFXiiL_t)fcn; fn(g void vFXiLu_32(x64emu_t *emu, uintptr_t fcn) { vFXiLu_t fn = (vFXiLu_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16)); } void vFXLii_32(x64emu_t *emu, uintptr_t fcn) { vFXLii_t fn = (vFXLii_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } void vFXLip_32(x64emu_t *emu, uintptr_t fcn) { vFXLip_t fn = (vFXLip_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); } +void vFXLuu_32(x64emu_t *emu, uintptr_t fcn) { vFXLuu_t fn = (vFXLuu_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); } void vFXLLL_32(x64emu_t *emu, uintptr_t fcn) { vFXLLL_t fn = (vFXLLL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16))); } void vFXLLp_32(x64emu_t *emu, uintptr_t fcn) { vFXLLp_t fn = (vFXLLp_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); } void vFXLpi_32(x64emu_t *emu, uintptr_t fcn) { vFXLpi_t fn = (vFXLpi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); } @@ -2644,6 +2661,7 @@ void iEEhup_32(x64emu_t *emu, uintptr_t fcn) { iEEhup_t fn = (iEEhup_t)fcn; errn void iEESpp_32(x64emu_t *emu, uintptr_t fcn) { iEESpp_t fn = (iEESpp_t)fcn; errno = emu->libc_err; R_EAX = fn(emu, io_convert32(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); emu->libc_err = errno; } void iEESpV_32(x64emu_t *emu, uintptr_t fcn) { iEESpV_t fn = (iEESpV_t)fcn; errno = emu->libc_err; R_EAX = fn(emu, io_convert32(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptrv(R_ESP + 12)); emu->libc_err = errno; } void iFEXip_32(x64emu_t *emu, uintptr_t fcn) { iFEXip_t fn = (iFEXip_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } +void iFEXup_32(x64emu_t *emu, uintptr_t fcn) { iFEXup_t fn = (iFEXup_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); } void iFEXlp_32(x64emu_t *emu, uintptr_t fcn) { iFEXlp_t fn = (iFEXlp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } void iFEXLp_32(x64emu_t *emu, uintptr_t fcn) { iFEXLp_t fn = (iFEXLp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); } void iFEXpp_32(x64emu_t *emu, uintptr_t fcn) { iFEXpp_t fn = (iFEXpp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); } @@ -2741,6 +2759,7 @@ void LFXCii_32(x64emu_t *emu, uintptr_t fcn) { LFXCii_t fn = (LFXCii_t)fcn; R_EA void LFXLuu_32(x64emu_t *emu, uintptr_t fcn) { LFXLuu_t fn = (LFXLuu_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16))); } void LFXpLp_32(x64emu_t *emu, uintptr_t fcn) { LFXpLp_t fn = (LFXpLp_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16))); } void pEEipi_32(x64emu_t *emu, uintptr_t fcn) { pEEipi_t fn = (pEEipi_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); emu->libc_err = errno; } +void pFEupi_32(x64emu_t *emu, uintptr_t fcn) { pFEupi_t fn = (pFEupi_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); } void pFEupp_32(x64emu_t *emu, uintptr_t fcn) { pFEupp_t fn = (pFEupp_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); } void pEEpii_32(x64emu_t *emu, uintptr_t fcn) { pEEpii_t fn = (pEEpii_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); emu->libc_err = errno; } void pFEpip_32(x64emu_t *emu, uintptr_t fcn) { pFEpip_t fn = (pFEpip_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); } @@ -2750,6 +2769,8 @@ void pFEppi_32(x64emu_t *emu, uintptr_t fcn) { pFEppi_t fn = (pFEppi_t)fcn; R_EA void pEEppp_32(x64emu_t *emu, uintptr_t fcn) { pEEppp_t fn = (pEEppp_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); emu->libc_err = errno; } void pFEppp_32(x64emu_t *emu, uintptr_t fcn) { pFEppp_t fn = (pFEppp_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); } void pFEXip_32(x64emu_t *emu, uintptr_t fcn) { pFEXip_t fn = (pFEXip_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); } +void pFEXCL_32(x64emu_t *emu, uintptr_t fcn) { pFEXCL_t fn = (pFEXCL_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint8_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)))); } +void pFEXuu_32(x64emu_t *emu, uintptr_t fcn) { pFEXuu_t fn = (pFEXuu_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12))); } void pFEXLL_32(x64emu_t *emu, uintptr_t fcn) { pFEXLL_t fn = (pFEXLL_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)))); } void pFEXLp_32(x64emu_t *emu, uintptr_t fcn) { pFEXLp_t fn = (pFEXLp_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12))); } void pFEXpL_32(x64emu_t *emu, uintptr_t fcn) { pFEXpL_t fn = (pFEXpL_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)))); } @@ -2970,7 +2991,6 @@ void iFpippp_32(x64emu_t *emu, uintptr_t fcn) { iFpippp_t fn = (iFpippp_t)fcn; R void iFpCCCC_32(x64emu_t *emu, uintptr_t fcn) { iFpCCCC_t fn = (iFpCCCC_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(uint8_t, R_ESP + 20)); } void iFpuipp_32(x64emu_t *emu, uintptr_t fcn) { iFpuipp_t fn = (iFpuipp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFppiUi_32(x64emu_t *emu, uintptr_t fcn) { iFppiUi_t fn = (iFppiUi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 24)); } -void iFppipp_32(x64emu_t *emu, uintptr_t fcn) { iFppipp_t fn = (iFppipp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); } void iFpppip_32(x64emu_t *emu, uintptr_t fcn) { iFpppip_t fn = (iFpppip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); } void iEpppLi_32(x64emu_t *emu, uintptr_t fcn) { iEpppLi_t fn = (iEpppLi_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20)); emu->libc_err = errno; } void iEpppLp_32(x64emu_t *emu, uintptr_t fcn) { iEpppLp_t fn = (iEpppLp_t)fcn; errno = emu->libc_err; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20)); emu->libc_err = errno; } @@ -3174,6 +3194,7 @@ void lEipLipp_32(x64emu_t *emu, uintptr_t fcn) { lEipLipp_t fn = (lEipLipp_t)fcn void pFEpiiuu_32(x64emu_t *emu, uintptr_t fcn) { pFEpiiuu_t fn = (pFEpiiuu_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20))); } void pEEpLLiN_32(x64emu_t *emu, uintptr_t fcn) { pEEpLLiN_t fn = (pEEpLLiN_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20))); emu->libc_err = errno; } void pEEppLLp_32(x64emu_t *emu, uintptr_t fcn) { pEEppLLp_t fn = (pEEppLLp_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); emu->libc_err = errno; } +void pFEXLLLp_32(x64emu_t *emu, uintptr_t fcn) { pFEXLLLp_t fn = (pFEXLLLp_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); } void pFEXLpii_32(x64emu_t *emu, uintptr_t fcn) { pFEXLpii_t fn = (pFEXLpii_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20))); } void pFEXpppp_32(x64emu_t *emu, uintptr_t fcn) { pFEXpppp_t fn = (pFEXpppp_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20))); } void pFWCiWCi_32(x64emu_t *emu, uintptr_t fcn) { pFWCiWCi_t fn = (pFWCiWCi_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint16_t, R_ESP + 16), from_ptri(uint8_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24))); } @@ -3289,13 +3310,14 @@ void pEEpLiiiI_32(x64emu_t *emu, uintptr_t fcn) { pEEpLiiiI_t fn = (pEEpLiiiI_t) void pFEpLiiiI_32(x64emu_t *emu, uintptr_t fcn) { pFEpLiiiI_t fn = (pFEpLiiiI_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 24))); } void pEEpLiiil_32(x64emu_t *emu, uintptr_t fcn) { pEEpLiiil_t fn = (pEEpLiiil_t)fcn; errno = emu->libc_err; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_long(from_ptri(long_t, R_ESP + 24)))); emu->libc_err = errno; } void pFEpXppip_32(x64emu_t *emu, uintptr_t fcn) { pFEpXppip_t fn = (pFEpXppip_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), getDisplay(from_ptriv(R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24))); } +void pFppppiii_32(x64emu_t *emu, uintptr_t fcn) { pFppppiii_t fn = (pFppppiii_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28))); } void vFXLLiiibl__32(x64emu_t *emu, uintptr_t fcn) { vFXLLiiibl__t fn = (vFXLLiiibl__t)fcn; struct_l_t arg_28={0}; if (*(ptr_t*)(from_ptr((R_ESP + 28)))) from_struct_l(&arg_28, *(ptr_t*)(from_ptr((R_ESP + 28)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), *(ptr_t*)(from_ptr((R_ESP + 28))) ? &arg_28 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 28)))) to_struct_l(*(ptr_t*)(from_ptr((R_ESP + 28))), &arg_28); } void iFXiLibiip_ip_32(x64emu_t *emu, uintptr_t fcn) { iFXiLibiip_ip_t fn = (iFXiLibiip_ip_t)fcn; struct_iip_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_iip(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL, from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_iip(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); } void iFXLibL_ubL_u_32(x64emu_t *emu, uintptr_t fcn) { iFXLibL_ubL_u_t fn = (iFXLibL_ubL_u_t)fcn; struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); struct_L_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_L(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, from_ptri(uint32_t, R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL, from_ptri(uint32_t, R_ESP + 28)); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); } -void vFXLpiibpiip_i_32(x64emu_t *emu, uintptr_t fcn) { vFXLpiibpiip_i_t fn = (vFXLpiibpiip_i_t)fcn; struct_piip_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_piip(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL, from_ptri(int32_t, R_ESP + 28)); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_piip(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); } void iFXLpiibpiiL_i_32(x64emu_t *emu, uintptr_t fcn) { iFXLpiibpiiL_i_t fn = (iFXLpiibpiiL_i_t)fcn; struct_piiL_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_piiL(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL, from_ptri(int32_t, R_ESP + 28)); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_piiL(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); } void LFXLLuubLWWWcc_bLWWWcc__32(x64emu_t *emu, uintptr_t fcn) { LFXLLuubLWWWcc_bLWWWcc__t fn = (LFXLLuubLWWWcc_bLWWWcc__t)fcn; struct_LWWWcc_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_LWWWcc(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); struct_LWWWcc_t arg_28={0}; if (*(ptr_t*)(from_ptr((R_ESP + 28)))) from_struct_LWWWcc(&arg_28, *(ptr_t*)(from_ptr((R_ESP + 28)))); R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL, *(ptr_t*)(from_ptr((R_ESP + 28))) ? &arg_28 : NULL)); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); if (*(ptr_t*)(from_ptr((R_ESP + 28)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 28))), &arg_28); } void LFXLLbLWWWcc_bLWWWcc_uu_32(x64emu_t *emu, uintptr_t fcn) { LFXLLbLWWWcc_bLWWWcc_uu_t fn = (LFXLLbLWWWcc_bLWWWcc_uu_t)fcn; struct_LWWWcc_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_LWWWcc(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); struct_LWWWcc_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_LWWWcc(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL, from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28))); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); } +void vFEXLpiipi_32(x64emu_t *emu, uintptr_t fcn) { vFEXLpiipi_t fn = (vFEXLpiipi_t)fcn; fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); } void vFiiiiuuip_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiuuip_t fn = (vFiiiiuuip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } void vFiilliilp_32(x64emu_t *emu, uintptr_t fcn) { vFiilliilp_t fn = (vFiilliilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_long(from_ptri(long_t, R_ESP + 28)), from_ptriv(R_ESP + 32)); } void vFiupuiuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuiuup_t fn = (vFiupuiuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); } @@ -3327,7 +3349,6 @@ void vFXiLLiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXiLLiipi_t fn = (vFXiLLiipi void vFXiLpiiuu_32(x64emu_t *emu, uintptr_t fcn) { vFXiLpiiuu_t fn = (vFXiLpiiuu_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32)); } void vFXLiiiLii_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiiLii_t fn = (vFXLiiiLii_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ulong(from_ptri(ulong_t, R_ESP + 24)), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); } void vFXLLLiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXLLLiipi_t fn = (vFXLLLiipi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); } -void vFXLppiipi_32(x64emu_t *emu, uintptr_t fcn) { vFXLppiipi_t fn = (vFXLppiipi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); } void vFXppuulll_32(x64emu_t *emu, uintptr_t fcn) { vFXppuulll_t fn = (vFXppuulll_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_long(from_ptri(long_t, R_ESP + 24)), from_long(from_ptri(long_t, R_ESP + 28)), from_long(from_ptri(long_t, R_ESP + 32))); } void iEEpippppp_32(x64emu_t *emu, uintptr_t fcn) { iEEpippppp_t fn = (iEEpippppp_t)fcn; errno = emu->libc_err; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); emu->libc_err = errno; } void iEEpLiLppp_32(x64emu_t *emu, uintptr_t fcn) { iEEpLiLppp_t fn = (iEEpLiLppp_t)fcn; errno = emu->libc_err; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); emu->libc_err = errno; } @@ -3344,9 +3365,11 @@ void uFuupuuiuf_32(x64emu_t *emu, uintptr_t fcn) { uFuupuuiuf_t fn = (uFuupuuiuf void uFulpppppp_32(x64emu_t *emu, uintptr_t fcn) { uFulpppppp_t fn = (uFulpppppp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); } void LFEXLppuuu_32(x64emu_t *emu, uintptr_t fcn) { LFEXLppuuu_t fn = (LFEXLppuuu_t)fcn; R_EAX = to_ulong(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28))); } void LFXLpuuLLu_32(x64emu_t *emu, uintptr_t fcn) { LFXLpuuLLu_t fn = (LFXLpuuLLu_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ulong(from_ptri(ulong_t, R_ESP + 24)), from_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptri(uint32_t, R_ESP + 32))); } +void pFEXpLLppp_32(x64emu_t *emu, uintptr_t fcn) { pFEXpLLppp_t fn = (pFEXpLLppp_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28))); } void iFXLLiippBL__32(x64emu_t *emu, uintptr_t fcn) { iFXLLiippBL__t fn = (iFXLLiippBL__t)fcn; struct_L_t arg_32={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), *(ptr_t*)(from_ptr((R_ESP + 32))) ? &arg_32 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 32)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 32))), &arg_32); } void iFXLpppbL_pp_32(x64emu_t *emu, uintptr_t fcn) { iFXLpppbL_pp_t fn = (iFXLpppbL_pp_t)fcn; struct_L_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_L(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL, from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); } void vFppibLdd_ipiu_32(x64emu_t *emu, uintptr_t fcn) { vFppibLdd_ipiu_t fn = (vFppibLdd_ipiu_t)fcn; struct_Ldd_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_Ldd(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32)); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_Ldd(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); } +void vFEXLppiipi_32(x64emu_t *emu, uintptr_t fcn) { vFEXLppiipi_t fn = (vFEXLppiipi_t)fcn; fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); } void vFiiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiii_t fn = (vFiiiiiiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); } void vFiiiiiiill_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiill_t fn = (vFiiiiiiill_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_long(from_ptri(long_t, R_ESP + 32)), from_long(from_ptri(long_t, R_ESP + 36))); } void vFiiiiillli_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiillli_t fn = (vFiiiiillli_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_long(from_ptri(long_t, R_ESP + 24)), from_long(from_ptri(long_t, R_ESP + 28)), from_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36)); } @@ -3378,7 +3401,6 @@ void iFEXLLLiipi_32(x64emu_t *emu, uintptr_t fcn) { iFEXLLLiipi_t fn = (iFEXLLLi void iFuiiuuiiip_32(x64emu_t *emu, uintptr_t fcn) { iFuiiuuiiip_t fn = (iFuiiuuiiip_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } void iFuiiupiiup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiupiiup_t fn = (iFuiiupiiup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } void iFdddpppppp_32(x64emu_t *emu, uintptr_t fcn) { iFdddpppppp_t fn = (iFdddpppppp_t)fcn; R_EAX = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44), from_ptriv(R_ESP + 48)); } -void iFppippippp_32(x64emu_t *emu, uintptr_t fcn) { iFppippippp_t fn = (iFppippippp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36)); } void iFXuuuLiiip_32(x64emu_t *emu, uintptr_t fcn) { iFXuuuLiiip_t fn = (iFXuuuLiiip_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ulong(from_ptri(ulong_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); } void iFXuuuLpppp_32(x64emu_t *emu, uintptr_t fcn) { iFXuuuLpppp_t fn = (iFXuuuLpppp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ulong(from_ptri(ulong_t, R_ESP + 20)), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36)); } void iFXLiuiiLLL_32(x64emu_t *emu, uintptr_t fcn) { iFXLiuiiLLL_t fn = (iFXLiuiiLLL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ulong(from_ptri(ulong_t, R_ESP + 32)), from_ulong(from_ptri(ulong_t, R_ESP + 36))); } @@ -3415,6 +3437,8 @@ void vFuupuiupuuf_32(x64emu_t *emu, uintptr_t fcn) { vFuupuiupuuf_t fn = (vFuupu void vFuffiiffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiip_t fn = (vFuffiiffiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiip_t fn = (vFuddiiddiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptriv(R_ESP + 56)); } void vFffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffffff_t fn = (vFffffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40)); } +void iFEppippippp_32(x64emu_t *emu, uintptr_t fcn) { iFEppippippp_t fn = (iFEppippippp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36)); } +void iFEXpLiipiiL_32(x64emu_t *emu, uintptr_t fcn) { iFEXpLiipiiL_t fn = (iFEXpLiipiiL_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ulong(from_ptri(ulong_t, R_ESP + 36))); } void iFuiiiuuiiip_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiuuiiip_t fn = (iFuiiiuuiiip_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); } void iFppuuiiuuuu_32(x64emu_t *emu, uintptr_t fcn) { iFppuuiiuuuu_t fn = (iFppuuiiuuuu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40)); } void iFXiLLdduudd_32(x64emu_t *emu, uintptr_t fcn) { iFXiLLdduudd_t fn = (iFXiLLdduudd_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(double, R_ESP + 44), from_ptri(double, R_ESP + 52)); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index e39652ab..749ffb60 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -72,6 +72,7 @@ void iFi_32(x64emu_t *emu, uintptr_t fnc); void iEI_32(x64emu_t *emu, uintptr_t fnc); void iEu_32(x64emu_t *emu, uintptr_t fnc); void iFu_32(x64emu_t *emu, uintptr_t fnc); +void iFU_32(x64emu_t *emu, uintptr_t fnc); void iEf_32(x64emu_t *emu, uintptr_t fnc); void iEd_32(x64emu_t *emu, uintptr_t fnc); void iEl_32(x64emu_t *emu, uintptr_t fnc); @@ -335,6 +336,7 @@ void LEpL_32(x64emu_t *emu, uintptr_t fnc); void LEpp_32(x64emu_t *emu, uintptr_t fnc); void LFXi_32(x64emu_t *emu, uintptr_t fnc); void LFXu_32(x64emu_t *emu, uintptr_t fnc); +void LFXU_32(x64emu_t *emu, uintptr_t fnc); void LFXL_32(x64emu_t *emu, uintptr_t fnc); void LFXp_32(x64emu_t *emu, uintptr_t fnc); void pFEv_32(x64emu_t *emu, uintptr_t fnc); @@ -584,6 +586,7 @@ void iFXuu_32(x64emu_t *emu, uintptr_t fnc); void iFXup_32(x64emu_t *emu, uintptr_t fnc); void iFXLi_32(x64emu_t *emu, uintptr_t fnc); void iFXLu_32(x64emu_t *emu, uintptr_t fnc); +void iFXLU_32(x64emu_t *emu, uintptr_t fnc); void iFXLf_32(x64emu_t *emu, uintptr_t fnc); void iFXLl_32(x64emu_t *emu, uintptr_t fnc); void iFXLL_32(x64emu_t *emu, uintptr_t fnc); @@ -756,6 +759,7 @@ void pEppriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc); void vEEipp_32(x64emu_t *emu, uintptr_t fnc); void vFEipp_32(x64emu_t *emu, uintptr_t fnc); void vEEipV_32(x64emu_t *emu, uintptr_t fnc); +void vFEpui_32(x64emu_t *emu, uintptr_t fnc); void vEEpuu_32(x64emu_t *emu, uintptr_t fnc); void vEEpup_32(x64emu_t *emu, uintptr_t fnc); void vFEpup_32(x64emu_t *emu, uintptr_t fnc); @@ -855,6 +859,7 @@ void vFXiiL_32(x64emu_t *emu, uintptr_t fnc); void vFXiLu_32(x64emu_t *emu, uintptr_t fnc); void vFXLii_32(x64emu_t *emu, uintptr_t fnc); void vFXLip_32(x64emu_t *emu, uintptr_t fnc); +void vFXLuu_32(x64emu_t *emu, uintptr_t fnc); void vFXLLL_32(x64emu_t *emu, uintptr_t fnc); void vFXLLp_32(x64emu_t *emu, uintptr_t fnc); void vFXLpi_32(x64emu_t *emu, uintptr_t fnc); @@ -889,6 +894,7 @@ void iEEhup_32(x64emu_t *emu, uintptr_t fnc); void iEESpp_32(x64emu_t *emu, uintptr_t fnc); void iEESpV_32(x64emu_t *emu, uintptr_t fnc); void iFEXip_32(x64emu_t *emu, uintptr_t fnc); +void iFEXup_32(x64emu_t *emu, uintptr_t fnc); void iFEXlp_32(x64emu_t *emu, uintptr_t fnc); void iFEXLp_32(x64emu_t *emu, uintptr_t fnc); void iFEXpp_32(x64emu_t *emu, uintptr_t fnc); @@ -986,6 +992,7 @@ void LFXCii_32(x64emu_t *emu, uintptr_t fnc); void LFXLuu_32(x64emu_t *emu, uintptr_t fnc); void LFXpLp_32(x64emu_t *emu, uintptr_t fnc); void pEEipi_32(x64emu_t *emu, uintptr_t fnc); +void pFEupi_32(x64emu_t *emu, uintptr_t fnc); void pFEupp_32(x64emu_t *emu, uintptr_t fnc); void pEEpii_32(x64emu_t *emu, uintptr_t fnc); void pFEpip_32(x64emu_t *emu, uintptr_t fnc); @@ -995,6 +1002,8 @@ void pFEppi_32(x64emu_t *emu, uintptr_t fnc); void pEEppp_32(x64emu_t *emu, uintptr_t fnc); void pFEppp_32(x64emu_t *emu, uintptr_t fnc); void pFEXip_32(x64emu_t *emu, uintptr_t fnc); +void pFEXCL_32(x64emu_t *emu, uintptr_t fnc); +void pFEXuu_32(x64emu_t *emu, uintptr_t fnc); void pFEXLL_32(x64emu_t *emu, uintptr_t fnc); void pFEXLp_32(x64emu_t *emu, uintptr_t fnc); void pFEXpL_32(x64emu_t *emu, uintptr_t fnc); @@ -1215,7 +1224,6 @@ void iFpippp_32(x64emu_t *emu, uintptr_t fnc); void iFpCCCC_32(x64emu_t *emu, uintptr_t fnc); void iFpuipp_32(x64emu_t *emu, uintptr_t fnc); void iFppiUi_32(x64emu_t *emu, uintptr_t fnc); -void iFppipp_32(x64emu_t *emu, uintptr_t fnc); void iFpppip_32(x64emu_t *emu, uintptr_t fnc); void iEpppLi_32(x64emu_t *emu, uintptr_t fnc); void iEpppLp_32(x64emu_t *emu, uintptr_t fnc); @@ -1419,6 +1427,7 @@ void lEipLipp_32(x64emu_t *emu, uintptr_t fnc); void pFEpiiuu_32(x64emu_t *emu, uintptr_t fnc); void pEEpLLiN_32(x64emu_t *emu, uintptr_t fnc); void pEEppLLp_32(x64emu_t *emu, uintptr_t fnc); +void pFEXLLLp_32(x64emu_t *emu, uintptr_t fnc); void pFEXLpii_32(x64emu_t *emu, uintptr_t fnc); void pFEXpppp_32(x64emu_t *emu, uintptr_t fnc); void pFWCiWCi_32(x64emu_t *emu, uintptr_t fnc); @@ -1534,13 +1543,14 @@ void pEEpLiiiI_32(x64emu_t *emu, uintptr_t fnc); void pFEpLiiiI_32(x64emu_t *emu, uintptr_t fnc); void pEEpLiiil_32(x64emu_t *emu, uintptr_t fnc); void pFEpXppip_32(x64emu_t *emu, uintptr_t fnc); +void pFppppiii_32(x64emu_t *emu, uintptr_t fnc); void vFXLLiiibl__32(x64emu_t *emu, uintptr_t fnc); void iFXiLibiip_ip_32(x64emu_t *emu, uintptr_t fnc); void iFXLibL_ubL_u_32(x64emu_t *emu, uintptr_t fnc); -void vFXLpiibpiip_i_32(x64emu_t *emu, uintptr_t fnc); void iFXLpiibpiiL_i_32(x64emu_t *emu, uintptr_t fnc); void LFXLLuubLWWWcc_bLWWWcc__32(x64emu_t *emu, uintptr_t fnc); void LFXLLbLWWWcc_bLWWWcc_uu_32(x64emu_t *emu, uintptr_t fnc); +void vFEXLpiipi_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiuuip_32(x64emu_t *emu, uintptr_t fnc); void vFiilliilp_32(x64emu_t *emu, uintptr_t fnc); void vFiupuiuup_32(x64emu_t *emu, uintptr_t fnc); @@ -1572,7 +1582,6 @@ void vFXiLLiipi_32(x64emu_t *emu, uintptr_t fnc); void vFXiLpiiuu_32(x64emu_t *emu, uintptr_t fnc); void vFXLiiiLii_32(x64emu_t *emu, uintptr_t fnc); void vFXLLLiipi_32(x64emu_t *emu, uintptr_t fnc); -void vFXLppiipi_32(x64emu_t *emu, uintptr_t fnc); void vFXppuulll_32(x64emu_t *emu, uintptr_t fnc); void iEEpippppp_32(x64emu_t *emu, uintptr_t fnc); void iEEpLiLppp_32(x64emu_t *emu, uintptr_t fnc); @@ -1589,9 +1598,11 @@ void uFuupuuiuf_32(x64emu_t *emu, uintptr_t fnc); void uFulpppppp_32(x64emu_t *emu, uintptr_t fnc); void LFEXLppuuu_32(x64emu_t *emu, uintptr_t fnc); void LFXLpuuLLu_32(x64emu_t *emu, uintptr_t fnc); +void pFEXpLLppp_32(x64emu_t *emu, uintptr_t fnc); void iFXLLiippBL__32(x64emu_t *emu, uintptr_t fnc); void iFXLpppbL_pp_32(x64emu_t *emu, uintptr_t fnc); void vFppibLdd_ipiu_32(x64emu_t *emu, uintptr_t fnc); +void vFEXLppiipi_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiiiiii_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiiiill_32(x64emu_t *emu, uintptr_t fnc); void vFiiiiillli_32(x64emu_t *emu, uintptr_t fnc); @@ -1623,7 +1634,6 @@ void iFEXLLLiipi_32(x64emu_t *emu, uintptr_t fnc); void iFuiiuuiiip_32(x64emu_t *emu, uintptr_t fnc); void iFuiiupiiup_32(x64emu_t *emu, uintptr_t fnc); void iFdddpppppp_32(x64emu_t *emu, uintptr_t fnc); -void iFppippippp_32(x64emu_t *emu, uintptr_t fnc); void iFXuuuLiiip_32(x64emu_t *emu, uintptr_t fnc); void iFXuuuLpppp_32(x64emu_t *emu, uintptr_t fnc); void iFXLiuiiLLL_32(x64emu_t *emu, uintptr_t fnc); @@ -1660,6 +1670,8 @@ void vFuupuiupuuf_32(x64emu_t *emu, uintptr_t fnc); void vFuffiiffiip_32(x64emu_t *emu, uintptr_t fnc); void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fnc); void vFffffffffff_32(x64emu_t *emu, uintptr_t fnc); +void iFEppippippp_32(x64emu_t *emu, uintptr_t fnc); +void iFEXpLiipiiL_32(x64emu_t *emu, uintptr_t fnc); void iFuiiiuuiiip_32(x64emu_t *emu, uintptr_t fnc); void iFppuuiiuuuu_32(x64emu_t *emu, uintptr_t fnc); void iFXiLLdduudd_32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibx11.c b/src/wrapped32/wrappedlibx11.c index a2d94afc..21e694c4 100644 --- a/src/wrapped32/wrappedlibx11.c +++ b/src/wrapped32/wrappedlibx11.c @@ -405,13 +405,12 @@ static void* reverse_register_imFct(library_t* lib, void* fct) #undef GO return (void*)AddBridge(lib->w.bridge, iFppp_32, fct, 0, NULL); } -#if 0 // XConnectionWatchProc #define GO(A) \ -static uintptr_t my32_XConnectionWatchProc_fct_##A = 0; \ -static void my32_XConnectionWatchProc_##A(void* dpy, void* data, int op, void* d) \ -{ \ - RunFunctionFmt(my32_XConnectionWatchProc_fct_##A, "ppip", dpy, data, op, d); \ +static uintptr_t my32_XConnectionWatchProc_fct_##A = 0; \ +static void my32_XConnectionWatchProc_##A(void* dpy, void* data, int op, void* d) \ +{ \ + RunFunctionFmt(my32_XConnectionWatchProc_fct_##A, "ppip", FindDisplay(dpy), data, op, d); \ } SUPER() #undef GO @@ -428,7 +427,6 @@ static void* findXConnectionWatchProcFct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libX11 XConnectionWatchProc callback\n"); return NULL; } -#endif // xifevent #define GO(A) \ static uintptr_t my32_xifevent_fct_##A = 0; \ @@ -455,13 +453,12 @@ static void* findxifeventFct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libX11 xifevent callback\n"); return NULL; } -#if 0 // XInternalAsyncHandler #define GO(A) \ -static uintptr_t my32_XInternalAsyncHandler_fct_##A = 0; \ -static int my32_XInternalAsyncHandler_##A(void* dpy, void* rep, void* buf, int len, void* data) \ -{ \ - return RunFunctionFmt(my32_XInternalAsyncHandler_fct_##A, "pppip", dpy, rep, buf, len, data); \ +static uintptr_t my32_XInternalAsyncHandler_fct_##A = 0; \ +static int my32_XInternalAsyncHandler_##A(void* dpy, void* rep, void* buf, int len, void* data) \ +{ \ + return RunFunctionFmt(my32_XInternalAsyncHandler_fct_##A, "pppip", FindDisplay(dpy), rep, buf, len, data); \ } SUPER() #undef GO @@ -478,7 +475,6 @@ static void* findXInternalAsyncHandlerFct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libX11 XInternalAsyncHandler callback\n"); return NULL; } -#endif // XSynchronizeProc #define GO(A) \ static uintptr_t my32_XSynchronizeProc_fct_##A = 0; \ @@ -556,12 +552,13 @@ static void* findXUnlockDisplayFct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libX11 XUnlockDisplay callback\n"); return NULL; } +#endif // async_handler #define GO(A) \ -static uintptr_t my32_async_handler_fct_##A = 0; \ -static int my32_async_handler_##A(void* a, void* b, void* c, int d, void* e) \ -{ \ - return (int)RunFunctionFmt(my32_async_handler_fct_##A, "pppip", a, b, c, d, e); \ +static uintptr_t my32_async_handler_fct_##A = 0; \ +static int my32_async_handler_##A(void* a, void* b, void* c, int d, void* e) \ +{ \ + return (int)RunFunctionFmt(my32_async_handler_fct_##A, "pppip", FindDisplay(a), b, c, d, e); \ } SUPER() #undef GO @@ -578,7 +575,6 @@ static void* find_async_handler_Fct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libX11 async_handler callback\n"); return NULL; } -#endif // XImage function wrappers // create_image #define GO(A) \ @@ -1606,7 +1602,7 @@ EXPORT void my32_XDestroyImage(x64emu_t* emu, void* image) to_hash_d((uintptr_t)((XImage*)image)->obdata); my->XDestroyImage(image); } -#if 0 + typedef struct xintasync_s { struct xintasync_s *next; int (*handler)( @@ -1624,7 +1620,6 @@ EXPORT void my32__XDeqAsyncHandler(x64emu_t* emu, void* cb, void* data) my->_XDeqAsyncHandler(findXInternalAsyncHandlerFct(cb), data); } -#endif EXPORT void* my32_XESetWireToEvent(x64emu_t* emu, void* display, int32_t event_number, void* proc) { void* ret = NULL; @@ -1661,11 +1656,11 @@ EXPORT int my32_XQueryExtension(x64emu_t* emu, void* display, char* name, int* m } return ret; } -#if 0 EXPORT int my32_XAddConnectionWatch(x64emu_t* emu, void* display, char* f, void* data) { return my->XAddConnectionWatch(display, findXConnectionWatchProcFct(f), data); } +#if 0 EXPORT void my32_XRemoveConnectionWatch(x64emu_t* emu, void* display, char* f, void* data) { @@ -1687,7 +1682,7 @@ EXPORT void* my32_XSynchronize(x64emu_t* emu, void* display, int onoff) EXPORT void* my32_XOpenDisplay(void* name) { void* ret = my->XOpenDisplay(name); - if(ret && box64_x11sync) {my->XSynchronize(ret, 1); printf_log(LOG_INFO, "Forcing Syncronized opration on Display %p\n", ret);} + if(ret && box64_x11sync) {my->XSynchronize(ret, 1); printf_log(LOG_INFO, "Forcing Syncronized operation on Display %p\n", ret);} return ret; } @@ -1884,16 +1879,15 @@ EXPORT int my32_XGetWMNormalHints(x64emu_t* emu, void* dpy, XID window, void* hi } return ret; } -#if 0 EXPORT void* my32__XGetRequest(x64emu_t* emu, my_XDisplay_t* dpy, uint8_t type, size_t len) { // check if asynchandler needs updated wrapping - struct my32_XInternalAsync * p = dpy->async_handlers; + struct my_XInternalAsync * p = dpy->async_handlers; while(p) { if(GetNativeFnc((uintptr_t)p->handler)!=p->handler) { // needs wrapping and autobridge! void* new_handler = find_async_handler_Fct(p->handler); - AddAutomaticBridge(my_lib->w.bridge, iFpppip, new_handler, 0, "async_handler"); + AddAutomaticBridge(my_lib->w.bridge, iFpppip_32, new_handler, 0, "async_handler"); p->handler = new_handler; } p = p->next; @@ -1901,7 +1895,6 @@ EXPORT void* my32__XGetRequest(x64emu_t* emu, my_XDisplay_t* dpy, uint8_t type, return my->_XGetRequest(dpy, type, len); } -#endif EXPORT int my32_XStringListToTextProperty(x64emu_t* emu, ptr_t* list, int count, void* text) { @@ -1939,6 +1932,18 @@ EXPORT int my32_XmbTextListToTextProperty(x64emu_t* emu, void* dpy, ptr_t* list, return ret; } +EXPORT int my32_XwcTextListToTextProperty(x64emu_t* emu, void* dpy, ptr_t* list, int count, uint32_t style, void* text) +{ + char* l_list[count]; + if(list) + for(int i=0; i<count; ++i) + l_list[i] = from_ptrv(list[i]); + struct_pLiL_t text_l = {0}; + int ret = my->XwcTextListToTextProperty(dpy, list?(&l_list):NULL, count, style, &text_l); + to_struct_pLiL(to_ptrv(text), &text_l); + return ret; +} + EXPORT int my32_XGetWindowAttributes(x64emu_t* emu, void* dpy, XID window, my_XWindowAttributes_32_t* attr) { static my_Screen_32_t screen32 = {0}; @@ -2020,6 +2025,29 @@ EXPORT void my32_Xutf8SetWMProperties(x64emu_t* emu, void* dpy, XID window, void my->Xutf8SetWMProperties(dpy, window, window_name, icon_name, argv?argv_l:NULL, argc, normal_hints?(&wm_size_l):NULL, wm_hints?(&wm_hints_l):NULL, class_hints?(&class_hints_l):NULL); } +EXPORT void my32_XmbSetWMProperties(x64emu_t* emu, void* dpy, XID window, void* window_name, void* icon_name, ptr_t* argv, int argc, void* normal_hints, my_XWMHints_32_t* wm_hints, ptr_t* class_hints) +{ + int wm_size_l[17+2] = {0}; + my_XWMHints_t wm_hints_l = {0}; + char* class_hints_l[2] = {0}; + char* argv_l[argc+1]; + + if(normal_hints) + convert_XSizeHints_to_64(&wm_size_l, normal_hints); + if(wm_hints) + convert_XWMints_to_64(&wm_hints_l, wm_hints); + if(class_hints) { + class_hints_l[0] = from_ptrv(class_hints[0]); + class_hints_l[1] = from_ptrv(class_hints[1]); + } + if(argv) { + memset(argv_l, 0, sizeof(argv_l)); + for(int i=0; i<argc; ++i) + argv_l[i] = from_ptrv(argv[i]); + } + my->XmbSetWMProperties(dpy, window, window_name, icon_name, argv?argv_l:NULL, argc, normal_hints?(&wm_size_l):NULL, wm_hints?(&wm_hints_l):NULL, class_hints?(&class_hints_l):NULL); +} + EXPORT void* my32_XListExtensions(x64emu_t* emu, void* dpy, int* n) { @@ -2061,21 +2089,18 @@ EXPORT int my32_XQueryTree(x64emu_t* emu, void* dpy, XID window, XID_32* root, X return ret; } -EXPORT void* my32_XCreateFontSet(x64emu_t* emu, void* dpy, void* name, ptr_t* missing, int* missing_count, ptr_t* string) +EXPORT int my32_Xutf8TextPropertyToTextList(x64emu_t* emu, void* dpy, void* prop, ptr_t* list, int* count) { - void** missing_l = NULL; - void* string_l = NULL; - void* ret = my->XCreateFontSet(dpy, name, &missing_l, missing_count, string?(&string_l):NULL); - if(string) *string = to_ptrv(string_l); - // inplace string list shrink - *missing = to_ptrv(missing_l); - if(missing_l && *missing_count) { - for(int i=0; i<*missing_count; ++i) - ((ptr_t*)missing_l)[i] = to_ptrv(missing_l[i]); + void** list_l = NULL; + int ret = my->Xutf8TextPropertyToTextList(dpy, prop, &list_l, count); + if(list_l && *count) { + for(int i=0; i<*count; ++i) + ((ptr_t*)list_l)[i] = to_ptrv(list_l[i]); } // put end marker, for expansion - if(missing_l) - ((ptr_t*)missing_l)[*missing_count] = 0; + if(list_l) + ((ptr_t*)list_l)[*count] = 0; + *list = to_ptrv(list_l); return ret; } @@ -2094,6 +2119,21 @@ EXPORT int my32_XmbTextPropertyToTextList(x64emu_t* emu, void* dpy, void* prop, return ret; } +EXPORT int my32_XwcTextPropertyToTextList(x64emu_t* emu, void* dpy, void* prop, ptr_t* list, int* count) +{ + void** list_l = NULL; + int ret = my->XwcTextPropertyToTextList(dpy, prop, &list_l, count); + if(list_l && *count) { + for(int i=0; i<*count; ++i) + ((ptr_t*)list_l)[i] = to_ptrv(list_l[i]); + } + // put end marker, for expansion + if(list_l) + ((ptr_t*)list_l)[*count] = 0; + *list = to_ptrv(list_l); + return ret; +} + EXPORT void my32_XFreeStringList(x64emu_t* emu, ptr_t* list) { // need to find size of list @@ -2226,6 +2266,198 @@ EXPORT int my32_XFreeFont(x64emu_t* emu, void* dpy, void* f) return my->XFreeFont(dpy, f); } +EXPORT void* my32_XCreateFontSet(x64emu_t* emu, void* dpy, void* name, ptr_t* missing, int* missing_count, ptr_t* string) +{ + void** missing_l = NULL; + void* string_l = NULL; + void* ret = my->XCreateFontSet(dpy, name, &missing_l, missing_count, string?(&string_l):NULL); + if(string) *string = to_ptrv(string_l); + // inplace string list shrink + *missing = to_ptrv(missing_l); + if(missing_l && *missing_count) { + for(int i=0; i<*missing_count; ++i) + ((ptr_t*)missing_l)[i] = to_ptrv(missing_l[i]); + } + // put end marker, for expansion + if(missing_l) + ((ptr_t*)missing_l)[*missing_count] = 0; + my_XFontSet_32_t* set = box32_calloc(1, sizeof(my_XFontSet_32_t)); + set->fontset = ret; + return set; +} + +EXPORT int my32_XFontsOfFontSet(x64emu_t* emu, my_XFontSet_32_t* set, ptr_t* fonts_ret, ptr_t* names_ret) +{ + void* fonts_ret_l = NULL; + void* names_ret_l = NULL; + int ret = my->XFontsOfFontSet(set->fontset, fonts_ret?(&fonts_ret_l):NULL, names_ret?(&names_ret_l):NULL); + if(ret<=0) + return ret; + if(names_ret) { + int j = set->names_size++; + set->names = box32_realloc(set->names, sizeof(ptr_t*)*set->names_size); + set->names[j] = box32_malloc(sizeof(ptr_t)*ret); + for(int i=0; i<ret; ++i) + set->names[j][i] = to_ptrv(((void**)names_ret_l)[i]); + *names_ret = to_ptrv(set->names[j]); + } + if(fonts_ret) { + int j = set->fonts_size++; + set->fonts = box32_realloc(set->fonts, sizeof(ptr_t*)*set->fonts_size); + set->fonts[j] = box32_malloc(sizeof(ptr_t)*ret); + for(int i=0; i<ret; ++i) + set->fonts[j][i] = to_ptrv(((void**)fonts_ret_l)[i]); + *fonts_ret = to_ptrv(set->fonts[j]); + } +} + +EXPORT void* my32_XExtentsOfFontSet(x64emu_t* emu, my_XFontSet_32_t* set) +{ + return my->XExtentsOfFontSet(set->fontset); +} + +EXPORT void* my32_XLocaleOfFontSet(x64emu_t* emu, my_XFontSet_32_t* set) +{ + return my->XLocaleOfFontSet(set->fontset); +} + +EXPORT void* my32_XBaseFontNameListOfFontSet(x64emu_t* emu, my_XFontSet_32_t* set) +{ + return my->XBaseFontNameListOfFontSet(set->fontset); +} + +EXPORT int my32_XContextDependentDrawing(x64emu_t* emu, my_XFontSet_32_t* set) +{ + return my->XContextDependentDrawing(set->fontset); +} + +EXPORT int my32_XDirectionalDependentDrawing(x64emu_t* emu, my_XFontSet_32_t* set) +{ + return my->XDirectionalDependentDrawing(set->fontset); +} + +EXPORT int my32_XContextualDrawing(x64emu_t* emu, my_XFontSet_32_t* set) +{ + return my->XContextualDrawing(set->fontset); +} + +EXPORT int my32_XmbTextEscapement(x64emu_t* emu, my_XFontSet_32_t* set, void* text, int sz) +{ + return my->XmbTextEscapement(set->fontset, text, sz); +} + +EXPORT int my32_XwcTextEscapement(x64emu_t* emu, my_XFontSet_32_t* set, void* text, int sz) +{ + return my->XwcTextEscapement(set->fontset, text, sz); +} + +EXPORT int my32_Xutf8TextEscapement(x64emu_t* emu, my_XFontSet_32_t* set, void* text, int sz) +{ + return my->Xutf8TextEscapement(set->fontset, text, sz); +} + +EXPORT int my32_XmbTextExtents(x64emu_t* emu, my_XFontSet_32_t* set, void* text, int sz, void* ink, void* log) +{ + return my->XmbTextExtents(set->fontset, text, sz, ink, log); +} + +EXPORT int my32_XwcTextExtents(x64emu_t* emu, my_XFontSet_32_t* set, void* text, int sz, void* ink, void* log) +{ + return my->XwcTextExtents(set->fontset, text, sz, ink, log); +} + +EXPORT int my32_Xutf8TextExtents(x64emu_t* emu, my_XFontSet_32_t* set, void* text, int sz, void* ink, void* log) +{ + return my->Xutf8TextExtents(set->fontset, text, sz, ink, log); +} + +EXPORT int my32_XmbTextPerCharExtents(x64emu_t* emu, my_XFontSet_32_t* set, void* text, int sz, void* ink, void* log, int buff_sz, void* buff, void* ink_ret, void* log_ret) +{ + return my->XmbTextPerCharExtents(set->fontset, text, sz, ink, log, buff_sz, buff, ink_ret, log_ret); +} + +EXPORT int my32_XwcTextPerCharExtents(x64emu_t* emu, my_XFontSet_32_t* set, void* text, int sz, void* ink, void* log, int buff_sz, void* buff, void* ink_ret, void* log_ret) +{ + return my->XwcTextPerCharExtents(set->fontset, text, sz, ink, log, buff_sz, buff, ink_ret, log_ret); +} + +EXPORT int my32_Xutf8TextPerCharExtents(x64emu_t* emu, my_XFontSet_32_t* set, void* text, int sz, void* ink, void* log, int buff_sz, void* buff, void* ink_ret, void* log_ret) +{ + return my->Xutf8TextPerCharExtents(set->fontset, text, sz, ink, log, buff_sz, buff, ink_ret, log_ret); +} + +EXPORT void my32_XmbDrawString(x64emu_t* emu, void* dpy, XID d, my_XFontSet_32_t* set, void* gc, int x, int y, void* text, int sz) +{ + my->XmbDrawString(dpy, d, set->fontset, gc, x, y, text, sz); +} + +EXPORT void my32_XwcDrawString(x64emu_t* emu, void* dpy, XID d, my_XFontSet_32_t* set, void* gc, int x, int y, void* text, int sz) +{ + my->XwcDrawString(dpy, d, set->fontset, gc, x, y, text, sz); +} + +EXPORT void my32_Xutf8DrawString(x64emu_t* emu, void* dpy, XID d, my_XFontSet_32_t* set, void* gc, int x, int y, void* text, int sz) +{ + my->Xutf8DrawString(dpy, d, set->fontset, gc, x, y, text, sz); +} + +EXPORT void my32_XmbDrawImageString(x64emu_t* emu, void* dpy, XID d, my_XFontSet_32_t* set, void* gc, int x, int y, void* text, int sz) +{ + my->XmbDrawImageString(dpy, d, set->fontset, gc, x, y, text, sz); +} + +EXPORT void my32_XwcDrawImageString(x64emu_t* emu, void* dpy, XID d, my_XFontSet_32_t* set, void* gc, int x, int y, void* text, int sz) +{ + my->XwcDrawImageString(dpy, d, set->fontset, gc, x, y, text, sz); +} + +EXPORT void my32_Xutf8DrawImageString(x64emu_t* emu, void* dpy, XID d, my_XFontSet_32_t* set, void* gc, int x, int y, void* text, int sz) +{ + my->Xutf8DrawImageString(dpy, d, set->fontset, gc, x, y, text, sz); +} + +EXPORT void my32_XmbDrawText(x64emu_t* emu, void* dpy, XID d, void* gc, int x, int y, my_XmbTextItem_32_t* text, int sz) +{ + my_XmbTextItem_t text_l = {0}; + text_l.chars = from_ptrv(text->chars); + text_l.nchars = text->nchars; + text_l.delta = text->delta; + text_l.font_set = ((my_XFontSet_32_t*)from_ptrv(text->font_set))->fontset; + my->XmbDrawText(dpy, d, gc, x, y, &text_l, sz); +} + +EXPORT void my32_XwcDrawText(x64emu_t* emu, void* dpy, XID d, void* gc, int x, int y, my_XwcTextItem_32_t* text, int sz) +{ + my_XwcTextItem_t text_l = {0}; + text_l.chars = from_ptrv(text->chars); + text_l.nchars = text->nchars; + text_l.delta = text->delta; + text_l.font_set = ((my_XFontSet_32_t*)from_ptrv(text->font_set))->fontset; + my->XwcDrawText(dpy, d, gc, x, y, &text_l, sz); +} + +EXPORT void my32_Xutf8DrawText(x64emu_t* emu, void* dpy, XID d, void* gc, int x, int y, my_XmbTextItem_32_t* text, int sz) +{ + my_XmbTextItem_t text_l = {0}; + text_l.chars = from_ptrv(text->chars); + text_l.nchars = text->nchars; + text_l.delta = text->delta; + text_l.font_set = ((my_XFontSet_32_t*)from_ptrv(text->font_set))->fontset; + my->Xutf8DrawText(dpy, d, gc, x, y, &text_l, sz); +} + +EXPORT void my32_XFreeFontSet(x64emu_t* emu,void* dpy, my_XFontSet_32_t* set) +{ + my->XFreeFontSet(dpy, set->fontset); + for(int i=0; i<set->names_size; ++i) + box32_free(set->names[i]); + box32_free(set->names); + for(int i=0; i<set->fonts_size; ++i) + box32_free(set->names[i]); + box32_free(set->fonts); + box32_free(set); +} + EXPORT int my32_XChangeWindowAttributes(x64emu_t* emu, void* dpy, XID window, unsigned long mask, my_XSetWindowAttributes_32_t* attrs) { my_XSetWindowAttributes_t attrs_l[1]; @@ -2261,6 +2493,15 @@ EXPORT int my32_XTextExtents(x64emu_t* emu, my_XFontStruct_32_t* font_struct, vo return ret; } +EXPORT int my32_XTextExtents16(x64emu_t* emu, my_XFontStruct_32_t* font_struct, void* string, int nchars, int* dir, int* ascent, int* descent, my_XCharStruct_32_t* overall) +{ + //XCharStruct doesn't need any changes + inplace_XFontStruct_enlarge(font_struct); + int ret = my->XTextExtents16(font_struct, string, nchars, dir, ascent, descent, overall); + inplace_XFontStruct_shrink(font_struct); + return ret; +} + EXPORT void* my32_XLoadQueryFont(x64emu_t* emu, void* dpy, void* name) { void* ret = my->XLoadQueryFont(dpy, name); @@ -2286,6 +2527,14 @@ EXPORT int my32_XFreeFontInfo(x64emu_t* emu, ptr_t* names, void* free_info, int return my->XFreeFontInfo(names_l, free_info, count); } +EXPORT int my32_XTextWidth(x64emu_t* emu, void* font, void* string, int count) +{ + inplace_XFontStruct_enlarge(font); + int ret = my->XTextWidth(font, string, count); + inplace_XFontProp_shrink(font); + return ret; +} + EXPORT int my32_XTextWidth16(x64emu_t* emu, void* font, void* string, int count) { inplace_XFontStruct_enlarge(font); @@ -2309,6 +2558,66 @@ EXPORT int my32_XGrabServer(x64emu_t* emu, void* dpy) return ret; } +EXPORT void* my32_XkbGetMap(x64emu_t* emu, void* dpy, uint32_t which, uint32_t dev) +{ + return inplace_XkbDescRec_shrink(my->XkbGetMap(dpy, which, dev)); +} +EXPORT int my32_XkbGetNames(x64emu_t* emu, void* dpy, uint32_t which, my_XkbDescRec_32_t* ptr) +{ + inplace_XkbDescRec_enlarge(ptr); + int ret = my->XkbGetNames(dpy, which, ptr); + inplace_XkbDescRec_shrink(ptr); + return ret; +} +EXPORT int my32_XkbGetUpdatedMap(x64emu_t* emu, void* dpy, uint32_t which, my_XkbDescRec_32_t* ptr) +{ + inplace_XkbDescRec_enlarge(ptr); + int ret = my->XkbGetUpdatedMap(dpy, which, ptr); + inplace_XkbDescRec_shrink(ptr); + return ret; +} + +EXPORT int my32_XkbGetControls(x64emu_t* emu, void* dpy, int which, my_XkbDescRec_32_t* ptr) +{ + inplace_XkbDescRec_enlarge(ptr); + int ret = my->XkbGetControls(dpy, which, ptr); + inplace_XkbDescRec_shrink(ptr); + return ret; +} + +EXPORT void my32_XkbFreeKeyboard(x64emu_t* emu, void* xkb, int which, int all) +{ + my->XkbFreeKeyboard(inplace_XkbDescRec_enlarge(xkb), which, all); +} + +EXPORT void* my32_XGetMotionEvents(x64emu_t* emu, void* dpy, XID w, unsigned long start, unsigned long stop, int* n) +{ + void* ret = my->XGetMotionEvents(dpy, w, start, stop, n); + if(ret) { + my_XTimeCoord_t *src = ret; + my_XTimeCoord_32_t* dst = ret; + for(int i=0; i<*n; ++i) { + dst[i].time = to_ulong(src[i].time); + dst[i].x = src[i].x; + dst[i].y = src[i].y; + } + } + return ret; +} + +EXPORT int my32_XGetWMColormapWindows(x64emu_t* emu, void* dpy, XID w, ptr_t* maps, int* n) +{ + void* maps_l = NULL; + int ret = my->XGetWMColormapWindows(dpy, w, &maps_l, n); + *maps = to_ptrv(maps_l); + XID* src = maps_l; + XID_32* dst = maps_l; + for(int i=0; i<*n; ++i) { + dst[i] = to_ulong(src[i]); + } + return ret; +} + #define CUSTOM_INIT \ AddAutomaticBridge(lib->w.bridge, vFp_32, *(void**)dlsym(lib->w.lib, "_XLockMutex_fn"), 0, "_XLockMutex_fn"); \ AddAutomaticBridge(lib->w.bridge, vFp_32, *(void**)dlsym(lib->w.lib, "_XUnlockMutex_fn"), 0, "_XUnlockMutex_fn"); \ diff --git a/src/wrapped32/wrappedlibx11_private.h b/src/wrapped32/wrappedlibx11_private.h index 8667078f..991de5b2 100644 --- a/src/wrapped32/wrappedlibx11_private.h +++ b/src/wrapped32/wrappedlibx11_private.h @@ -8,7 +8,7 @@ DATAB(_qfree, 4) // Warning: failed to confirm GO(XActivateScreenSaver, iFX) -//GOM(XAddConnectionWatch, iFEXpp) +GOM(XAddConnectionWatch, iFEXpp) GO(XAddExtension, pFX) GO(XAddHost, iFXbiip_) GO(XAddHosts, iFXbiip_i) @@ -33,7 +33,7 @@ GO(XAllPlanes, LFv) //GO(_XAsyncErrorHandler, iFpppip) GO(XAutoRepeatOff, iFX) GO(XAutoRepeatOn, iFX) -GO(XBaseFontNameListOfFontSet, pFp) +GOM(XBaseFontNameListOfFontSet, pFEp) GO(XBell, iFXi) GO(XBitmapBitOrder, iFX) GO(XBitmapPad, iFX) @@ -198,8 +198,8 @@ GO(XcmsPrefixOfFormat, pFL) GO(XConfigureWindow, iFXLuriiiiiLi_) GO(XConnectionNumber, iFX) //GO(_XConnectXCB, -GO(XContextDependentDrawing, iFp) -GO(XContextualDrawing, iFp) +GOM(XContextDependentDrawing, iFEp) +GOM(XContextualDrawing, iFEp) GO(XConvertCase, vFLbL_bL_) GO(XConvertSelection, iFXLLLLL) GO(XCopyArea, iFXLLpiiuuii) @@ -249,14 +249,14 @@ GO(XDeleteContext, iFXLi) //GO(XDeleteModifiermapEntry, bip_Fbip_Ci) GO(XDeleteProperty, iFXLL) //GOM(_XDeq, vFEXpp) -//GOM(_XDeqAsyncHandler, vFEXp) +GOM(_XDeqAsyncHandler, vFEXp) GO(XDestroyIC, vFp) GOM(XDestroyImage, iFEp) //need to unbridge GO(XDestroyOC, vFp) GO(XDestroyRegion, iFp) GO(XDestroySubwindows, iFXL) GO(XDestroyWindow, iFXL) -GO(XDirectionalDependentDrawing, iFp) +GOM(XDirectionalDependentDrawing, iFEp) GO(XDisableAccessControl, iFX) GO(XDisplayCells, iFXi) GO(XDisplayHeight, iFXi) @@ -319,7 +319,7 @@ GO(XEventsQueued, iFXi) //DATA(_Xevent_to_mask, //GO(_XEventToWire, iFppp) GO(XExtendedMaxRequestSize, lFX) -GO(XExtentsOfFontSet, pFp) +GOM(XExtentsOfFontSet, pFEp) //GO(_XF86BigfontFreeFontMetrics, //GO(_XF86LoadQueryLocaleFont, iFpppp) GO(XFetchBuffer, pFXpi) @@ -338,7 +338,7 @@ GO(_XFlush, vFX) GO(XFlush, iFX) GO(XFlushGC, vFXp) GO(_XFlushGCCache, vFXp) -//GO(XFontsOfFontSet, iFppp) +GOM(XFontsOfFontSet, iFEppp) GO(XForceScreenSaver, iFXi) GO(XFree, iFp) //GO(_XFreeAtomTable, @@ -355,7 +355,7 @@ GOM(XFreeFont, iFEXp) GOM(XFreeFontInfo, iFEppi) GOM(XFreeFontNames, iFEp) //GO(XFreeFontPath, iFbp_) -GO(XFreeFontSet, vFXp) +GOM(XFreeFontSet, vFEXp) GO(XFreeGC, iFXp) GOM(XFreeModifiermap, iFEp) //DATAM(_XFreeMutex_fn, 4) @@ -367,7 +367,7 @@ GO(XFreeThreads, iFv) GO(XGContextFromGC, LFp) GO(XGeometry, iFXippuuuiipppp) GO(_XGetAsyncData, vFXppiiii) -//GO(_XGetAsyncReply, pFppppiii) +GO(_XGetAsyncReply, pFppppiii) GO(XGetAtomName, pFXL) GO(XGetAtomNames, iFXbL_ibp_) //GO(_XGetBitsPerPixel, @@ -392,7 +392,7 @@ GO(XGetKeyboardControl, iFXbiiuuLip_) GO(XGetKeyboardMapping, pFXCip) // return a KeySym*, so an unsigned long* //GO(_XGetLCValues, GOM(XGetModifierMapping, pFEX) -//GO(XGetMotionEvents, bLww_FXLLLp) +GOM(XGetMotionEvents, pFEXLLLp) //GO(XGetNormalHints, iFpLp) //GO(XGetOCValues, pFpppppppppp) // use varargs //GOM(XGetOMValues, pFEpV) @@ -400,7 +400,7 @@ GOM(XGetPixel, LFEXii) // need unbridging GO(dummy_XGetPixel, LFpii) // for the wrapper GO(XGetPointerControl, iFXppp) GO(XGetPointerMapping, iFXpi) -//GOM(_XGetRequest, pFEXCL) +GOM(_XGetRequest, pFEXCL) //GO(XGetRGBColormaps, iFXLbbLLLLLLLLLL__pL) //GO(_XGetScanlinePad, GO(XGetScreenSaver, iFXpppp) @@ -415,7 +415,7 @@ GOM(XGetVisualInfo, pFEXlpp) GOM(XGetWindowAttributes, iFEXLp) GOM(XGetWindowProperty, iFEXLLlliLppppp) GO(XGetWMClientMachine, iFXLbpLiL_) -//GO(XGetWMColormapWindows, iFXLbbL__p) +GOM(XGetWMColormapWindows, iFEXLpp) GOM(XGetWMHints, pFEXL) GO(XGetWMIconName, iFXLbpLiL_) GO(XGetWMName, iFXLbpLiL_) @@ -682,7 +682,7 @@ GO(XkbForceDeviceBell, iFXiiii) //GO(XkbFreeGeomSections, vFpiii) //GO(XkbFreeGeomShapes, vFpiii) //GO(XkbFreeIndicatorMaps, vFp) -//GO(XkbFreeKeyboard, vFpui) +GOM(XkbFreeKeyboard, vFEpui) //GO(XkbFreeNames, vFpui) //GO(_XkbFreeReadBuffer, //GO(XkbFreeServerMap, vFpui) @@ -691,7 +691,7 @@ GO(XkbGetAutoRepeatRate, iFXupp) GO(XkbGetAutoResetControls, iFXpp) //GO(_XkbGetCharset, //GO(XkbGetCompatMap, iFpup) -//GO(XkbGetControls, iFpLp) +GOM(XkbGetControls, iFEXLp) //GO(_XkbGetConverters, GO(XkbGetDetectableAutoRepeat, iFXp) //GO(XkbGetDeviceButtonActions, iFppiuu) @@ -710,17 +710,17 @@ GO(XkbGetIndicatorState, iFXup) //GO(XkbGetKeySyms, iFpuup) //GO(XkbGetKeyTypes, iFpuup) //GO(XkbGetKeyVirtualModMap, iFpuup) -//GOSM(XkbGetMap, bXWWCCpbWWppppCCCCCCCCCCCCCCCCp_bCCbpCCppLbL__WWbL_pp_bLpppppppppppppppppppppppppppppppp_bLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLppbL_LCCW_bbLCCCCp_ppppWW_bLWWpbup_bup_WWWWWWWWWWWWbpp_bup_bLWWbWWWp_bWWWp_bWWWp_p_bLCwwWWwWWWWWWbwwWWipp_bppppp_pp_bppppp_p__FEXuu) +GOM(XkbGetMap, pFEXuu) //GO(XkbGetMapChanges, iFppp) GO(XkbGetNamedDeviceIndicator, iFXuuuLpppp) //GO(XkbGetNamedGeometry, iFppL) GO(XkbGetNamedIndicator, iFXLpppp) -//GO(XkbGetNames, iFpup) +GOM(XkbGetNames, iFEXup) GO(XkbGetPerClientControls, iFXp) //GO(_XkbGetReadBufferCountedString, //GO(_XkbGetReadBufferPtr, GO(XkbGetState, iFXup) -//GO(XkbGetUpdatedMap, iFpup) +GOM(XkbGetUpdatedMap, iFEXup) //GO(XkbGetVirtualMods, iFpup) GO(XkbGetXlibControls, uFX) GO(XkbIgnoreExtension, iFi) @@ -873,7 +873,7 @@ GO(XListPixmapFormats, pFXp) GO(XLoadFont, LFXp) GOM(XLoadQueryFont, pFEXp) GO(xlocaledir, vFpi) -GO(XLocaleOfFontSet, pFp) +GOM(XLocaleOfFontSet, pFEp) GO(XLocaleOfIM, pFp) GO(XLocaleOfOM, pFp) GOM(XLockDisplay, vFEX) @@ -896,9 +896,9 @@ GO(XMaxRequestSize, lFX) //GO(_XmbDefaultTextEscapement, //GO(_XmbDefaultTextExtents, //GO(_XmbDefaultTextPerCharExtents, -GO(XmbDrawImageString, vFXLppiipi) -GO(XmbDrawString, vFXLppiipi) -GO(XmbDrawText, vFXLpiibpiip_i) +GOM(XmbDrawImageString, vFEXLppiipi) +GOM(XmbDrawString, vFEXLppiipi) +GOM(XmbDrawText, vFEXLpiipi) //GO(_XmbGenericDrawImageString, //GO(_XmbGenericDrawString, //GO(_XmbGenericTextEscapement, @@ -907,14 +907,14 @@ GO(XmbDrawText, vFXLpiibpiip_i) GO(_Xmblen, iFpi) GOM(XmbLookupString, iFEpppipp) GO(XmbResetIC, pFp) -//GO(XmbSetWMProperties, vFpLpppippp) +GOM(XmbSetWMProperties, vFEXLpppippp) //GO(_Xmbstoutf8, //GO(_Xmbstowcs, -GO(XmbTextEscapement, iFppi) -GO(XmbTextExtents, iFppipp) +GOM(XmbTextEscapement, iFEppi) +GOM(XmbTextExtents, iFEppipp) //GO(_XmbTextListToTextProperty, GOM(XmbTextListToTextProperty, iFEXpiup) -GO(XmbTextPerCharExtents, iFppippippp) +GOM(XmbTextPerCharExtents, iFEppippippp) //GO(_XmbTextPropertyToTextList, GOM(XmbTextPropertyToTextList, iFEXbpLiL_pp) GO(_Xmbtowc, iFppi) @@ -1133,11 +1133,11 @@ GO(XSupportsLocale, iFv) GO(XSync, iFXi) GOM(XSynchronize, pFEXi) GOM(XTextExtents, iFEppipppp) -//GO(XTextExtents16, iFppipppp) +GOM(XTextExtents16, iFEppipppp) //GO(_XTextHeight, iFppi) //GO(_XTextHeight16, iFppi) //GO(XTextPropertyToStringList, iFbpLiL_bbp__p) -//GO(XTextWidth, iFppi) +GOM(XTextWidth, iFEppi) GOM(XTextWidth16, iFEppi) //DATAB(_Xthread_self_fn, 4) GO(XTranslateCoordinates, iFXLLiippBL_) @@ -1174,9 +1174,9 @@ GO(XUnsetICFocus, vFp) //GO(_Xutf8DefaultTextEscapement, //GO(_Xutf8DefaultTextExtents, //GO(_Xutf8DefaultTextPerCharExtents, -GO(Xutf8DrawImageString, vFXLppiipi) -GO(Xutf8DrawString, vFXLppiipi) -GO(Xutf8DrawText, vFXLpiibpiip_i) +GOM(Xutf8DrawImageString, vFEXLppiipi) +GOM(Xutf8DrawString, vFEXLppiipi) +GOM(Xutf8DrawText, vFEXLpiipi) //GO(_Xutf8GenericDrawImageString, //GO(_Xutf8GenericDrawString, //GO(_Xutf8GenericTextEscapement, @@ -1185,13 +1185,13 @@ GO(Xutf8DrawText, vFXLpiibpiip_i) GOM(Xutf8LookupString, iFEpppipp) GO(Xutf8ResetIC, pFp) GOM(Xutf8SetWMProperties, vFEXLpppippp) // Warning: failed to confirm -GO(Xutf8TextEscapement, iFppi) -GO(Xutf8TextExtents, iFppipp) +GOM(Xutf8TextEscapement, iFEppi) +GOM(Xutf8TextExtents, iFEppipp) //GO(_Xutf8TextListToTextProperty, GOM(Xutf8TextListToTextProperty, iFEXpiup) -GO(Xutf8TextPerCharExtents, iFppippippp) +GOM(Xutf8TextPerCharExtents, iFEppippippp) //GO(_Xutf8TextPropertyToTextList, -//GO(Xutf8TextPropertyToTextList, iFXbpLiL_bbp__p) +GOM(Xutf8TextPropertyToTextList, iFEXbpLiL_pp) GOM(XVaCreateNestedList, pFEiV) GO(XVendorRelease, iFX) GO(_XVIDtoVisual, pFXL) @@ -1202,9 +1202,9 @@ GO(XWarpPointer, iFXLLiiuuii) //GO(_XwcDefaultTextEscapement, //GO(_XwcDefaultTextExtents, //GO(_XwcDefaultTextPerCharExtents, -GO(XwcDrawImageString, vFXLppiipi) -GO(XwcDrawString, vFXLppiipi) -GO(XwcDrawText, vFXLpiibpiip_i) +GOM(XwcDrawImageString, vFEXLppiipi) +GOM(XwcDrawString, vFEXLppiipi) +GOM(XwcDrawText, vFEXLpiipi) //GO(_XwcFreeStringList, GO(XwcFreeStringList, vFbp_) //GO(_XwcGenericDrawImageString, @@ -1220,13 +1220,13 @@ GO(XwcResetIC, pFp) //GO(_Xwcsncmp, //GO(_Xwcsncpy, //GO(_Xwcstombs, -GO(XwcTextEscapement, iFppi) -GO(XwcTextExtents, iFppipp) +GOM(XwcTextEscapement, iFEppi) +GOM(XwcTextExtents, iFEppipp) //GO(_XwcTextListToTextProperty, -//GO(XwcTextListToTextProperty, iFXbp_iubpLiL_) -GO(XwcTextPerCharExtents, iFppippippp) +GOM(XwcTextListToTextProperty, iFEXpiup) +GOM(XwcTextPerCharExtents, iFEppippippp) //GO(_XwcTextPropertyToTextList, -//GO(XwcTextPropertyToTextList, iFXbpLiL_bbp__p) +GOM(XwcTextPropertyToTextList, iFEXbpLiL_pp) GO(_Xwctomb, iFpi) GO(XWhitePixel, LFXi) //GOM(XWhitePixelOfScreen, LFEbpXLiiiiipippLLLiiiil_) diff --git a/src/wrapped32/wrappedlibxcursor.c b/src/wrapped32/wrappedlibxcursor.c index f03ac6dc..757002ab 100644 --- a/src/wrapped32/wrappedlibxcursor.c +++ b/src/wrapped32/wrappedlibxcursor.c @@ -188,5 +188,19 @@ EXPORT void* my32_XcursorImagesLoadCursors(x64emu_t* emu, void* dpy, void* image return ret; } +EXPORT void* my32_XcursorLibraryLoadImages(x64emu_t* emu, void* name, void* theme, int size) +{ + void* ret = my->XcursorLibraryLoadImages(name, theme, size); + inplace_XcursorImages_shrink(ret); + return ret; +} + +EXPORT void* my32_XcursorShapeLoadImages(x64emu_t* emu, uint32_t shape, void* theme, int size) +{ + void* ret = my->XcursorShapeLoadImages(shape, theme, size); + inplace_XcursorImages_shrink(ret); + return ret; +} + #include "wrappedlib_init32.h" diff --git a/src/wrapped32/wrappedlibxcursor_private.h b/src/wrapped32/wrappedlibxcursor_private.h index e404911f..e24a7519 100644 --- a/src/wrapped32/wrappedlibxcursor_private.h +++ b/src/wrapped32/wrappedlibxcursor_private.h @@ -2,35 +2,35 @@ #error Meh... #endif -//GO(XcursorAnimateCreate, pFp) -//GO(XcursorAnimateDestroy, vFp) -//GO(XcursorAnimateNext, LFp) -//GO(XcursorCommentCreate, pFui) -//GO(XcursorCommentDestroy, vFp) -//GO(XcursorCommentsCreate, pFi) -//GO(XcursorCommentsDestroy, vFp) +//GOM(XcursorAnimateCreate, pFEbXiip_) +//GOM(XcursorAnimateDestroy, vFEbpi_) +//GOM(XcursorAnimateNext, LFEbpi_) +//GOM(XcursorCommentCreate, pFEui) +//GO(XcursorCommentDestroy, vFbuup_) +//GOM(XcursorCommentsCreate, pFEi) +//GOM(XcursorCommentsDestroy, vFEbip_) //GO(_XcursorCreateFontCursor, //GO(_XcursorCreateGlyphCursor, GOM(XcursorCursorsCreate, pFEXi) GOM(XcursorCursorsDestroy, vFEp) -//GO(XcursorFileLoad, iFSpp) -//GO(XcursorFileLoadAllImages, pFS) -//GO(XcursorFileLoadImage, pFSi) -//GO(XcursorFileLoadImages, pFSi) -//GO(XcursorFilenameLoad, iFppp) -//GO(XcursorFilenameLoadAllImages, pFp) -//GO(XcursorFilenameLoadCursor, LFpp) -//GO(XcursorFilenameLoadCursors, pFpp) -//GO(XcursorFilenameLoadImage, pFpi) -//GO(XcursorFilenameLoadImages, pFpi) -//GO(XcursorFilenameSave, iFppp) -//GO(XcursorFilenameSaveImages, iFpp) -//GO(XcursorFileSave, iFSpp) -//GO(XcursorFileSaveImages, iFSp) -//GO(XcursorGetDefaultSize, iFp) +//GOM(XcursorFileLoad, iFESbp_bp_) +//GOM(XcursorFileLoadAllImages, pFES) +//GOM(XcursorFileLoadImage, pFESi) +//GOM(XcursorFileLoadImages, pFESi) +//GOM(XcursorFilenameLoad, iFEpbp_bp_) +//GOM(XcursorFilenameLoadAllImages, pFEp) +GO(XcursorFilenameLoadCursor, LFXp) +//GOM(XcursorFilenameLoadCursors, pFEXp) +//GOM(XcursorFilenameLoadImage, pFEpi) +//GOM(XcursorFilenameLoadImages, pFEpi) +//GOM(XcursorFilenameSave, iFEpbip_bipp_) +//GOM(XcursorFilenameSaveImages, iFEpbipp_) +//GOM(XcursorFileSave, iFESbip_bipp_) +//GOM(XcursorFileSaveImages, iFESbipp_) +GO(XcursorGetDefaultSize, iFX) //GO(_XcursorGetDisplayInfo, -//GO(XcursorGetTheme, pFp) -//GO(XcursorGetThemeCore, iFp) +GO(XcursorGetTheme, pFX) +GO(XcursorGetThemeCore, iFX) GOM(XcursorImageCreate, pFEii) GOM(XcursorImageDestroy, vFEp) //GOM(XcursorImageHash, vFEpp) // needs unbridge XImage (first p) @@ -39,28 +39,28 @@ GOM(XcursorImagesCreate, pFEi) GOM(XcursorImagesDestroy, vFEp) GOM(XcursorImagesLoadCursor, LFEXp) GOM(XcursorImagesLoadCursors, pFEXp) -//GO(XcursorImagesSetName, vFpp) +//GOM(XcursorImagesSetName, vFEpp) GO(XcursorLibraryLoadCursor, LFXp) -//GO(XcursorLibraryLoadCursors, pFpp) -//GO(XcursorLibraryLoadImage, pFppi) -//GO(XcursorLibraryLoadImages, pFppi) -//GO(XcursorLibraryPath, pFv) -//GO(XcursorLibraryShape, iFp) -//GO(XcursorNoticeCreateBitmap, vFpLuu) -//GOM(XcursorNoticePutBitmap, vFEpLp) //needs unbridge XImage (last p) -//GO(XcursorSetDefaultSize, iFpi) -//GO(XcursorSetTheme, iFpp) -//GO(XcursorSetThemeCore, iFpi) -//GO(XcursorShapeLoadCursor, LFpu) -//GO(XcursorShapeLoadCursors, pFpu) -//GO(XcursorShapeLoadImage, pFupi) -//GO(XcursorShapeLoadImages, pFupi) -//GO(XcursorSupportsAnim, iFp) -//GO(XcursorSupportsARGB, iFp) -//GO(XcursorTryShapeBitmapCursor, LFpLLppuu) -//GO(XcursorTryShapeCursor, LFpLLuupp) -//GO(XcursorXcFileLoad, iFppp) -//GO(XcursorXcFileLoadAllImages, pFp) -//GO(XcursorXcFileLoadImage, pFpi) -//GO(XcursorXcFileLoadImages, pFpi) -//GO(XcursorXcFileSave, iFppp) +//GOM(XcursorLibraryLoadCursors, pFEXp) +//GOM(XcursorLibraryLoadImage, pFEppi) +GOM(XcursorLibraryLoadImages, pFEppi) +GO(XcursorLibraryPath, pFv) +GO(XcursorLibraryShape, iFp) +GO(XcursorNoticeCreateBitmap, vFXLuu) +//GOM(XcursorNoticePutBitmap, vFEXLp) //needs unbridge XImage (last p) +GO(XcursorSetDefaultSize, iFXi) +GO(XcursorSetTheme, iFXp) +GO(XcursorSetThemeCore, iFXi) +GO(XcursorShapeLoadCursor, LFXu) +//GOM(XcursorShapeLoadCursors, pFEXu) +//GOM(XcursorShapeLoadImage, pFEupi) +GOM(XcursorShapeLoadImages, pFEupi) +GO(XcursorSupportsAnim, iFX) +GO(XcursorSupportsARGB, iFX) +//GO(XcursorTryShapeBitmapCursor, LFXLLbLWWWcc_bLWWWcc_uu) +//GO(XcursorTryShapeCursor, LFXLLuubLWWWcc_bLWWWcc_) +//GOM(XcursorXcFileLoad, iFEpbp_bp_) +//GOM(XcursorXcFileLoadAllImages, pFEp) +//GOM(XcursorXcFileLoadImage, pFEpi) +//GOM(XcursorXcFileLoadImages, pFEpi) +//GOM(XcursorXcFileSave, iFEpbip_bipp_) diff --git a/src/wrapped32/wrappedlibxext_private.h b/src/wrapped32/wrappedlibxext_private.h index 0d189dbc..1554a0db 100644 --- a/src/wrapped32/wrappedlibxext_private.h +++ b/src/wrapped32/wrappedlibxext_private.h @@ -93,7 +93,7 @@ GO(XSyncAwaitFence, iFXbL_i) //GO(XSyncChangeAlarm, iFpLLp) //GO(XSyncChangeCounter, iFpuU) //GO(XSyncCreateAlarm, LFpLp) // XSyncAlarm is an XID -//GO(XSyncCreateCounter, uFpU) // XSyncValue is a struct of 2 int +GO(XSyncCreateCounter, LFXU) // XSyncValue is a struct of 2 int GO(XSyncCreateFence, LFXLi) GO(XSyncDestroyAlarm, iFXL) GO(XSyncDestroyCounter, iFXL) @@ -111,7 +111,7 @@ GO(XSyncQueryCounter, iFXLp) GO(XSyncQueryExtension, iFXpp) GO(XSyncQueryFence, iFXLp) GO(XSyncResetFence, iFXL) -//GO(XSyncSetCounter, iFpuU) // XSyncCounter is an XID +GO(XSyncSetCounter, iFXLU) // XSyncCounter is an XID GO(XSyncSetPriority, iFXLi) GO(XSyncTriggerFence, iFXL) //GO(XSyncValueAdd, @@ -119,9 +119,9 @@ GO(XSyncTriggerFence, iFXL) //GO(XSyncValueGreaterOrEqual, //GO(XSyncValueGreaterThan, //GO(XSyncValueHigh32, -//GO(XSyncValueIsNegative, -//GO(XSyncValueIsPositive, -//GO(XSyncValueIsZero, iFp) +GO(XSyncValueIsNegative, iFU) +GO(XSyncValueIsPositive, iFU) +GO(XSyncValueIsZero, iFU) //GO(XSyncValueLessOrEqual, //GO(XSyncValueLessThan, //GO(XSyncValueLow32, diff --git a/src/wrapped32/wrappedlibxi.c b/src/wrapped32/wrappedlibxi.c index 570e2240..90ac4c33 100644 --- a/src/wrapped32/wrappedlibxi.c +++ b/src/wrapped32/wrappedlibxi.c @@ -99,4 +99,64 @@ EXPORT int my32_XGetDeviceButtonMapping(x64emu_t* emu, void* dpy, void* d, void* inplace_XDevice_shrink(d); } +EXPORT void* my32_XQueryDeviceState(x64emu_t* emu, void* dpy, void* d) +{ + void* ret = inplace_XDeviceState_shrink(my->XQueryDeviceState(dpy, inplace_XDevice_enlarge(d))); + inplace_XDevice_shrink(d); + return ret; +} + +EXPORT void my32_XFreeDeviceState(x64emu_t* emu, void* ds) +{ + my->XFreeDeviceState(inplace_XDeviceState_enlarge(ds)); +} + +EXPORT void* my32_XListInputDevices(x64emu_t* emu, void* dpy, int* n) +{ + return inplace_XDeviceInfo_shrink(my->XListInputDevices(dpy, n)); +} + +EXPORT void my32_XFreeDeviceList(x64emu_t* emu, void* l) +{ + my->XFreeDeviceList(inplace_XDeviceInfo_enlarge(l)); +} + +EXPORT void* my32_XGetDeviceMotionEvents(x64emu_t* emu, void* dpy, void* d, unsigned long start, unsigned long stop, int* n, int* mode, int* axis) +{ + void* ret = my->XGetDeviceMotionEvents(dpy, inplace_XDevice_enlarge(d), start, stop, n, mode, axis); + inplace_XDevice_shrink(d); + if(ret) { + my_XDeviceTimeCoord_t* src = ret; + my_XDeviceTimeCoord_32_t* dst = ret; + for(int i=0; i<*n; ++i) { + dst[i].time = to_ulong(src[i].time); + dst[i].data = to_ptrv(src[i].data); + } + if(*n) { + dst[*n].time = 0; dst[*n].data = 0; // mark the end + } + } +} + +EXPORT void my32_XFreeDeviceMotionEvents(x64emu_t* emu, void* l) +{ + int n=0; + my_XDeviceTimeCoord_32_t* src = l; + my_XDeviceTimeCoord_t* dst = l; + // search length first + while(src[n].time || src[n].data) ++n; + for(int i=n; i>=0; --i) { + dst[i].data = from_ptrv(src[i].data); + dst[i].time = from_ulong(src[i].time); + } + my->XFreeDeviceMotionEvents(l); +} + +EXPORT int my32_XGrabDevice(x64emu_t* emu, void* dpy, void* d, XID w, int owner, int count, void* evt, int this_mode, int other_modes, unsigned long time) +{ + int ret = my->XGrabDevice(dpy, inplace_XDevice_enlarge(d), w, owner, count, evt, this_mode, other_modes, time); + inplace_XDevice_shrink(d); + return ret; +} + #include "wrappedlib_init32.h" diff --git a/src/wrapped32/wrappedlibxi_private.h b/src/wrapped32/wrappedlibxi_private.h index bf3614ce..02fb13ab 100644 --- a/src/wrapped32/wrappedlibxi_private.h +++ b/src/wrapped32/wrappedlibxi_private.h @@ -2,6 +2,8 @@ #error Meh... #endif +// XEventClass is a 32bits value, on 32bits and 64bits version, no need to wrap + //GO(XAllowDeviceEvents, iFXbLip_iL) //GO(XChangeDeviceControl, iFXbLip_ibLi_) //GO(XChangeDeviceDontPropagateList, iFXLibL_i) @@ -14,9 +16,9 @@ GOM(XCloseDevice, iFEXp) //GO(XDeleteDeviceProperty, vFXbLip_L) //GO(XDeviceBell, iFXbLip_LLi) //GO(XFreeDeviceControl, vFbLi_) -//GO(XFreeDeviceList, vFbLLpiibLi__) -//GO(XFreeDeviceMotionEvents, vFbLp_) -//GO(XFreeDeviceState, vFbLip_) +GOM(XFreeDeviceList, vFEp) +GOM(XFreeDeviceMotionEvents, vFEp) +GOM(XFreeDeviceState, vFEp) //GO(XFreeFeedbackList, vFbLiL_) GOM(XGetDeviceButtonMapping, iFEXppu) //GO(XGetDeviceControl, bLi_FXbLip_i) @@ -24,12 +26,12 @@ GOM(XGetDeviceButtonMapping, iFEXppu) //GO(XGetDeviceFocus, iFXbLip_bL_pbL_) //GO(XGetDeviceKeyMapping, bL_FXbLip_Cip) //GO(XGetDeviceModifierMapping, bip_FXbLip_) -//GO(XGetDeviceMotionEvents, bLp_FXbLip_LLppp) +GOM(XGetDeviceMotionEvents, pFEXpLLppp) //GO(XGetDeviceProperty, iFXbLip_LlliLbL_pbL_bL_bp_) GO(XGetExtensionVersion, pFXp) //GO(XGetFeedbackControl, bLiL_FXbLip_p) //GO(XGetSelectedExtensionEvents, iFXLpbbL__pbbL__) -//GO(XGrabDevice, iFXbLip_LiibL_iiL) +GOM(XGrabDevice, iFEXpLiipiiL) //GO(XGrabDeviceButton, iFXbLip_uubLip_LiubL_ii) //GO(XGrabDeviceKey, iFXbLip_uubLip_LiubL_ii) GO(XIAllowEvents, iFXiiL) @@ -67,10 +69,10 @@ GO(XIUngrabKeycode, iFXiiLip) GO(XIUngrabTouchBegin, iFXiLip) GO(XIWarpPointer, iFXiLLdduudd) //GO(XListDeviceProperties, bL_FXbLip_p) -//GO(XListInputDevices, bLLpiibLi__FXp) +GOM(XListInputDevices, pFEXp) GOM(XOpenDevice, pFEXL) -//GO(XQueryDeviceState, bLip_FXbLip_) -//GO(XSelectExtensionEvent, iFXLbL_i) +GOM(XQueryDeviceState, pFEXp) +GO(XSelectExtensionEvent, iFXLpi) //GO(XSendExtensionEvent, iFppLiipp) //GO(XSetDeviceButtonMapping, iFXbLip_pi) //GO(XSetDeviceFocus, iFXbLip_LiL) diff --git a/src/wrapped32/wrappedlibxrandr.c b/src/wrapped32/wrappedlibxrandr.c index 802d22f3..80079554 100644 --- a/src/wrapped32/wrappedlibxrandr.c +++ b/src/wrapped32/wrappedlibxrandr.c @@ -159,6 +159,13 @@ EXPORT int my32_XRRQueryExtension(x64emu_t* emu, void* dpy, int* event_base, int return ret; } +EXPORT int my32_XRRUpdateConfiguration(x64emu_t* emu, my_XEvent_32_t* evt) +{ + my_XEvent_t evt_l = {0}; + unconvertXEvent(&evt_l, evt); + return my->XRRUpdateConfiguration(&evt_l); +} + #ifdef ANDROID #define NEEDED_LIBS "libX11.so", "libXext.so", "libXrender.so" #else diff --git a/src/wrapped32/wrappedlibxrandr_private.h b/src/wrapped32/wrappedlibxrandr_private.h index a2b9fe89..a2611c5c 100644 --- a/src/wrapped32/wrappedlibxrandr_private.h +++ b/src/wrapped32/wrappedlibxrandr_private.h @@ -18,7 +18,7 @@ GOM(XRRGetProviderInfo, pFEXpL) GO(XRRConfigureOutputProperty, vFXLLiiibl_) GO(XRRSetOutputPrimary, vFXLL) GO(XRRFreeOutputInfo, vFp) -//GO(XRRUpdateConfiguration, iFp) +GOM(XRRUpdateConfiguration, iFEp) GOM(XRRGetScreenResources, pFEXL) GO(XRRConfigSizes, pFpp) //GO(XRRQueryProviderProperty, biiiibl__FXLL) |