#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
#error Meh...
#endif

GO(DPMSCapable, iFX)
GO(DPMSDisable, iFX)
GO(DPMSEnable, iFX)
GO(DPMSForceLevel, iFXW)
GO(DPMSGetTimeouts, iFXppp)
GO(DPMSGetVersion, iFXpp)
GO(DPMSInfo, iFXpp)
GO(DPMSQueryExtension, iFXpp)
GO(DPMSSetTimeouts, iFXWWW)
GO(XagCreateAssociation, iFXbL_p)
GO(XagCreateEmbeddedApplicationGroup, iFXLLLLbL_)
GO(XagCreateNonembeddedApplicationGroup, iFXbL_)
GO(XagDestroyApplicationGroup, iFXL)
GO(XagDestroyAssociation, iFXL)
//GOM(XagGetApplicationGroupAttributes, iFEXLV)
GO(XagQueryApplicationGroup, iFXLbL_)
GO(XagQueryVersion, iFXpp)
//GO(XcupGetReservedColormapEntries, iFXibbLWWWcc__p)
GO(XcupQueryVersion, iFXpp)
GO(XcupStoreColors, iFXLbLWWWcc_i)
GO(XdbeAllocateBackBufferName, LFXLC)
GO(XdbeBeginIdiom, iFX)
GO(XdbeDeallocateBackBufferName, iFXL)
GO(XdbeEndIdiom, iFX)
GOM(XdbeFreeVisualInfo, vFEp)
GO(XdbeGetBackBufferAttributes, pFXL)   // return a pointer to a struct (allocated) with only an XID, no need to wrap here
GOM(XdbeGetVisualInfo, pFEXpp)
GO(XdbeQueryExtension, iFXpp)
GO(XdbeSwapBuffers, iFXbLC_i)
//GO(XeviGetVisualInfo, iFXbL_ibbLiiuuuuubL___p)
GO(XeviQueryExtension, iFX)
GO(XeviQueryVersion, iFXpp)
GOM(XextAddDisplay, pFEpXppip)
GOM(XextCreateExtension, pFEv)
GOM(XextDestroyExtension, vFEp)
//DATAB(_XExtensionErrorFunction, 4)
GOM(XextFindDisplay, pFEpX)
GOM(XextRemoveDisplay, iFEpX)
GO(XGEQueryExtension, iFXpp)
GO(XGEQueryVersion, iFXpp)
GO(XLbxGetEventBase, iFX)
GO(XLbxQueryExtension, iFXppp)
GO(XLbxQueryVersion, iFXpp)
GO(XmbufChangeBufferAttributes, vFXLLbL_)
GO(XmbufChangeWindowAttributes, vFXLLp)
GO(XmbufClearBufferArea, vFXLiiuui)
GO(XmbufCreateBuffers, iFXLiiibL_)
//GOM(XmbufCreateStereoWindow, LFEXLiiuuuiubpLiLLLii_LbLLLLiiiLLilliLL_bL_bL_)
GO(XmbufDestroyBuffers, vFXL)
GO(XmbufDisplayBuffers, vFXibL_ii)
GO(XmbufGetBufferAttributes, iFXLbLLii_)
//GO(XmbufGetScreenInfo, iFXLpbbLii__pbbLii__)
GO(XmbufGetVersion, iFXpp)
//GO(XmbufGetWindowAttributes, iFXLbiiiiibL__)
GO(XmbufQueryExtension, iFXpp)
GO(XMissingExtension, iFXp)
GO(XMITMiscGetBugMode, iFX)
GO(XMITMiscQueryExtension, iFXpp)
GO(XMITMiscSetBugMode, iFXi)
//GO(XSecurityAllocXauth, bWWpWpWpWp_Fv)
GO(XSecurityFreeXauth, vFbWWpWpWpWp_)
//GO(XSecurityGenerateAuthorization, bWWpWpWpWp_FXbWWpWpWpWp_LbuuLl_bL_)
GO(XSecurityQueryExtension, iFXpp)
GO(XSecurityRevokeAuthorization, iFXL)
GOM(XSetExtensionErrorHandler, pFEp)
GO(XShapeCombineMask, vFXLiiiLi)
GO(XShapeCombineRectangles, vFXLiiipiii)
GO(XShapeCombineRegion, vFXLiiipi)
GO(XShapeCombineShape, vFXLiiiLii)
GO(XShapeGetRectangles, pFXLipp)
GO(XShapeInputSelected, LFXL)
GO(XShapeOffsetShape, vFXLiii)
GO(XShapeQueryExtension, iFXpp)
GO(XShapeQueryExtents, iFXLpppppppppp)
GO(XShapeQueryVersion, iFXpp)
GO(XShapeSelectInput, vFXLL)
GOM(XShmAttach, iFEXp)    //!\ use shminfo
GOM(XShmCreateImage, pFEXbpLiLLLii_uippuu)  //!\ use shminfo
GOM(XShmCreatePixmap, LFEXLppuuu) //!\ use shminfo
GOM(XShmDetach, iFEXp)    //!\ use shminfo
GO(XShmGetEventBase, iFX)
GOM(XShmGetImage, iFEXLpiiL)
GO(XShmPixmapFormat, iFX)
GOM(XShmPutImage, iFEXLppiiiiuui)
GO(XShmQueryExtension, iFX)
GO(XShmQueryVersion, iFXppp)
//GO(XSyncAwait, iFppi)
GO(XSyncAwaitFence, iFXbL_i)
//GO(XSyncChangeAlarm, iFpLLp)
//GO(XSyncChangeCounter, iFpuU)
//GO(XSyncCreateAlarm, LFpLp)     // XSyncAlarm is an XID
GO(XSyncCreateCounter, LFXU)    // XSyncValue is a struct of 2 int
GO(XSyncCreateFence, LFXLi)
GO(XSyncDestroyAlarm, iFXL)
GO(XSyncDestroyCounter, iFXL)
GO(XSyncDestroyFence, iFXL)
//GO(XSyncFreeSystemCounterList, vFp)
GO(XSyncGetPriority, iFXLp)
GO(XSyncInitialize, iFXpp)
GO(XSyncIntsToValue, vFpui)
GO(XSyncIntToValue, vFpi)
//GOS(XSyncListSystemCounters, bpLp_FXp)
GO(XSyncMaxValue, vFp)
GO(XSyncMinValue, vFp)
//GO(XSyncQueryAlarm, iFpLp)
GO(XSyncQueryCounter, iFXLp)
GO(XSyncQueryExtension, iFXpp)
GO(XSyncQueryFence, iFXLp)
GO(XSyncResetFence, iFXL)
GO(XSyncSetCounter, iFXLU)      // XSyncCounter is an XID
GO(XSyncSetPriority, iFXLi)
GO(XSyncTriggerFence, iFXL)
//GO(XSyncValueAdd, 
//GO(XSyncValueEqual, 
//GO(XSyncValueGreaterOrEqual, 
//GO(XSyncValueGreaterThan, 
//GO(XSyncValueHigh32, 
GO(XSyncValueIsNegative, iFU)
GO(XSyncValueIsPositive, iFU)
GO(XSyncValueIsZero, iFU)
//GO(XSyncValueLessOrEqual, 
//GO(XSyncValueLessThan, 
//GO(XSyncValueLow32, 
//GO(XSyncValueSubtract, 
//DATA(XTestFakeAckType, 4)
GO(XTestFakeInput, iFXpii)
GO(XTestFlush, iFX)
GO(XTestGetInput, iFXi)
//DATAB(XTestInputActionType, 4)
GO(XTestMovePointer, iFXibL_ppu)
GO(XTestPressButton, iFXiLuu)
GO(XTestPressKey, iFXiLuu)
GO(XTestQueryInputSize, iFXbL_)
GO(XTestReset, iFX)
GO(XTestStopInput, iFX)
