Files
FEX-Emu--FEX/ThunkLibs/Generators/libXext.py
T
Ryan Houdek b102714d5c Thunks: Support versioned libraries
We can't expect users to have development libraries installed.
Load the versioned libraries if they exist instead

Also load them in global namespace, which is required for getting
symbols.

Behaviour on x86-64 host seems sporatic here, not sure if unintended
feature.
Doesn't quite behave the same on AArch64 host
2021-10-08 02:41:37 -07:00

190 lines
12 KiB
Python

#!/usr/bin/python3
from ThunkHelpers import *
lib("libXext", "6")
# needs function pointer
# fn("int (* XSetExtensionErrorHandler(XextErrorHandler))(Display*, const char*, const char*)")
fn("int DPMSCapable(Display*)")
fn("int DPMSDisable(Display*)")
fn("int DPMSEnable(Display*)")
fn("int DPMSForceLevel(Display*, CARD16)")
fn("int DPMSGetTimeouts(Display*, CARD16*, CARD16*, CARD16*)")
fn("int DPMSGetVersion(Display*, int*, int*)")
fn("int DPMSInfo(Display*, CARD16*, BOOL*)")
fn("int DPMSQueryExtension(Display*, int*, int*)")
fn("int DPMSSetTimeouts(Display*, CARD16, CARD16, CARD16)")
fn("int XeviGetVisualInfo(Display*, VisualID*, int, ExtendedVisualInfo**, int*)")
fn("int XeviQueryExtension(Display*)")
fn("int XeviQueryVersion(Display*, int*, int*)")
fn("int XGEQueryExtension(Display*, int*, int*)")
fn("int XGEQueryVersion(Display*, int*, int*)")
fn("int XLbxGetEventBase(Display*)")
fn("int XLbxQueryExtension(Display*, int*, int*, int*)")
fn("int XLbxQueryVersion(Display*, int*, int*)")
fn("int XmbufCreateBuffers(Display*, Window, int, int, int, Multibuffer*)")
fn("int XmbufGetBufferAttributes(Display*, Multibuffer, XmbufBufferAttributes*)")
fn("int XmbufGetScreenInfo(Display*, Drawable, int*, XmbufBufferInfo**, int*, XmbufBufferInfo**)")
fn("int XmbufGetVersion(Display*, int*, int*)")
fn("int XmbufGetWindowAttributes(Display*, Window, XmbufWindowAttributes*)")
fn("int XmbufQueryExtension(Display*, int*, int*)")
fn("int XMissingExtension(Display*, const char*)")
fn("int XMITMiscGetBugMode(Display*)")
fn("int XMITMiscQueryExtension(Display*, int*, int*)")
fn("int XMITMiscSetBugMode(Display*, int)")
fn("int XSecurityQueryExtension(Display*, int*, int*)")
fn("int XSecurityRevokeAuthorization(Display*, XSecurityAuthorization)")
fn("int XShapeQueryExtension(Display*, int*, int*)")
fn("int XShapeQueryExtents(Display*, Window, int*, int*, int*, unsigned int*, unsigned int*, int*, int*, int*, unsigned int*, unsigned int*)")
fn("int XShapeQueryVersion(Display*, int*, int*)")
fn("int XShmAttach(Display*, XShmSegmentInfo*)")
fn("int XShmDetach(Display*, XShmSegmentInfo*)")
fn("int XShmGetEventBase(Display*)")
fn("int XShmGetImage(Display*, Drawable, XImage*, int, int, long unsigned int)")
fn("int XShmPixmapFormat(Display*)")
fn("int XShmPutImage(Display*, Drawable, GC, XImage*, int, int, int, int, unsigned int, unsigned int, int)")
fn("int XShmQueryExtension(Display*)")
fn("int XShmQueryVersion(Display*, int*, int*, int*)")
fn("int XSyncAwait(Display*, XSyncWaitCondition*, int)")
fn("int XSyncAwaitFence(Display*, const XSyncFence*, int)")
fn("int XSyncChangeAlarm(Display*, XSyncAlarm, long unsigned int, XSyncAlarmAttributes*)")
fn("int XSyncChangeCounter(Display*, XSyncCounter, XSyncValue)")
fn("int XSyncDestroyAlarm(Display*, XSyncAlarm)")
fn("int XSyncDestroyCounter(Display*, XSyncCounter)")
fn("int XSyncDestroyFence(Display*, XSyncFence)")
fn("int XSyncGetPriority(Display*, XID, int*)")
fn("int XSyncInitialize(Display*, int*, int*)")
fn("int XSyncQueryAlarm(Display*, XSyncAlarm, XSyncAlarmAttributes*)")
fn("int XSyncQueryCounter(Display*, XSyncCounter, XSyncValue*)")
fn("int XSyncQueryExtension(Display*, int*, int*)")
fn("int XSyncQueryFence(Display*, XSyncFence, int*)")
fn("int XSyncResetFence(Display*, XSyncFence)")
fn("int XSyncSetCounter(Display*, XSyncCounter, XSyncValue)")
fn("int XSyncSetPriority(Display*, XID, int)")
fn("int XSyncTriggerFence(Display*, XSyncFence)")
fn("int XSyncValueEqual(XSyncValue, XSyncValue)")
fn("int XSyncValueGreaterOrEqual(XSyncValue, XSyncValue)")
fn("int XSyncValueGreaterThan(XSyncValue, XSyncValue)")
fn("int XSyncValueHigh32(XSyncValue)")
fn("int XSyncValueIsNegative(XSyncValue)")
fn("int XSyncValueIsPositive(XSyncValue)")
fn("int XSyncValueIsZero(XSyncValue)")
fn("int XSyncValueLessOrEqual(XSyncValue, XSyncValue)")
fn("int XSyncValueLessThan(XSyncValue, XSyncValue)")
fn("long unsigned int XShapeInputSelected(Display*, Window)")
fn("Pixmap XShmCreatePixmap(Display*, Drawable, char*, XShmSegmentInfo*, unsigned int, unsigned int, unsigned int)")
fn("unsigned int XSyncValueLow32(XSyncValue)")
fn("void XmbufChangeBufferAttributes(Display*, Multibuffer, long unsigned int, XmbufSetBufferAttributes*)")
fn("void XmbufChangeWindowAttributes(Display*, Window, long unsigned int, XmbufSetWindowAttributes*)")
fn("void XmbufClearBufferArea(Display*, Multibuffer, int, int, unsigned int, unsigned int, int)")
fn("void XmbufDestroyBuffers(Display*, Window)")
fn("void XmbufDisplayBuffers(Display*, int, Multibuffer*, int, int)")
fn("void XSecurityFreeXauth(Xauth*)")
fn("void XShapeCombineMask(Display*, Window, int, int, int, Pixmap, int)")
fn("void XShapeCombineRectangles(Display*, Window, int, int, int, XRectangle*, int, int, int)")
fn("void XShapeCombineRegion(Display*, Window, int, int, int, Region, int)")
fn("void XShapeCombineShape(Display*, Window, int, int, int, Window, int, int)")
fn("void XShapeOffsetShape(Display*, Window, int, int, int)")
fn("void XShapeSelectInput(Display*, Window, long unsigned int)")
fn("void XSyncFreeSystemCounterList(XSyncSystemCounter*)")
fn("void XSyncIntsToValue(XSyncValue*, unsigned int, int)")
fn("void XSyncIntToValue(XSyncValue*, int)")
fn("void XSyncMaxValue(XSyncValue*)")
fn("void XSyncMinValue(XSyncValue*)")
fn("void XSyncValueAdd(XSyncValue*, XSyncValue, XSyncValue, int*)")
fn("void XSyncValueSubtract(XSyncValue*, XSyncValue, XSyncValue, int*)")
fn("Window XmbufCreateStereoWindow(Display*, Window, int, int, unsigned int, unsigned int, unsigned int, int, unsigned int, Visual*, long unsigned int, XSetWindowAttributes*, Multibuffer*, Multibuffer*)")
fn("Xauth* XSecurityAllocXauth()")
fn("Xauth* XSecurityGenerateAuthorization(Display*, Xauth*, long unsigned int, XSecurityAuthorizationAttributes*, XSecurityAuthorization*)")
fn("XImage* XShmCreateImage(Display*, Visual*, unsigned int, int, char*, XShmSegmentInfo*, unsigned int, unsigned int)")
fn("XRectangle* XShapeGetRectangles(Display*, Window, int, int*, int*)")
fn("XSyncAlarm XSyncCreateAlarm(Display*, long unsigned int, XSyncAlarmAttributes*)")
fn("XSyncCounter XSyncCreateCounter(Display*, XSyncValue)")
fn("XSyncFence XSyncCreateFence(Display*, Drawable, int)")
fn("XSyncSystemCounter* XSyncListSystemCounters(Display*, int*)")
# extutil.h
fn("XExtensionInfo * XextCreateExtension()")
fn("void XextDestroyExtension(XExtensionInfo *)")
fn("XExtDisplayInfo * XextAddDisplay(XExtensionInfo *, Display*, const char *, XExtensionHooks *, int, XPointer)")
fn("int XextRemoveDisplay(XExtensionInfo *, Display*)")
fn("XExtDisplayInfo * XextFindDisplay(XExtensionInfo *, Display*)")
# Xlibint.h
fn("void * _XGetRequest(Display *, CARD8, size_t)")
fn("void _XFlushGCCache(Display *, GC)")
fn("int _XData32(Display *, const long *, unsigned int)")
fn("void _XRead32(Display *, long *, long)")
fn("void _XDeqAsyncHandler(Display *, _XAsyncHandler *)")
fn("int _XError(Display *, xError *)")
fn("int _XIOError(Display *)")
fn("char * _XAllocScratch(Display *, unsigned long)")
fn("char * _XAllocTemp(Display *, unsigned long)")
fn("void _XFreeTemp(Display *, char *, unsigned long)")
fn("Visual * _XVIDtoVisual(Display *, VisualID)")
fn("unsigned long _XSetLastRequestRead(Display *, xGenericReply *)")
fn("int _XGetHostname(char *, int)")
fn("Screen * _XScreenOfWindow(Display *, Window)")
fn("int _XAsyncErrorHandler(Display *, xReply *, char *, int, XPointer)")
fn("char * _XGetAsyncReply(Display *, char *, xReply *, char *, int, int, int)")
fn("void _XGetAsyncData(Display *, char *, char *, int, int, int, int)")
fn("void _XFlush(Display *)")
fn("int _XEventsQueued(Display *, int)")
fn("void _XReadEvents(Display *)")
fn("int _XRead(Display *, char *, long)")
fn("void _XReadPad(Display *, char *, long)")
fn("void _XSend(Display *, const char *, long)")
fn("int _XReply(Display *, xReply *, int, int)")
fn("void _XEnq(Display *, xEvent *)")
fn("void _XDeq(Display *, _XQEvent *, _XQEvent *)")
fn("int _XUnknownWireEvent(Display *, XEvent *, xEvent *)")
fn("int _XUnknownWireEventCookie(Display *, XGenericEventCookie *, xEvent *)")
fn("int _XUnknownCopyEventCookie(Display *, XGenericEventCookie *, XGenericEventCookie *)")
fn("int _XUnknownNativeEvent(Display *, XEvent *, xEvent *)")
fn("int _XWireToEvent(Display *, XEvent *, xEvent *)")
fn("int _XDefaultWireError(Display *, XErrorEvent *, xError *)")
fn("int _XPollfdCacheInit(Display *)")
fn("void _XPollfdCacheAdd(Display *, int)")
fn("void _XPollfdCacheDel(Display *, int)")
fn("XID _XAllocID(Display *)")
fn("void _XAllocIDs(Display *, XID *, int)")
fn("int _XFreeExtData(XExtData *)")
#fn("int (*)(Display *, GC, XExtCodes *) XESetCreateGC(Display *, GC, XExtCodes *, Display *, int, int (*)(Display *, GC, XExtCodes *))")
#fn("int (*)(Display *, GC, XExtCodes *) XESetCopyGC(Display *, GC, XExtCodes *, Display *, int, int (*)(Display *, GC, XExtCodes *))")
#fn("int (*)(Display *, GC, XExtCodes *) XESetFlushGC(Display *, GC, XExtCodes *, Display *, int, int (*)(Display *, GC, XExtCodes *))")
#fn("int (*)(Display *, GC, XExtCodes *) XESetFreeGC(Display *, GC, XExtCodes *, Display *, int, int (*)(Display *, GC, XExtCodes *))")
#fn("int (*)(Display *, XFontStruct *, XExtCodes *) XESetCreateFont(Display *, XFontStruct *, XExtCodes *, Display *, int, int (*)(Display *, XFontStruct *, XExtCodes *))")
#fn("int (*)(Display *, XFontStruct *, XExtCodes *) XESetFreeFont(Display *, XFontStruct *, XExtCodes *, Display *, int, int (*)(Display *, XFontStruct *, XExtCodes *))")
#fn("int (*)(Display *, XExtCodes *) XESetCloseDisplay(Display *, XExtCodes *, Display *, int, int (*)(Display *, XExtCodes *))")
#fn("int (*)(Display *, xError *, XExtCodes *, int *) XESetError(Display *, xError *, XExtCodes *, int *, Display *, int, int (*)(Display *, xError *, XExtCodes *, int *))")
#fn("char *(*)(Display *, int, XExtCodes *, char *, int) XESetErrorString(Display *, int, XExtCodes *, char *, int, Display *, int, char *(*)(Display *, int, XExtCodes *, char *, int))")
#fn("void (*)(Display *, XErrorEvent *, void *) XESetPrintErrorValues(Display *, XErrorEvent *, void *, Display *, int, void (*)(Display *, XErrorEvent *, void *))")
#fn("int (*)(Display *, XEvent *, xEvent *) XESetWireToEvent(Display *, XEvent *, xEvent *, Display *, int, int (*)(Display *, XEvent *, xEvent *))")
#fn("int (*)(Display *, XGenericEventCookie *, xEvent *) XESetWireToEventCookie(Display *, XGenericEventCookie *, xEvent *, Display *, int, int (*)(Display *, XGenericEventCookie *, xEvent *))")
#fn("int (*)(Display *, XGenericEventCookie *, XGenericEventCookie *) XESetCopyEventCookie(Display *, XGenericEventCookie *, XGenericEventCookie *, Display *, int, int (*)(Display *, XGenericEventCookie *, XGenericEventCookie *))")
#fn("int (*)(Display *, XEvent *, xEvent *) XESetEventToWire(Display *, XEvent *, xEvent *, Display *, int, int (*)(Display *, XEvent *, xEvent *))")
#fn("int (*)(Display *, XErrorEvent *, xError *) XESetWireToError(Display *, XErrorEvent *, xError *, Display *, int, int (*)(Display *, XErrorEvent *, xError *))")
#fn("void (*)(Display *, XExtCodes *, const char *, long) XESetBeforeFlush(Display *, XExtCodes *, const char *, long, Display *, int, void (*)(Display *, XExtCodes *, const char *, long))")
fn("int _XRegisterInternalConnection(Display *, int, _XInternalConnectionProc, XPointer)")
fn("void _XUnregisterInternalConnection(Display *, int)")
fn("void _XProcessInternalConnection(Display *, struct _XConnectionInfo *)")
fn("int _XTextHeight(XFontStruct *, const char *, int)")
fn("int _XTextHeight16(XFontStruct *, const XChar2b *, int)")
fn("int _XEventToWire(Display *, XEvent *, xEvent *)")
fn("int _XF86LoadQueryLocaleFont(Display *, const char *, XFontStruct **, Font *)")
fn("void _XProcessWindowAttributes(Display *, xChangeWindowAttributesReq *, unsigned long, XSetWindowAttributes *)")
fn("int _XDefaultError(Display *, XErrorEvent *)")
fn("int _XDefaultIOError(Display *)")
fn("void _XDefaultIOErrorExit(Display *, void *)")
fn("void _XSetClipRectangles(Display *, GC, int, int, XRectangle *, int, int)")
fn("int _XGetWindowAttributes(Display *, Window, XWindowAttributes *)")
fn("int _XPutBackEvent(Display *, XEvent *)")
fn("int _XIsEventCookie(Display *, XEvent *)")
fn("void _XFreeEventCookies(Display *)")
fn("void _XStoreEventCookie(Display *, XEvent *)")
fn("int _XFetchEventCookie(Display *, XGenericEventCookie *)")
fn("int _XCopyEventCookie(Display *, XGenericEventCookie *, XGenericEventCookie *)")
fn("void xlocaledir(char *, int)")
Generate()