#ifndef DYLIBLOAD_WRAPPER_XINPUT2
#define DYLIBLOAD_WRAPPER_XINPUT2
// This file is generated. Do not edit!
// see https://github.com/hpvb/dynload-wrapper for details
// generated by generate-wrapper.py 0.3 on 2023-01-23 15:12:16
// flags: generate-wrapper.py --include ./thirdparty/linuxbsd_headers/X11/extensions/XInput2.h --sys-include "thirdparty/linuxbsd_headers/X11/extensions/XInput2.h" --soname libXi.so.6 --init-name xinput2 --output-header ./platform/linuxbsd/x11/dynwrappers/xinput2-so_wrap.h --output-implementation ./platform/linuxbsd/x11/dynwrappers/xinput2-so_wrap.c
//
// NOTE: Generated from Xi 1.7.10.
// This has been handpatched to workaround some issues with the generator that
// will be eventually fixed. In this case, non-existent symbols inherited from
// libX11, liXext and libXfixes, but absent in libXi.so.6, were removed.
#include <stdint.h>

#define XIQueryPointer XIQueryPointer_dylibloader_orig_xinput2
#define XIWarpPointer XIWarpPointer_dylibloader_orig_xinput2
#define XIDefineCursor XIDefineCursor_dylibloader_orig_xinput2
#define XIUndefineCursor XIUndefineCursor_dylibloader_orig_xinput2
#define XIChangeHierarchy XIChangeHierarchy_dylibloader_orig_xinput2
#define XISetClientPointer XISetClientPointer_dylibloader_orig_xinput2
#define XIGetClientPointer XIGetClientPointer_dylibloader_orig_xinput2
#define XISelectEvents XISelectEvents_dylibloader_orig_xinput2
#define XIGetSelectedEvents XIGetSelectedEvents_dylibloader_orig_xinput2
#define XIQueryVersion XIQueryVersion_dylibloader_orig_xinput2
#define XIQueryDevice XIQueryDevice_dylibloader_orig_xinput2
#define XISetFocus XISetFocus_dylibloader_orig_xinput2
#define XIGetFocus XIGetFocus_dylibloader_orig_xinput2
#define XIGrabDevice XIGrabDevice_dylibloader_orig_xinput2
#define XIUngrabDevice XIUngrabDevice_dylibloader_orig_xinput2
#define XIAllowEvents XIAllowEvents_dylibloader_orig_xinput2
#define XIAllowTouchEvents XIAllowTouchEvents_dylibloader_orig_xinput2
#define XIGrabButton XIGrabButton_dylibloader_orig_xinput2
#define XIGrabKeycode XIGrabKeycode_dylibloader_orig_xinput2
#define XIGrabEnter XIGrabEnter_dylibloader_orig_xinput2
#define XIGrabFocusIn XIGrabFocusIn_dylibloader_orig_xinput2
#define XIGrabTouchBegin XIGrabTouchBegin_dylibloader_orig_xinput2
#define XIUngrabButton XIUngrabButton_dylibloader_orig_xinput2
#define XIUngrabKeycode XIUngrabKeycode_dylibloader_orig_xinput2
#define XIUngrabEnter XIUngrabEnter_dylibloader_orig_xinput2
#define XIUngrabFocusIn XIUngrabFocusIn_dylibloader_orig_xinput2
#define XIUngrabTouchBegin XIUngrabTouchBegin_dylibloader_orig_xinput2
#define XIListProperties XIListProperties_dylibloader_orig_xinput2
#define XIChangeProperty XIChangeProperty_dylibloader_orig_xinput2
#define XIDeleteProperty XIDeleteProperty_dylibloader_orig_xinput2
#define XIGetProperty XIGetProperty_dylibloader_orig_xinput2
#define XIBarrierReleasePointers XIBarrierReleasePointers_dylibloader_orig_xinput2
#define XIBarrierReleasePointer XIBarrierReleasePointer_dylibloader_orig_xinput2
#define XIFreeDeviceInfo XIFreeDeviceInfo_dylibloader_orig_xinput2
#include "thirdparty/linuxbsd_headers/X11/extensions/XInput2.h"
#undef XIQueryPointer
#undef XIWarpPointer
#undef XIDefineCursor
#undef XIUndefineCursor
#undef XIChangeHierarchy
#undef XISetClientPointer
#undef XIGetClientPointer
#undef XISelectEvents
#undef XIGetSelectedEvents
#undef XIQueryVersion
#undef XIQueryDevice
#undef XISetFocus
#undef XIGetFocus
#undef XIGrabDevice
#undef XIUngrabDevice
#undef XIAllowEvents
#undef XIAllowTouchEvents
#undef XIGrabButton
#undef XIGrabKeycode
#undef XIGrabEnter
#undef XIGrabFocusIn
#undef XIGrabTouchBegin
#undef XIUngrabButton
#undef XIUngrabKeycode
#undef XIUngrabEnter
#undef XIUngrabFocusIn
#undef XIUngrabTouchBegin
#undef XIListProperties
#undef XIChangeProperty
#undef XIDeleteProperty
#undef XIGetProperty
#undef XIBarrierReleasePointers
#undef XIBarrierReleasePointer
#undef XIFreeDeviceInfo
#ifdef __cplusplus
extern "C" {
#endif
#define XIQueryPointer XIQueryPointer_dylibloader_wrapper_xinput2
#define XIWarpPointer XIWarpPointer_dylibloader_wrapper_xinput2
#define XIDefineCursor XIDefineCursor_dylibloader_wrapper_xinput2
#define XIUndefineCursor XIUndefineCursor_dylibloader_wrapper_xinput2
#define XIChangeHierarchy XIChangeHierarchy_dylibloader_wrapper_xinput2
#define XISetClientPointer XISetClientPointer_dylibloader_wrapper_xinput2
#define XIGetClientPointer XIGetClientPointer_dylibloader_wrapper_xinput2
#define XISelectEvents XISelectEvents_dylibloader_wrapper_xinput2
#define XIGetSelectedEvents XIGetSelectedEvents_dylibloader_wrapper_xinput2
#define XIQueryVersion XIQueryVersion_dylibloader_wrapper_xinput2
#define XIQueryDevice XIQueryDevice_dylibloader_wrapper_xinput2
#define XISetFocus XISetFocus_dylibloader_wrapper_xinput2
#define XIGetFocus XIGetFocus_dylibloader_wrapper_xinput2
#define XIGrabDevice XIGrabDevice_dylibloader_wrapper_xinput2
#define XIUngrabDevice XIUngrabDevice_dylibloader_wrapper_xinput2
#define XIAllowEvents XIAllowEvents_dylibloader_wrapper_xinput2
#define XIAllowTouchEvents XIAllowTouchEvents_dylibloader_wrapper_xinput2
#define XIGrabButton XIGrabButton_dylibloader_wrapper_xinput2
#define XIGrabKeycode XIGrabKeycode_dylibloader_wrapper_xinput2
#define XIGrabEnter XIGrabEnter_dylibloader_wrapper_xinput2
#define XIGrabFocusIn XIGrabFocusIn_dylibloader_wrapper_xinput2
#define XIGrabTouchBegin XIGrabTouchBegin_dylibloader_wrapper_xinput2
#define XIUngrabButton XIUngrabButton_dylibloader_wrapper_xinput2
#define XIUngrabKeycode XIUngrabKeycode_dylibloader_wrapper_xinput2
#define XIUngrabEnter XIUngrabEnter_dylibloader_wrapper_xinput2
#define XIUngrabFocusIn XIUngrabFocusIn_dylibloader_wrapper_xinput2
#define XIUngrabTouchBegin XIUngrabTouchBegin_dylibloader_wrapper_xinput2
#define XIListProperties XIListProperties_dylibloader_wrapper_xinput2
#define XIChangeProperty XIChangeProperty_dylibloader_wrapper_xinput2
#define XIDeleteProperty XIDeleteProperty_dylibloader_wrapper_xinput2
#define XIGetProperty XIGetProperty_dylibloader_wrapper_xinput2
#define XIBarrierReleasePointers XIBarrierReleasePointers_dylibloader_wrapper_xinput2
#define XIBarrierReleasePointer XIBarrierReleasePointer_dylibloader_wrapper_xinput2
#define XIFreeDeviceInfo XIFreeDeviceInfo_dylibloader_wrapper_xinput2
extern int (*XIQueryPointer_dylibloader_wrapper_xinput2)( Display*, int, Window, Window*, Window*, double*, double*, double*, double*, XIButtonState*, XIModifierState*, XIGroupState*);
extern int (*XIWarpPointer_dylibloader_wrapper_xinput2)( Display*, int, Window, Window, double, double, unsigned int, unsigned int, double, double);
extern int (*XIDefineCursor_dylibloader_wrapper_xinput2)( Display*, int, Window, Cursor);
extern int (*XIUndefineCursor_dylibloader_wrapper_xinput2)( Display*, int, Window);
extern int (*XIChangeHierarchy_dylibloader_wrapper_xinput2)( Display*, XIAnyHierarchyChangeInfo*, int);
extern int (*XISetClientPointer_dylibloader_wrapper_xinput2)( Display*, Window, int);
extern int (*XIGetClientPointer_dylibloader_wrapper_xinput2)( Display*, Window, int*);
extern int (*XISelectEvents_dylibloader_wrapper_xinput2)( Display*, Window, XIEventMask*, int);
extern XIEventMask* (*XIGetSelectedEvents_dylibloader_wrapper_xinput2)( Display*, Window, int*);
extern int (*XIQueryVersion_dylibloader_wrapper_xinput2)( Display*, int*, int*);
extern XIDeviceInfo* (*XIQueryDevice_dylibloader_wrapper_xinput2)( Display*, int, int*);
extern int (*XISetFocus_dylibloader_wrapper_xinput2)( Display*, int, Window, Time);
extern int (*XIGetFocus_dylibloader_wrapper_xinput2)( Display*, int, Window*);
extern int (*XIGrabDevice_dylibloader_wrapper_xinput2)( Display*, int, Window, Time, Cursor, int, int, int, XIEventMask*);
extern int (*XIUngrabDevice_dylibloader_wrapper_xinput2)( Display*, int, Time);
extern int (*XIAllowEvents_dylibloader_wrapper_xinput2)( Display*, int, int, Time);
extern int (*XIAllowTouchEvents_dylibloader_wrapper_xinput2)( Display*, int, unsigned int, Window, int);
extern int (*XIGrabButton_dylibloader_wrapper_xinput2)( Display*, int, int, Window, Cursor, int, int, int, XIEventMask*, int, XIGrabModifiers*);
extern int (*XIGrabKeycode_dylibloader_wrapper_xinput2)( Display*, int, int, Window, int, int, int, XIEventMask*, int, XIGrabModifiers*);
extern int (*XIGrabEnter_dylibloader_wrapper_xinput2)( Display*, int, Window, Cursor, int, int, int, XIEventMask*, int, XIGrabModifiers*);
extern int (*XIGrabFocusIn_dylibloader_wrapper_xinput2)( Display*, int, Window, int, int, int, XIEventMask*, int, XIGrabModifiers*);
extern int (*XIGrabTouchBegin_dylibloader_wrapper_xinput2)( Display*, int, Window, int, XIEventMask*, int, XIGrabModifiers*);
extern int (*XIUngrabButton_dylibloader_wrapper_xinput2)( Display*, int, int, Window, int, XIGrabModifiers*);
extern int (*XIUngrabKeycode_dylibloader_wrapper_xinput2)( Display*, int, int, Window, int, XIGrabModifiers*);
extern int (*XIUngrabEnter_dylibloader_wrapper_xinput2)( Display*, int, Window, int, XIGrabModifiers*);
extern int (*XIUngrabFocusIn_dylibloader_wrapper_xinput2)( Display*, int, Window, int, XIGrabModifiers*);
extern int (*XIUngrabTouchBegin_dylibloader_wrapper_xinput2)( Display*, int, Window, int, XIGrabModifiers*);
extern Atom* (*XIListProperties_dylibloader_wrapper_xinput2)( Display*, int, int*);
extern void (*XIChangeProperty_dylibloader_wrapper_xinput2)( Display*, int, Atom, Atom, int, int, unsigned char*, int);
extern void (*XIDeleteProperty_dylibloader_wrapper_xinput2)( Display*, int, Atom);
extern int (*XIGetProperty_dylibloader_wrapper_xinput2)( Display*, int, Atom, long, long, int, Atom, Atom*, int*, unsigned long*, unsigned long*, unsigned char**);
extern void (*XIBarrierReleasePointers_dylibloader_wrapper_xinput2)( Display*, XIBarrierReleasePointerInfo*, int);
extern void (*XIBarrierReleasePointer_dylibloader_wrapper_xinput2)( Display*, int, PointerBarrier, BarrierEventID);
extern void (*XIFreeDeviceInfo_dylibloader_wrapper_xinput2)( XIDeviceInfo*);
int initialize_xinput2(int verbose);
#ifdef __cplusplus
}
#endif
#endif
