wrflib_glx_sys 0.0.3

The glx bindings for Wrflib
Documentation
/* automatically generated by rust-bindgen */

pub const XlibSpecificationRelease: u32 = 6;
pub const _SYS_TYPES_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const __USE_POSIX: u32 = 1;
pub const __USE_POSIX2: u32 = 1;
pub const __USE_POSIX199309: u32 = 1;
pub const __USE_POSIX199506: u32 = 1;
pub const __USE_XOPEN2K: u32 = 1;
pub const __USE_XOPEN2K8: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __USE_MISC: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 29;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
pub const _BITS_TYPES_H: u32 = 1;
pub const __TIMESIZE: u32 = 64;
pub const _BITS_TYPESIZES_H: u32 = 1;
pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
pub const __INO_T_MATCHES_INO64_T: u32 = 1;
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
pub const __FD_SETSIZE: u32 = 1024;
pub const _BITS_TIME64_H: u32 = 1;
pub const __clock_t_defined: u32 = 1;
pub const __clockid_t_defined: u32 = 1;
pub const __time_t_defined: u32 = 1;
pub const __timer_t_defined: u32 = 1;
pub const _BITS_STDINT_INTN_H: u32 = 1;
pub const __BIT_TYPES_DEFINED__: u32 = 1;
pub const _ENDIAN_H: u32 = 1;
pub const __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __PDP_ENDIAN: u32 = 3412;
pub const __BYTE_ORDER: u32 = 1234;
pub const __FLOAT_WORD_ORDER: u32 = 1234;
pub const LITTLE_ENDIAN: u32 = 1234;
pub const BIG_ENDIAN: u32 = 4321;
pub const PDP_ENDIAN: u32 = 3412;
pub const BYTE_ORDER: u32 = 1234;
pub const _BITS_BYTESWAP_H: u32 = 1;
pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
pub const _SYS_SELECT_H: u32 = 1;
pub const __FD_ZERO_STOS: &[u8; 6usize] = b"stosq\0";
pub const __sigset_t_defined: u32 = 1;
pub const __timeval_defined: u32 = 1;
pub const _STRUCT_TIMESPEC: u32 = 1;
pub const FD_SETSIZE: u32 = 1024;
pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
pub const _THREAD_SHARED_TYPES_H: u32 = 1;
pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
pub const __have_pthread_attr_t: u32 = 1;
pub const X_PROTOCOL: u32 = 11;
pub const X_PROTOCOL_REVISION: u32 = 0;
pub const None: u32 = 0;
pub const ParentRelative: u32 = 1;
pub const CopyFromParent: u32 = 0;
pub const PointerWindow: u32 = 0;
pub const InputFocus: u32 = 1;
pub const PointerRoot: u32 = 1;
pub const AnyPropertyType: u32 = 0;
pub const AnyKey: u32 = 0;
pub const AnyButton: u32 = 0;
pub const AllTemporary: u32 = 0;
pub const CurrentTime: u32 = 0;
pub const NoSymbol: u32 = 0;
pub const NoEventMask: u32 = 0;
pub const KeyPressMask: u32 = 1;
pub const KeyReleaseMask: u32 = 2;
pub const ButtonPressMask: u32 = 4;
pub const ButtonReleaseMask: u32 = 8;
pub const EnterWindowMask: u32 = 16;
pub const LeaveWindowMask: u32 = 32;
pub const PointerMotionMask: u32 = 64;
pub const PointerMotionHintMask: u32 = 128;
pub const Button1MotionMask: u32 = 256;
pub const Button2MotionMask: u32 = 512;
pub const Button3MotionMask: u32 = 1024;
pub const Button4MotionMask: u32 = 2048;
pub const Button5MotionMask: u32 = 4096;
pub const ButtonMotionMask: u32 = 8192;
pub const KeymapStateMask: u32 = 16384;
pub const ExposureMask: u32 = 32768;
pub const VisibilityChangeMask: u32 = 65536;
pub const StructureNotifyMask: u32 = 131072;
pub const ResizeRedirectMask: u32 = 262144;
pub const SubstructureNotifyMask: u32 = 524288;
pub const SubstructureRedirectMask: u32 = 1048576;
pub const FocusChangeMask: u32 = 2097152;
pub const PropertyChangeMask: u32 = 4194304;
pub const ColormapChangeMask: u32 = 8388608;
pub const OwnerGrabButtonMask: u32 = 16777216;
pub const KeyPress: u32 = 2;
pub const KeyRelease: u32 = 3;
pub const ButtonPress: u32 = 4;
pub const ButtonRelease: u32 = 5;
pub const MotionNotify: u32 = 6;
pub const EnterNotify: u32 = 7;
pub const LeaveNotify: u32 = 8;
pub const FocusIn: u32 = 9;
pub const FocusOut: u32 = 10;
pub const KeymapNotify: u32 = 11;
pub const Expose: u32 = 12;
pub const GraphicsExpose: u32 = 13;
pub const NoExpose: u32 = 14;
pub const VisibilityNotify: u32 = 15;
pub const CreateNotify: u32 = 16;
pub const DestroyNotify: u32 = 17;
pub const UnmapNotify: u32 = 18;
pub const MapNotify: u32 = 19;
pub const MapRequest: u32 = 20;
pub const ReparentNotify: u32 = 21;
pub const ConfigureNotify: u32 = 22;
pub const ConfigureRequest: u32 = 23;
pub const GravityNotify: u32 = 24;
pub const ResizeRequest: u32 = 25;
pub const CirculateNotify: u32 = 26;
pub const CirculateRequest: u32 = 27;
pub const PropertyNotify: u32 = 28;
pub const SelectionClear: u32 = 29;
pub const SelectionRequest: u32 = 30;
pub const SelectionNotify: u32 = 31;
pub const ColormapNotify: u32 = 32;
pub const ClientMessage: u32 = 33;
pub const MappingNotify: u32 = 34;
pub const GenericEvent: u32 = 35;
pub const LASTEvent: u32 = 36;
pub const ShiftMask: u32 = 1;
pub const LockMask: u32 = 2;
pub const ControlMask: u32 = 4;
pub const Mod1Mask: u32 = 8;
pub const Mod2Mask: u32 = 16;
pub const Mod3Mask: u32 = 32;
pub const Mod4Mask: u32 = 64;
pub const Mod5Mask: u32 = 128;
pub const ShiftMapIndex: u32 = 0;
pub const LockMapIndex: u32 = 1;
pub const ControlMapIndex: u32 = 2;
pub const Mod1MapIndex: u32 = 3;
pub const Mod2MapIndex: u32 = 4;
pub const Mod3MapIndex: u32 = 5;
pub const Mod4MapIndex: u32 = 6;
pub const Mod5MapIndex: u32 = 7;
pub const Button1Mask: u32 = 256;
pub const Button2Mask: u32 = 512;
pub const Button3Mask: u32 = 1024;
pub const Button4Mask: u32 = 2048;
pub const Button5Mask: u32 = 4096;
pub const AnyModifier: u32 = 32768;
pub const Button1: u32 = 1;
pub const Button2: u32 = 2;
pub const Button3: u32 = 3;
pub const Button4: u32 = 4;
pub const Button5: u32 = 5;
pub const NotifyNormal: u32 = 0;
pub const NotifyGrab: u32 = 1;
pub const NotifyUngrab: u32 = 2;
pub const NotifyWhileGrabbed: u32 = 3;
pub const NotifyHint: u32 = 1;
pub const NotifyAncestor: u32 = 0;
pub const NotifyVirtual: u32 = 1;
pub const NotifyInferior: u32 = 2;
pub const NotifyNonlinear: u32 = 3;
pub const NotifyNonlinearVirtual: u32 = 4;
pub const NotifyPointer: u32 = 5;
pub const NotifyPointerRoot: u32 = 6;
pub const NotifyDetailNone: u32 = 7;
pub const VisibilityUnobscured: u32 = 0;
pub const VisibilityPartiallyObscured: u32 = 1;
pub const VisibilityFullyObscured: u32 = 2;
pub const PlaceOnTop: u32 = 0;
pub const PlaceOnBottom: u32 = 1;
pub const FamilyInternet: u32 = 0;
pub const FamilyDECnet: u32 = 1;
pub const FamilyChaos: u32 = 2;
pub const FamilyInternet6: u32 = 6;
pub const FamilyServerInterpreted: u32 = 5;
pub const PropertyNewValue: u32 = 0;
pub const PropertyDelete: u32 = 1;
pub const ColormapUninstalled: u32 = 0;
pub const ColormapInstalled: u32 = 1;
pub const GrabModeSync: u32 = 0;
pub const GrabModeAsync: u32 = 1;
pub const GrabSuccess: u32 = 0;
pub const AlreadyGrabbed: u32 = 1;
pub const GrabInvalidTime: u32 = 2;
pub const GrabNotViewable: u32 = 3;
pub const GrabFrozen: u32 = 4;
pub const AsyncPointer: u32 = 0;
pub const SyncPointer: u32 = 1;
pub const ReplayPointer: u32 = 2;
pub const AsyncKeyboard: u32 = 3;
pub const SyncKeyboard: u32 = 4;
pub const ReplayKeyboard: u32 = 5;
pub const AsyncBoth: u32 = 6;
pub const SyncBoth: u32 = 7;
pub const RevertToParent: u32 = 2;
pub const Success: u32 = 0;
pub const BadRequest: u32 = 1;
pub const BadValue: u32 = 2;
pub const BadWindow: u32 = 3;
pub const BadPixmap: u32 = 4;
pub const BadAtom: u32 = 5;
pub const BadCursor: u32 = 6;
pub const BadFont: u32 = 7;
pub const BadMatch: u32 = 8;
pub const BadDrawable: u32 = 9;
pub const BadAccess: u32 = 10;
pub const BadAlloc: u32 = 11;
pub const BadColor: u32 = 12;
pub const BadGC: u32 = 13;
pub const BadIDChoice: u32 = 14;
pub const BadName: u32 = 15;
pub const BadLength: u32 = 16;
pub const BadImplementation: u32 = 17;
pub const FirstExtensionError: u32 = 128;
pub const LastExtensionError: u32 = 255;
pub const InputOutput: u32 = 1;
pub const InputOnly: u32 = 2;
pub const CWBackPixmap: u32 = 1;
pub const CWBackPixel: u32 = 2;
pub const CWBorderPixmap: u32 = 4;
pub const CWBorderPixel: u32 = 8;
pub const CWBitGravity: u32 = 16;
pub const CWWinGravity: u32 = 32;
pub const CWBackingStore: u32 = 64;
pub const CWBackingPlanes: u32 = 128;
pub const CWBackingPixel: u32 = 256;
pub const CWOverrideRedirect: u32 = 512;
pub const CWSaveUnder: u32 = 1024;
pub const CWEventMask: u32 = 2048;
pub const CWDontPropagate: u32 = 4096;
pub const CWColormap: u32 = 8192;
pub const CWCursor: u32 = 16384;
pub const CWX: u32 = 1;
pub const CWY: u32 = 2;
pub const CWWidth: u32 = 4;
pub const CWHeight: u32 = 8;
pub const CWBorderWidth: u32 = 16;
pub const CWSibling: u32 = 32;
pub const CWStackMode: u32 = 64;
pub const ForgetGravity: u32 = 0;
pub const NorthWestGravity: u32 = 1;
pub const NorthGravity: u32 = 2;
pub const NorthEastGravity: u32 = 3;
pub const WestGravity: u32 = 4;
pub const CenterGravity: u32 = 5;
pub const EastGravity: u32 = 6;
pub const SouthWestGravity: u32 = 7;
pub const SouthGravity: u32 = 8;
pub const SouthEastGravity: u32 = 9;
pub const StaticGravity: u32 = 10;
pub const UnmapGravity: u32 = 0;
pub const NotUseful: u32 = 0;
pub const WhenMapped: u32 = 1;
pub const Always: u32 = 2;
pub const IsUnmapped: u32 = 0;
pub const IsUnviewable: u32 = 1;
pub const IsViewable: u32 = 2;
pub const SetModeInsert: u32 = 0;
pub const SetModeDelete: u32 = 1;
pub const DestroyAll: u32 = 0;
pub const RetainPermanent: u32 = 1;
pub const RetainTemporary: u32 = 2;
pub const Above: u32 = 0;
pub const Below: u32 = 1;
pub const TopIf: u32 = 2;
pub const BottomIf: u32 = 3;
pub const Opposite: u32 = 4;
pub const RaiseLowest: u32 = 0;
pub const LowerHighest: u32 = 1;
pub const PropModeReplace: u32 = 0;
pub const PropModePrepend: u32 = 1;
pub const PropModeAppend: u32 = 2;
pub const GXclear: u32 = 0;
pub const GXand: u32 = 1;
pub const GXandReverse: u32 = 2;
pub const GXcopy: u32 = 3;
pub const GXandInverted: u32 = 4;
pub const GXnoop: u32 = 5;
pub const GXxor: u32 = 6;
pub const GXor: u32 = 7;
pub const GXnor: u32 = 8;
pub const GXequiv: u32 = 9;
pub const GXinvert: u32 = 10;
pub const GXorReverse: u32 = 11;
pub const GXcopyInverted: u32 = 12;
pub const GXorInverted: u32 = 13;
pub const GXnand: u32 = 14;
pub const GXset: u32 = 15;
pub const LineSolid: u32 = 0;
pub const LineOnOffDash: u32 = 1;
pub const LineDoubleDash: u32 = 2;
pub const CapNotLast: u32 = 0;
pub const CapButt: u32 = 1;
pub const CapRound: u32 = 2;
pub const CapProjecting: u32 = 3;
pub const JoinMiter: u32 = 0;
pub const JoinRound: u32 = 1;
pub const JoinBevel: u32 = 2;
pub const FillSolid: u32 = 0;
pub const FillTiled: u32 = 1;
pub const FillStippled: u32 = 2;
pub const FillOpaqueStippled: u32 = 3;
pub const EvenOddRule: u32 = 0;
pub const WindingRule: u32 = 1;
pub const ClipByChildren: u32 = 0;
pub const IncludeInferiors: u32 = 1;
pub const Unsorted: u32 = 0;
pub const YSorted: u32 = 1;
pub const YXSorted: u32 = 2;
pub const YXBanded: u32 = 3;
pub const CoordModeOrigin: u32 = 0;
pub const CoordModePrevious: u32 = 1;
pub const Complex: u32 = 0;
pub const Nonconvex: u32 = 1;
pub const Convex: u32 = 2;
pub const ArcChord: u32 = 0;
pub const ArcPieSlice: u32 = 1;
pub const GCFunction: u32 = 1;
pub const GCPlaneMask: u32 = 2;
pub const GCForeground: u32 = 4;
pub const GCBackground: u32 = 8;
pub const GCLineWidth: u32 = 16;
pub const GCLineStyle: u32 = 32;
pub const GCCapStyle: u32 = 64;
pub const GCJoinStyle: u32 = 128;
pub const GCFillStyle: u32 = 256;
pub const GCFillRule: u32 = 512;
pub const GCTile: u32 = 1024;
pub const GCStipple: u32 = 2048;
pub const GCTileStipXOrigin: u32 = 4096;
pub const GCTileStipYOrigin: u32 = 8192;
pub const GCFont: u32 = 16384;
pub const GCSubwindowMode: u32 = 32768;
pub const GCGraphicsExposures: u32 = 65536;
pub const GCClipXOrigin: u32 = 131072;
pub const GCClipYOrigin: u32 = 262144;
pub const GCClipMask: u32 = 524288;
pub const GCDashOffset: u32 = 1048576;
pub const GCDashList: u32 = 2097152;
pub const GCArcMode: u32 = 4194304;
pub const GCLastBit: u32 = 22;
pub const FontLeftToRight: u32 = 0;
pub const FontRightToLeft: u32 = 1;
pub const FontChange: u32 = 255;
pub const XYBitmap: u32 = 0;
pub const XYPixmap: u32 = 1;
pub const ZPixmap: u32 = 2;
pub const AllocNone: u32 = 0;
pub const AllocAll: u32 = 1;
pub const DoRed: u32 = 1;
pub const DoGreen: u32 = 2;
pub const DoBlue: u32 = 4;
pub const CursorShape: u32 = 0;
pub const TileShape: u32 = 1;
pub const StippleShape: u32 = 2;
pub const AutoRepeatModeOff: u32 = 0;
pub const AutoRepeatModeOn: u32 = 1;
pub const AutoRepeatModeDefault: u32 = 2;
pub const LedModeOff: u32 = 0;
pub const LedModeOn: u32 = 1;
pub const KBKeyClickPercent: u32 = 1;
pub const KBBellPercent: u32 = 2;
pub const KBBellPitch: u32 = 4;
pub const KBBellDuration: u32 = 8;
pub const KBLed: u32 = 16;
pub const KBLedMode: u32 = 32;
pub const KBKey: u32 = 64;
pub const KBAutoRepeatMode: u32 = 128;
pub const MappingSuccess: u32 = 0;
pub const MappingBusy: u32 = 1;
pub const MappingFailed: u32 = 2;
pub const MappingModifier: u32 = 0;
pub const MappingKeyboard: u32 = 1;
pub const MappingPointer: u32 = 2;
pub const DontPreferBlanking: u32 = 0;
pub const PreferBlanking: u32 = 1;
pub const DefaultBlanking: u32 = 2;
pub const DisableScreenSaver: u32 = 0;
pub const DisableScreenInterval: u32 = 0;
pub const DontAllowExposures: u32 = 0;
pub const AllowExposures: u32 = 1;
pub const DefaultExposures: u32 = 2;
pub const ScreenSaverReset: u32 = 0;
pub const ScreenSaverActive: u32 = 1;
pub const HostInsert: u32 = 0;
pub const HostDelete: u32 = 1;
pub const EnableAccess: u32 = 1;
pub const DisableAccess: u32 = 0;
pub const StaticGray: u32 = 0;
pub const GrayScale: u32 = 1;
pub const StaticColor: u32 = 2;
pub const PseudoColor: u32 = 3;
pub const TrueColor: u32 = 4;
pub const DirectColor: u32 = 5;
pub const LSBFirst: u32 = 0;
pub const MSBFirst: u32 = 1;
pub const NeedFunctionPrototypes: u32 = 1;
pub const NeedVarargsPrototypes: u32 = 1;
pub const NeedNestedPrototypes: u32 = 1;
pub const FUNCPROTO: u32 = 15;
pub const NeedWidePrototypes: u32 = 0;
pub const X_HAVE_UTF8_STRING: u32 = 1;
pub const True: u32 = 1;
pub const False: u32 = 0;
pub const QueuedAlready: u32 = 0;
pub const QueuedAfterReading: u32 = 1;
pub const QueuedAfterFlush: u32 = 2;
pub const XNRequiredCharSet: &[u8; 16usize] = b"requiredCharSet\0";
pub const XNQueryOrientation: &[u8; 17usize] = b"queryOrientation\0";
pub const XNBaseFontName: &[u8; 13usize] = b"baseFontName\0";
pub const XNOMAutomatic: &[u8; 12usize] = b"omAutomatic\0";
pub const XNMissingCharSet: &[u8; 15usize] = b"missingCharSet\0";
pub const XNDefaultString: &[u8; 14usize] = b"defaultString\0";
pub const XNOrientation: &[u8; 12usize] = b"orientation\0";
pub const XNDirectionalDependentDrawing: &[u8; 28usize] = b"directionalDependentDrawing\0";
pub const XNContextualDrawing: &[u8; 18usize] = b"contextualDrawing\0";
pub const XNFontInfo: &[u8; 9usize] = b"fontInfo\0";
pub const XIMPreeditArea: u32 = 1;
pub const XIMPreeditCallbacks: u32 = 2;
pub const XIMPreeditPosition: u32 = 4;
pub const XIMPreeditNothing: u32 = 8;
pub const XIMPreeditNone: u32 = 16;
pub const XIMStatusArea: u32 = 256;
pub const XIMStatusCallbacks: u32 = 512;
pub const XIMStatusNothing: u32 = 1024;
pub const XIMStatusNone: u32 = 2048;
pub const XNVaNestedList: &[u8; 15usize] = b"XNVaNestedList\0";
pub const XNQueryInputStyle: &[u8; 16usize] = b"queryInputStyle\0";
pub const XNClientWindow: &[u8; 13usize] = b"clientWindow\0";
pub const XNInputStyle: &[u8; 11usize] = b"inputStyle\0";
pub const XNFocusWindow: &[u8; 12usize] = b"focusWindow\0";
pub const XNResourceName: &[u8; 13usize] = b"resourceName\0";
pub const XNResourceClass: &[u8; 14usize] = b"resourceClass\0";
pub const XNGeometryCallback: &[u8; 17usize] = b"geometryCallback\0";
pub const XNDestroyCallback: &[u8; 16usize] = b"destroyCallback\0";
pub const XNFilterEvents: &[u8; 13usize] = b"filterEvents\0";
pub const XNPreeditStartCallback: &[u8; 21usize] = b"preeditStartCallback\0";
pub const XNPreeditDoneCallback: &[u8; 20usize] = b"preeditDoneCallback\0";
pub const XNPreeditDrawCallback: &[u8; 20usize] = b"preeditDrawCallback\0";
pub const XNPreeditCaretCallback: &[u8; 21usize] = b"preeditCaretCallback\0";
pub const XNPreeditStateNotifyCallback: &[u8; 27usize] = b"preeditStateNotifyCallback\0";
pub const XNPreeditAttributes: &[u8; 18usize] = b"preeditAttributes\0";
pub const XNStatusStartCallback: &[u8; 20usize] = b"statusStartCallback\0";
pub const XNStatusDoneCallback: &[u8; 19usize] = b"statusDoneCallback\0";
pub const XNStatusDrawCallback: &[u8; 19usize] = b"statusDrawCallback\0";
pub const XNStatusAttributes: &[u8; 17usize] = b"statusAttributes\0";
pub const XNArea: &[u8; 5usize] = b"area\0";
pub const XNAreaNeeded: &[u8; 11usize] = b"areaNeeded\0";
pub const XNSpotLocation: &[u8; 13usize] = b"spotLocation\0";
pub const XNColormap: &[u8; 9usize] = b"colorMap\0";
pub const XNStdColormap: &[u8; 12usize] = b"stdColorMap\0";
pub const XNForeground: &[u8; 11usize] = b"foreground\0";
pub const XNBackground: &[u8; 11usize] = b"background\0";
pub const XNBackgroundPixmap: &[u8; 17usize] = b"backgroundPixmap\0";
pub const XNFontSet: &[u8; 8usize] = b"fontSet\0";
pub const XNLineSpace: &[u8; 10usize] = b"lineSpace\0";
pub const XNCursor: &[u8; 7usize] = b"cursor\0";
pub const XNQueryIMValuesList: &[u8; 18usize] = b"queryIMValuesList\0";
pub const XNQueryICValuesList: &[u8; 18usize] = b"queryICValuesList\0";
pub const XNVisiblePosition: &[u8; 16usize] = b"visiblePosition\0";
pub const XNR6PreeditCallback: &[u8; 18usize] = b"r6PreeditCallback\0";
pub const XNStringConversionCallback: &[u8; 25usize] = b"stringConversionCallback\0";
pub const XNStringConversion: &[u8; 17usize] = b"stringConversion\0";
pub const XNResetState: &[u8; 11usize] = b"resetState\0";
pub const XNHotKey: &[u8; 7usize] = b"hotKey\0";
pub const XNHotKeyState: &[u8; 12usize] = b"hotKeyState\0";
pub const XNPreeditState: &[u8; 13usize] = b"preeditState\0";
pub const XNSeparatorofNestedList: &[u8; 22usize] = b"separatorofNestedList\0";
pub const XBufferOverflow: i32 = -1;
pub const XLookupNone: u32 = 1;
pub const XLookupChars: u32 = 2;
pub const XLookupKeySym: u32 = 3;
pub const XLookupBoth: u32 = 4;
pub const XIMReverse: u32 = 1;
pub const XIMUnderline: u32 = 2;
pub const XIMHighlight: u32 = 4;
pub const XIMPrimary: u32 = 32;
pub const XIMSecondary: u32 = 64;
pub const XIMTertiary: u32 = 128;
pub const XIMVisibleToForward: u32 = 256;
pub const XIMVisibleToBackword: u32 = 512;
pub const XIMVisibleToCenter: u32 = 1024;
pub const XIMPreeditUnKnown: u32 = 0;
pub const XIMPreeditEnable: u32 = 1;
pub const XIMPreeditDisable: u32 = 2;
pub const XIMInitialState: u32 = 1;
pub const XIMPreserveState: u32 = 2;
pub const XIMStringConversionLeftEdge: u32 = 1;
pub const XIMStringConversionRightEdge: u32 = 2;
pub const XIMStringConversionTopEdge: u32 = 4;
pub const XIMStringConversionBottomEdge: u32 = 8;
pub const XIMStringConversionConcealed: u32 = 16;
pub const XIMStringConversionWrapped: u32 = 32;
pub const XIMStringConversionBuffer: u32 = 1;
pub const XIMStringConversionLine: u32 = 2;
pub const XIMStringConversionWord: u32 = 3;
pub const XIMStringConversionChar: u32 = 4;
pub const XIMStringConversionSubstitution: u32 = 1;
pub const XIMStringConversionRetrieval: u32 = 2;
pub const XIMHotKeyStateON: u32 = 1;
pub const XIMHotKeyStateOFF: u32 = 2;
pub const XK_VoidSymbol: u32 = 16777215;
pub const XK_BackSpace: u32 = 65288;
pub const XK_Tab: u32 = 65289;
pub const XK_Linefeed: u32 = 65290;
pub const XK_Clear: u32 = 65291;
pub const XK_Return: u32 = 65293;
pub const XK_Pause: u32 = 65299;
pub const XK_Scroll_Lock: u32 = 65300;
pub const XK_Sys_Req: u32 = 65301;
pub const XK_Escape: u32 = 65307;
pub const XK_Delete: u32 = 65535;
pub const XK_Multi_key: u32 = 65312;
pub const XK_Codeinput: u32 = 65335;
pub const XK_SingleCandidate: u32 = 65340;
pub const XK_MultipleCandidate: u32 = 65341;
pub const XK_PreviousCandidate: u32 = 65342;
pub const XK_Kanji: u32 = 65313;
pub const XK_Muhenkan: u32 = 65314;
pub const XK_Henkan_Mode: u32 = 65315;
pub const XK_Henkan: u32 = 65315;
pub const XK_Romaji: u32 = 65316;
pub const XK_Hiragana: u32 = 65317;
pub const XK_Katakana: u32 = 65318;
pub const XK_Hiragana_Katakana: u32 = 65319;
pub const XK_Zenkaku: u32 = 65320;
pub const XK_Hankaku: u32 = 65321;
pub const XK_Zenkaku_Hankaku: u32 = 65322;
pub const XK_Touroku: u32 = 65323;
pub const XK_Massyo: u32 = 65324;
pub const XK_Kana_Lock: u32 = 65325;
pub const XK_Kana_Shift: u32 = 65326;
pub const XK_Eisu_Shift: u32 = 65327;
pub const XK_Eisu_toggle: u32 = 65328;
pub const XK_Kanji_Bangou: u32 = 65335;
pub const XK_Zen_Koho: u32 = 65341;
pub const XK_Mae_Koho: u32 = 65342;
pub const XK_Home: u32 = 65360;
pub const XK_Left: u32 = 65361;
pub const XK_Up: u32 = 65362;
pub const XK_Right: u32 = 65363;
pub const XK_Down: u32 = 65364;
pub const XK_Prior: u32 = 65365;
pub const XK_Page_Up: u32 = 65365;
pub const XK_Next: u32 = 65366;
pub const XK_Page_Down: u32 = 65366;
pub const XK_End: u32 = 65367;
pub const XK_Begin: u32 = 65368;
pub const XK_Select: u32 = 65376;
pub const XK_Print: u32 = 65377;
pub const XK_Execute: u32 = 65378;
pub const XK_Insert: u32 = 65379;
pub const XK_Undo: u32 = 65381;
pub const XK_Redo: u32 = 65382;
pub const XK_Menu: u32 = 65383;
pub const XK_Find: u32 = 65384;
pub const XK_Cancel: u32 = 65385;
pub const XK_Help: u32 = 65386;
pub const XK_Break: u32 = 65387;
pub const XK_Mode_switch: u32 = 65406;
pub const XK_script_switch: u32 = 65406;
pub const XK_Num_Lock: u32 = 65407;
pub const XK_KP_Space: u32 = 65408;
pub const XK_KP_Tab: u32 = 65417;
pub const XK_KP_Enter: u32 = 65421;
pub const XK_KP_F1: u32 = 65425;
pub const XK_KP_F2: u32 = 65426;
pub const XK_KP_F3: u32 = 65427;
pub const XK_KP_F4: u32 = 65428;
pub const XK_KP_Home: u32 = 65429;
pub const XK_KP_Left: u32 = 65430;
pub const XK_KP_Up: u32 = 65431;
pub const XK_KP_Right: u32 = 65432;
pub const XK_KP_Down: u32 = 65433;
pub const XK_KP_Prior: u32 = 65434;
pub const XK_KP_Page_Up: u32 = 65434;
pub const XK_KP_Next: u32 = 65435;
pub const XK_KP_Page_Down: u32 = 65435;
pub const XK_KP_End: u32 = 65436;
pub const XK_KP_Begin: u32 = 65437;
pub const XK_KP_Insert: u32 = 65438;
pub const XK_KP_Delete: u32 = 65439;
pub const XK_KP_Equal: u32 = 65469;
pub const XK_KP_Multiply: u32 = 65450;
pub const XK_KP_Add: u32 = 65451;
pub const XK_KP_Separator: u32 = 65452;
pub const XK_KP_Subtract: u32 = 65453;
pub const XK_KP_Decimal: u32 = 65454;
pub const XK_KP_Divide: u32 = 65455;
pub const XK_KP_0: u32 = 65456;
pub const XK_KP_1: u32 = 65457;
pub const XK_KP_2: u32 = 65458;
pub const XK_KP_3: u32 = 65459;
pub const XK_KP_4: u32 = 65460;
pub const XK_KP_5: u32 = 65461;
pub const XK_KP_6: u32 = 65462;
pub const XK_KP_7: u32 = 65463;
pub const XK_KP_8: u32 = 65464;
pub const XK_KP_9: u32 = 65465;
pub const XK_F1: u32 = 65470;
pub const XK_F2: u32 = 65471;
pub const XK_F3: u32 = 65472;
pub const XK_F4: u32 = 65473;
pub const XK_F5: u32 = 65474;
pub const XK_F6: u32 = 65475;
pub const XK_F7: u32 = 65476;
pub const XK_F8: u32 = 65477;
pub const XK_F9: u32 = 65478;
pub const XK_F10: u32 = 65479;
pub const XK_F11: u32 = 65480;
pub const XK_L1: u32 = 65480;
pub const XK_F12: u32 = 65481;
pub const XK_L2: u32 = 65481;
pub const XK_F13: u32 = 65482;
pub const XK_L3: u32 = 65482;
pub const XK_F14: u32 = 65483;
pub const XK_L4: u32 = 65483;
pub const XK_F15: u32 = 65484;
pub const XK_L5: u32 = 65484;
pub const XK_F16: u32 = 65485;
pub const XK_L6: u32 = 65485;
pub const XK_F17: u32 = 65486;
pub const XK_L7: u32 = 65486;
pub const XK_F18: u32 = 65487;
pub const XK_L8: u32 = 65487;
pub const XK_F19: u32 = 65488;
pub const XK_L9: u32 = 65488;
pub const XK_F20: u32 = 65489;
pub const XK_L10: u32 = 65489;
pub const XK_F21: u32 = 65490;
pub const XK_R1: u32 = 65490;
pub const XK_F22: u32 = 65491;
pub const XK_R2: u32 = 65491;
pub const XK_F23: u32 = 65492;
pub const XK_R3: u32 = 65492;
pub const XK_F24: u32 = 65493;
pub const XK_R4: u32 = 65493;
pub const XK_F25: u32 = 65494;
pub const XK_R5: u32 = 65494;
pub const XK_F26: u32 = 65495;
pub const XK_R6: u32 = 65495;
pub const XK_F27: u32 = 65496;
pub const XK_R7: u32 = 65496;
pub const XK_F28: u32 = 65497;
pub const XK_R8: u32 = 65497;
pub const XK_F29: u32 = 65498;
pub const XK_R9: u32 = 65498;
pub const XK_F30: u32 = 65499;
pub const XK_R10: u32 = 65499;
pub const XK_F31: u32 = 65500;
pub const XK_R11: u32 = 65500;
pub const XK_F32: u32 = 65501;
pub const XK_R12: u32 = 65501;
pub const XK_F33: u32 = 65502;
pub const XK_R13: u32 = 65502;
pub const XK_F34: u32 = 65503;
pub const XK_R14: u32 = 65503;
pub const XK_F35: u32 = 65504;
pub const XK_R15: u32 = 65504;
pub const XK_Shift_L: u32 = 65505;
pub const XK_Shift_R: u32 = 65506;
pub const XK_Control_L: u32 = 65507;
pub const XK_Control_R: u32 = 65508;
pub const XK_Caps_Lock: u32 = 65509;
pub const XK_Shift_Lock: u32 = 65510;
pub const XK_Meta_L: u32 = 65511;
pub const XK_Meta_R: u32 = 65512;
pub const XK_Alt_L: u32 = 65513;
pub const XK_Alt_R: u32 = 65514;
pub const XK_Super_L: u32 = 65515;
pub const XK_Super_R: u32 = 65516;
pub const XK_Hyper_L: u32 = 65517;
pub const XK_Hyper_R: u32 = 65518;
pub const XK_ISO_Lock: u32 = 65025;
pub const XK_ISO_Level2_Latch: u32 = 65026;
pub const XK_ISO_Level3_Shift: u32 = 65027;
pub const XK_ISO_Level3_Latch: u32 = 65028;
pub const XK_ISO_Level3_Lock: u32 = 65029;
pub const XK_ISO_Level5_Shift: u32 = 65041;
pub const XK_ISO_Level5_Latch: u32 = 65042;
pub const XK_ISO_Level5_Lock: u32 = 65043;
pub const XK_ISO_Group_Shift: u32 = 65406;
pub const XK_ISO_Group_Latch: u32 = 65030;
pub const XK_ISO_Group_Lock: u32 = 65031;
pub const XK_ISO_Next_Group: u32 = 65032;
pub const XK_ISO_Next_Group_Lock: u32 = 65033;
pub const XK_ISO_Prev_Group: u32 = 65034;
pub const XK_ISO_Prev_Group_Lock: u32 = 65035;
pub const XK_ISO_First_Group: u32 = 65036;
pub const XK_ISO_First_Group_Lock: u32 = 65037;
pub const XK_ISO_Last_Group: u32 = 65038;
pub const XK_ISO_Last_Group_Lock: u32 = 65039;
pub const XK_ISO_Left_Tab: u32 = 65056;
pub const XK_ISO_Move_Line_Up: u32 = 65057;
pub const XK_ISO_Move_Line_Down: u32 = 65058;
pub const XK_ISO_Partial_Line_Up: u32 = 65059;
pub const XK_ISO_Partial_Line_Down: u32 = 65060;
pub const XK_ISO_Partial_Space_Left: u32 = 65061;
pub const XK_ISO_Partial_Space_Right: u32 = 65062;
pub const XK_ISO_Set_Margin_Left: u32 = 65063;
pub const XK_ISO_Set_Margin_Right: u32 = 65064;
pub const XK_ISO_Release_Margin_Left: u32 = 65065;
pub const XK_ISO_Release_Margin_Right: u32 = 65066;
pub const XK_ISO_Release_Both_Margins: u32 = 65067;
pub const XK_ISO_Fast_Cursor_Left: u32 = 65068;
pub const XK_ISO_Fast_Cursor_Right: u32 = 65069;
pub const XK_ISO_Fast_Cursor_Up: u32 = 65070;
pub const XK_ISO_Fast_Cursor_Down: u32 = 65071;
pub const XK_ISO_Continuous_Underline: u32 = 65072;
pub const XK_ISO_Discontinuous_Underline: u32 = 65073;
pub const XK_ISO_Emphasize: u32 = 65074;
pub const XK_ISO_Center_Object: u32 = 65075;
pub const XK_ISO_Enter: u32 = 65076;
pub const XK_dead_grave: u32 = 65104;
pub const XK_dead_acute: u32 = 65105;
pub const XK_dead_circumflex: u32 = 65106;
pub const XK_dead_tilde: u32 = 65107;
pub const XK_dead_perispomeni: u32 = 65107;
pub const XK_dead_macron: u32 = 65108;
pub const XK_dead_breve: u32 = 65109;
pub const XK_dead_abovedot: u32 = 65110;
pub const XK_dead_diaeresis: u32 = 65111;
pub const XK_dead_abovering: u32 = 65112;
pub const XK_dead_doubleacute: u32 = 65113;
pub const XK_dead_caron: u32 = 65114;
pub const XK_dead_cedilla: u32 = 65115;
pub const XK_dead_ogonek: u32 = 65116;
pub const XK_dead_iota: u32 = 65117;
pub const XK_dead_voiced_sound: u32 = 65118;
pub const XK_dead_semivoiced_sound: u32 = 65119;
pub const XK_dead_belowdot: u32 = 65120;
pub const XK_dead_hook: u32 = 65121;
pub const XK_dead_horn: u32 = 65122;
pub const XK_dead_stroke: u32 = 65123;
pub const XK_dead_abovecomma: u32 = 65124;
pub const XK_dead_psili: u32 = 65124;
pub const XK_dead_abovereversedcomma: u32 = 65125;
pub const XK_dead_dasia: u32 = 65125;
pub const XK_dead_doublegrave: u32 = 65126;
pub const XK_dead_belowring: u32 = 65127;
pub const XK_dead_belowmacron: u32 = 65128;
pub const XK_dead_belowcircumflex: u32 = 65129;
pub const XK_dead_belowtilde: u32 = 65130;
pub const XK_dead_belowbreve: u32 = 65131;
pub const XK_dead_belowdiaeresis: u32 = 65132;
pub const XK_dead_invertedbreve: u32 = 65133;
pub const XK_dead_belowcomma: u32 = 65134;
pub const XK_dead_currency: u32 = 65135;
pub const XK_dead_lowline: u32 = 65168;
pub const XK_dead_aboveverticalline: u32 = 65169;
pub const XK_dead_belowverticalline: u32 = 65170;
pub const XK_dead_longsolidusoverlay: u32 = 65171;
pub const XK_dead_a: u32 = 65152;
pub const XK_dead_A: u32 = 65153;
pub const XK_dead_e: u32 = 65154;
pub const XK_dead_E: u32 = 65155;
pub const XK_dead_i: u32 = 65156;
pub const XK_dead_I: u32 = 65157;
pub const XK_dead_o: u32 = 65158;
pub const XK_dead_O: u32 = 65159;
pub const XK_dead_u: u32 = 65160;
pub const XK_dead_U: u32 = 65161;
pub const XK_dead_small_schwa: u32 = 65162;
pub const XK_dead_capital_schwa: u32 = 65163;
pub const XK_dead_greek: u32 = 65164;
pub const XK_First_Virtual_Screen: u32 = 65232;
pub const XK_Prev_Virtual_Screen: u32 = 65233;
pub const XK_Next_Virtual_Screen: u32 = 65234;
pub const XK_Last_Virtual_Screen: u32 = 65236;
pub const XK_Terminate_Server: u32 = 65237;
pub const XK_AccessX_Enable: u32 = 65136;
pub const XK_AccessX_Feedback_Enable: u32 = 65137;
pub const XK_RepeatKeys_Enable: u32 = 65138;
pub const XK_SlowKeys_Enable: u32 = 65139;
pub const XK_BounceKeys_Enable: u32 = 65140;
pub const XK_StickyKeys_Enable: u32 = 65141;
pub const XK_MouseKeys_Enable: u32 = 65142;
pub const XK_MouseKeys_Accel_Enable: u32 = 65143;
pub const XK_Overlay1_Enable: u32 = 65144;
pub const XK_Overlay2_Enable: u32 = 65145;
pub const XK_AudibleBell_Enable: u32 = 65146;
pub const XK_Pointer_Left: u32 = 65248;
pub const XK_Pointer_Right: u32 = 65249;
pub const XK_Pointer_Up: u32 = 65250;
pub const XK_Pointer_Down: u32 = 65251;
pub const XK_Pointer_UpLeft: u32 = 65252;
pub const XK_Pointer_UpRight: u32 = 65253;
pub const XK_Pointer_DownLeft: u32 = 65254;
pub const XK_Pointer_DownRight: u32 = 65255;
pub const XK_Pointer_Button_Dflt: u32 = 65256;
pub const XK_Pointer_Button1: u32 = 65257;
pub const XK_Pointer_Button2: u32 = 65258;
pub const XK_Pointer_Button3: u32 = 65259;
pub const XK_Pointer_Button4: u32 = 65260;
pub const XK_Pointer_Button5: u32 = 65261;
pub const XK_Pointer_DblClick_Dflt: u32 = 65262;
pub const XK_Pointer_DblClick1: u32 = 65263;
pub const XK_Pointer_DblClick2: u32 = 65264;
pub const XK_Pointer_DblClick3: u32 = 65265;
pub const XK_Pointer_DblClick4: u32 = 65266;
pub const XK_Pointer_DblClick5: u32 = 65267;
pub const XK_Pointer_Drag_Dflt: u32 = 65268;
pub const XK_Pointer_Drag1: u32 = 65269;
pub const XK_Pointer_Drag2: u32 = 65270;
pub const XK_Pointer_Drag3: u32 = 65271;
pub const XK_Pointer_Drag4: u32 = 65272;
pub const XK_Pointer_Drag5: u32 = 65277;
pub const XK_Pointer_EnableKeys: u32 = 65273;
pub const XK_Pointer_Accelerate: u32 = 65274;
pub const XK_Pointer_DfltBtnNext: u32 = 65275;
pub const XK_Pointer_DfltBtnPrev: u32 = 65276;
pub const XK_ch: u32 = 65184;
pub const XK_Ch: u32 = 65185;
pub const XK_CH: u32 = 65186;
pub const XK_c_h: u32 = 65187;
pub const XK_C_h: u32 = 65188;
pub const XK_C_H: u32 = 65189;
pub const XK_space: u32 = 32;
pub const XK_exclam: u32 = 33;
pub const XK_quotedbl: u32 = 34;
pub const XK_numbersign: u32 = 35;
pub const XK_dollar: u32 = 36;
pub const XK_percent: u32 = 37;
pub const XK_ampersand: u32 = 38;
pub const XK_apostrophe: u32 = 39;
pub const XK_quoteright: u32 = 39;
pub const XK_parenleft: u32 = 40;
pub const XK_parenright: u32 = 41;
pub const XK_asterisk: u32 = 42;
pub const XK_plus: u32 = 43;
pub const XK_comma: u32 = 44;
pub const XK_minus: u32 = 45;
pub const XK_period: u32 = 46;
pub const XK_slash: u32 = 47;
pub const XK_0: u32 = 48;
pub const XK_1: u32 = 49;
pub const XK_2: u32 = 50;
pub const XK_3: u32 = 51;
pub const XK_4: u32 = 52;
pub const XK_5: u32 = 53;
pub const XK_6: u32 = 54;
pub const XK_7: u32 = 55;
pub const XK_8: u32 = 56;
pub const XK_9: u32 = 57;
pub const XK_colon: u32 = 58;
pub const XK_semicolon: u32 = 59;
pub const XK_less: u32 = 60;
pub const XK_equal: u32 = 61;
pub const XK_greater: u32 = 62;
pub const XK_question: u32 = 63;
pub const XK_at: u32 = 64;
pub const XK_A: u32 = 65;
pub const XK_B: u32 = 66;
pub const XK_C: u32 = 67;
pub const XK_D: u32 = 68;
pub const XK_E: u32 = 69;
pub const XK_F: u32 = 70;
pub const XK_G: u32 = 71;
pub const XK_H: u32 = 72;
pub const XK_I: u32 = 73;
pub const XK_J: u32 = 74;
pub const XK_K: u32 = 75;
pub const XK_L: u32 = 76;
pub const XK_M: u32 = 77;
pub const XK_N: u32 = 78;
pub const XK_O: u32 = 79;
pub const XK_P: u32 = 80;
pub const XK_Q: u32 = 81;
pub const XK_R: u32 = 82;
pub const XK_S: u32 = 83;
pub const XK_T: u32 = 84;
pub const XK_U: u32 = 85;
pub const XK_V: u32 = 86;
pub const XK_W: u32 = 87;
pub const XK_X: u32 = 88;
pub const XK_Y: u32 = 89;
pub const XK_Z: u32 = 90;
pub const XK_bracketleft: u32 = 91;
pub const XK_backslash: u32 = 92;
pub const XK_bracketright: u32 = 93;
pub const XK_asciicircum: u32 = 94;
pub const XK_underscore: u32 = 95;
pub const XK_grave: u32 = 96;
pub const XK_quoteleft: u32 = 96;
pub const XK_a: u32 = 97;
pub const XK_b: u32 = 98;
pub const XK_c: u32 = 99;
pub const XK_d: u32 = 100;
pub const XK_e: u32 = 101;
pub const XK_f: u32 = 102;
pub const XK_g: u32 = 103;
pub const XK_h: u32 = 104;
pub const XK_i: u32 = 105;
pub const XK_j: u32 = 106;
pub const XK_k: u32 = 107;
pub const XK_l: u32 = 108;
pub const XK_m: u32 = 109;
pub const XK_n: u32 = 110;
pub const XK_o: u32 = 111;
pub const XK_p: u32 = 112;
pub const XK_q: u32 = 113;
pub const XK_r: u32 = 114;
pub const XK_s: u32 = 115;
pub const XK_t: u32 = 116;
pub const XK_u: u32 = 117;
pub const XK_v: u32 = 118;
pub const XK_w: u32 = 119;
pub const XK_x: u32 = 120;
pub const XK_y: u32 = 121;
pub const XK_z: u32 = 122;
pub const XK_braceleft: u32 = 123;
pub const XK_bar: u32 = 124;
pub const XK_braceright: u32 = 125;
pub const XK_asciitilde: u32 = 126;
pub const XK_nobreakspace: u32 = 160;
pub const XK_exclamdown: u32 = 161;
pub const XK_cent: u32 = 162;
pub const XK_sterling: u32 = 163;
pub const XK_currency: u32 = 164;
pub const XK_yen: u32 = 165;
pub const XK_brokenbar: u32 = 166;
pub const XK_section: u32 = 167;
pub const XK_diaeresis: u32 = 168;
pub const XK_copyright: u32 = 169;
pub const XK_ordfeminine: u32 = 170;
pub const XK_guillemotleft: u32 = 171;
pub const XK_notsign: u32 = 172;
pub const XK_hyphen: u32 = 173;
pub const XK_registered: u32 = 174;
pub const XK_macron: u32 = 175;
pub const XK_degree: u32 = 176;
pub const XK_plusminus: u32 = 177;
pub const XK_twosuperior: u32 = 178;
pub const XK_threesuperior: u32 = 179;
pub const XK_acute: u32 = 180;
pub const XK_mu: u32 = 181;
pub const XK_paragraph: u32 = 182;
pub const XK_periodcentered: u32 = 183;
pub const XK_cedilla: u32 = 184;
pub const XK_onesuperior: u32 = 185;
pub const XK_masculine: u32 = 186;
pub const XK_guillemotright: u32 = 187;
pub const XK_onequarter: u32 = 188;
pub const XK_onehalf: u32 = 189;
pub const XK_threequarters: u32 = 190;
pub const XK_questiondown: u32 = 191;
pub const XK_Agrave: u32 = 192;
pub const XK_Aacute: u32 = 193;
pub const XK_Acircumflex: u32 = 194;
pub const XK_Atilde: u32 = 195;
pub const XK_Adiaeresis: u32 = 196;
pub const XK_Aring: u32 = 197;
pub const XK_AE: u32 = 198;
pub const XK_Ccedilla: u32 = 199;
pub const XK_Egrave: u32 = 200;
pub const XK_Eacute: u32 = 201;
pub const XK_Ecircumflex: u32 = 202;
pub const XK_Ediaeresis: u32 = 203;
pub const XK_Igrave: u32 = 204;
pub const XK_Iacute: u32 = 205;
pub const XK_Icircumflex: u32 = 206;
pub const XK_Idiaeresis: u32 = 207;
pub const XK_ETH: u32 = 208;
pub const XK_Eth: u32 = 208;
pub const XK_Ntilde: u32 = 209;
pub const XK_Ograve: u32 = 210;
pub const XK_Oacute: u32 = 211;
pub const XK_Ocircumflex: u32 = 212;
pub const XK_Otilde: u32 = 213;
pub const XK_Odiaeresis: u32 = 214;
pub const XK_multiply: u32 = 215;
pub const XK_Oslash: u32 = 216;
pub const XK_Ooblique: u32 = 216;
pub const XK_Ugrave: u32 = 217;
pub const XK_Uacute: u32 = 218;
pub const XK_Ucircumflex: u32 = 219;
pub const XK_Udiaeresis: u32 = 220;
pub const XK_Yacute: u32 = 221;
pub const XK_THORN: u32 = 222;
pub const XK_Thorn: u32 = 222;
pub const XK_ssharp: u32 = 223;
pub const XK_agrave: u32 = 224;
pub const XK_aacute: u32 = 225;
pub const XK_acircumflex: u32 = 226;
pub const XK_atilde: u32 = 227;
pub const XK_adiaeresis: u32 = 228;
pub const XK_aring: u32 = 229;
pub const XK_ae: u32 = 230;
pub const XK_ccedilla: u32 = 231;
pub const XK_egrave: u32 = 232;
pub const XK_eacute: u32 = 233;
pub const XK_ecircumflex: u32 = 234;
pub const XK_ediaeresis: u32 = 235;
pub const XK_igrave: u32 = 236;
pub const XK_iacute: u32 = 237;
pub const XK_icircumflex: u32 = 238;
pub const XK_idiaeresis: u32 = 239;
pub const XK_eth: u32 = 240;
pub const XK_ntilde: u32 = 241;
pub const XK_ograve: u32 = 242;
pub const XK_oacute: u32 = 243;
pub const XK_ocircumflex: u32 = 244;
pub const XK_otilde: u32 = 245;
pub const XK_odiaeresis: u32 = 246;
pub const XK_division: u32 = 247;
pub const XK_oslash: u32 = 248;
pub const XK_ooblique: u32 = 248;
pub const XK_ugrave: u32 = 249;
pub const XK_uacute: u32 = 250;
pub const XK_ucircumflex: u32 = 251;
pub const XK_udiaeresis: u32 = 252;
pub const XK_yacute: u32 = 253;
pub const XK_thorn: u32 = 254;
pub const XK_ydiaeresis: u32 = 255;
pub const XK_Aogonek: u32 = 417;
pub const XK_breve: u32 = 418;
pub const XK_Lstroke: u32 = 419;
pub const XK_Lcaron: u32 = 421;
pub const XK_Sacute: u32 = 422;
pub const XK_Scaron: u32 = 425;
pub const XK_Scedilla: u32 = 426;
pub const XK_Tcaron: u32 = 427;
pub const XK_Zacute: u32 = 428;
pub const XK_Zcaron: u32 = 430;
pub const XK_Zabovedot: u32 = 431;
pub const XK_aogonek: u32 = 433;
pub const XK_ogonek: u32 = 434;
pub const XK_lstroke: u32 = 435;
pub const XK_lcaron: u32 = 437;
pub const XK_sacute: u32 = 438;
pub const XK_caron: u32 = 439;
pub const XK_scaron: u32 = 441;
pub const XK_scedilla: u32 = 442;
pub const XK_tcaron: u32 = 443;
pub const XK_zacute: u32 = 444;
pub const XK_doubleacute: u32 = 445;
pub const XK_zcaron: u32 = 446;
pub const XK_zabovedot: u32 = 447;
pub const XK_Racute: u32 = 448;
pub const XK_Abreve: u32 = 451;
pub const XK_Lacute: u32 = 453;
pub const XK_Cacute: u32 = 454;
pub const XK_Ccaron: u32 = 456;
pub const XK_Eogonek: u32 = 458;
pub const XK_Ecaron: u32 = 460;
pub const XK_Dcaron: u32 = 463;
pub const XK_Dstroke: u32 = 464;
pub const XK_Nacute: u32 = 465;
pub const XK_Ncaron: u32 = 466;
pub const XK_Odoubleacute: u32 = 469;
pub const XK_Rcaron: u32 = 472;
pub const XK_Uring: u32 = 473;
pub const XK_Udoubleacute: u32 = 475;
pub const XK_Tcedilla: u32 = 478;
pub const XK_racute: u32 = 480;
pub const XK_abreve: u32 = 483;
pub const XK_lacute: u32 = 485;
pub const XK_cacute: u32 = 486;
pub const XK_ccaron: u32 = 488;
pub const XK_eogonek: u32 = 490;
pub const XK_ecaron: u32 = 492;
pub const XK_dcaron: u32 = 495;
pub const XK_dstroke: u32 = 496;
pub const XK_nacute: u32 = 497;
pub const XK_ncaron: u32 = 498;
pub const XK_odoubleacute: u32 = 501;
pub const XK_rcaron: u32 = 504;
pub const XK_uring: u32 = 505;
pub const XK_udoubleacute: u32 = 507;
pub const XK_tcedilla: u32 = 510;
pub const XK_abovedot: u32 = 511;
pub const XK_Hstroke: u32 = 673;
pub const XK_Hcircumflex: u32 = 678;
pub const XK_Iabovedot: u32 = 681;
pub const XK_Gbreve: u32 = 683;
pub const XK_Jcircumflex: u32 = 684;
pub const XK_hstroke: u32 = 689;
pub const XK_hcircumflex: u32 = 694;
pub const XK_idotless: u32 = 697;
pub const XK_gbreve: u32 = 699;
pub const XK_jcircumflex: u32 = 700;
pub const XK_Cabovedot: u32 = 709;
pub const XK_Ccircumflex: u32 = 710;
pub const XK_Gabovedot: u32 = 725;
pub const XK_Gcircumflex: u32 = 728;
pub const XK_Ubreve: u32 = 733;
pub const XK_Scircumflex: u32 = 734;
pub const XK_cabovedot: u32 = 741;
pub const XK_ccircumflex: u32 = 742;
pub const XK_gabovedot: u32 = 757;
pub const XK_gcircumflex: u32 = 760;
pub const XK_ubreve: u32 = 765;
pub const XK_scircumflex: u32 = 766;
pub const XK_kra: u32 = 930;
pub const XK_kappa: u32 = 930;
pub const XK_Rcedilla: u32 = 931;
pub const XK_Itilde: u32 = 933;
pub const XK_Lcedilla: u32 = 934;
pub const XK_Emacron: u32 = 938;
pub const XK_Gcedilla: u32 = 939;
pub const XK_Tslash: u32 = 940;
pub const XK_rcedilla: u32 = 947;
pub const XK_itilde: u32 = 949;
pub const XK_lcedilla: u32 = 950;
pub const XK_emacron: u32 = 954;
pub const XK_gcedilla: u32 = 955;
pub const XK_tslash: u32 = 956;
pub const XK_ENG: u32 = 957;
pub const XK_eng: u32 = 959;
pub const XK_Amacron: u32 = 960;
pub const XK_Iogonek: u32 = 967;
pub const XK_Eabovedot: u32 = 972;
pub const XK_Imacron: u32 = 975;
pub const XK_Ncedilla: u32 = 977;
pub const XK_Omacron: u32 = 978;
pub const XK_Kcedilla: u32 = 979;
pub const XK_Uogonek: u32 = 985;
pub const XK_Utilde: u32 = 989;
pub const XK_Umacron: u32 = 990;
pub const XK_amacron: u32 = 992;
pub const XK_iogonek: u32 = 999;
pub const XK_eabovedot: u32 = 1004;
pub const XK_imacron: u32 = 1007;
pub const XK_ncedilla: u32 = 1009;
pub const XK_omacron: u32 = 1010;
pub const XK_kcedilla: u32 = 1011;
pub const XK_uogonek: u32 = 1017;
pub const XK_utilde: u32 = 1021;
pub const XK_umacron: u32 = 1022;
pub const XK_Wcircumflex: u32 = 16777588;
pub const XK_wcircumflex: u32 = 16777589;
pub const XK_Ycircumflex: u32 = 16777590;
pub const XK_ycircumflex: u32 = 16777591;
pub const XK_Babovedot: u32 = 16784898;
pub const XK_babovedot: u32 = 16784899;
pub const XK_Dabovedot: u32 = 16784906;
pub const XK_dabovedot: u32 = 16784907;
pub const XK_Fabovedot: u32 = 16784926;
pub const XK_fabovedot: u32 = 16784927;
pub const XK_Mabovedot: u32 = 16784960;
pub const XK_mabovedot: u32 = 16784961;
pub const XK_Pabovedot: u32 = 16784982;
pub const XK_pabovedot: u32 = 16784983;
pub const XK_Sabovedot: u32 = 16784992;
pub const XK_sabovedot: u32 = 16784993;
pub const XK_Tabovedot: u32 = 16785002;
pub const XK_tabovedot: u32 = 16785003;
pub const XK_Wgrave: u32 = 16785024;
pub const XK_wgrave: u32 = 16785025;
pub const XK_Wacute: u32 = 16785026;
pub const XK_wacute: u32 = 16785027;
pub const XK_Wdiaeresis: u32 = 16785028;
pub const XK_wdiaeresis: u32 = 16785029;
pub const XK_Ygrave: u32 = 16785138;
pub const XK_ygrave: u32 = 16785139;
pub const XK_OE: u32 = 5052;
pub const XK_oe: u32 = 5053;
pub const XK_Ydiaeresis: u32 = 5054;
pub const XK_overline: u32 = 1150;
pub const XK_kana_fullstop: u32 = 1185;
pub const XK_kana_openingbracket: u32 = 1186;
pub const XK_kana_closingbracket: u32 = 1187;
pub const XK_kana_comma: u32 = 1188;
pub const XK_kana_conjunctive: u32 = 1189;
pub const XK_kana_middledot: u32 = 1189;
pub const XK_kana_WO: u32 = 1190;
pub const XK_kana_a: u32 = 1191;
pub const XK_kana_i: u32 = 1192;
pub const XK_kana_u: u32 = 1193;
pub const XK_kana_e: u32 = 1194;
pub const XK_kana_o: u32 = 1195;
pub const XK_kana_ya: u32 = 1196;
pub const XK_kana_yu: u32 = 1197;
pub const XK_kana_yo: u32 = 1198;
pub const XK_kana_tsu: u32 = 1199;
pub const XK_kana_tu: u32 = 1199;
pub const XK_prolongedsound: u32 = 1200;
pub const XK_kana_A: u32 = 1201;
pub const XK_kana_I: u32 = 1202;
pub const XK_kana_U: u32 = 1203;
pub const XK_kana_E: u32 = 1204;
pub const XK_kana_O: u32 = 1205;
pub const XK_kana_KA: u32 = 1206;
pub const XK_kana_KI: u32 = 1207;
pub const XK_kana_KU: u32 = 1208;
pub const XK_kana_KE: u32 = 1209;
pub const XK_kana_KO: u32 = 1210;
pub const XK_kana_SA: u32 = 1211;
pub const XK_kana_SHI: u32 = 1212;
pub const XK_kana_SU: u32 = 1213;
pub const XK_kana_SE: u32 = 1214;
pub const XK_kana_SO: u32 = 1215;
pub const XK_kana_TA: u32 = 1216;
pub const XK_kana_CHI: u32 = 1217;
pub const XK_kana_TI: u32 = 1217;
pub const XK_kana_TSU: u32 = 1218;
pub const XK_kana_TU: u32 = 1218;
pub const XK_kana_TE: u32 = 1219;
pub const XK_kana_TO: u32 = 1220;
pub const XK_kana_NA: u32 = 1221;
pub const XK_kana_NI: u32 = 1222;
pub const XK_kana_NU: u32 = 1223;
pub const XK_kana_NE: u32 = 1224;
pub const XK_kana_NO: u32 = 1225;
pub const XK_kana_HA: u32 = 1226;
pub const XK_kana_HI: u32 = 1227;
pub const XK_kana_FU: u32 = 1228;
pub const XK_kana_HU: u32 = 1228;
pub const XK_kana_HE: u32 = 1229;
pub const XK_kana_HO: u32 = 1230;
pub const XK_kana_MA: u32 = 1231;
pub const XK_kana_MI: u32 = 1232;
pub const XK_kana_MU: u32 = 1233;
pub const XK_kana_ME: u32 = 1234;
pub const XK_kana_MO: u32 = 1235;
pub const XK_kana_YA: u32 = 1236;
pub const XK_kana_YU: u32 = 1237;
pub const XK_kana_YO: u32 = 1238;
pub const XK_kana_RA: u32 = 1239;
pub const XK_kana_RI: u32 = 1240;
pub const XK_kana_RU: u32 = 1241;
pub const XK_kana_RE: u32 = 1242;
pub const XK_kana_RO: u32 = 1243;
pub const XK_kana_WA: u32 = 1244;
pub const XK_kana_N: u32 = 1245;
pub const XK_voicedsound: u32 = 1246;
pub const XK_semivoicedsound: u32 = 1247;
pub const XK_kana_switch: u32 = 65406;
pub const XK_Farsi_0: u32 = 16778992;
pub const XK_Farsi_1: u32 = 16778993;
pub const XK_Farsi_2: u32 = 16778994;
pub const XK_Farsi_3: u32 = 16778995;
pub const XK_Farsi_4: u32 = 16778996;
pub const XK_Farsi_5: u32 = 16778997;
pub const XK_Farsi_6: u32 = 16778998;
pub const XK_Farsi_7: u32 = 16778999;
pub const XK_Farsi_8: u32 = 16779000;
pub const XK_Farsi_9: u32 = 16779001;
pub const XK_Arabic_percent: u32 = 16778858;
pub const XK_Arabic_superscript_alef: u32 = 16778864;
pub const XK_Arabic_tteh: u32 = 16778873;
pub const XK_Arabic_peh: u32 = 16778878;
pub const XK_Arabic_tcheh: u32 = 16778886;
pub const XK_Arabic_ddal: u32 = 16778888;
pub const XK_Arabic_rreh: u32 = 16778897;
pub const XK_Arabic_comma: u32 = 1452;
pub const XK_Arabic_fullstop: u32 = 16778964;
pub const XK_Arabic_0: u32 = 16778848;
pub const XK_Arabic_1: u32 = 16778849;
pub const XK_Arabic_2: u32 = 16778850;
pub const XK_Arabic_3: u32 = 16778851;
pub const XK_Arabic_4: u32 = 16778852;
pub const XK_Arabic_5: u32 = 16778853;
pub const XK_Arabic_6: u32 = 16778854;
pub const XK_Arabic_7: u32 = 16778855;
pub const XK_Arabic_8: u32 = 16778856;
pub const XK_Arabic_9: u32 = 16778857;
pub const XK_Arabic_semicolon: u32 = 1467;
pub const XK_Arabic_question_mark: u32 = 1471;
pub const XK_Arabic_hamza: u32 = 1473;
pub const XK_Arabic_maddaonalef: u32 = 1474;
pub const XK_Arabic_hamzaonalef: u32 = 1475;
pub const XK_Arabic_hamzaonwaw: u32 = 1476;
pub const XK_Arabic_hamzaunderalef: u32 = 1477;
pub const XK_Arabic_hamzaonyeh: u32 = 1478;
pub const XK_Arabic_alef: u32 = 1479;
pub const XK_Arabic_beh: u32 = 1480;
pub const XK_Arabic_tehmarbuta: u32 = 1481;
pub const XK_Arabic_teh: u32 = 1482;
pub const XK_Arabic_theh: u32 = 1483;
pub const XK_Arabic_jeem: u32 = 1484;
pub const XK_Arabic_hah: u32 = 1485;
pub const XK_Arabic_khah: u32 = 1486;
pub const XK_Arabic_dal: u32 = 1487;
pub const XK_Arabic_thal: u32 = 1488;
pub const XK_Arabic_ra: u32 = 1489;
pub const XK_Arabic_zain: u32 = 1490;
pub const XK_Arabic_seen: u32 = 1491;
pub const XK_Arabic_sheen: u32 = 1492;
pub const XK_Arabic_sad: u32 = 1493;
pub const XK_Arabic_dad: u32 = 1494;
pub const XK_Arabic_tah: u32 = 1495;
pub const XK_Arabic_zah: u32 = 1496;
pub const XK_Arabic_ain: u32 = 1497;
pub const XK_Arabic_ghain: u32 = 1498;
pub const XK_Arabic_tatweel: u32 = 1504;
pub const XK_Arabic_feh: u32 = 1505;
pub const XK_Arabic_qaf: u32 = 1506;
pub const XK_Arabic_kaf: u32 = 1507;
pub const XK_Arabic_lam: u32 = 1508;
pub const XK_Arabic_meem: u32 = 1509;
pub const XK_Arabic_noon: u32 = 1510;
pub const XK_Arabic_ha: u32 = 1511;
pub const XK_Arabic_heh: u32 = 1511;
pub const XK_Arabic_waw: u32 = 1512;
pub const XK_Arabic_alefmaksura: u32 = 1513;
pub const XK_Arabic_yeh: u32 = 1514;
pub const XK_Arabic_fathatan: u32 = 1515;
pub const XK_Arabic_dammatan: u32 = 1516;
pub const XK_Arabic_kasratan: u32 = 1517;
pub const XK_Arabic_fatha: u32 = 1518;
pub const XK_Arabic_damma: u32 = 1519;
pub const XK_Arabic_kasra: u32 = 1520;
pub const XK_Arabic_shadda: u32 = 1521;
pub const XK_Arabic_sukun: u32 = 1522;
pub const XK_Arabic_madda_above: u32 = 16778835;
pub const XK_Arabic_hamza_above: u32 = 16778836;
pub const XK_Arabic_hamza_below: u32 = 16778837;
pub const XK_Arabic_jeh: u32 = 16778904;
pub const XK_Arabic_veh: u32 = 16778916;
pub const XK_Arabic_keheh: u32 = 16778921;
pub const XK_Arabic_gaf: u32 = 16778927;
pub const XK_Arabic_noon_ghunna: u32 = 16778938;
pub const XK_Arabic_heh_doachashmee: u32 = 16778942;
pub const XK_Farsi_yeh: u32 = 16778956;
pub const XK_Arabic_farsi_yeh: u32 = 16778956;
pub const XK_Arabic_yeh_baree: u32 = 16778962;
pub const XK_Arabic_heh_goal: u32 = 16778945;
pub const XK_Arabic_switch: u32 = 65406;
pub const XK_Cyrillic_GHE_bar: u32 = 16778386;
pub const XK_Cyrillic_ghe_bar: u32 = 16778387;
pub const XK_Cyrillic_ZHE_descender: u32 = 16778390;
pub const XK_Cyrillic_zhe_descender: u32 = 16778391;
pub const XK_Cyrillic_KA_descender: u32 = 16778394;
pub const XK_Cyrillic_ka_descender: u32 = 16778395;
pub const XK_Cyrillic_KA_vertstroke: u32 = 16778396;
pub const XK_Cyrillic_ka_vertstroke: u32 = 16778397;
pub const XK_Cyrillic_EN_descender: u32 = 16778402;
pub const XK_Cyrillic_en_descender: u32 = 16778403;
pub const XK_Cyrillic_U_straight: u32 = 16778414;
pub const XK_Cyrillic_u_straight: u32 = 16778415;
pub const XK_Cyrillic_U_straight_bar: u32 = 16778416;
pub const XK_Cyrillic_u_straight_bar: u32 = 16778417;
pub const XK_Cyrillic_HA_descender: u32 = 16778418;
pub const XK_Cyrillic_ha_descender: u32 = 16778419;
pub const XK_Cyrillic_CHE_descender: u32 = 16778422;
pub const XK_Cyrillic_che_descender: u32 = 16778423;
pub const XK_Cyrillic_CHE_vertstroke: u32 = 16778424;
pub const XK_Cyrillic_che_vertstroke: u32 = 16778425;
pub const XK_Cyrillic_SHHA: u32 = 16778426;
pub const XK_Cyrillic_shha: u32 = 16778427;
pub const XK_Cyrillic_SCHWA: u32 = 16778456;
pub const XK_Cyrillic_schwa: u32 = 16778457;
pub const XK_Cyrillic_I_macron: u32 = 16778466;
pub const XK_Cyrillic_i_macron: u32 = 16778467;
pub const XK_Cyrillic_O_bar: u32 = 16778472;
pub const XK_Cyrillic_o_bar: u32 = 16778473;
pub const XK_Cyrillic_U_macron: u32 = 16778478;
pub const XK_Cyrillic_u_macron: u32 = 16778479;
pub const XK_Serbian_dje: u32 = 1697;
pub const XK_Macedonia_gje: u32 = 1698;
pub const XK_Cyrillic_io: u32 = 1699;
pub const XK_Ukrainian_ie: u32 = 1700;
pub const XK_Ukranian_je: u32 = 1700;
pub const XK_Macedonia_dse: u32 = 1701;
pub const XK_Ukrainian_i: u32 = 1702;
pub const XK_Ukranian_i: u32 = 1702;
pub const XK_Ukrainian_yi: u32 = 1703;
pub const XK_Ukranian_yi: u32 = 1703;
pub const XK_Cyrillic_je: u32 = 1704;
pub const XK_Serbian_je: u32 = 1704;
pub const XK_Cyrillic_lje: u32 = 1705;
pub const XK_Serbian_lje: u32 = 1705;
pub const XK_Cyrillic_nje: u32 = 1706;
pub const XK_Serbian_nje: u32 = 1706;
pub const XK_Serbian_tshe: u32 = 1707;
pub const XK_Macedonia_kje: u32 = 1708;
pub const XK_Ukrainian_ghe_with_upturn: u32 = 1709;
pub const XK_Byelorussian_shortu: u32 = 1710;
pub const XK_Cyrillic_dzhe: u32 = 1711;
pub const XK_Serbian_dze: u32 = 1711;
pub const XK_numerosign: u32 = 1712;
pub const XK_Serbian_DJE: u32 = 1713;
pub const XK_Macedonia_GJE: u32 = 1714;
pub const XK_Cyrillic_IO: u32 = 1715;
pub const XK_Ukrainian_IE: u32 = 1716;
pub const XK_Ukranian_JE: u32 = 1716;
pub const XK_Macedonia_DSE: u32 = 1717;
pub const XK_Ukrainian_I: u32 = 1718;
pub const XK_Ukranian_I: u32 = 1718;
pub const XK_Ukrainian_YI: u32 = 1719;
pub const XK_Ukranian_YI: u32 = 1719;
pub const XK_Cyrillic_JE: u32 = 1720;
pub const XK_Serbian_JE: u32 = 1720;
pub const XK_Cyrillic_LJE: u32 = 1721;
pub const XK_Serbian_LJE: u32 = 1721;
pub const XK_Cyrillic_NJE: u32 = 1722;
pub const XK_Serbian_NJE: u32 = 1722;
pub const XK_Serbian_TSHE: u32 = 1723;
pub const XK_Macedonia_KJE: u32 = 1724;
pub const XK_Ukrainian_GHE_WITH_UPTURN: u32 = 1725;
pub const XK_Byelorussian_SHORTU: u32 = 1726;
pub const XK_Cyrillic_DZHE: u32 = 1727;
pub const XK_Serbian_DZE: u32 = 1727;
pub const XK_Cyrillic_yu: u32 = 1728;
pub const XK_Cyrillic_a: u32 = 1729;
pub const XK_Cyrillic_be: u32 = 1730;
pub const XK_Cyrillic_tse: u32 = 1731;
pub const XK_Cyrillic_de: u32 = 1732;
pub const XK_Cyrillic_ie: u32 = 1733;
pub const XK_Cyrillic_ef: u32 = 1734;
pub const XK_Cyrillic_ghe: u32 = 1735;
pub const XK_Cyrillic_ha: u32 = 1736;
pub const XK_Cyrillic_i: u32 = 1737;
pub const XK_Cyrillic_shorti: u32 = 1738;
pub const XK_Cyrillic_ka: u32 = 1739;
pub const XK_Cyrillic_el: u32 = 1740;
pub const XK_Cyrillic_em: u32 = 1741;
pub const XK_Cyrillic_en: u32 = 1742;
pub const XK_Cyrillic_o: u32 = 1743;
pub const XK_Cyrillic_pe: u32 = 1744;
pub const XK_Cyrillic_ya: u32 = 1745;
pub const XK_Cyrillic_er: u32 = 1746;
pub const XK_Cyrillic_es: u32 = 1747;
pub const XK_Cyrillic_te: u32 = 1748;
pub const XK_Cyrillic_u: u32 = 1749;
pub const XK_Cyrillic_zhe: u32 = 1750;
pub const XK_Cyrillic_ve: u32 = 1751;
pub const XK_Cyrillic_softsign: u32 = 1752;
pub const XK_Cyrillic_yeru: u32 = 1753;
pub const XK_Cyrillic_ze: u32 = 1754;
pub const XK_Cyrillic_sha: u32 = 1755;
pub const XK_Cyrillic_e: u32 = 1756;
pub const XK_Cyrillic_shcha: u32 = 1757;
pub const XK_Cyrillic_che: u32 = 1758;
pub const XK_Cyrillic_hardsign: u32 = 1759;
pub const XK_Cyrillic_YU: u32 = 1760;
pub const XK_Cyrillic_A: u32 = 1761;
pub const XK_Cyrillic_BE: u32 = 1762;
pub const XK_Cyrillic_TSE: u32 = 1763;
pub const XK_Cyrillic_DE: u32 = 1764;
pub const XK_Cyrillic_IE: u32 = 1765;
pub const XK_Cyrillic_EF: u32 = 1766;
pub const XK_Cyrillic_GHE: u32 = 1767;
pub const XK_Cyrillic_HA: u32 = 1768;
pub const XK_Cyrillic_I: u32 = 1769;
pub const XK_Cyrillic_SHORTI: u32 = 1770;
pub const XK_Cyrillic_KA: u32 = 1771;
pub const XK_Cyrillic_EL: u32 = 1772;
pub const XK_Cyrillic_EM: u32 = 1773;
pub const XK_Cyrillic_EN: u32 = 1774;
pub const XK_Cyrillic_O: u32 = 1775;
pub const XK_Cyrillic_PE: u32 = 1776;
pub const XK_Cyrillic_YA: u32 = 1777;
pub const XK_Cyrillic_ER: u32 = 1778;
pub const XK_Cyrillic_ES: u32 = 1779;
pub const XK_Cyrillic_TE: u32 = 1780;
pub const XK_Cyrillic_U: u32 = 1781;
pub const XK_Cyrillic_ZHE: u32 = 1782;
pub const XK_Cyrillic_VE: u32 = 1783;
pub const XK_Cyrillic_SOFTSIGN: u32 = 1784;
pub const XK_Cyrillic_YERU: u32 = 1785;
pub const XK_Cyrillic_ZE: u32 = 1786;
pub const XK_Cyrillic_SHA: u32 = 1787;
pub const XK_Cyrillic_E: u32 = 1788;
pub const XK_Cyrillic_SHCHA: u32 = 1789;
pub const XK_Cyrillic_CHE: u32 = 1790;
pub const XK_Cyrillic_HARDSIGN: u32 = 1791;
pub const XK_Greek_ALPHAaccent: u32 = 1953;
pub const XK_Greek_EPSILONaccent: u32 = 1954;
pub const XK_Greek_ETAaccent: u32 = 1955;
pub const XK_Greek_IOTAaccent: u32 = 1956;
pub const XK_Greek_IOTAdieresis: u32 = 1957;
pub const XK_Greek_IOTAdiaeresis: u32 = 1957;
pub const XK_Greek_OMICRONaccent: u32 = 1959;
pub const XK_Greek_UPSILONaccent: u32 = 1960;
pub const XK_Greek_UPSILONdieresis: u32 = 1961;
pub const XK_Greek_OMEGAaccent: u32 = 1963;
pub const XK_Greek_accentdieresis: u32 = 1966;
pub const XK_Greek_horizbar: u32 = 1967;
pub const XK_Greek_alphaaccent: u32 = 1969;
pub const XK_Greek_epsilonaccent: u32 = 1970;
pub const XK_Greek_etaaccent: u32 = 1971;
pub const XK_Greek_iotaaccent: u32 = 1972;
pub const XK_Greek_iotadieresis: u32 = 1973;
pub const XK_Greek_iotaaccentdieresis: u32 = 1974;
pub const XK_Greek_omicronaccent: u32 = 1975;
pub const XK_Greek_upsilonaccent: u32 = 1976;
pub const XK_Greek_upsilondieresis: u32 = 1977;
pub const XK_Greek_upsilonaccentdieresis: u32 = 1978;
pub const XK_Greek_omegaaccent: u32 = 1979;
pub const XK_Greek_ALPHA: u32 = 1985;
pub const XK_Greek_BETA: u32 = 1986;
pub const XK_Greek_GAMMA: u32 = 1987;
pub const XK_Greek_DELTA: u32 = 1988;
pub const XK_Greek_EPSILON: u32 = 1989;
pub const XK_Greek_ZETA: u32 = 1990;
pub const XK_Greek_ETA: u32 = 1991;
pub const XK_Greek_THETA: u32 = 1992;
pub const XK_Greek_IOTA: u32 = 1993;
pub const XK_Greek_KAPPA: u32 = 1994;
pub const XK_Greek_LAMDA: u32 = 1995;
pub const XK_Greek_LAMBDA: u32 = 1995;
pub const XK_Greek_MU: u32 = 1996;
pub const XK_Greek_NU: u32 = 1997;
pub const XK_Greek_XI: u32 = 1998;
pub const XK_Greek_OMICRON: u32 = 1999;
pub const XK_Greek_PI: u32 = 2000;
pub const XK_Greek_RHO: u32 = 2001;
pub const XK_Greek_SIGMA: u32 = 2002;
pub const XK_Greek_TAU: u32 = 2004;
pub const XK_Greek_UPSILON: u32 = 2005;
pub const XK_Greek_PHI: u32 = 2006;
pub const XK_Greek_CHI: u32 = 2007;
pub const XK_Greek_PSI: u32 = 2008;
pub const XK_Greek_OMEGA: u32 = 2009;
pub const XK_Greek_alpha: u32 = 2017;
pub const XK_Greek_beta: u32 = 2018;
pub const XK_Greek_gamma: u32 = 2019;
pub const XK_Greek_delta: u32 = 2020;
pub const XK_Greek_epsilon: u32 = 2021;
pub const XK_Greek_zeta: u32 = 2022;
pub const XK_Greek_eta: u32 = 2023;
pub const XK_Greek_theta: u32 = 2024;
pub const XK_Greek_iota: u32 = 2025;
pub const XK_Greek_kappa: u32 = 2026;
pub const XK_Greek_lamda: u32 = 2027;
pub const XK_Greek_lambda: u32 = 2027;
pub const XK_Greek_mu: u32 = 2028;
pub const XK_Greek_nu: u32 = 2029;
pub const XK_Greek_xi: u32 = 2030;
pub const XK_Greek_omicron: u32 = 2031;
pub const XK_Greek_pi: u32 = 2032;
pub const XK_Greek_rho: u32 = 2033;
pub const XK_Greek_sigma: u32 = 2034;
pub const XK_Greek_finalsmallsigma: u32 = 2035;
pub const XK_Greek_tau: u32 = 2036;
pub const XK_Greek_upsilon: u32 = 2037;
pub const XK_Greek_phi: u32 = 2038;
pub const XK_Greek_chi: u32 = 2039;
pub const XK_Greek_psi: u32 = 2040;
pub const XK_Greek_omega: u32 = 2041;
pub const XK_Greek_switch: u32 = 65406;
pub const XK_hebrew_doublelowline: u32 = 3295;
pub const XK_hebrew_aleph: u32 = 3296;
pub const XK_hebrew_bet: u32 = 3297;
pub const XK_hebrew_beth: u32 = 3297;
pub const XK_hebrew_gimel: u32 = 3298;
pub const XK_hebrew_gimmel: u32 = 3298;
pub const XK_hebrew_dalet: u32 = 3299;
pub const XK_hebrew_daleth: u32 = 3299;
pub const XK_hebrew_he: u32 = 3300;
pub const XK_hebrew_waw: u32 = 3301;
pub const XK_hebrew_zain: u32 = 3302;
pub const XK_hebrew_zayin: u32 = 3302;
pub const XK_hebrew_chet: u32 = 3303;
pub const XK_hebrew_het: u32 = 3303;
pub const XK_hebrew_tet: u32 = 3304;
pub const XK_hebrew_teth: u32 = 3304;
pub const XK_hebrew_yod: u32 = 3305;
pub const XK_hebrew_finalkaph: u32 = 3306;
pub const XK_hebrew_kaph: u32 = 3307;
pub const XK_hebrew_lamed: u32 = 3308;
pub const XK_hebrew_finalmem: u32 = 3309;
pub const XK_hebrew_mem: u32 = 3310;
pub const XK_hebrew_finalnun: u32 = 3311;
pub const XK_hebrew_nun: u32 = 3312;
pub const XK_hebrew_samech: u32 = 3313;
pub const XK_hebrew_samekh: u32 = 3313;
pub const XK_hebrew_ayin: u32 = 3314;
pub const XK_hebrew_finalpe: u32 = 3315;
pub const XK_hebrew_pe: u32 = 3316;
pub const XK_hebrew_finalzade: u32 = 3317;
pub const XK_hebrew_finalzadi: u32 = 3317;
pub const XK_hebrew_zade: u32 = 3318;
pub const XK_hebrew_zadi: u32 = 3318;
pub const XK_hebrew_qoph: u32 = 3319;
pub const XK_hebrew_kuf: u32 = 3319;
pub const XK_hebrew_resh: u32 = 3320;
pub const XK_hebrew_shin: u32 = 3321;
pub const XK_hebrew_taw: u32 = 3322;
pub const XK_hebrew_taf: u32 = 3322;
pub const XK_Hebrew_switch: u32 = 65406;
pub const XK_Thai_kokai: u32 = 3489;
pub const XK_Thai_khokhai: u32 = 3490;
pub const XK_Thai_khokhuat: u32 = 3491;
pub const XK_Thai_khokhwai: u32 = 3492;
pub const XK_Thai_khokhon: u32 = 3493;
pub const XK_Thai_khorakhang: u32 = 3494;
pub const XK_Thai_ngongu: u32 = 3495;
pub const XK_Thai_chochan: u32 = 3496;
pub const XK_Thai_choching: u32 = 3497;
pub const XK_Thai_chochang: u32 = 3498;
pub const XK_Thai_soso: u32 = 3499;
pub const XK_Thai_chochoe: u32 = 3500;
pub const XK_Thai_yoying: u32 = 3501;
pub const XK_Thai_dochada: u32 = 3502;
pub const XK_Thai_topatak: u32 = 3503;
pub const XK_Thai_thothan: u32 = 3504;
pub const XK_Thai_thonangmontho: u32 = 3505;
pub const XK_Thai_thophuthao: u32 = 3506;
pub const XK_Thai_nonen: u32 = 3507;
pub const XK_Thai_dodek: u32 = 3508;
pub const XK_Thai_totao: u32 = 3509;
pub const XK_Thai_thothung: u32 = 3510;
pub const XK_Thai_thothahan: u32 = 3511;
pub const XK_Thai_thothong: u32 = 3512;
pub const XK_Thai_nonu: u32 = 3513;
pub const XK_Thai_bobaimai: u32 = 3514;
pub const XK_Thai_popla: u32 = 3515;
pub const XK_Thai_phophung: u32 = 3516;
pub const XK_Thai_fofa: u32 = 3517;
pub const XK_Thai_phophan: u32 = 3518;
pub const XK_Thai_fofan: u32 = 3519;
pub const XK_Thai_phosamphao: u32 = 3520;
pub const XK_Thai_moma: u32 = 3521;
pub const XK_Thai_yoyak: u32 = 3522;
pub const XK_Thai_rorua: u32 = 3523;
pub const XK_Thai_ru: u32 = 3524;
pub const XK_Thai_loling: u32 = 3525;
pub const XK_Thai_lu: u32 = 3526;
pub const XK_Thai_wowaen: u32 = 3527;
pub const XK_Thai_sosala: u32 = 3528;
pub const XK_Thai_sorusi: u32 = 3529;
pub const XK_Thai_sosua: u32 = 3530;
pub const XK_Thai_hohip: u32 = 3531;
pub const XK_Thai_lochula: u32 = 3532;
pub const XK_Thai_oang: u32 = 3533;
pub const XK_Thai_honokhuk: u32 = 3534;
pub const XK_Thai_paiyannoi: u32 = 3535;
pub const XK_Thai_saraa: u32 = 3536;
pub const XK_Thai_maihanakat: u32 = 3537;
pub const XK_Thai_saraaa: u32 = 3538;
pub const XK_Thai_saraam: u32 = 3539;
pub const XK_Thai_sarai: u32 = 3540;
pub const XK_Thai_saraii: u32 = 3541;
pub const XK_Thai_saraue: u32 = 3542;
pub const XK_Thai_sarauee: u32 = 3543;
pub const XK_Thai_sarau: u32 = 3544;
pub const XK_Thai_sarauu: u32 = 3545;
pub const XK_Thai_phinthu: u32 = 3546;
pub const XK_Thai_maihanakat_maitho: u32 = 3550;
pub const XK_Thai_baht: u32 = 3551;
pub const XK_Thai_sarae: u32 = 3552;
pub const XK_Thai_saraae: u32 = 3553;
pub const XK_Thai_sarao: u32 = 3554;
pub const XK_Thai_saraaimaimuan: u32 = 3555;
pub const XK_Thai_saraaimaimalai: u32 = 3556;
pub const XK_Thai_lakkhangyao: u32 = 3557;
pub const XK_Thai_maiyamok: u32 = 3558;
pub const XK_Thai_maitaikhu: u32 = 3559;
pub const XK_Thai_maiek: u32 = 3560;
pub const XK_Thai_maitho: u32 = 3561;
pub const XK_Thai_maitri: u32 = 3562;
pub const XK_Thai_maichattawa: u32 = 3563;
pub const XK_Thai_thanthakhat: u32 = 3564;
pub const XK_Thai_nikhahit: u32 = 3565;
pub const XK_Thai_leksun: u32 = 3568;
pub const XK_Thai_leknung: u32 = 3569;
pub const XK_Thai_leksong: u32 = 3570;
pub const XK_Thai_leksam: u32 = 3571;
pub const XK_Thai_leksi: u32 = 3572;
pub const XK_Thai_lekha: u32 = 3573;
pub const XK_Thai_lekhok: u32 = 3574;
pub const XK_Thai_lekchet: u32 = 3575;
pub const XK_Thai_lekpaet: u32 = 3576;
pub const XK_Thai_lekkao: u32 = 3577;
pub const XK_Hangul: u32 = 65329;
pub const XK_Hangul_Start: u32 = 65330;
pub const XK_Hangul_End: u32 = 65331;
pub const XK_Hangul_Hanja: u32 = 65332;
pub const XK_Hangul_Jamo: u32 = 65333;
pub const XK_Hangul_Romaja: u32 = 65334;
pub const XK_Hangul_Codeinput: u32 = 65335;
pub const XK_Hangul_Jeonja: u32 = 65336;
pub const XK_Hangul_Banja: u32 = 65337;
pub const XK_Hangul_PreHanja: u32 = 65338;
pub const XK_Hangul_PostHanja: u32 = 65339;
pub const XK_Hangul_SingleCandidate: u32 = 65340;
pub const XK_Hangul_MultipleCandidate: u32 = 65341;
pub const XK_Hangul_PreviousCandidate: u32 = 65342;
pub const XK_Hangul_Special: u32 = 65343;
pub const XK_Hangul_switch: u32 = 65406;
pub const XK_Hangul_Kiyeog: u32 = 3745;
pub const XK_Hangul_SsangKiyeog: u32 = 3746;
pub const XK_Hangul_KiyeogSios: u32 = 3747;
pub const XK_Hangul_Nieun: u32 = 3748;
pub const XK_Hangul_NieunJieuj: u32 = 3749;
pub const XK_Hangul_NieunHieuh: u32 = 3750;
pub const XK_Hangul_Dikeud: u32 = 3751;
pub const XK_Hangul_SsangDikeud: u32 = 3752;
pub const XK_Hangul_Rieul: u32 = 3753;
pub const XK_Hangul_RieulKiyeog: u32 = 3754;
pub const XK_Hangul_RieulMieum: u32 = 3755;
pub const XK_Hangul_RieulPieub: u32 = 3756;
pub const XK_Hangul_RieulSios: u32 = 3757;
pub const XK_Hangul_RieulTieut: u32 = 3758;
pub const XK_Hangul_RieulPhieuf: u32 = 3759;
pub const XK_Hangul_RieulHieuh: u32 = 3760;
pub const XK_Hangul_Mieum: u32 = 3761;
pub const XK_Hangul_Pieub: u32 = 3762;
pub const XK_Hangul_SsangPieub: u32 = 3763;
pub const XK_Hangul_PieubSios: u32 = 3764;
pub const XK_Hangul_Sios: u32 = 3765;
pub const XK_Hangul_SsangSios: u32 = 3766;
pub const XK_Hangul_Ieung: u32 = 3767;
pub const XK_Hangul_Jieuj: u32 = 3768;
pub const XK_Hangul_SsangJieuj: u32 = 3769;
pub const XK_Hangul_Cieuc: u32 = 3770;
pub const XK_Hangul_Khieuq: u32 = 3771;
pub const XK_Hangul_Tieut: u32 = 3772;
pub const XK_Hangul_Phieuf: u32 = 3773;
pub const XK_Hangul_Hieuh: u32 = 3774;
pub const XK_Hangul_A: u32 = 3775;
pub const XK_Hangul_AE: u32 = 3776;
pub const XK_Hangul_YA: u32 = 3777;
pub const XK_Hangul_YAE: u32 = 3778;
pub const XK_Hangul_EO: u32 = 3779;
pub const XK_Hangul_E: u32 = 3780;
pub const XK_Hangul_YEO: u32 = 3781;
pub const XK_Hangul_YE: u32 = 3782;
pub const XK_Hangul_O: u32 = 3783;
pub const XK_Hangul_WA: u32 = 3784;
pub const XK_Hangul_WAE: u32 = 3785;
pub const XK_Hangul_OE: u32 = 3786;
pub const XK_Hangul_YO: u32 = 3787;
pub const XK_Hangul_U: u32 = 3788;
pub const XK_Hangul_WEO: u32 = 3789;
pub const XK_Hangul_WE: u32 = 3790;
pub const XK_Hangul_WI: u32 = 3791;
pub const XK_Hangul_YU: u32 = 3792;
pub const XK_Hangul_EU: u32 = 3793;
pub const XK_Hangul_YI: u32 = 3794;
pub const XK_Hangul_I: u32 = 3795;
pub const XK_Hangul_J_Kiyeog: u32 = 3796;
pub const XK_Hangul_J_SsangKiyeog: u32 = 3797;
pub const XK_Hangul_J_KiyeogSios: u32 = 3798;
pub const XK_Hangul_J_Nieun: u32 = 3799;
pub const XK_Hangul_J_NieunJieuj: u32 = 3800;
pub const XK_Hangul_J_NieunHieuh: u32 = 3801;
pub const XK_Hangul_J_Dikeud: u32 = 3802;
pub const XK_Hangul_J_Rieul: u32 = 3803;
pub const XK_Hangul_J_RieulKiyeog: u32 = 3804;
pub const XK_Hangul_J_RieulMieum: u32 = 3805;
pub const XK_Hangul_J_RieulPieub: u32 = 3806;
pub const XK_Hangul_J_RieulSios: u32 = 3807;
pub const XK_Hangul_J_RieulTieut: u32 = 3808;
pub const XK_Hangul_J_RieulPhieuf: u32 = 3809;
pub const XK_Hangul_J_RieulHieuh: u32 = 3810;
pub const XK_Hangul_J_Mieum: u32 = 3811;
pub const XK_Hangul_J_Pieub: u32 = 3812;
pub const XK_Hangul_J_PieubSios: u32 = 3813;
pub const XK_Hangul_J_Sios: u32 = 3814;
pub const XK_Hangul_J_SsangSios: u32 = 3815;
pub const XK_Hangul_J_Ieung: u32 = 3816;
pub const XK_Hangul_J_Jieuj: u32 = 3817;
pub const XK_Hangul_J_Cieuc: u32 = 3818;
pub const XK_Hangul_J_Khieuq: u32 = 3819;
pub const XK_Hangul_J_Tieut: u32 = 3820;
pub const XK_Hangul_J_Phieuf: u32 = 3821;
pub const XK_Hangul_J_Hieuh: u32 = 3822;
pub const XK_Hangul_RieulYeorinHieuh: u32 = 3823;
pub const XK_Hangul_SunkyeongeumMieum: u32 = 3824;
pub const XK_Hangul_SunkyeongeumPieub: u32 = 3825;
pub const XK_Hangul_PanSios: u32 = 3826;
pub const XK_Hangul_KkogjiDalrinIeung: u32 = 3827;
pub const XK_Hangul_SunkyeongeumPhieuf: u32 = 3828;
pub const XK_Hangul_YeorinHieuh: u32 = 3829;
pub const XK_Hangul_AraeA: u32 = 3830;
pub const XK_Hangul_AraeAE: u32 = 3831;
pub const XK_Hangul_J_PanSios: u32 = 3832;
pub const XK_Hangul_J_KkogjiDalrinIeung: u32 = 3833;
pub const XK_Hangul_J_YeorinHieuh: u32 = 3834;
pub const XK_Korean_Won: u32 = 3839;
pub const XK_Armenian_ligature_ew: u32 = 16778631;
pub const XK_Armenian_full_stop: u32 = 16778633;
pub const XK_Armenian_verjaket: u32 = 16778633;
pub const XK_Armenian_separation_mark: u32 = 16778589;
pub const XK_Armenian_but: u32 = 16778589;
pub const XK_Armenian_hyphen: u32 = 16778634;
pub const XK_Armenian_yentamna: u32 = 16778634;
pub const XK_Armenian_exclam: u32 = 16778588;
pub const XK_Armenian_amanak: u32 = 16778588;
pub const XK_Armenian_accent: u32 = 16778587;
pub const XK_Armenian_shesht: u32 = 16778587;
pub const XK_Armenian_question: u32 = 16778590;
pub const XK_Armenian_paruyk: u32 = 16778590;
pub const XK_Armenian_AYB: u32 = 16778545;
pub const XK_Armenian_ayb: u32 = 16778593;
pub const XK_Armenian_BEN: u32 = 16778546;
pub const XK_Armenian_ben: u32 = 16778594;
pub const XK_Armenian_GIM: u32 = 16778547;
pub const XK_Armenian_gim: u32 = 16778595;
pub const XK_Armenian_DA: u32 = 16778548;
pub const XK_Armenian_da: u32 = 16778596;
pub const XK_Armenian_YECH: u32 = 16778549;
pub const XK_Armenian_yech: u32 = 16778597;
pub const XK_Armenian_ZA: u32 = 16778550;
pub const XK_Armenian_za: u32 = 16778598;
pub const XK_Armenian_E: u32 = 16778551;
pub const XK_Armenian_e: u32 = 16778599;
pub const XK_Armenian_AT: u32 = 16778552;
pub const XK_Armenian_at: u32 = 16778600;
pub const XK_Armenian_TO: u32 = 16778553;
pub const XK_Armenian_to: u32 = 16778601;
pub const XK_Armenian_ZHE: u32 = 16778554;
pub const XK_Armenian_zhe: u32 = 16778602;
pub const XK_Armenian_INI: u32 = 16778555;
pub const XK_Armenian_ini: u32 = 16778603;
pub const XK_Armenian_LYUN: u32 = 16778556;
pub const XK_Armenian_lyun: u32 = 16778604;
pub const XK_Armenian_KHE: u32 = 16778557;
pub const XK_Armenian_khe: u32 = 16778605;
pub const XK_Armenian_TSA: u32 = 16778558;
pub const XK_Armenian_tsa: u32 = 16778606;
pub const XK_Armenian_KEN: u32 = 16778559;
pub const XK_Armenian_ken: u32 = 16778607;
pub const XK_Armenian_HO: u32 = 16778560;
pub const XK_Armenian_ho: u32 = 16778608;
pub const XK_Armenian_DZA: u32 = 16778561;
pub const XK_Armenian_dza: u32 = 16778609;
pub const XK_Armenian_GHAT: u32 = 16778562;
pub const XK_Armenian_ghat: u32 = 16778610;
pub const XK_Armenian_TCHE: u32 = 16778563;
pub const XK_Armenian_tche: u32 = 16778611;
pub const XK_Armenian_MEN: u32 = 16778564;
pub const XK_Armenian_men: u32 = 16778612;
pub const XK_Armenian_HI: u32 = 16778565;
pub const XK_Armenian_hi: u32 = 16778613;
pub const XK_Armenian_NU: u32 = 16778566;
pub const XK_Armenian_nu: u32 = 16778614;
pub const XK_Armenian_SHA: u32 = 16778567;
pub const XK_Armenian_sha: u32 = 16778615;
pub const XK_Armenian_VO: u32 = 16778568;
pub const XK_Armenian_vo: u32 = 16778616;
pub const XK_Armenian_CHA: u32 = 16778569;
pub const XK_Armenian_cha: u32 = 16778617;
pub const XK_Armenian_PE: u32 = 16778570;
pub const XK_Armenian_pe: u32 = 16778618;
pub const XK_Armenian_JE: u32 = 16778571;
pub const XK_Armenian_je: u32 = 16778619;
pub const XK_Armenian_RA: u32 = 16778572;
pub const XK_Armenian_ra: u32 = 16778620;
pub const XK_Armenian_SE: u32 = 16778573;
pub const XK_Armenian_se: u32 = 16778621;
pub const XK_Armenian_VEV: u32 = 16778574;
pub const XK_Armenian_vev: u32 = 16778622;
pub const XK_Armenian_TYUN: u32 = 16778575;
pub const XK_Armenian_tyun: u32 = 16778623;
pub const XK_Armenian_RE: u32 = 16778576;
pub const XK_Armenian_re: u32 = 16778624;
pub const XK_Armenian_TSO: u32 = 16778577;
pub const XK_Armenian_tso: u32 = 16778625;
pub const XK_Armenian_VYUN: u32 = 16778578;
pub const XK_Armenian_vyun: u32 = 16778626;
pub const XK_Armenian_PYUR: u32 = 16778579;
pub const XK_Armenian_pyur: u32 = 16778627;
pub const XK_Armenian_KE: u32 = 16778580;
pub const XK_Armenian_ke: u32 = 16778628;
pub const XK_Armenian_O: u32 = 16778581;
pub const XK_Armenian_o: u32 = 16778629;
pub const XK_Armenian_FE: u32 = 16778582;
pub const XK_Armenian_fe: u32 = 16778630;
pub const XK_Armenian_apostrophe: u32 = 16778586;
pub const XK_Georgian_an: u32 = 16781520;
pub const XK_Georgian_ban: u32 = 16781521;
pub const XK_Georgian_gan: u32 = 16781522;
pub const XK_Georgian_don: u32 = 16781523;
pub const XK_Georgian_en: u32 = 16781524;
pub const XK_Georgian_vin: u32 = 16781525;
pub const XK_Georgian_zen: u32 = 16781526;
pub const XK_Georgian_tan: u32 = 16781527;
pub const XK_Georgian_in: u32 = 16781528;
pub const XK_Georgian_kan: u32 = 16781529;
pub const XK_Georgian_las: u32 = 16781530;
pub const XK_Georgian_man: u32 = 16781531;
pub const XK_Georgian_nar: u32 = 16781532;
pub const XK_Georgian_on: u32 = 16781533;
pub const XK_Georgian_par: u32 = 16781534;
pub const XK_Georgian_zhar: u32 = 16781535;
pub const XK_Georgian_rae: u32 = 16781536;
pub const XK_Georgian_san: u32 = 16781537;
pub const XK_Georgian_tar: u32 = 16781538;
pub const XK_Georgian_un: u32 = 16781539;
pub const XK_Georgian_phar: u32 = 16781540;
pub const XK_Georgian_khar: u32 = 16781541;
pub const XK_Georgian_ghan: u32 = 16781542;
pub const XK_Georgian_qar: u32 = 16781543;
pub const XK_Georgian_shin: u32 = 16781544;
pub const XK_Georgian_chin: u32 = 16781545;
pub const XK_Georgian_can: u32 = 16781546;
pub const XK_Georgian_jil: u32 = 16781547;
pub const XK_Georgian_cil: u32 = 16781548;
pub const XK_Georgian_char: u32 = 16781549;
pub const XK_Georgian_xan: u32 = 16781550;
pub const XK_Georgian_jhan: u32 = 16781551;
pub const XK_Georgian_hae: u32 = 16781552;
pub const XK_Georgian_he: u32 = 16781553;
pub const XK_Georgian_hie: u32 = 16781554;
pub const XK_Georgian_we: u32 = 16781555;
pub const XK_Georgian_har: u32 = 16781556;
pub const XK_Georgian_hoe: u32 = 16781557;
pub const XK_Georgian_fi: u32 = 16781558;
pub const XK_Xabovedot: u32 = 16785034;
pub const XK_Ibreve: u32 = 16777516;
pub const XK_Zstroke: u32 = 16777653;
pub const XK_Gcaron: u32 = 16777702;
pub const XK_Ocaron: u32 = 16777681;
pub const XK_Obarred: u32 = 16777631;
pub const XK_xabovedot: u32 = 16785035;
pub const XK_ibreve: u32 = 16777517;
pub const XK_zstroke: u32 = 16777654;
pub const XK_gcaron: u32 = 16777703;
pub const XK_ocaron: u32 = 16777682;
pub const XK_obarred: u32 = 16777845;
pub const XK_SCHWA: u32 = 16777615;
pub const XK_schwa: u32 = 16777817;
pub const XK_EZH: u32 = 16777655;
pub const XK_ezh: u32 = 16777874;
pub const XK_Lbelowdot: u32 = 16784950;
pub const XK_lbelowdot: u32 = 16784951;
pub const XK_Abelowdot: u32 = 16785056;
pub const XK_abelowdot: u32 = 16785057;
pub const XK_Ahook: u32 = 16785058;
pub const XK_ahook: u32 = 16785059;
pub const XK_Acircumflexacute: u32 = 16785060;
pub const XK_acircumflexacute: u32 = 16785061;
pub const XK_Acircumflexgrave: u32 = 16785062;
pub const XK_acircumflexgrave: u32 = 16785063;
pub const XK_Acircumflexhook: u32 = 16785064;
pub const XK_acircumflexhook: u32 = 16785065;
pub const XK_Acircumflextilde: u32 = 16785066;
pub const XK_acircumflextilde: u32 = 16785067;
pub const XK_Acircumflexbelowdot: u32 = 16785068;
pub const XK_acircumflexbelowdot: u32 = 16785069;
pub const XK_Abreveacute: u32 = 16785070;
pub const XK_abreveacute: u32 = 16785071;
pub const XK_Abrevegrave: u32 = 16785072;
pub const XK_abrevegrave: u32 = 16785073;
pub const XK_Abrevehook: u32 = 16785074;
pub const XK_abrevehook: u32 = 16785075;
pub const XK_Abrevetilde: u32 = 16785076;
pub const XK_abrevetilde: u32 = 16785077;
pub const XK_Abrevebelowdot: u32 = 16785078;
pub const XK_abrevebelowdot: u32 = 16785079;
pub const XK_Ebelowdot: u32 = 16785080;
pub const XK_ebelowdot: u32 = 16785081;
pub const XK_Ehook: u32 = 16785082;
pub const XK_ehook: u32 = 16785083;
pub const XK_Etilde: u32 = 16785084;
pub const XK_etilde: u32 = 16785085;
pub const XK_Ecircumflexacute: u32 = 16785086;
pub const XK_ecircumflexacute: u32 = 16785087;
pub const XK_Ecircumflexgrave: u32 = 16785088;
pub const XK_ecircumflexgrave: u32 = 16785089;
pub const XK_Ecircumflexhook: u32 = 16785090;
pub const XK_ecircumflexhook: u32 = 16785091;
pub const XK_Ecircumflextilde: u32 = 16785092;
pub const XK_ecircumflextilde: u32 = 16785093;
pub const XK_Ecircumflexbelowdot: u32 = 16785094;
pub const XK_ecircumflexbelowdot: u32 = 16785095;
pub const XK_Ihook: u32 = 16785096;
pub const XK_ihook: u32 = 16785097;
pub const XK_Ibelowdot: u32 = 16785098;
pub const XK_ibelowdot: u32 = 16785099;
pub const XK_Obelowdot: u32 = 16785100;
pub const XK_obelowdot: u32 = 16785101;
pub const XK_Ohook: u32 = 16785102;
pub const XK_ohook: u32 = 16785103;
pub const XK_Ocircumflexacute: u32 = 16785104;
pub const XK_ocircumflexacute: u32 = 16785105;
pub const XK_Ocircumflexgrave: u32 = 16785106;
pub const XK_ocircumflexgrave: u32 = 16785107;
pub const XK_Ocircumflexhook: u32 = 16785108;
pub const XK_ocircumflexhook: u32 = 16785109;
pub const XK_Ocircumflextilde: u32 = 16785110;
pub const XK_ocircumflextilde: u32 = 16785111;
pub const XK_Ocircumflexbelowdot: u32 = 16785112;
pub const XK_ocircumflexbelowdot: u32 = 16785113;
pub const XK_Ohornacute: u32 = 16785114;
pub const XK_ohornacute: u32 = 16785115;
pub const XK_Ohorngrave: u32 = 16785116;
pub const XK_ohorngrave: u32 = 16785117;
pub const XK_Ohornhook: u32 = 16785118;
pub const XK_ohornhook: u32 = 16785119;
pub const XK_Ohorntilde: u32 = 16785120;
pub const XK_ohorntilde: u32 = 16785121;
pub const XK_Ohornbelowdot: u32 = 16785122;
pub const XK_ohornbelowdot: u32 = 16785123;
pub const XK_Ubelowdot: u32 = 16785124;
pub const XK_ubelowdot: u32 = 16785125;
pub const XK_Uhook: u32 = 16785126;
pub const XK_uhook: u32 = 16785127;
pub const XK_Uhornacute: u32 = 16785128;
pub const XK_uhornacute: u32 = 16785129;
pub const XK_Uhorngrave: u32 = 16785130;
pub const XK_uhorngrave: u32 = 16785131;
pub const XK_Uhornhook: u32 = 16785132;
pub const XK_uhornhook: u32 = 16785133;
pub const XK_Uhorntilde: u32 = 16785134;
pub const XK_uhorntilde: u32 = 16785135;
pub const XK_Uhornbelowdot: u32 = 16785136;
pub const XK_uhornbelowdot: u32 = 16785137;
pub const XK_Ybelowdot: u32 = 16785140;
pub const XK_ybelowdot: u32 = 16785141;
pub const XK_Yhook: u32 = 16785142;
pub const XK_yhook: u32 = 16785143;
pub const XK_Ytilde: u32 = 16785144;
pub const XK_ytilde: u32 = 16785145;
pub const XK_Ohorn: u32 = 16777632;
pub const XK_ohorn: u32 = 16777633;
pub const XK_Uhorn: u32 = 16777647;
pub const XK_uhorn: u32 = 16777648;
pub const XK_EcuSign: u32 = 16785568;
pub const XK_ColonSign: u32 = 16785569;
pub const XK_CruzeiroSign: u32 = 16785570;
pub const XK_FFrancSign: u32 = 16785571;
pub const XK_LiraSign: u32 = 16785572;
pub const XK_MillSign: u32 = 16785573;
pub const XK_NairaSign: u32 = 16785574;
pub const XK_PesetaSign: u32 = 16785575;
pub const XK_RupeeSign: u32 = 16785576;
pub const XK_WonSign: u32 = 16785577;
pub const XK_NewSheqelSign: u32 = 16785578;
pub const XK_DongSign: u32 = 16785579;
pub const XK_EuroSign: u32 = 8364;
pub const XK_zerosuperior: u32 = 16785520;
pub const XK_foursuperior: u32 = 16785524;
pub const XK_fivesuperior: u32 = 16785525;
pub const XK_sixsuperior: u32 = 16785526;
pub const XK_sevensuperior: u32 = 16785527;
pub const XK_eightsuperior: u32 = 16785528;
pub const XK_ninesuperior: u32 = 16785529;
pub const XK_zerosubscript: u32 = 16785536;
pub const XK_onesubscript: u32 = 16785537;
pub const XK_twosubscript: u32 = 16785538;
pub const XK_threesubscript: u32 = 16785539;
pub const XK_foursubscript: u32 = 16785540;
pub const XK_fivesubscript: u32 = 16785541;
pub const XK_sixsubscript: u32 = 16785542;
pub const XK_sevensubscript: u32 = 16785543;
pub const XK_eightsubscript: u32 = 16785544;
pub const XK_ninesubscript: u32 = 16785545;
pub const XK_partdifferential: u32 = 16785922;
pub const XK_emptyset: u32 = 16785925;
pub const XK_elementof: u32 = 16785928;
pub const XK_notelementof: u32 = 16785929;
pub const XK_containsas: u32 = 16785931;
pub const XK_squareroot: u32 = 16785946;
pub const XK_cuberoot: u32 = 16785947;
pub const XK_fourthroot: u32 = 16785948;
pub const XK_dintegral: u32 = 16785964;
pub const XK_tintegral: u32 = 16785965;
pub const XK_because: u32 = 16785973;
pub const XK_approxeq: u32 = 16785992;
pub const XK_notapproxeq: u32 = 16785991;
pub const XK_notidentical: u32 = 16786018;
pub const XK_stricteq: u32 = 16786019;
pub const XK_braille_dot_1: u32 = 65521;
pub const XK_braille_dot_2: u32 = 65522;
pub const XK_braille_dot_3: u32 = 65523;
pub const XK_braille_dot_4: u32 = 65524;
pub const XK_braille_dot_5: u32 = 65525;
pub const XK_braille_dot_6: u32 = 65526;
pub const XK_braille_dot_7: u32 = 65527;
pub const XK_braille_dot_8: u32 = 65528;
pub const XK_braille_dot_9: u32 = 65529;
pub const XK_braille_dot_10: u32 = 65530;
pub const XK_braille_blank: u32 = 16787456;
pub const XK_braille_dots_1: u32 = 16787457;
pub const XK_braille_dots_2: u32 = 16787458;
pub const XK_braille_dots_12: u32 = 16787459;
pub const XK_braille_dots_3: u32 = 16787460;
pub const XK_braille_dots_13: u32 = 16787461;
pub const XK_braille_dots_23: u32 = 16787462;
pub const XK_braille_dots_123: u32 = 16787463;
pub const XK_braille_dots_4: u32 = 16787464;
pub const XK_braille_dots_14: u32 = 16787465;
pub const XK_braille_dots_24: u32 = 16787466;
pub const XK_braille_dots_124: u32 = 16787467;
pub const XK_braille_dots_34: u32 = 16787468;
pub const XK_braille_dots_134: u32 = 16787469;
pub const XK_braille_dots_234: u32 = 16787470;
pub const XK_braille_dots_1234: u32 = 16787471;
pub const XK_braille_dots_5: u32 = 16787472;
pub const XK_braille_dots_15: u32 = 16787473;
pub const XK_braille_dots_25: u32 = 16787474;
pub const XK_braille_dots_125: u32 = 16787475;
pub const XK_braille_dots_35: u32 = 16787476;
pub const XK_braille_dots_135: u32 = 16787477;
pub const XK_braille_dots_235: u32 = 16787478;
pub const XK_braille_dots_1235: u32 = 16787479;
pub const XK_braille_dots_45: u32 = 16787480;
pub const XK_braille_dots_145: u32 = 16787481;
pub const XK_braille_dots_245: u32 = 16787482;
pub const XK_braille_dots_1245: u32 = 16787483;
pub const XK_braille_dots_345: u32 = 16787484;
pub const XK_braille_dots_1345: u32 = 16787485;
pub const XK_braille_dots_2345: u32 = 16787486;
pub const XK_braille_dots_12345: u32 = 16787487;
pub const XK_braille_dots_6: u32 = 16787488;
pub const XK_braille_dots_16: u32 = 16787489;
pub const XK_braille_dots_26: u32 = 16787490;
pub const XK_braille_dots_126: u32 = 16787491;
pub const XK_braille_dots_36: u32 = 16787492;
pub const XK_braille_dots_136: u32 = 16787493;
pub const XK_braille_dots_236: u32 = 16787494;
pub const XK_braille_dots_1236: u32 = 16787495;
pub const XK_braille_dots_46: u32 = 16787496;
pub const XK_braille_dots_146: u32 = 16787497;
pub const XK_braille_dots_246: u32 = 16787498;
pub const XK_braille_dots_1246: u32 = 16787499;
pub const XK_braille_dots_346: u32 = 16787500;
pub const XK_braille_dots_1346: u32 = 16787501;
pub const XK_braille_dots_2346: u32 = 16787502;
pub const XK_braille_dots_12346: u32 = 16787503;
pub const XK_braille_dots_56: u32 = 16787504;
pub const XK_braille_dots_156: u32 = 16787505;
pub const XK_braille_dots_256: u32 = 16787506;
pub const XK_braille_dots_1256: u32 = 16787507;
pub const XK_braille_dots_356: u32 = 16787508;
pub const XK_braille_dots_1356: u32 = 16787509;
pub const XK_braille_dots_2356: u32 = 16787510;
pub const XK_braille_dots_12356: u32 = 16787511;
pub const XK_braille_dots_456: u32 = 16787512;
pub const XK_braille_dots_1456: u32 = 16787513;
pub const XK_braille_dots_2456: u32 = 16787514;
pub const XK_braille_dots_12456: u32 = 16787515;
pub const XK_braille_dots_3456: u32 = 16787516;
pub const XK_braille_dots_13456: u32 = 16787517;
pub const XK_braille_dots_23456: u32 = 16787518;
pub const XK_braille_dots_123456: u32 = 16787519;
pub const XK_braille_dots_7: u32 = 16787520;
pub const XK_braille_dots_17: u32 = 16787521;
pub const XK_braille_dots_27: u32 = 16787522;
pub const XK_braille_dots_127: u32 = 16787523;
pub const XK_braille_dots_37: u32 = 16787524;
pub const XK_braille_dots_137: u32 = 16787525;
pub const XK_braille_dots_237: u32 = 16787526;
pub const XK_braille_dots_1237: u32 = 16787527;
pub const XK_braille_dots_47: u32 = 16787528;
pub const XK_braille_dots_147: u32 = 16787529;
pub const XK_braille_dots_247: u32 = 16787530;
pub const XK_braille_dots_1247: u32 = 16787531;
pub const XK_braille_dots_347: u32 = 16787532;
pub const XK_braille_dots_1347: u32 = 16787533;
pub const XK_braille_dots_2347: u32 = 16787534;
pub const XK_braille_dots_12347: u32 = 16787535;
pub const XK_braille_dots_57: u32 = 16787536;
pub const XK_braille_dots_157: u32 = 16787537;
pub const XK_braille_dots_257: u32 = 16787538;
pub const XK_braille_dots_1257: u32 = 16787539;
pub const XK_braille_dots_357: u32 = 16787540;
pub const XK_braille_dots_1357: u32 = 16787541;
pub const XK_braille_dots_2357: u32 = 16787542;
pub const XK_braille_dots_12357: u32 = 16787543;
pub const XK_braille_dots_457: u32 = 16787544;
pub const XK_braille_dots_1457: u32 = 16787545;
pub const XK_braille_dots_2457: u32 = 16787546;
pub const XK_braille_dots_12457: u32 = 16787547;
pub const XK_braille_dots_3457: u32 = 16787548;
pub const XK_braille_dots_13457: u32 = 16787549;
pub const XK_braille_dots_23457: u32 = 16787550;
pub const XK_braille_dots_123457: u32 = 16787551;
pub const XK_braille_dots_67: u32 = 16787552;
pub const XK_braille_dots_167: u32 = 16787553;
pub const XK_braille_dots_267: u32 = 16787554;
pub const XK_braille_dots_1267: u32 = 16787555;
pub const XK_braille_dots_367: u32 = 16787556;
pub const XK_braille_dots_1367: u32 = 16787557;
pub const XK_braille_dots_2367: u32 = 16787558;
pub const XK_braille_dots_12367: u32 = 16787559;
pub const XK_braille_dots_467: u32 = 16787560;
pub const XK_braille_dots_1467: u32 = 16787561;
pub const XK_braille_dots_2467: u32 = 16787562;
pub const XK_braille_dots_12467: u32 = 16787563;
pub const XK_braille_dots_3467: u32 = 16787564;
pub const XK_braille_dots_13467: u32 = 16787565;
pub const XK_braille_dots_23467: u32 = 16787566;
pub const XK_braille_dots_123467: u32 = 16787567;
pub const XK_braille_dots_567: u32 = 16787568;
pub const XK_braille_dots_1567: u32 = 16787569;
pub const XK_braille_dots_2567: u32 = 16787570;
pub const XK_braille_dots_12567: u32 = 16787571;
pub const XK_braille_dots_3567: u32 = 16787572;
pub const XK_braille_dots_13567: u32 = 16787573;
pub const XK_braille_dots_23567: u32 = 16787574;
pub const XK_braille_dots_123567: u32 = 16787575;
pub const XK_braille_dots_4567: u32 = 16787576;
pub const XK_braille_dots_14567: u32 = 16787577;
pub const XK_braille_dots_24567: u32 = 16787578;
pub const XK_braille_dots_124567: u32 = 16787579;
pub const XK_braille_dots_34567: u32 = 16787580;
pub const XK_braille_dots_134567: u32 = 16787581;
pub const XK_braille_dots_234567: u32 = 16787582;
pub const XK_braille_dots_1234567: u32 = 16787583;
pub const XK_braille_dots_8: u32 = 16787584;
pub const XK_braille_dots_18: u32 = 16787585;
pub const XK_braille_dots_28: u32 = 16787586;
pub const XK_braille_dots_128: u32 = 16787587;
pub const XK_braille_dots_38: u32 = 16787588;
pub const XK_braille_dots_138: u32 = 16787589;
pub const XK_braille_dots_238: u32 = 16787590;
pub const XK_braille_dots_1238: u32 = 16787591;
pub const XK_braille_dots_48: u32 = 16787592;
pub const XK_braille_dots_148: u32 = 16787593;
pub const XK_braille_dots_248: u32 = 16787594;
pub const XK_braille_dots_1248: u32 = 16787595;
pub const XK_braille_dots_348: u32 = 16787596;
pub const XK_braille_dots_1348: u32 = 16787597;
pub const XK_braille_dots_2348: u32 = 16787598;
pub const XK_braille_dots_12348: u32 = 16787599;
pub const XK_braille_dots_58: u32 = 16787600;
pub const XK_braille_dots_158: u32 = 16787601;
pub const XK_braille_dots_258: u32 = 16787602;
pub const XK_braille_dots_1258: u32 = 16787603;
pub const XK_braille_dots_358: u32 = 16787604;
pub const XK_braille_dots_1358: u32 = 16787605;
pub const XK_braille_dots_2358: u32 = 16787606;
pub const XK_braille_dots_12358: u32 = 16787607;
pub const XK_braille_dots_458: u32 = 16787608;
pub const XK_braille_dots_1458: u32 = 16787609;
pub const XK_braille_dots_2458: u32 = 16787610;
pub const XK_braille_dots_12458: u32 = 16787611;
pub const XK_braille_dots_3458: u32 = 16787612;
pub const XK_braille_dots_13458: u32 = 16787613;
pub const XK_braille_dots_23458: u32 = 16787614;
pub const XK_braille_dots_123458: u32 = 16787615;
pub const XK_braille_dots_68: u32 = 16787616;
pub const XK_braille_dots_168: u32 = 16787617;
pub const XK_braille_dots_268: u32 = 16787618;
pub const XK_braille_dots_1268: u32 = 16787619;
pub const XK_braille_dots_368: u32 = 16787620;
pub const XK_braille_dots_1368: u32 = 16787621;
pub const XK_braille_dots_2368: u32 = 16787622;
pub const XK_braille_dots_12368: u32 = 16787623;
pub const XK_braille_dots_468: u32 = 16787624;
pub const XK_braille_dots_1468: u32 = 16787625;
pub const XK_braille_dots_2468: u32 = 16787626;
pub const XK_braille_dots_12468: u32 = 16787627;
pub const XK_braille_dots_3468: u32 = 16787628;
pub const XK_braille_dots_13468: u32 = 16787629;
pub const XK_braille_dots_23468: u32 = 16787630;
pub const XK_braille_dots_123468: u32 = 16787631;
pub const XK_braille_dots_568: u32 = 16787632;
pub const XK_braille_dots_1568: u32 = 16787633;
pub const XK_braille_dots_2568: u32 = 16787634;
pub const XK_braille_dots_12568: u32 = 16787635;
pub const XK_braille_dots_3568: u32 = 16787636;
pub const XK_braille_dots_13568: u32 = 16787637;
pub const XK_braille_dots_23568: u32 = 16787638;
pub const XK_braille_dots_123568: u32 = 16787639;
pub const XK_braille_dots_4568: u32 = 16787640;
pub const XK_braille_dots_14568: u32 = 16787641;
pub const XK_braille_dots_24568: u32 = 16787642;
pub const XK_braille_dots_124568: u32 = 16787643;
pub const XK_braille_dots_34568: u32 = 16787644;
pub const XK_braille_dots_134568: u32 = 16787645;
pub const XK_braille_dots_234568: u32 = 16787646;
pub const XK_braille_dots_1234568: u32 = 16787647;
pub const XK_braille_dots_78: u32 = 16787648;
pub const XK_braille_dots_178: u32 = 16787649;
pub const XK_braille_dots_278: u32 = 16787650;
pub const XK_braille_dots_1278: u32 = 16787651;
pub const XK_braille_dots_378: u32 = 16787652;
pub const XK_braille_dots_1378: u32 = 16787653;
pub const XK_braille_dots_2378: u32 = 16787654;
pub const XK_braille_dots_12378: u32 = 16787655;
pub const XK_braille_dots_478: u32 = 16787656;
pub const XK_braille_dots_1478: u32 = 16787657;
pub const XK_braille_dots_2478: u32 = 16787658;
pub const XK_braille_dots_12478: u32 = 16787659;
pub const XK_braille_dots_3478: u32 = 16787660;
pub const XK_braille_dots_13478: u32 = 16787661;
pub const XK_braille_dots_23478: u32 = 16787662;
pub const XK_braille_dots_123478: u32 = 16787663;
pub const XK_braille_dots_578: u32 = 16787664;
pub const XK_braille_dots_1578: u32 = 16787665;
pub const XK_braille_dots_2578: u32 = 16787666;
pub const XK_braille_dots_12578: u32 = 16787667;
pub const XK_braille_dots_3578: u32 = 16787668;
pub const XK_braille_dots_13578: u32 = 16787669;
pub const XK_braille_dots_23578: u32 = 16787670;
pub const XK_braille_dots_123578: u32 = 16787671;
pub const XK_braille_dots_4578: u32 = 16787672;
pub const XK_braille_dots_14578: u32 = 16787673;
pub const XK_braille_dots_24578: u32 = 16787674;
pub const XK_braille_dots_124578: u32 = 16787675;
pub const XK_braille_dots_34578: u32 = 16787676;
pub const XK_braille_dots_134578: u32 = 16787677;
pub const XK_braille_dots_234578: u32 = 16787678;
pub const XK_braille_dots_1234578: u32 = 16787679;
pub const XK_braille_dots_678: u32 = 16787680;
pub const XK_braille_dots_1678: u32 = 16787681;
pub const XK_braille_dots_2678: u32 = 16787682;
pub const XK_braille_dots_12678: u32 = 16787683;
pub const XK_braille_dots_3678: u32 = 16787684;
pub const XK_braille_dots_13678: u32 = 16787685;
pub const XK_braille_dots_23678: u32 = 16787686;
pub const XK_braille_dots_123678: u32 = 16787687;
pub const XK_braille_dots_4678: u32 = 16787688;
pub const XK_braille_dots_14678: u32 = 16787689;
pub const XK_braille_dots_24678: u32 = 16787690;
pub const XK_braille_dots_124678: u32 = 16787691;
pub const XK_braille_dots_34678: u32 = 16787692;
pub const XK_braille_dots_134678: u32 = 16787693;
pub const XK_braille_dots_234678: u32 = 16787694;
pub const XK_braille_dots_1234678: u32 = 16787695;
pub const XK_braille_dots_5678: u32 = 16787696;
pub const XK_braille_dots_15678: u32 = 16787697;
pub const XK_braille_dots_25678: u32 = 16787698;
pub const XK_braille_dots_125678: u32 = 16787699;
pub const XK_braille_dots_35678: u32 = 16787700;
pub const XK_braille_dots_135678: u32 = 16787701;
pub const XK_braille_dots_235678: u32 = 16787702;
pub const XK_braille_dots_1235678: u32 = 16787703;
pub const XK_braille_dots_45678: u32 = 16787704;
pub const XK_braille_dots_145678: u32 = 16787705;
pub const XK_braille_dots_245678: u32 = 16787706;
pub const XK_braille_dots_1245678: u32 = 16787707;
pub const XK_braille_dots_345678: u32 = 16787708;
pub const XK_braille_dots_1345678: u32 = 16787709;
pub const XK_braille_dots_2345678: u32 = 16787710;
pub const XK_braille_dots_12345678: u32 = 16787711;
pub const XK_Sinh_ng: u32 = 16780674;
pub const XK_Sinh_h2: u32 = 16780675;
pub const XK_Sinh_a: u32 = 16780677;
pub const XK_Sinh_aa: u32 = 16780678;
pub const XK_Sinh_ae: u32 = 16780679;
pub const XK_Sinh_aee: u32 = 16780680;
pub const XK_Sinh_i: u32 = 16780681;
pub const XK_Sinh_ii: u32 = 16780682;
pub const XK_Sinh_u: u32 = 16780683;
pub const XK_Sinh_uu: u32 = 16780684;
pub const XK_Sinh_ri: u32 = 16780685;
pub const XK_Sinh_rii: u32 = 16780686;
pub const XK_Sinh_lu: u32 = 16780687;
pub const XK_Sinh_luu: u32 = 16780688;
pub const XK_Sinh_e: u32 = 16780689;
pub const XK_Sinh_ee: u32 = 16780690;
pub const XK_Sinh_ai: u32 = 16780691;
pub const XK_Sinh_o: u32 = 16780692;
pub const XK_Sinh_oo: u32 = 16780693;
pub const XK_Sinh_au: u32 = 16780694;
pub const XK_Sinh_ka: u32 = 16780698;
pub const XK_Sinh_kha: u32 = 16780699;
pub const XK_Sinh_ga: u32 = 16780700;
pub const XK_Sinh_gha: u32 = 16780701;
pub const XK_Sinh_ng2: u32 = 16780702;
pub const XK_Sinh_nga: u32 = 16780703;
pub const XK_Sinh_ca: u32 = 16780704;
pub const XK_Sinh_cha: u32 = 16780705;
pub const XK_Sinh_ja: u32 = 16780706;
pub const XK_Sinh_jha: u32 = 16780707;
pub const XK_Sinh_nya: u32 = 16780708;
pub const XK_Sinh_jnya: u32 = 16780709;
pub const XK_Sinh_nja: u32 = 16780710;
pub const XK_Sinh_tta: u32 = 16780711;
pub const XK_Sinh_ttha: u32 = 16780712;
pub const XK_Sinh_dda: u32 = 16780713;
pub const XK_Sinh_ddha: u32 = 16780714;
pub const XK_Sinh_nna: u32 = 16780715;
pub const XK_Sinh_ndda: u32 = 16780716;
pub const XK_Sinh_tha: u32 = 16780717;
pub const XK_Sinh_thha: u32 = 16780718;
pub const XK_Sinh_dha: u32 = 16780719;
pub const XK_Sinh_dhha: u32 = 16780720;
pub const XK_Sinh_na: u32 = 16780721;
pub const XK_Sinh_ndha: u32 = 16780723;
pub const XK_Sinh_pa: u32 = 16780724;
pub const XK_Sinh_pha: u32 = 16780725;
pub const XK_Sinh_ba: u32 = 16780726;
pub const XK_Sinh_bha: u32 = 16780727;
pub const XK_Sinh_ma: u32 = 16780728;
pub const XK_Sinh_mba: u32 = 16780729;
pub const XK_Sinh_ya: u32 = 16780730;
pub const XK_Sinh_ra: u32 = 16780731;
pub const XK_Sinh_la: u32 = 16780733;
pub const XK_Sinh_va: u32 = 16780736;
pub const XK_Sinh_sha: u32 = 16780737;
pub const XK_Sinh_ssha: u32 = 16780738;
pub const XK_Sinh_sa: u32 = 16780739;
pub const XK_Sinh_ha: u32 = 16780740;
pub const XK_Sinh_lla: u32 = 16780741;
pub const XK_Sinh_fa: u32 = 16780742;
pub const XK_Sinh_al: u32 = 16780746;
pub const XK_Sinh_aa2: u32 = 16780751;
pub const XK_Sinh_ae2: u32 = 16780752;
pub const XK_Sinh_aee2: u32 = 16780753;
pub const XK_Sinh_i2: u32 = 16780754;
pub const XK_Sinh_ii2: u32 = 16780755;
pub const XK_Sinh_u2: u32 = 16780756;
pub const XK_Sinh_uu2: u32 = 16780758;
pub const XK_Sinh_ru2: u32 = 16780760;
pub const XK_Sinh_e2: u32 = 16780761;
pub const XK_Sinh_ee2: u32 = 16780762;
pub const XK_Sinh_ai2: u32 = 16780763;
pub const XK_Sinh_o2: u32 = 16780764;
pub const XK_Sinh_oo2: u32 = 16780765;
pub const XK_Sinh_au2: u32 = 16780766;
pub const XK_Sinh_lu2: u32 = 16780767;
pub const XK_Sinh_ruu2: u32 = 16780786;
pub const XK_Sinh_luu2: u32 = 16780787;
pub const XK_Sinh_kunddaliya: u32 = 16780788;
pub const NoValue: u32 = 0;
pub const XValue: u32 = 1;
pub const YValue: u32 = 2;
pub const WidthValue: u32 = 4;
pub const HeightValue: u32 = 8;
pub const AllValues: u32 = 15;
pub const XNegative: u32 = 16;
pub const YNegative: u32 = 32;
pub const USPosition: u32 = 1;
pub const USSize: u32 = 2;
pub const PPosition: u32 = 4;
pub const PSize: u32 = 8;
pub const PMinSize: u32 = 16;
pub const PMaxSize: u32 = 32;
pub const PResizeInc: u32 = 64;
pub const PAspect: u32 = 128;
pub const PBaseSize: u32 = 256;
pub const PWinGravity: u32 = 512;
pub const PAllHints: u32 = 252;
pub const InputHint: u32 = 1;
pub const StateHint: u32 = 2;
pub const IconPixmapHint: u32 = 4;
pub const IconWindowHint: u32 = 8;
pub const IconPositionHint: u32 = 16;
pub const IconMaskHint: u32 = 32;
pub const WindowGroupHint: u32 = 64;
pub const AllHints: u32 = 127;
pub const XUrgencyHint: u32 = 256;
pub const WithdrawnState: u32 = 0;
pub const NormalState: u32 = 1;
pub const IconicState: u32 = 3;
pub const DontCareState: u32 = 0;
pub const ZoomState: u32 = 2;
pub const InactiveState: u32 = 4;
pub const XNoMemory: i32 = -1;
pub const XLocaleNotSupported: i32 = -2;
pub const XConverterNotFound: i32 = -3;
pub const RectangleOut: u32 = 0;
pub const RectangleIn: u32 = 1;
pub const RectanglePart: u32 = 2;
pub const VisualNoMask: u32 = 0;
pub const VisualIDMask: u32 = 1;
pub const VisualScreenMask: u32 = 2;
pub const VisualDepthMask: u32 = 4;
pub const VisualClassMask: u32 = 8;
pub const VisualRedMaskMask: u32 = 16;
pub const VisualGreenMaskMask: u32 = 32;
pub const VisualBlueMaskMask: u32 = 64;
pub const VisualColormapSizeMask: u32 = 128;
pub const VisualBitsPerRGBMask: u32 = 256;
pub const VisualAllMask: u32 = 511;
pub const BitmapSuccess: u32 = 0;
pub const BitmapOpenFailed: u32 = 1;
pub const BitmapFileInvalid: u32 = 2;
pub const BitmapNoMemory: u32 = 3;
pub const XCSUCCESS: u32 = 0;
pub const XCNOMEM: u32 = 1;
pub const XCNOENT: u32 = 2;
pub const GL_VERSION_1_1: u32 = 1;
pub const GL_VERSION_1_2: u32 = 1;
pub const GL_VERSION_1_3: u32 = 1;
pub const GL_ARB_imaging: u32 = 1;
pub const GL_FALSE: u32 = 0;
pub const GL_TRUE: u32 = 1;
pub const GL_BYTE: u32 = 5120;
pub const GL_UNSIGNED_BYTE: u32 = 5121;
pub const GL_SHORT: u32 = 5122;
pub const GL_UNSIGNED_SHORT: u32 = 5123;
pub const GL_INT: u32 = 5124;
pub const GL_UNSIGNED_INT: u32 = 5125;
pub const GL_FLOAT: u32 = 5126;
pub const GL_2_BYTES: u32 = 5127;
pub const GL_3_BYTES: u32 = 5128;
pub const GL_4_BYTES: u32 = 5129;
pub const GL_DOUBLE: u32 = 5130;
pub const GL_POINTS: u32 = 0;
pub const GL_LINES: u32 = 1;
pub const GL_LINE_LOOP: u32 = 2;
pub const GL_LINE_STRIP: u32 = 3;
pub const GL_TRIANGLES: u32 = 4;
pub const GL_TRIANGLE_STRIP: u32 = 5;
pub const GL_TRIANGLE_FAN: u32 = 6;
pub const GL_QUADS: u32 = 7;
pub const GL_QUAD_STRIP: u32 = 8;
pub const GL_POLYGON: u32 = 9;
pub const GL_VERTEX_ARRAY: u32 = 32884;
pub const GL_NORMAL_ARRAY: u32 = 32885;
pub const GL_COLOR_ARRAY: u32 = 32886;
pub const GL_INDEX_ARRAY: u32 = 32887;
pub const GL_TEXTURE_COORD_ARRAY: u32 = 32888;
pub const GL_EDGE_FLAG_ARRAY: u32 = 32889;
pub const GL_VERTEX_ARRAY_SIZE: u32 = 32890;
pub const GL_VERTEX_ARRAY_TYPE: u32 = 32891;
pub const GL_VERTEX_ARRAY_STRIDE: u32 = 32892;
pub const GL_NORMAL_ARRAY_TYPE: u32 = 32894;
pub const GL_NORMAL_ARRAY_STRIDE: u32 = 32895;
pub const GL_COLOR_ARRAY_SIZE: u32 = 32897;
pub const GL_COLOR_ARRAY_TYPE: u32 = 32898;
pub const GL_COLOR_ARRAY_STRIDE: u32 = 32899;
pub const GL_INDEX_ARRAY_TYPE: u32 = 32901;
pub const GL_INDEX_ARRAY_STRIDE: u32 = 32902;
pub const GL_TEXTURE_COORD_ARRAY_SIZE: u32 = 32904;
pub const GL_TEXTURE_COORD_ARRAY_TYPE: u32 = 32905;
pub const GL_TEXTURE_COORD_ARRAY_STRIDE: u32 = 32906;
pub const GL_EDGE_FLAG_ARRAY_STRIDE: u32 = 32908;
pub const GL_VERTEX_ARRAY_POINTER: u32 = 32910;
pub const GL_NORMAL_ARRAY_POINTER: u32 = 32911;
pub const GL_COLOR_ARRAY_POINTER: u32 = 32912;
pub const GL_INDEX_ARRAY_POINTER: u32 = 32913;
pub const GL_TEXTURE_COORD_ARRAY_POINTER: u32 = 32914;
pub const GL_EDGE_FLAG_ARRAY_POINTER: u32 = 32915;
pub const GL_V2F: u32 = 10784;
pub const GL_V3F: u32 = 10785;
pub const GL_C4UB_V2F: u32 = 10786;
pub const GL_C4UB_V3F: u32 = 10787;
pub const GL_C3F_V3F: u32 = 10788;
pub const GL_N3F_V3F: u32 = 10789;
pub const GL_C4F_N3F_V3F: u32 = 10790;
pub const GL_T2F_V3F: u32 = 10791;
pub const GL_T4F_V4F: u32 = 10792;
pub const GL_T2F_C4UB_V3F: u32 = 10793;
pub const GL_T2F_C3F_V3F: u32 = 10794;
pub const GL_T2F_N3F_V3F: u32 = 10795;
pub const GL_T2F_C4F_N3F_V3F: u32 = 10796;
pub const GL_T4F_C4F_N3F_V4F: u32 = 10797;
pub const GL_MATRIX_MODE: u32 = 2976;
pub const GL_MODELVIEW: u32 = 5888;
pub const GL_PROJECTION: u32 = 5889;
pub const GL_TEXTURE: u32 = 5890;
pub const GL_POINT_SMOOTH: u32 = 2832;
pub const GL_POINT_SIZE: u32 = 2833;
pub const GL_POINT_SIZE_GRANULARITY: u32 = 2835;
pub const GL_POINT_SIZE_RANGE: u32 = 2834;
pub const GL_LINE_SMOOTH: u32 = 2848;
pub const GL_LINE_STIPPLE: u32 = 2852;
pub const GL_LINE_STIPPLE_PATTERN: u32 = 2853;
pub const GL_LINE_STIPPLE_REPEAT: u32 = 2854;
pub const GL_LINE_WIDTH: u32 = 2849;
pub const GL_LINE_WIDTH_GRANULARITY: u32 = 2851;
pub const GL_LINE_WIDTH_RANGE: u32 = 2850;
pub const GL_POINT: u32 = 6912;
pub const GL_LINE: u32 = 6913;
pub const GL_FILL: u32 = 6914;
pub const GL_CW: u32 = 2304;
pub const GL_CCW: u32 = 2305;
pub const GL_FRONT: u32 = 1028;
pub const GL_BACK: u32 = 1029;
pub const GL_POLYGON_MODE: u32 = 2880;
pub const GL_POLYGON_SMOOTH: u32 = 2881;
pub const GL_POLYGON_STIPPLE: u32 = 2882;
pub const GL_EDGE_FLAG: u32 = 2883;
pub const GL_CULL_FACE: u32 = 2884;
pub const GL_CULL_FACE_MODE: u32 = 2885;
pub const GL_FRONT_FACE: u32 = 2886;
pub const GL_POLYGON_OFFSET_FACTOR: u32 = 32824;
pub const GL_POLYGON_OFFSET_UNITS: u32 = 10752;
pub const GL_POLYGON_OFFSET_POINT: u32 = 10753;
pub const GL_POLYGON_OFFSET_LINE: u32 = 10754;
pub const GL_POLYGON_OFFSET_FILL: u32 = 32823;
pub const GL_COMPILE: u32 = 4864;
pub const GL_COMPILE_AND_EXECUTE: u32 = 4865;
pub const GL_LIST_BASE: u32 = 2866;
pub const GL_LIST_INDEX: u32 = 2867;
pub const GL_LIST_MODE: u32 = 2864;
pub const GL_NEVER: u32 = 512;
pub const GL_LESS: u32 = 513;
pub const GL_EQUAL: u32 = 514;
pub const GL_LEQUAL: u32 = 515;
pub const GL_GREATER: u32 = 516;
pub const GL_NOTEQUAL: u32 = 517;
pub const GL_GEQUAL: u32 = 518;
pub const GL_ALWAYS: u32 = 519;
pub const GL_DEPTH_TEST: u32 = 2929;
pub const GL_DEPTH_BITS: u32 = 3414;
pub const GL_DEPTH_CLEAR_VALUE: u32 = 2931;
pub const GL_DEPTH_FUNC: u32 = 2932;
pub const GL_DEPTH_RANGE: u32 = 2928;
pub const GL_DEPTH_WRITEMASK: u32 = 2930;
pub const GL_DEPTH_COMPONENT: u32 = 6402;
pub const GL_LIGHTING: u32 = 2896;
pub const GL_LIGHT0: u32 = 16384;
pub const GL_LIGHT1: u32 = 16385;
pub const GL_LIGHT2: u32 = 16386;
pub const GL_LIGHT3: u32 = 16387;
pub const GL_LIGHT4: u32 = 16388;
pub const GL_LIGHT5: u32 = 16389;
pub const GL_LIGHT6: u32 = 16390;
pub const GL_LIGHT7: u32 = 16391;
pub const GL_SPOT_EXPONENT: u32 = 4613;
pub const GL_SPOT_CUTOFF: u32 = 4614;
pub const GL_CONSTANT_ATTENUATION: u32 = 4615;
pub const GL_LINEAR_ATTENUATION: u32 = 4616;
pub const GL_QUADRATIC_ATTENUATION: u32 = 4617;
pub const GL_AMBIENT: u32 = 4608;
pub const GL_DIFFUSE: u32 = 4609;
pub const GL_SPECULAR: u32 = 4610;
pub const GL_SHININESS: u32 = 5633;
pub const GL_EMISSION: u32 = 5632;
pub const GL_POSITION: u32 = 4611;
pub const GL_SPOT_DIRECTION: u32 = 4612;
pub const GL_AMBIENT_AND_DIFFUSE: u32 = 5634;
pub const GL_COLOR_INDEXES: u32 = 5635;
pub const GL_LIGHT_MODEL_TWO_SIDE: u32 = 2898;
pub const GL_LIGHT_MODEL_LOCAL_VIEWER: u32 = 2897;
pub const GL_LIGHT_MODEL_AMBIENT: u32 = 2899;
pub const GL_FRONT_AND_BACK: u32 = 1032;
pub const GL_SHADE_MODEL: u32 = 2900;
pub const GL_FLAT: u32 = 7424;
pub const GL_SMOOTH: u32 = 7425;
pub const GL_COLOR_MATERIAL: u32 = 2903;
pub const GL_COLOR_MATERIAL_FACE: u32 = 2901;
pub const GL_COLOR_MATERIAL_PARAMETER: u32 = 2902;
pub const GL_NORMALIZE: u32 = 2977;
pub const GL_CLIP_PLANE0: u32 = 12288;
pub const GL_CLIP_PLANE1: u32 = 12289;
pub const GL_CLIP_PLANE2: u32 = 12290;
pub const GL_CLIP_PLANE3: u32 = 12291;
pub const GL_CLIP_PLANE4: u32 = 12292;
pub const GL_CLIP_PLANE5: u32 = 12293;
pub const GL_ACCUM_RED_BITS: u32 = 3416;
pub const GL_ACCUM_GREEN_BITS: u32 = 3417;
pub const GL_ACCUM_BLUE_BITS: u32 = 3418;
pub const GL_ACCUM_ALPHA_BITS: u32 = 3419;
pub const GL_ACCUM_CLEAR_VALUE: u32 = 2944;
pub const GL_ACCUM: u32 = 256;
pub const GL_ADD: u32 = 260;
pub const GL_LOAD: u32 = 257;
pub const GL_MULT: u32 = 259;
pub const GL_RETURN: u32 = 258;
pub const GL_ALPHA_TEST: u32 = 3008;
pub const GL_ALPHA_TEST_REF: u32 = 3010;
pub const GL_ALPHA_TEST_FUNC: u32 = 3009;
pub const GL_BLEND: u32 = 3042;
pub const GL_BLEND_SRC: u32 = 3041;
pub const GL_BLEND_DST: u32 = 3040;
pub const GL_ZERO: u32 = 0;
pub const GL_ONE: u32 = 1;
pub const GL_SRC_COLOR: u32 = 768;
pub const GL_ONE_MINUS_SRC_COLOR: u32 = 769;
pub const GL_SRC_ALPHA: u32 = 770;
pub const GL_ONE_MINUS_SRC_ALPHA: u32 = 771;
pub const GL_DST_ALPHA: u32 = 772;
pub const GL_ONE_MINUS_DST_ALPHA: u32 = 773;
pub const GL_DST_COLOR: u32 = 774;
pub const GL_ONE_MINUS_DST_COLOR: u32 = 775;
pub const GL_SRC_ALPHA_SATURATE: u32 = 776;
pub const GL_FEEDBACK: u32 = 7169;
pub const GL_RENDER: u32 = 7168;
pub const GL_SELECT: u32 = 7170;
pub const GL_2D: u32 = 1536;
pub const GL_3D: u32 = 1537;
pub const GL_3D_COLOR: u32 = 1538;
pub const GL_3D_COLOR_TEXTURE: u32 = 1539;
pub const GL_4D_COLOR_TEXTURE: u32 = 1540;
pub const GL_POINT_TOKEN: u32 = 1793;
pub const GL_LINE_TOKEN: u32 = 1794;
pub const GL_LINE_RESET_TOKEN: u32 = 1799;
pub const GL_POLYGON_TOKEN: u32 = 1795;
pub const GL_BITMAP_TOKEN: u32 = 1796;
pub const GL_DRAW_PIXEL_TOKEN: u32 = 1797;
pub const GL_COPY_PIXEL_TOKEN: u32 = 1798;
pub const GL_PASS_THROUGH_TOKEN: u32 = 1792;
pub const GL_FEEDBACK_BUFFER_POINTER: u32 = 3568;
pub const GL_FEEDBACK_BUFFER_SIZE: u32 = 3569;
pub const GL_FEEDBACK_BUFFER_TYPE: u32 = 3570;
pub const GL_SELECTION_BUFFER_POINTER: u32 = 3571;
pub const GL_SELECTION_BUFFER_SIZE: u32 = 3572;
pub const GL_FOG: u32 = 2912;
pub const GL_FOG_MODE: u32 = 2917;
pub const GL_FOG_DENSITY: u32 = 2914;
pub const GL_FOG_COLOR: u32 = 2918;
pub const GL_FOG_INDEX: u32 = 2913;
pub const GL_FOG_START: u32 = 2915;
pub const GL_FOG_END: u32 = 2916;
pub const GL_LINEAR: u32 = 9729;
pub const GL_EXP: u32 = 2048;
pub const GL_EXP2: u32 = 2049;
pub const GL_LOGIC_OP: u32 = 3057;
pub const GL_INDEX_LOGIC_OP: u32 = 3057;
pub const GL_COLOR_LOGIC_OP: u32 = 3058;
pub const GL_LOGIC_OP_MODE: u32 = 3056;
pub const GL_CLEAR: u32 = 5376;
pub const GL_SET: u32 = 5391;
pub const GL_COPY: u32 = 5379;
pub const GL_COPY_INVERTED: u32 = 5388;
pub const GL_NOOP: u32 = 5381;
pub const GL_INVERT: u32 = 5386;
pub const GL_AND: u32 = 5377;
pub const GL_NAND: u32 = 5390;
pub const GL_OR: u32 = 5383;
pub const GL_NOR: u32 = 5384;
pub const GL_XOR: u32 = 5382;
pub const GL_EQUIV: u32 = 5385;
pub const GL_AND_REVERSE: u32 = 5378;
pub const GL_AND_INVERTED: u32 = 5380;
pub const GL_OR_REVERSE: u32 = 5387;
pub const GL_OR_INVERTED: u32 = 5389;
pub const GL_STENCIL_BITS: u32 = 3415;
pub const GL_STENCIL_TEST: u32 = 2960;
pub const GL_STENCIL_CLEAR_VALUE: u32 = 2961;
pub const GL_STENCIL_FUNC: u32 = 2962;
pub const GL_STENCIL_VALUE_MASK: u32 = 2963;
pub const GL_STENCIL_FAIL: u32 = 2964;
pub const GL_STENCIL_PASS_DEPTH_FAIL: u32 = 2965;
pub const GL_STENCIL_PASS_DEPTH_PASS: u32 = 2966;
pub const GL_STENCIL_REF: u32 = 2967;
pub const GL_STENCIL_WRITEMASK: u32 = 2968;
pub const GL_STENCIL_INDEX: u32 = 6401;
pub const GL_KEEP: u32 = 7680;
pub const GL_REPLACE: u32 = 7681;
pub const GL_INCR: u32 = 7682;
pub const GL_DECR: u32 = 7683;
pub const GL_NONE: u32 = 0;
pub const GL_LEFT: u32 = 1030;
pub const GL_RIGHT: u32 = 1031;
pub const GL_FRONT_LEFT: u32 = 1024;
pub const GL_FRONT_RIGHT: u32 = 1025;
pub const GL_BACK_LEFT: u32 = 1026;
pub const GL_BACK_RIGHT: u32 = 1027;
pub const GL_AUX0: u32 = 1033;
pub const GL_AUX1: u32 = 1034;
pub const GL_AUX2: u32 = 1035;
pub const GL_AUX3: u32 = 1036;
pub const GL_COLOR_INDEX: u32 = 6400;
pub const GL_RED: u32 = 6403;
pub const GL_GREEN: u32 = 6404;
pub const GL_BLUE: u32 = 6405;
pub const GL_ALPHA: u32 = 6406;
pub const GL_LUMINANCE: u32 = 6409;
pub const GL_LUMINANCE_ALPHA: u32 = 6410;
pub const GL_ALPHA_BITS: u32 = 3413;
pub const GL_RED_BITS: u32 = 3410;
pub const GL_GREEN_BITS: u32 = 3411;
pub const GL_BLUE_BITS: u32 = 3412;
pub const GL_INDEX_BITS: u32 = 3409;
pub const GL_SUBPIXEL_BITS: u32 = 3408;
pub const GL_AUX_BUFFERS: u32 = 3072;
pub const GL_READ_BUFFER: u32 = 3074;
pub const GL_DRAW_BUFFER: u32 = 3073;
pub const GL_DOUBLEBUFFER: u32 = 3122;
pub const GL_STEREO: u32 = 3123;
pub const GL_BITMAP: u32 = 6656;
pub const GL_COLOR: u32 = 6144;
pub const GL_DEPTH: u32 = 6145;
pub const GL_STENCIL: u32 = 6146;
pub const GL_DITHER: u32 = 3024;
pub const GL_RGB: u32 = 6407;
pub const GL_RGBA: u32 = 6408;
pub const GL_MAX_LIST_NESTING: u32 = 2865;
pub const GL_MAX_EVAL_ORDER: u32 = 3376;
pub const GL_MAX_LIGHTS: u32 = 3377;
pub const GL_MAX_CLIP_PLANES: u32 = 3378;
pub const GL_MAX_TEXTURE_SIZE: u32 = 3379;
pub const GL_MAX_PIXEL_MAP_TABLE: u32 = 3380;
pub const GL_MAX_ATTRIB_STACK_DEPTH: u32 = 3381;
pub const GL_MAX_MODELVIEW_STACK_DEPTH: u32 = 3382;
pub const GL_MAX_NAME_STACK_DEPTH: u32 = 3383;
pub const GL_MAX_PROJECTION_STACK_DEPTH: u32 = 3384;
pub const GL_MAX_TEXTURE_STACK_DEPTH: u32 = 3385;
pub const GL_MAX_VIEWPORT_DIMS: u32 = 3386;
pub const GL_MAX_CLIENT_ATTRIB_STACK_DEPTH: u32 = 3387;
pub const GL_ATTRIB_STACK_DEPTH: u32 = 2992;
pub const GL_CLIENT_ATTRIB_STACK_DEPTH: u32 = 2993;
pub const GL_COLOR_CLEAR_VALUE: u32 = 3106;
pub const GL_COLOR_WRITEMASK: u32 = 3107;
pub const GL_CURRENT_INDEX: u32 = 2817;
pub const GL_CURRENT_COLOR: u32 = 2816;
pub const GL_CURRENT_NORMAL: u32 = 2818;
pub const GL_CURRENT_RASTER_COLOR: u32 = 2820;
pub const GL_CURRENT_RASTER_DISTANCE: u32 = 2825;
pub const GL_CURRENT_RASTER_INDEX: u32 = 2821;
pub const GL_CURRENT_RASTER_POSITION: u32 = 2823;
pub const GL_CURRENT_RASTER_TEXTURE_COORDS: u32 = 2822;
pub const GL_CURRENT_RASTER_POSITION_VALID: u32 = 2824;
pub const GL_CURRENT_TEXTURE_COORDS: u32 = 2819;
pub const GL_INDEX_CLEAR_VALUE: u32 = 3104;
pub const GL_INDEX_MODE: u32 = 3120;
pub const GL_INDEX_WRITEMASK: u32 = 3105;
pub const GL_MODELVIEW_MATRIX: u32 = 2982;
pub const GL_MODELVIEW_STACK_DEPTH: u32 = 2979;
pub const GL_NAME_STACK_DEPTH: u32 = 3440;
pub const GL_PROJECTION_MATRIX: u32 = 2983;
pub const GL_PROJECTION_STACK_DEPTH: u32 = 2980;
pub const GL_RENDER_MODE: u32 = 3136;
pub const GL_RGBA_MODE: u32 = 3121;
pub const GL_TEXTURE_MATRIX: u32 = 2984;
pub const GL_TEXTURE_STACK_DEPTH: u32 = 2981;
pub const GL_VIEWPORT: u32 = 2978;
pub const GL_AUTO_NORMAL: u32 = 3456;
pub const GL_MAP1_COLOR_4: u32 = 3472;
pub const GL_MAP1_INDEX: u32 = 3473;
pub const GL_MAP1_NORMAL: u32 = 3474;
pub const GL_MAP1_TEXTURE_COORD_1: u32 = 3475;
pub const GL_MAP1_TEXTURE_COORD_2: u32 = 3476;
pub const GL_MAP1_TEXTURE_COORD_3: u32 = 3477;
pub const GL_MAP1_TEXTURE_COORD_4: u32 = 3478;
pub const GL_MAP1_VERTEX_3: u32 = 3479;
pub const GL_MAP1_VERTEX_4: u32 = 3480;
pub const GL_MAP2_COLOR_4: u32 = 3504;
pub const GL_MAP2_INDEX: u32 = 3505;
pub const GL_MAP2_NORMAL: u32 = 3506;
pub const GL_MAP2_TEXTURE_COORD_1: u32 = 3507;
pub const GL_MAP2_TEXTURE_COORD_2: u32 = 3508;
pub const GL_MAP2_TEXTURE_COORD_3: u32 = 3509;
pub const GL_MAP2_TEXTURE_COORD_4: u32 = 3510;
pub const GL_MAP2_VERTEX_3: u32 = 3511;
pub const GL_MAP2_VERTEX_4: u32 = 3512;
pub const GL_MAP1_GRID_DOMAIN: u32 = 3536;
pub const GL_MAP1_GRID_SEGMENTS: u32 = 3537;
pub const GL_MAP2_GRID_DOMAIN: u32 = 3538;
pub const GL_MAP2_GRID_SEGMENTS: u32 = 3539;
pub const GL_COEFF: u32 = 2560;
pub const GL_ORDER: u32 = 2561;
pub const GL_DOMAIN: u32 = 2562;
pub const GL_PERSPECTIVE_CORRECTION_HINT: u32 = 3152;
pub const GL_POINT_SMOOTH_HINT: u32 = 3153;
pub const GL_LINE_SMOOTH_HINT: u32 = 3154;
pub const GL_POLYGON_SMOOTH_HINT: u32 = 3155;
pub const GL_FOG_HINT: u32 = 3156;
pub const GL_DONT_CARE: u32 = 4352;
pub const GL_FASTEST: u32 = 4353;
pub const GL_NICEST: u32 = 4354;
pub const GL_SCISSOR_BOX: u32 = 3088;
pub const GL_SCISSOR_TEST: u32 = 3089;
pub const GL_MAP_COLOR: u32 = 3344;
pub const GL_MAP_STENCIL: u32 = 3345;
pub const GL_INDEX_SHIFT: u32 = 3346;
pub const GL_INDEX_OFFSET: u32 = 3347;
pub const GL_RED_SCALE: u32 = 3348;
pub const GL_RED_BIAS: u32 = 3349;
pub const GL_GREEN_SCALE: u32 = 3352;
pub const GL_GREEN_BIAS: u32 = 3353;
pub const GL_BLUE_SCALE: u32 = 3354;
pub const GL_BLUE_BIAS: u32 = 3355;
pub const GL_ALPHA_SCALE: u32 = 3356;
pub const GL_ALPHA_BIAS: u32 = 3357;
pub const GL_DEPTH_SCALE: u32 = 3358;
pub const GL_DEPTH_BIAS: u32 = 3359;
pub const GL_PIXEL_MAP_S_TO_S_SIZE: u32 = 3249;
pub const GL_PIXEL_MAP_I_TO_I_SIZE: u32 = 3248;
pub const GL_PIXEL_MAP_I_TO_R_SIZE: u32 = 3250;
pub const GL_PIXEL_MAP_I_TO_G_SIZE: u32 = 3251;
pub const GL_PIXEL_MAP_I_TO_B_SIZE: u32 = 3252;
pub const GL_PIXEL_MAP_I_TO_A_SIZE: u32 = 3253;
pub const GL_PIXEL_MAP_R_TO_R_SIZE: u32 = 3254;
pub const GL_PIXEL_MAP_G_TO_G_SIZE: u32 = 3255;
pub const GL_PIXEL_MAP_B_TO_B_SIZE: u32 = 3256;
pub const GL_PIXEL_MAP_A_TO_A_SIZE: u32 = 3257;
pub const GL_PIXEL_MAP_S_TO_S: u32 = 3185;
pub const GL_PIXEL_MAP_I_TO_I: u32 = 3184;
pub const GL_PIXEL_MAP_I_TO_R: u32 = 3186;
pub const GL_PIXEL_MAP_I_TO_G: u32 = 3187;
pub const GL_PIXEL_MAP_I_TO_B: u32 = 3188;
pub const GL_PIXEL_MAP_I_TO_A: u32 = 3189;
pub const GL_PIXEL_MAP_R_TO_R: u32 = 3190;
pub const GL_PIXEL_MAP_G_TO_G: u32 = 3191;
pub const GL_PIXEL_MAP_B_TO_B: u32 = 3192;
pub const GL_PIXEL_MAP_A_TO_A: u32 = 3193;
pub const GL_PACK_ALIGNMENT: u32 = 3333;
pub const GL_PACK_LSB_FIRST: u32 = 3329;
pub const GL_PACK_ROW_LENGTH: u32 = 3330;
pub const GL_PACK_SKIP_PIXELS: u32 = 3332;
pub const GL_PACK_SKIP_ROWS: u32 = 3331;
pub const GL_PACK_SWAP_BYTES: u32 = 3328;
pub const GL_UNPACK_ALIGNMENT: u32 = 3317;
pub const GL_UNPACK_LSB_FIRST: u32 = 3313;
pub const GL_UNPACK_ROW_LENGTH: u32 = 3314;
pub const GL_UNPACK_SKIP_PIXELS: u32 = 3316;
pub const GL_UNPACK_SKIP_ROWS: u32 = 3315;
pub const GL_UNPACK_SWAP_BYTES: u32 = 3312;
pub const GL_ZOOM_X: u32 = 3350;
pub const GL_ZOOM_Y: u32 = 3351;
pub const GL_TEXTURE_ENV: u32 = 8960;
pub const GL_TEXTURE_ENV_MODE: u32 = 8704;
pub const GL_TEXTURE_1D: u32 = 3552;
pub const GL_TEXTURE_2D: u32 = 3553;
pub const GL_TEXTURE_WRAP_S: u32 = 10242;
pub const GL_TEXTURE_WRAP_T: u32 = 10243;
pub const GL_TEXTURE_MAG_FILTER: u32 = 10240;
pub const GL_TEXTURE_MIN_FILTER: u32 = 10241;
pub const GL_TEXTURE_ENV_COLOR: u32 = 8705;
pub const GL_TEXTURE_GEN_S: u32 = 3168;
pub const GL_TEXTURE_GEN_T: u32 = 3169;
pub const GL_TEXTURE_GEN_R: u32 = 3170;
pub const GL_TEXTURE_GEN_Q: u32 = 3171;
pub const GL_TEXTURE_GEN_MODE: u32 = 9472;
pub const GL_TEXTURE_BORDER_COLOR: u32 = 4100;
pub const GL_TEXTURE_WIDTH: u32 = 4096;
pub const GL_TEXTURE_HEIGHT: u32 = 4097;
pub const GL_TEXTURE_BORDER: u32 = 4101;
pub const GL_TEXTURE_COMPONENTS: u32 = 4099;
pub const GL_TEXTURE_RED_SIZE: u32 = 32860;
pub const GL_TEXTURE_GREEN_SIZE: u32 = 32861;
pub const GL_TEXTURE_BLUE_SIZE: u32 = 32862;
pub const GL_TEXTURE_ALPHA_SIZE: u32 = 32863;
pub const GL_TEXTURE_LUMINANCE_SIZE: u32 = 32864;
pub const GL_TEXTURE_INTENSITY_SIZE: u32 = 32865;
pub const GL_NEAREST_MIPMAP_NEAREST: u32 = 9984;
pub const GL_NEAREST_MIPMAP_LINEAR: u32 = 9986;
pub const GL_LINEAR_MIPMAP_NEAREST: u32 = 9985;
pub const GL_LINEAR_MIPMAP_LINEAR: u32 = 9987;
pub const GL_OBJECT_LINEAR: u32 = 9217;
pub const GL_OBJECT_PLANE: u32 = 9473;
pub const GL_EYE_LINEAR: u32 = 9216;
pub const GL_EYE_PLANE: u32 = 9474;
pub const GL_SPHERE_MAP: u32 = 9218;
pub const GL_DECAL: u32 = 8449;
pub const GL_MODULATE: u32 = 8448;
pub const GL_NEAREST: u32 = 9728;
pub const GL_REPEAT: u32 = 10497;
pub const GL_CLAMP: u32 = 10496;
pub const GL_S: u32 = 8192;
pub const GL_T: u32 = 8193;
pub const GL_R: u32 = 8194;
pub const GL_Q: u32 = 8195;
pub const GL_VENDOR: u32 = 7936;
pub const GL_RENDERER: u32 = 7937;
pub const GL_VERSION: u32 = 7938;
pub const GL_EXTENSIONS: u32 = 7939;
pub const GL_NO_ERROR: u32 = 0;
pub const GL_INVALID_ENUM: u32 = 1280;
pub const GL_INVALID_VALUE: u32 = 1281;
pub const GL_INVALID_OPERATION: u32 = 1282;
pub const GL_STACK_OVERFLOW: u32 = 1283;
pub const GL_STACK_UNDERFLOW: u32 = 1284;
pub const GL_OUT_OF_MEMORY: u32 = 1285;
pub const GL_CURRENT_BIT: u32 = 1;
pub const GL_POINT_BIT: u32 = 2;
pub const GL_LINE_BIT: u32 = 4;
pub const GL_POLYGON_BIT: u32 = 8;
pub const GL_POLYGON_STIPPLE_BIT: u32 = 16;
pub const GL_PIXEL_MODE_BIT: u32 = 32;
pub const GL_LIGHTING_BIT: u32 = 64;
pub const GL_FOG_BIT: u32 = 128;
pub const GL_DEPTH_BUFFER_BIT: u32 = 256;
pub const GL_ACCUM_BUFFER_BIT: u32 = 512;
pub const GL_STENCIL_BUFFER_BIT: u32 = 1024;
pub const GL_VIEWPORT_BIT: u32 = 2048;
pub const GL_TRANSFORM_BIT: u32 = 4096;
pub const GL_ENABLE_BIT: u32 = 8192;
pub const GL_COLOR_BUFFER_BIT: u32 = 16384;
pub const GL_HINT_BIT: u32 = 32768;
pub const GL_EVAL_BIT: u32 = 65536;
pub const GL_LIST_BIT: u32 = 131072;
pub const GL_TEXTURE_BIT: u32 = 262144;
pub const GL_SCISSOR_BIT: u32 = 524288;
pub const GL_ALL_ATTRIB_BITS: u32 = 4294967295;
pub const GL_PROXY_TEXTURE_1D: u32 = 32867;
pub const GL_PROXY_TEXTURE_2D: u32 = 32868;
pub const GL_TEXTURE_PRIORITY: u32 = 32870;
pub const GL_TEXTURE_RESIDENT: u32 = 32871;
pub const GL_TEXTURE_BINDING_1D: u32 = 32872;
pub const GL_TEXTURE_BINDING_2D: u32 = 32873;
pub const GL_TEXTURE_INTERNAL_FORMAT: u32 = 4099;
pub const GL_ALPHA4: u32 = 32827;
pub const GL_ALPHA8: u32 = 32828;
pub const GL_ALPHA12: u32 = 32829;
pub const GL_ALPHA16: u32 = 32830;
pub const GL_LUMINANCE4: u32 = 32831;
pub const GL_LUMINANCE8: u32 = 32832;
pub const GL_LUMINANCE12: u32 = 32833;
pub const GL_LUMINANCE16: u32 = 32834;
pub const GL_LUMINANCE4_ALPHA4: u32 = 32835;
pub const GL_LUMINANCE6_ALPHA2: u32 = 32836;
pub const GL_LUMINANCE8_ALPHA8: u32 = 32837;
pub const GL_LUMINANCE12_ALPHA4: u32 = 32838;
pub const GL_LUMINANCE12_ALPHA12: u32 = 32839;
pub const GL_LUMINANCE16_ALPHA16: u32 = 32840;
pub const GL_INTENSITY: u32 = 32841;
pub const GL_INTENSITY4: u32 = 32842;
pub const GL_INTENSITY8: u32 = 32843;
pub const GL_INTENSITY12: u32 = 32844;
pub const GL_INTENSITY16: u32 = 32845;
pub const GL_R3_G3_B2: u32 = 10768;
pub const GL_RGB4: u32 = 32847;
pub const GL_RGB5: u32 = 32848;
pub const GL_RGB8: u32 = 32849;
pub const GL_RGB10: u32 = 32850;
pub const GL_RGB12: u32 = 32851;
pub const GL_RGB16: u32 = 32852;
pub const GL_RGBA2: u32 = 32853;
pub const GL_RGBA4: u32 = 32854;
pub const GL_RGB5_A1: u32 = 32855;
pub const GL_RGBA8: u32 = 32856;
pub const GL_RGB10_A2: u32 = 32857;
pub const GL_RGBA12: u32 = 32858;
pub const GL_RGBA16: u32 = 32859;
pub const GL_CLIENT_PIXEL_STORE_BIT: u32 = 1;
pub const GL_CLIENT_VERTEX_ARRAY_BIT: u32 = 2;
pub const GL_ALL_CLIENT_ATTRIB_BITS: u32 = 4294967295;
pub const GL_CLIENT_ALL_ATTRIB_BITS: u32 = 4294967295;
pub const GL_RESCALE_NORMAL: u32 = 32826;
pub const GL_CLAMP_TO_EDGE: u32 = 33071;
pub const GL_MAX_ELEMENTS_VERTICES: u32 = 33000;
pub const GL_MAX_ELEMENTS_INDICES: u32 = 33001;
pub const GL_BGR: u32 = 32992;
pub const GL_BGRA: u32 = 32993;
pub const GL_UNSIGNED_BYTE_3_3_2: u32 = 32818;
pub const GL_UNSIGNED_BYTE_2_3_3_REV: u32 = 33634;
pub const GL_UNSIGNED_SHORT_5_6_5: u32 = 33635;
pub const GL_UNSIGNED_SHORT_5_6_5_REV: u32 = 33636;
pub const GL_UNSIGNED_SHORT_4_4_4_4: u32 = 32819;
pub const GL_UNSIGNED_SHORT_4_4_4_4_REV: u32 = 33637;
pub const GL_UNSIGNED_SHORT_5_5_5_1: u32 = 32820;
pub const GL_UNSIGNED_SHORT_1_5_5_5_REV: u32 = 33638;
pub const GL_UNSIGNED_INT_8_8_8_8: u32 = 32821;
pub const GL_UNSIGNED_INT_8_8_8_8_REV: u32 = 33639;
pub const GL_UNSIGNED_INT_10_10_10_2: u32 = 32822;
pub const GL_UNSIGNED_INT_2_10_10_10_REV: u32 = 33640;
pub const GL_LIGHT_MODEL_COLOR_CONTROL: u32 = 33272;
pub const GL_SINGLE_COLOR: u32 = 33273;
pub const GL_SEPARATE_SPECULAR_COLOR: u32 = 33274;
pub const GL_TEXTURE_MIN_LOD: u32 = 33082;
pub const GL_TEXTURE_MAX_LOD: u32 = 33083;
pub const GL_TEXTURE_BASE_LEVEL: u32 = 33084;
pub const GL_TEXTURE_MAX_LEVEL: u32 = 33085;
pub const GL_SMOOTH_POINT_SIZE_RANGE: u32 = 2834;
pub const GL_SMOOTH_POINT_SIZE_GRANULARITY: u32 = 2835;
pub const GL_SMOOTH_LINE_WIDTH_RANGE: u32 = 2850;
pub const GL_SMOOTH_LINE_WIDTH_GRANULARITY: u32 = 2851;
pub const GL_ALIASED_POINT_SIZE_RANGE: u32 = 33901;
pub const GL_ALIASED_LINE_WIDTH_RANGE: u32 = 33902;
pub const GL_PACK_SKIP_IMAGES: u32 = 32875;
pub const GL_PACK_IMAGE_HEIGHT: u32 = 32876;
pub const GL_UNPACK_SKIP_IMAGES: u32 = 32877;
pub const GL_UNPACK_IMAGE_HEIGHT: u32 = 32878;
pub const GL_TEXTURE_3D: u32 = 32879;
pub const GL_PROXY_TEXTURE_3D: u32 = 32880;
pub const GL_TEXTURE_DEPTH: u32 = 32881;
pub const GL_TEXTURE_WRAP_R: u32 = 32882;
pub const GL_MAX_3D_TEXTURE_SIZE: u32 = 32883;
pub const GL_TEXTURE_BINDING_3D: u32 = 32874;
pub const GL_CONSTANT_COLOR: u32 = 32769;
pub const GL_ONE_MINUS_CONSTANT_COLOR: u32 = 32770;
pub const GL_CONSTANT_ALPHA: u32 = 32771;
pub const GL_ONE_MINUS_CONSTANT_ALPHA: u32 = 32772;
pub const GL_COLOR_TABLE: u32 = 32976;
pub const GL_POST_CONVOLUTION_COLOR_TABLE: u32 = 32977;
pub const GL_POST_COLOR_MATRIX_COLOR_TABLE: u32 = 32978;
pub const GL_PROXY_COLOR_TABLE: u32 = 32979;
pub const GL_PROXY_POST_CONVOLUTION_COLOR_TABLE: u32 = 32980;
pub const GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE: u32 = 32981;
pub const GL_COLOR_TABLE_SCALE: u32 = 32982;
pub const GL_COLOR_TABLE_BIAS: u32 = 32983;
pub const GL_COLOR_TABLE_FORMAT: u32 = 32984;
pub const GL_COLOR_TABLE_WIDTH: u32 = 32985;
pub const GL_COLOR_TABLE_RED_SIZE: u32 = 32986;
pub const GL_COLOR_TABLE_GREEN_SIZE: u32 = 32987;
pub const GL_COLOR_TABLE_BLUE_SIZE: u32 = 32988;
pub const GL_COLOR_TABLE_ALPHA_SIZE: u32 = 32989;
pub const GL_COLOR_TABLE_LUMINANCE_SIZE: u32 = 32990;
pub const GL_COLOR_TABLE_INTENSITY_SIZE: u32 = 32991;
pub const GL_CONVOLUTION_1D: u32 = 32784;
pub const GL_CONVOLUTION_2D: u32 = 32785;
pub const GL_SEPARABLE_2D: u32 = 32786;
pub const GL_CONVOLUTION_BORDER_MODE: u32 = 32787;
pub const GL_CONVOLUTION_FILTER_SCALE: u32 = 32788;
pub const GL_CONVOLUTION_FILTER_BIAS: u32 = 32789;
pub const GL_REDUCE: u32 = 32790;
pub const GL_CONVOLUTION_FORMAT: u32 = 32791;
pub const GL_CONVOLUTION_WIDTH: u32 = 32792;
pub const GL_CONVOLUTION_HEIGHT: u32 = 32793;
pub const GL_MAX_CONVOLUTION_WIDTH: u32 = 32794;
pub const GL_MAX_CONVOLUTION_HEIGHT: u32 = 32795;
pub const GL_POST_CONVOLUTION_RED_SCALE: u32 = 32796;
pub const GL_POST_CONVOLUTION_GREEN_SCALE: u32 = 32797;
pub const GL_POST_CONVOLUTION_BLUE_SCALE: u32 = 32798;
pub const GL_POST_CONVOLUTION_ALPHA_SCALE: u32 = 32799;
pub const GL_POST_CONVOLUTION_RED_BIAS: u32 = 32800;
pub const GL_POST_CONVOLUTION_GREEN_BIAS: u32 = 32801;
pub const GL_POST_CONVOLUTION_BLUE_BIAS: u32 = 32802;
pub const GL_POST_CONVOLUTION_ALPHA_BIAS: u32 = 32803;
pub const GL_CONSTANT_BORDER: u32 = 33105;
pub const GL_REPLICATE_BORDER: u32 = 33107;
pub const GL_CONVOLUTION_BORDER_COLOR: u32 = 33108;
pub const GL_COLOR_MATRIX: u32 = 32945;
pub const GL_COLOR_MATRIX_STACK_DEPTH: u32 = 32946;
pub const GL_MAX_COLOR_MATRIX_STACK_DEPTH: u32 = 32947;
pub const GL_POST_COLOR_MATRIX_RED_SCALE: u32 = 32948;
pub const GL_POST_COLOR_MATRIX_GREEN_SCALE: u32 = 32949;
pub const GL_POST_COLOR_MATRIX_BLUE_SCALE: u32 = 32950;
pub const GL_POST_COLOR_MATRIX_ALPHA_SCALE: u32 = 32951;
pub const GL_POST_COLOR_MATRIX_RED_BIAS: u32 = 32952;
pub const GL_POST_COLOR_MATRIX_GREEN_BIAS: u32 = 32953;
pub const GL_POST_COLOR_MATRIX_BLUE_BIAS: u32 = 32954;
pub const GL_POST_COLOR_MATRIX_ALPHA_BIAS: u32 = 32955;
pub const GL_HISTOGRAM: u32 = 32804;
pub const GL_PROXY_HISTOGRAM: u32 = 32805;
pub const GL_HISTOGRAM_WIDTH: u32 = 32806;
pub const GL_HISTOGRAM_FORMAT: u32 = 32807;
pub const GL_HISTOGRAM_RED_SIZE: u32 = 32808;
pub const GL_HISTOGRAM_GREEN_SIZE: u32 = 32809;
pub const GL_HISTOGRAM_BLUE_SIZE: u32 = 32810;
pub const GL_HISTOGRAM_ALPHA_SIZE: u32 = 32811;
pub const GL_HISTOGRAM_LUMINANCE_SIZE: u32 = 32812;
pub const GL_HISTOGRAM_SINK: u32 = 32813;
pub const GL_MINMAX: u32 = 32814;
pub const GL_MINMAX_FORMAT: u32 = 32815;
pub const GL_MINMAX_SINK: u32 = 32816;
pub const GL_TABLE_TOO_LARGE: u32 = 32817;
pub const GL_BLEND_EQUATION: u32 = 32777;
pub const GL_MIN: u32 = 32775;
pub const GL_MAX: u32 = 32776;
pub const GL_FUNC_ADD: u32 = 32774;
pub const GL_FUNC_SUBTRACT: u32 = 32778;
pub const GL_FUNC_REVERSE_SUBTRACT: u32 = 32779;
pub const GL_BLEND_COLOR: u32 = 32773;
pub const GL_TEXTURE0: u32 = 33984;
pub const GL_TEXTURE1: u32 = 33985;
pub const GL_TEXTURE2: u32 = 33986;
pub const GL_TEXTURE3: u32 = 33987;
pub const GL_TEXTURE4: u32 = 33988;
pub const GL_TEXTURE5: u32 = 33989;
pub const GL_TEXTURE6: u32 = 33990;
pub const GL_TEXTURE7: u32 = 33991;
pub const GL_TEXTURE8: u32 = 33992;
pub const GL_TEXTURE9: u32 = 33993;
pub const GL_TEXTURE10: u32 = 33994;
pub const GL_TEXTURE11: u32 = 33995;
pub const GL_TEXTURE12: u32 = 33996;
pub const GL_TEXTURE13: u32 = 33997;
pub const GL_TEXTURE14: u32 = 33998;
pub const GL_TEXTURE15: u32 = 33999;
pub const GL_TEXTURE16: u32 = 34000;
pub const GL_TEXTURE17: u32 = 34001;
pub const GL_TEXTURE18: u32 = 34002;
pub const GL_TEXTURE19: u32 = 34003;
pub const GL_TEXTURE20: u32 = 34004;
pub const GL_TEXTURE21: u32 = 34005;
pub const GL_TEXTURE22: u32 = 34006;
pub const GL_TEXTURE23: u32 = 34007;
pub const GL_TEXTURE24: u32 = 34008;
pub const GL_TEXTURE25: u32 = 34009;
pub const GL_TEXTURE26: u32 = 34010;
pub const GL_TEXTURE27: u32 = 34011;
pub const GL_TEXTURE28: u32 = 34012;
pub const GL_TEXTURE29: u32 = 34013;
pub const GL_TEXTURE30: u32 = 34014;
pub const GL_TEXTURE31: u32 = 34015;
pub const GL_ACTIVE_TEXTURE: u32 = 34016;
pub const GL_CLIENT_ACTIVE_TEXTURE: u32 = 34017;
pub const GL_MAX_TEXTURE_UNITS: u32 = 34018;
pub const GL_NORMAL_MAP: u32 = 34065;
pub const GL_REFLECTION_MAP: u32 = 34066;
pub const GL_TEXTURE_CUBE_MAP: u32 = 34067;
pub const GL_TEXTURE_BINDING_CUBE_MAP: u32 = 34068;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_X: u32 = 34069;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_X: u32 = 34070;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Y: u32 = 34071;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: u32 = 34072;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Z: u32 = 34073;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: u32 = 34074;
pub const GL_PROXY_TEXTURE_CUBE_MAP: u32 = 34075;
pub const GL_MAX_CUBE_MAP_TEXTURE_SIZE: u32 = 34076;
pub const GL_COMPRESSED_ALPHA: u32 = 34025;
pub const GL_COMPRESSED_LUMINANCE: u32 = 34026;
pub const GL_COMPRESSED_LUMINANCE_ALPHA: u32 = 34027;
pub const GL_COMPRESSED_INTENSITY: u32 = 34028;
pub const GL_COMPRESSED_RGB: u32 = 34029;
pub const GL_COMPRESSED_RGBA: u32 = 34030;
pub const GL_TEXTURE_COMPRESSION_HINT: u32 = 34031;
pub const GL_TEXTURE_COMPRESSED_IMAGE_SIZE: u32 = 34464;
pub const GL_TEXTURE_COMPRESSED: u32 = 34465;
pub const GL_NUM_COMPRESSED_TEXTURE_FORMATS: u32 = 34466;
pub const GL_COMPRESSED_TEXTURE_FORMATS: u32 = 34467;
pub const GL_MULTISAMPLE: u32 = 32925;
pub const GL_SAMPLE_ALPHA_TO_COVERAGE: u32 = 32926;
pub const GL_SAMPLE_ALPHA_TO_ONE: u32 = 32927;
pub const GL_SAMPLE_COVERAGE: u32 = 32928;
pub const GL_SAMPLE_BUFFERS: u32 = 32936;
pub const GL_SAMPLES: u32 = 32937;
pub const GL_SAMPLE_COVERAGE_VALUE: u32 = 32938;
pub const GL_SAMPLE_COVERAGE_INVERT: u32 = 32939;
pub const GL_MULTISAMPLE_BIT: u32 = 536870912;
pub const GL_TRANSPOSE_MODELVIEW_MATRIX: u32 = 34019;
pub const GL_TRANSPOSE_PROJECTION_MATRIX: u32 = 34020;
pub const GL_TRANSPOSE_TEXTURE_MATRIX: u32 = 34021;
pub const GL_TRANSPOSE_COLOR_MATRIX: u32 = 34022;
pub const GL_COMBINE: u32 = 34160;
pub const GL_COMBINE_RGB: u32 = 34161;
pub const GL_COMBINE_ALPHA: u32 = 34162;
pub const GL_SOURCE0_RGB: u32 = 34176;
pub const GL_SOURCE1_RGB: u32 = 34177;
pub const GL_SOURCE2_RGB: u32 = 34178;
pub const GL_SOURCE0_ALPHA: u32 = 34184;
pub const GL_SOURCE1_ALPHA: u32 = 34185;
pub const GL_SOURCE2_ALPHA: u32 = 34186;
pub const GL_OPERAND0_RGB: u32 = 34192;
pub const GL_OPERAND1_RGB: u32 = 34193;
pub const GL_OPERAND2_RGB: u32 = 34194;
pub const GL_OPERAND0_ALPHA: u32 = 34200;
pub const GL_OPERAND1_ALPHA: u32 = 34201;
pub const GL_OPERAND2_ALPHA: u32 = 34202;
pub const GL_RGB_SCALE: u32 = 34163;
pub const GL_ADD_SIGNED: u32 = 34164;
pub const GL_INTERPOLATE: u32 = 34165;
pub const GL_SUBTRACT: u32 = 34023;
pub const GL_CONSTANT: u32 = 34166;
pub const GL_PRIMARY_COLOR: u32 = 34167;
pub const GL_PREVIOUS: u32 = 34168;
pub const GL_DOT3_RGB: u32 = 34478;
pub const GL_DOT3_RGBA: u32 = 34479;
pub const GL_CLAMP_TO_BORDER: u32 = 33069;
pub const GL_ARB_multitexture: u32 = 1;
pub const GL_TEXTURE0_ARB: u32 = 33984;
pub const GL_TEXTURE1_ARB: u32 = 33985;
pub const GL_TEXTURE2_ARB: u32 = 33986;
pub const GL_TEXTURE3_ARB: u32 = 33987;
pub const GL_TEXTURE4_ARB: u32 = 33988;
pub const GL_TEXTURE5_ARB: u32 = 33989;
pub const GL_TEXTURE6_ARB: u32 = 33990;
pub const GL_TEXTURE7_ARB: u32 = 33991;
pub const GL_TEXTURE8_ARB: u32 = 33992;
pub const GL_TEXTURE9_ARB: u32 = 33993;
pub const GL_TEXTURE10_ARB: u32 = 33994;
pub const GL_TEXTURE11_ARB: u32 = 33995;
pub const GL_TEXTURE12_ARB: u32 = 33996;
pub const GL_TEXTURE13_ARB: u32 = 33997;
pub const GL_TEXTURE14_ARB: u32 = 33998;
pub const GL_TEXTURE15_ARB: u32 = 33999;
pub const GL_TEXTURE16_ARB: u32 = 34000;
pub const GL_TEXTURE17_ARB: u32 = 34001;
pub const GL_TEXTURE18_ARB: u32 = 34002;
pub const GL_TEXTURE19_ARB: u32 = 34003;
pub const GL_TEXTURE20_ARB: u32 = 34004;
pub const GL_TEXTURE21_ARB: u32 = 34005;
pub const GL_TEXTURE22_ARB: u32 = 34006;
pub const GL_TEXTURE23_ARB: u32 = 34007;
pub const GL_TEXTURE24_ARB: u32 = 34008;
pub const GL_TEXTURE25_ARB: u32 = 34009;
pub const GL_TEXTURE26_ARB: u32 = 34010;
pub const GL_TEXTURE27_ARB: u32 = 34011;
pub const GL_TEXTURE28_ARB: u32 = 34012;
pub const GL_TEXTURE29_ARB: u32 = 34013;
pub const GL_TEXTURE30_ARB: u32 = 34014;
pub const GL_TEXTURE31_ARB: u32 = 34015;
pub const GL_ACTIVE_TEXTURE_ARB: u32 = 34016;
pub const GL_CLIENT_ACTIVE_TEXTURE_ARB: u32 = 34017;
pub const GL_MAX_TEXTURE_UNITS_ARB: u32 = 34018;
pub const __gl_glext_h_: u32 = 1;
pub const GL_GLEXT_VERSION: u32 = 20180725;
pub const GL_VERSION_1_4: u32 = 1;
pub const GL_BLEND_DST_RGB: u32 = 32968;
pub const GL_BLEND_SRC_RGB: u32 = 32969;
pub const GL_BLEND_DST_ALPHA: u32 = 32970;
pub const GL_BLEND_SRC_ALPHA: u32 = 32971;
pub const GL_POINT_FADE_THRESHOLD_SIZE: u32 = 33064;
pub const GL_DEPTH_COMPONENT16: u32 = 33189;
pub const GL_DEPTH_COMPONENT24: u32 = 33190;
pub const GL_DEPTH_COMPONENT32: u32 = 33191;
pub const GL_MIRRORED_REPEAT: u32 = 33648;
pub const GL_MAX_TEXTURE_LOD_BIAS: u32 = 34045;
pub const GL_TEXTURE_LOD_BIAS: u32 = 34049;
pub const GL_INCR_WRAP: u32 = 34055;
pub const GL_DECR_WRAP: u32 = 34056;
pub const GL_TEXTURE_DEPTH_SIZE: u32 = 34890;
pub const GL_TEXTURE_COMPARE_MODE: u32 = 34892;
pub const GL_TEXTURE_COMPARE_FUNC: u32 = 34893;
pub const GL_POINT_SIZE_MIN: u32 = 33062;
pub const GL_POINT_SIZE_MAX: u32 = 33063;
pub const GL_POINT_DISTANCE_ATTENUATION: u32 = 33065;
pub const GL_GENERATE_MIPMAP: u32 = 33169;
pub const GL_GENERATE_MIPMAP_HINT: u32 = 33170;
pub const GL_FOG_COORDINATE_SOURCE: u32 = 33872;
pub const GL_FOG_COORDINATE: u32 = 33873;
pub const GL_FRAGMENT_DEPTH: u32 = 33874;
pub const GL_CURRENT_FOG_COORDINATE: u32 = 33875;
pub const GL_FOG_COORDINATE_ARRAY_TYPE: u32 = 33876;
pub const GL_FOG_COORDINATE_ARRAY_STRIDE: u32 = 33877;
pub const GL_FOG_COORDINATE_ARRAY_POINTER: u32 = 33878;
pub const GL_FOG_COORDINATE_ARRAY: u32 = 33879;
pub const GL_COLOR_SUM: u32 = 33880;
pub const GL_CURRENT_SECONDARY_COLOR: u32 = 33881;
pub const GL_SECONDARY_COLOR_ARRAY_SIZE: u32 = 33882;
pub const GL_SECONDARY_COLOR_ARRAY_TYPE: u32 = 33883;
pub const GL_SECONDARY_COLOR_ARRAY_STRIDE: u32 = 33884;
pub const GL_SECONDARY_COLOR_ARRAY_POINTER: u32 = 33885;
pub const GL_SECONDARY_COLOR_ARRAY: u32 = 33886;
pub const GL_TEXTURE_FILTER_CONTROL: u32 = 34048;
pub const GL_DEPTH_TEXTURE_MODE: u32 = 34891;
pub const GL_COMPARE_R_TO_TEXTURE: u32 = 34894;
pub const GL_VERSION_1_5: u32 = 1;
pub const _STDINT_H: u32 = 1;
pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
pub const _BITS_WCHAR_H: u32 = 1;
pub const _BITS_STDINT_UINTN_H: u32 = 1;
pub const INT8_MIN: i32 = -128;
pub const INT16_MIN: i32 = -32768;
pub const INT32_MIN: i32 = -2147483648;
pub const INT8_MAX: u32 = 127;
pub const INT16_MAX: u32 = 32767;
pub const INT32_MAX: u32 = 2147483647;
pub const UINT8_MAX: u32 = 255;
pub const UINT16_MAX: u32 = 65535;
pub const UINT32_MAX: u32 = 4294967295;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
pub const INT_FAST8_MAX: u32 = 127;
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
pub const UINT_FAST8_MAX: u32 = 255;
pub const UINT_FAST16_MAX: i32 = -1;
pub const UINT_FAST32_MAX: i32 = -1;
pub const INTPTR_MIN: i64 = -9223372036854775808;
pub const INTPTR_MAX: u64 = 9223372036854775807;
pub const UINTPTR_MAX: i32 = -1;
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const SIZE_MAX: i32 = -1;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 4294967295;
pub const KHRONOS_SUPPORT_INT64: u32 = 1;
pub const KHRONOS_SUPPORT_FLOAT: u32 = 1;
pub const KHRONOS_MAX_ENUM: u32 = 2147483647;
pub const GL_BUFFER_SIZE: u32 = 34660;
pub const GL_BUFFER_USAGE: u32 = 34661;
pub const GL_QUERY_COUNTER_BITS: u32 = 34916;
pub const GL_CURRENT_QUERY: u32 = 34917;
pub const GL_QUERY_RESULT: u32 = 34918;
pub const GL_QUERY_RESULT_AVAILABLE: u32 = 34919;
pub const GL_ARRAY_BUFFER: u32 = 34962;
pub const GL_ELEMENT_ARRAY_BUFFER: u32 = 34963;
pub const GL_ARRAY_BUFFER_BINDING: u32 = 34964;
pub const GL_ELEMENT_ARRAY_BUFFER_BINDING: u32 = 34965;
pub const GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: u32 = 34975;
pub const GL_READ_ONLY: u32 = 35000;
pub const GL_WRITE_ONLY: u32 = 35001;
pub const GL_READ_WRITE: u32 = 35002;
pub const GL_BUFFER_ACCESS: u32 = 35003;
pub const GL_BUFFER_MAPPED: u32 = 35004;
pub const GL_BUFFER_MAP_POINTER: u32 = 35005;
pub const GL_STREAM_DRAW: u32 = 35040;
pub const GL_STREAM_READ: u32 = 35041;
pub const GL_STREAM_COPY: u32 = 35042;
pub const GL_STATIC_DRAW: u32 = 35044;
pub const GL_STATIC_READ: u32 = 35045;
pub const GL_STATIC_COPY: u32 = 35046;
pub const GL_DYNAMIC_DRAW: u32 = 35048;
pub const GL_DYNAMIC_READ: u32 = 35049;
pub const GL_DYNAMIC_COPY: u32 = 35050;
pub const GL_SAMPLES_PASSED: u32 = 35092;
pub const GL_SRC1_ALPHA: u32 = 34185;
pub const GL_VERTEX_ARRAY_BUFFER_BINDING: u32 = 34966;
pub const GL_NORMAL_ARRAY_BUFFER_BINDING: u32 = 34967;
pub const GL_COLOR_ARRAY_BUFFER_BINDING: u32 = 34968;
pub const GL_INDEX_ARRAY_BUFFER_BINDING: u32 = 34969;
pub const GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: u32 = 34970;
pub const GL_EDGE_FLAG_ARRAY_BUFFER_BINDING: u32 = 34971;
pub const GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING: u32 = 34972;
pub const GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING: u32 = 34973;
pub const GL_WEIGHT_ARRAY_BUFFER_BINDING: u32 = 34974;
pub const GL_FOG_COORD_SRC: u32 = 33872;
pub const GL_FOG_COORD: u32 = 33873;
pub const GL_CURRENT_FOG_COORD: u32 = 33875;
pub const GL_FOG_COORD_ARRAY_TYPE: u32 = 33876;
pub const GL_FOG_COORD_ARRAY_STRIDE: u32 = 33877;
pub const GL_FOG_COORD_ARRAY_POINTER: u32 = 33878;
pub const GL_FOG_COORD_ARRAY: u32 = 33879;
pub const GL_FOG_COORD_ARRAY_BUFFER_BINDING: u32 = 34973;
pub const GL_SRC0_RGB: u32 = 34176;
pub const GL_SRC1_RGB: u32 = 34177;
pub const GL_SRC2_RGB: u32 = 34178;
pub const GL_SRC0_ALPHA: u32 = 34184;
pub const GL_SRC2_ALPHA: u32 = 34186;
pub const GL_VERSION_2_0: u32 = 1;
pub const GL_BLEND_EQUATION_RGB: u32 = 32777;
pub const GL_VERTEX_ATTRIB_ARRAY_ENABLED: u32 = 34338;
pub const GL_VERTEX_ATTRIB_ARRAY_SIZE: u32 = 34339;
pub const GL_VERTEX_ATTRIB_ARRAY_STRIDE: u32 = 34340;
pub const GL_VERTEX_ATTRIB_ARRAY_TYPE: u32 = 34341;
pub const GL_CURRENT_VERTEX_ATTRIB: u32 = 34342;
pub const GL_VERTEX_PROGRAM_POINT_SIZE: u32 = 34370;
pub const GL_VERTEX_ATTRIB_ARRAY_POINTER: u32 = 34373;
pub const GL_STENCIL_BACK_FUNC: u32 = 34816;
pub const GL_STENCIL_BACK_FAIL: u32 = 34817;
pub const GL_STENCIL_BACK_PASS_DEPTH_FAIL: u32 = 34818;
pub const GL_STENCIL_BACK_PASS_DEPTH_PASS: u32 = 34819;
pub const GL_MAX_DRAW_BUFFERS: u32 = 34852;
pub const GL_DRAW_BUFFER0: u32 = 34853;
pub const GL_DRAW_BUFFER1: u32 = 34854;
pub const GL_DRAW_BUFFER2: u32 = 34855;
pub const GL_DRAW_BUFFER3: u32 = 34856;
pub const GL_DRAW_BUFFER4: u32 = 34857;
pub const GL_DRAW_BUFFER5: u32 = 34858;
pub const GL_DRAW_BUFFER6: u32 = 34859;
pub const GL_DRAW_BUFFER7: u32 = 34860;
pub const GL_DRAW_BUFFER8: u32 = 34861;
pub const GL_DRAW_BUFFER9: u32 = 34862;
pub const GL_DRAW_BUFFER10: u32 = 34863;
pub const GL_DRAW_BUFFER11: u32 = 34864;
pub const GL_DRAW_BUFFER12: u32 = 34865;
pub const GL_DRAW_BUFFER13: u32 = 34866;
pub const GL_DRAW_BUFFER14: u32 = 34867;
pub const GL_DRAW_BUFFER15: u32 = 34868;
pub const GL_BLEND_EQUATION_ALPHA: u32 = 34877;
pub const GL_MAX_VERTEX_ATTRIBS: u32 = 34921;
pub const GL_VERTEX_ATTRIB_ARRAY_NORMALIZED: u32 = 34922;
pub const GL_MAX_TEXTURE_IMAGE_UNITS: u32 = 34930;
pub const GL_FRAGMENT_SHADER: u32 = 35632;
pub const GL_VERTEX_SHADER: u32 = 35633;
pub const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS: u32 = 35657;
pub const GL_MAX_VERTEX_UNIFORM_COMPONENTS: u32 = 35658;
pub const GL_MAX_VARYING_FLOATS: u32 = 35659;
pub const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: u32 = 35660;
pub const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: u32 = 35661;
pub const GL_SHADER_TYPE: u32 = 35663;
pub const GL_FLOAT_VEC2: u32 = 35664;
pub const GL_FLOAT_VEC3: u32 = 35665;
pub const GL_FLOAT_VEC4: u32 = 35666;
pub const GL_INT_VEC2: u32 = 35667;
pub const GL_INT_VEC3: u32 = 35668;
pub const GL_INT_VEC4: u32 = 35669;
pub const GL_BOOL: u32 = 35670;
pub const GL_BOOL_VEC2: u32 = 35671;
pub const GL_BOOL_VEC3: u32 = 35672;
pub const GL_BOOL_VEC4: u32 = 35673;
pub const GL_FLOAT_MAT2: u32 = 35674;
pub const GL_FLOAT_MAT3: u32 = 35675;
pub const GL_FLOAT_MAT4: u32 = 35676;
pub const GL_SAMPLER_1D: u32 = 35677;
pub const GL_SAMPLER_2D: u32 = 35678;
pub const GL_SAMPLER_3D: u32 = 35679;
pub const GL_SAMPLER_CUBE: u32 = 35680;
pub const GL_SAMPLER_1D_SHADOW: u32 = 35681;
pub const GL_SAMPLER_2D_SHADOW: u32 = 35682;
pub const GL_DELETE_STATUS: u32 = 35712;
pub const GL_COMPILE_STATUS: u32 = 35713;
pub const GL_LINK_STATUS: u32 = 35714;
pub const GL_VALIDATE_STATUS: u32 = 35715;
pub const GL_INFO_LOG_LENGTH: u32 = 35716;
pub const GL_ATTACHED_SHADERS: u32 = 35717;
pub const GL_ACTIVE_UNIFORMS: u32 = 35718;
pub const GL_ACTIVE_UNIFORM_MAX_LENGTH: u32 = 35719;
pub const GL_SHADER_SOURCE_LENGTH: u32 = 35720;
pub const GL_ACTIVE_ATTRIBUTES: u32 = 35721;
pub const GL_ACTIVE_ATTRIBUTE_MAX_LENGTH: u32 = 35722;
pub const GL_FRAGMENT_SHADER_DERIVATIVE_HINT: u32 = 35723;
pub const GL_SHADING_LANGUAGE_VERSION: u32 = 35724;
pub const GL_CURRENT_PROGRAM: u32 = 35725;
pub const GL_POINT_SPRITE_COORD_ORIGIN: u32 = 36000;
pub const GL_LOWER_LEFT: u32 = 36001;
pub const GL_UPPER_LEFT: u32 = 36002;
pub const GL_STENCIL_BACK_REF: u32 = 36003;
pub const GL_STENCIL_BACK_VALUE_MASK: u32 = 36004;
pub const GL_STENCIL_BACK_WRITEMASK: u32 = 36005;
pub const GL_VERTEX_PROGRAM_TWO_SIDE: u32 = 34371;
pub const GL_POINT_SPRITE: u32 = 34913;
pub const GL_COORD_REPLACE: u32 = 34914;
pub const GL_MAX_TEXTURE_COORDS: u32 = 34929;
pub const GL_VERSION_2_1: u32 = 1;
pub const GL_PIXEL_PACK_BUFFER: u32 = 35051;
pub const GL_PIXEL_UNPACK_BUFFER: u32 = 35052;
pub const GL_PIXEL_PACK_BUFFER_BINDING: u32 = 35053;
pub const GL_PIXEL_UNPACK_BUFFER_BINDING: u32 = 35055;
pub const GL_FLOAT_MAT2x3: u32 = 35685;
pub const GL_FLOAT_MAT2x4: u32 = 35686;
pub const GL_FLOAT_MAT3x2: u32 = 35687;
pub const GL_FLOAT_MAT3x4: u32 = 35688;
pub const GL_FLOAT_MAT4x2: u32 = 35689;
pub const GL_FLOAT_MAT4x3: u32 = 35690;
pub const GL_SRGB: u32 = 35904;
pub const GL_SRGB8: u32 = 35905;
pub const GL_SRGB_ALPHA: u32 = 35906;
pub const GL_SRGB8_ALPHA8: u32 = 35907;
pub const GL_COMPRESSED_SRGB: u32 = 35912;
pub const GL_COMPRESSED_SRGB_ALPHA: u32 = 35913;
pub const GL_CURRENT_RASTER_SECONDARY_COLOR: u32 = 33887;
pub const GL_SLUMINANCE_ALPHA: u32 = 35908;
pub const GL_SLUMINANCE8_ALPHA8: u32 = 35909;
pub const GL_SLUMINANCE: u32 = 35910;
pub const GL_SLUMINANCE8: u32 = 35911;
pub const GL_COMPRESSED_SLUMINANCE: u32 = 35914;
pub const GL_COMPRESSED_SLUMINANCE_ALPHA: u32 = 35915;
pub const GL_VERSION_3_0: u32 = 1;
pub const GL_COMPARE_REF_TO_TEXTURE: u32 = 34894;
pub const GL_CLIP_DISTANCE0: u32 = 12288;
pub const GL_CLIP_DISTANCE1: u32 = 12289;
pub const GL_CLIP_DISTANCE2: u32 = 12290;
pub const GL_CLIP_DISTANCE3: u32 = 12291;
pub const GL_CLIP_DISTANCE4: u32 = 12292;
pub const GL_CLIP_DISTANCE5: u32 = 12293;
pub const GL_CLIP_DISTANCE6: u32 = 12294;
pub const GL_CLIP_DISTANCE7: u32 = 12295;
pub const GL_MAX_CLIP_DISTANCES: u32 = 3378;
pub const GL_MAJOR_VERSION: u32 = 33307;
pub const GL_MINOR_VERSION: u32 = 33308;
pub const GL_NUM_EXTENSIONS: u32 = 33309;
pub const GL_CONTEXT_FLAGS: u32 = 33310;
pub const GL_COMPRESSED_RED: u32 = 33317;
pub const GL_COMPRESSED_RG: u32 = 33318;
pub const GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT: u32 = 1;
pub const GL_RGBA32F: u32 = 34836;
pub const GL_RGB32F: u32 = 34837;
pub const GL_RGBA16F: u32 = 34842;
pub const GL_RGB16F: u32 = 34843;
pub const GL_VERTEX_ATTRIB_ARRAY_INTEGER: u32 = 35069;
pub const GL_MAX_ARRAY_TEXTURE_LAYERS: u32 = 35071;
pub const GL_MIN_PROGRAM_TEXEL_OFFSET: u32 = 35076;
pub const GL_MAX_PROGRAM_TEXEL_OFFSET: u32 = 35077;
pub const GL_CLAMP_READ_COLOR: u32 = 35100;
pub const GL_FIXED_ONLY: u32 = 35101;
pub const GL_MAX_VARYING_COMPONENTS: u32 = 35659;
pub const GL_TEXTURE_1D_ARRAY: u32 = 35864;
pub const GL_PROXY_TEXTURE_1D_ARRAY: u32 = 35865;
pub const GL_TEXTURE_2D_ARRAY: u32 = 35866;
pub const GL_PROXY_TEXTURE_2D_ARRAY: u32 = 35867;
pub const GL_TEXTURE_BINDING_1D_ARRAY: u32 = 35868;
pub const GL_TEXTURE_BINDING_2D_ARRAY: u32 = 35869;
pub const GL_R11F_G11F_B10F: u32 = 35898;
pub const GL_UNSIGNED_INT_10F_11F_11F_REV: u32 = 35899;
pub const GL_RGB9_E5: u32 = 35901;
pub const GL_UNSIGNED_INT_5_9_9_9_REV: u32 = 35902;
pub const GL_TEXTURE_SHARED_SIZE: u32 = 35903;
pub const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: u32 = 35958;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_MODE: u32 = 35967;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: u32 = 35968;
pub const GL_TRANSFORM_FEEDBACK_VARYINGS: u32 = 35971;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_START: u32 = 35972;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE: u32 = 35973;
pub const GL_PRIMITIVES_GENERATED: u32 = 35975;
pub const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: u32 = 35976;
pub const GL_RASTERIZER_DISCARD: u32 = 35977;
pub const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: u32 = 35978;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: u32 = 35979;
pub const GL_INTERLEAVED_ATTRIBS: u32 = 35980;
pub const GL_SEPARATE_ATTRIBS: u32 = 35981;
pub const GL_TRANSFORM_FEEDBACK_BUFFER: u32 = 35982;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING: u32 = 35983;
pub const GL_RGBA32UI: u32 = 36208;
pub const GL_RGB32UI: u32 = 36209;
pub const GL_RGBA16UI: u32 = 36214;
pub const GL_RGB16UI: u32 = 36215;
pub const GL_RGBA8UI: u32 = 36220;
pub const GL_RGB8UI: u32 = 36221;
pub const GL_RGBA32I: u32 = 36226;
pub const GL_RGB32I: u32 = 36227;
pub const GL_RGBA16I: u32 = 36232;
pub const GL_RGB16I: u32 = 36233;
pub const GL_RGBA8I: u32 = 36238;
pub const GL_RGB8I: u32 = 36239;
pub const GL_RED_INTEGER: u32 = 36244;
pub const GL_GREEN_INTEGER: u32 = 36245;
pub const GL_BLUE_INTEGER: u32 = 36246;
pub const GL_RGB_INTEGER: u32 = 36248;
pub const GL_RGBA_INTEGER: u32 = 36249;
pub const GL_BGR_INTEGER: u32 = 36250;
pub const GL_BGRA_INTEGER: u32 = 36251;
pub const GL_SAMPLER_1D_ARRAY: u32 = 36288;
pub const GL_SAMPLER_2D_ARRAY: u32 = 36289;
pub const GL_SAMPLER_1D_ARRAY_SHADOW: u32 = 36291;
pub const GL_SAMPLER_2D_ARRAY_SHADOW: u32 = 36292;
pub const GL_SAMPLER_CUBE_SHADOW: u32 = 36293;
pub const GL_UNSIGNED_INT_VEC2: u32 = 36294;
pub const GL_UNSIGNED_INT_VEC3: u32 = 36295;
pub const GL_UNSIGNED_INT_VEC4: u32 = 36296;
pub const GL_INT_SAMPLER_1D: u32 = 36297;
pub const GL_INT_SAMPLER_2D: u32 = 36298;
pub const GL_INT_SAMPLER_3D: u32 = 36299;
pub const GL_INT_SAMPLER_CUBE: u32 = 36300;
pub const GL_INT_SAMPLER_1D_ARRAY: u32 = 36302;
pub const GL_INT_SAMPLER_2D_ARRAY: u32 = 36303;
pub const GL_UNSIGNED_INT_SAMPLER_1D: u32 = 36305;
pub const GL_UNSIGNED_INT_SAMPLER_2D: u32 = 36306;
pub const GL_UNSIGNED_INT_SAMPLER_3D: u32 = 36307;
pub const GL_UNSIGNED_INT_SAMPLER_CUBE: u32 = 36308;
pub const GL_UNSIGNED_INT_SAMPLER_1D_ARRAY: u32 = 36310;
pub const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY: u32 = 36311;
pub const GL_QUERY_WAIT: u32 = 36371;
pub const GL_QUERY_NO_WAIT: u32 = 36372;
pub const GL_QUERY_BY_REGION_WAIT: u32 = 36373;
pub const GL_QUERY_BY_REGION_NO_WAIT: u32 = 36374;
pub const GL_BUFFER_ACCESS_FLAGS: u32 = 37151;
pub const GL_BUFFER_MAP_LENGTH: u32 = 37152;
pub const GL_BUFFER_MAP_OFFSET: u32 = 37153;
pub const GL_DEPTH_COMPONENT32F: u32 = 36012;
pub const GL_DEPTH32F_STENCIL8: u32 = 36013;
pub const GL_FLOAT_32_UNSIGNED_INT_24_8_REV: u32 = 36269;
pub const GL_INVALID_FRAMEBUFFER_OPERATION: u32 = 1286;
pub const GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: u32 = 33296;
pub const GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: u32 = 33297;
pub const GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE: u32 = 33298;
pub const GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: u32 = 33299;
pub const GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: u32 = 33300;
pub const GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: u32 = 33301;
pub const GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: u32 = 33302;
pub const GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: u32 = 33303;
pub const GL_FRAMEBUFFER_DEFAULT: u32 = 33304;
pub const GL_FRAMEBUFFER_UNDEFINED: u32 = 33305;
pub const GL_DEPTH_STENCIL_ATTACHMENT: u32 = 33306;
pub const GL_MAX_RENDERBUFFER_SIZE: u32 = 34024;
pub const GL_DEPTH_STENCIL: u32 = 34041;
pub const GL_UNSIGNED_INT_24_8: u32 = 34042;
pub const GL_DEPTH24_STENCIL8: u32 = 35056;
pub const GL_TEXTURE_STENCIL_SIZE: u32 = 35057;
pub const GL_TEXTURE_RED_TYPE: u32 = 35856;
pub const GL_TEXTURE_GREEN_TYPE: u32 = 35857;
pub const GL_TEXTURE_BLUE_TYPE: u32 = 35858;
pub const GL_TEXTURE_ALPHA_TYPE: u32 = 35859;
pub const GL_TEXTURE_DEPTH_TYPE: u32 = 35862;
pub const GL_UNSIGNED_NORMALIZED: u32 = 35863;
pub const GL_FRAMEBUFFER_BINDING: u32 = 36006;
pub const GL_DRAW_FRAMEBUFFER_BINDING: u32 = 36006;
pub const GL_RENDERBUFFER_BINDING: u32 = 36007;
pub const GL_READ_FRAMEBUFFER: u32 = 36008;
pub const GL_DRAW_FRAMEBUFFER: u32 = 36009;
pub const GL_READ_FRAMEBUFFER_BINDING: u32 = 36010;
pub const GL_RENDERBUFFER_SAMPLES: u32 = 36011;
pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: u32 = 36048;
pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: u32 = 36049;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: u32 = 36050;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: u32 = 36051;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: u32 = 36052;
pub const GL_FRAMEBUFFER_COMPLETE: u32 = 36053;
pub const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: u32 = 36054;
pub const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: u32 = 36055;
pub const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER: u32 = 36059;
pub const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER: u32 = 36060;
pub const GL_FRAMEBUFFER_UNSUPPORTED: u32 = 36061;
pub const GL_MAX_COLOR_ATTACHMENTS: u32 = 36063;
pub const GL_COLOR_ATTACHMENT0: u32 = 36064;
pub const GL_COLOR_ATTACHMENT1: u32 = 36065;
pub const GL_COLOR_ATTACHMENT2: u32 = 36066;
pub const GL_COLOR_ATTACHMENT3: u32 = 36067;
pub const GL_COLOR_ATTACHMENT4: u32 = 36068;
pub const GL_COLOR_ATTACHMENT5: u32 = 36069;
pub const GL_COLOR_ATTACHMENT6: u32 = 36070;
pub const GL_COLOR_ATTACHMENT7: u32 = 36071;
pub const GL_COLOR_ATTACHMENT8: u32 = 36072;
pub const GL_COLOR_ATTACHMENT9: u32 = 36073;
pub const GL_COLOR_ATTACHMENT10: u32 = 36074;
pub const GL_COLOR_ATTACHMENT11: u32 = 36075;
pub const GL_COLOR_ATTACHMENT12: u32 = 36076;
pub const GL_COLOR_ATTACHMENT13: u32 = 36077;
pub const GL_COLOR_ATTACHMENT14: u32 = 36078;
pub const GL_COLOR_ATTACHMENT15: u32 = 36079;
pub const GL_COLOR_ATTACHMENT16: u32 = 36080;
pub const GL_COLOR_ATTACHMENT17: u32 = 36081;
pub const GL_COLOR_ATTACHMENT18: u32 = 36082;
pub const GL_COLOR_ATTACHMENT19: u32 = 36083;
pub const GL_COLOR_ATTACHMENT20: u32 = 36084;
pub const GL_COLOR_ATTACHMENT21: u32 = 36085;
pub const GL_COLOR_ATTACHMENT22: u32 = 36086;
pub const GL_COLOR_ATTACHMENT23: u32 = 36087;
pub const GL_COLOR_ATTACHMENT24: u32 = 36088;
pub const GL_COLOR_ATTACHMENT25: u32 = 36089;
pub const GL_COLOR_ATTACHMENT26: u32 = 36090;
pub const GL_COLOR_ATTACHMENT27: u32 = 36091;
pub const GL_COLOR_ATTACHMENT28: u32 = 36092;
pub const GL_COLOR_ATTACHMENT29: u32 = 36093;
pub const GL_COLOR_ATTACHMENT30: u32 = 36094;
pub const GL_COLOR_ATTACHMENT31: u32 = 36095;
pub const GL_DEPTH_ATTACHMENT: u32 = 36096;
pub const GL_STENCIL_ATTACHMENT: u32 = 36128;
pub const GL_FRAMEBUFFER: u32 = 36160;
pub const GL_RENDERBUFFER: u32 = 36161;
pub const GL_RENDERBUFFER_WIDTH: u32 = 36162;
pub const GL_RENDERBUFFER_HEIGHT: u32 = 36163;
pub const GL_RENDERBUFFER_INTERNAL_FORMAT: u32 = 36164;
pub const GL_STENCIL_INDEX1: u32 = 36166;
pub const GL_STENCIL_INDEX4: u32 = 36167;
pub const GL_STENCIL_INDEX8: u32 = 36168;
pub const GL_STENCIL_INDEX16: u32 = 36169;
pub const GL_RENDERBUFFER_RED_SIZE: u32 = 36176;
pub const GL_RENDERBUFFER_GREEN_SIZE: u32 = 36177;
pub const GL_RENDERBUFFER_BLUE_SIZE: u32 = 36178;
pub const GL_RENDERBUFFER_ALPHA_SIZE: u32 = 36179;
pub const GL_RENDERBUFFER_DEPTH_SIZE: u32 = 36180;
pub const GL_RENDERBUFFER_STENCIL_SIZE: u32 = 36181;
pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: u32 = 36182;
pub const GL_MAX_SAMPLES: u32 = 36183;
pub const GL_INDEX: u32 = 33314;
pub const GL_TEXTURE_LUMINANCE_TYPE: u32 = 35860;
pub const GL_TEXTURE_INTENSITY_TYPE: u32 = 35861;
pub const GL_FRAMEBUFFER_SRGB: u32 = 36281;
pub const GL_HALF_FLOAT: u32 = 5131;
pub const GL_MAP_READ_BIT: u32 = 1;
pub const GL_MAP_WRITE_BIT: u32 = 2;
pub const GL_MAP_INVALIDATE_RANGE_BIT: u32 = 4;
pub const GL_MAP_INVALIDATE_BUFFER_BIT: u32 = 8;
pub const GL_MAP_FLUSH_EXPLICIT_BIT: u32 = 16;
pub const GL_MAP_UNSYNCHRONIZED_BIT: u32 = 32;
pub const GL_COMPRESSED_RED_RGTC1: u32 = 36283;
pub const GL_COMPRESSED_SIGNED_RED_RGTC1: u32 = 36284;
pub const GL_COMPRESSED_RG_RGTC2: u32 = 36285;
pub const GL_COMPRESSED_SIGNED_RG_RGTC2: u32 = 36286;
pub const GL_RG: u32 = 33319;
pub const GL_RG_INTEGER: u32 = 33320;
pub const GL_R8: u32 = 33321;
pub const GL_R16: u32 = 33322;
pub const GL_RG8: u32 = 33323;
pub const GL_RG16: u32 = 33324;
pub const GL_R16F: u32 = 33325;
pub const GL_R32F: u32 = 33326;
pub const GL_RG16F: u32 = 33327;
pub const GL_RG32F: u32 = 33328;
pub const GL_R8I: u32 = 33329;
pub const GL_R8UI: u32 = 33330;
pub const GL_R16I: u32 = 33331;
pub const GL_R16UI: u32 = 33332;
pub const GL_R32I: u32 = 33333;
pub const GL_R32UI: u32 = 33334;
pub const GL_RG8I: u32 = 33335;
pub const GL_RG8UI: u32 = 33336;
pub const GL_RG16I: u32 = 33337;
pub const GL_RG16UI: u32 = 33338;
pub const GL_RG32I: u32 = 33339;
pub const GL_RG32UI: u32 = 33340;
pub const GL_VERTEX_ARRAY_BINDING: u32 = 34229;
pub const GL_CLAMP_VERTEX_COLOR: u32 = 35098;
pub const GL_CLAMP_FRAGMENT_COLOR: u32 = 35099;
pub const GL_ALPHA_INTEGER: u32 = 36247;
pub const GL_VERSION_3_1: u32 = 1;
pub const GL_SAMPLER_2D_RECT: u32 = 35683;
pub const GL_SAMPLER_2D_RECT_SHADOW: u32 = 35684;
pub const GL_SAMPLER_BUFFER: u32 = 36290;
pub const GL_INT_SAMPLER_2D_RECT: u32 = 36301;
pub const GL_INT_SAMPLER_BUFFER: u32 = 36304;
pub const GL_UNSIGNED_INT_SAMPLER_2D_RECT: u32 = 36309;
pub const GL_UNSIGNED_INT_SAMPLER_BUFFER: u32 = 36312;
pub const GL_TEXTURE_BUFFER: u32 = 35882;
pub const GL_MAX_TEXTURE_BUFFER_SIZE: u32 = 35883;
pub const GL_TEXTURE_BINDING_BUFFER: u32 = 35884;
pub const GL_TEXTURE_BUFFER_DATA_STORE_BINDING: u32 = 35885;
pub const GL_TEXTURE_RECTANGLE: u32 = 34037;
pub const GL_TEXTURE_BINDING_RECTANGLE: u32 = 34038;
pub const GL_PROXY_TEXTURE_RECTANGLE: u32 = 34039;
pub const GL_MAX_RECTANGLE_TEXTURE_SIZE: u32 = 34040;
pub const GL_R8_SNORM: u32 = 36756;
pub const GL_RG8_SNORM: u32 = 36757;
pub const GL_RGB8_SNORM: u32 = 36758;
pub const GL_RGBA8_SNORM: u32 = 36759;
pub const GL_R16_SNORM: u32 = 36760;
pub const GL_RG16_SNORM: u32 = 36761;
pub const GL_RGB16_SNORM: u32 = 36762;
pub const GL_RGBA16_SNORM: u32 = 36763;
pub const GL_SIGNED_NORMALIZED: u32 = 36764;
pub const GL_PRIMITIVE_RESTART: u32 = 36765;
pub const GL_PRIMITIVE_RESTART_INDEX: u32 = 36766;
pub const GL_COPY_READ_BUFFER: u32 = 36662;
pub const GL_COPY_WRITE_BUFFER: u32 = 36663;
pub const GL_UNIFORM_BUFFER: u32 = 35345;
pub const GL_UNIFORM_BUFFER_BINDING: u32 = 35368;
pub const GL_UNIFORM_BUFFER_START: u32 = 35369;
pub const GL_UNIFORM_BUFFER_SIZE: u32 = 35370;
pub const GL_MAX_VERTEX_UNIFORM_BLOCKS: u32 = 35371;
pub const GL_MAX_GEOMETRY_UNIFORM_BLOCKS: u32 = 35372;
pub const GL_MAX_FRAGMENT_UNIFORM_BLOCKS: u32 = 35373;
pub const GL_MAX_COMBINED_UNIFORM_BLOCKS: u32 = 35374;
pub const GL_MAX_UNIFORM_BUFFER_BINDINGS: u32 = 35375;
pub const GL_MAX_UNIFORM_BLOCK_SIZE: u32 = 35376;
pub const GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: u32 = 35377;
pub const GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS: u32 = 35378;
pub const GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: u32 = 35379;
pub const GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: u32 = 35380;
pub const GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH: u32 = 35381;
pub const GL_ACTIVE_UNIFORM_BLOCKS: u32 = 35382;
pub const GL_UNIFORM_TYPE: u32 = 35383;
pub const GL_UNIFORM_SIZE: u32 = 35384;
pub const GL_UNIFORM_NAME_LENGTH: u32 = 35385;
pub const GL_UNIFORM_BLOCK_INDEX: u32 = 35386;
pub const GL_UNIFORM_OFFSET: u32 = 35387;
pub const GL_UNIFORM_ARRAY_STRIDE: u32 = 35388;
pub const GL_UNIFORM_MATRIX_STRIDE: u32 = 35389;
pub const GL_UNIFORM_IS_ROW_MAJOR: u32 = 35390;
pub const GL_UNIFORM_BLOCK_BINDING: u32 = 35391;
pub const GL_UNIFORM_BLOCK_DATA_SIZE: u32 = 35392;
pub const GL_UNIFORM_BLOCK_NAME_LENGTH: u32 = 35393;
pub const GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS: u32 = 35394;
pub const GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: u32 = 35395;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: u32 = 35396;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER: u32 = 35397;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: u32 = 35398;
pub const GL_INVALID_INDEX: u32 = 4294967295;
pub const GL_VERSION_3_2: u32 = 1;
pub const _INTTYPES_H: u32 = 1;
pub const ____gwchar_t_defined: u32 = 1;
pub const __PRI64_PREFIX: &[u8; 2usize] = b"l\0";
pub const __PRIPTR_PREFIX: &[u8; 2usize] = b"l\0";
pub const PRId8: &[u8; 2usize] = b"d\0";
pub const PRId16: &[u8; 2usize] = b"d\0";
pub const PRId32: &[u8; 2usize] = b"d\0";
pub const PRId64: &[u8; 3usize] = b"ld\0";
pub const PRIdLEAST8: &[u8; 2usize] = b"d\0";
pub const PRIdLEAST16: &[u8; 2usize] = b"d\0";
pub const PRIdLEAST32: &[u8; 2usize] = b"d\0";
pub const PRIdLEAST64: &[u8; 3usize] = b"ld\0";
pub const PRIdFAST8: &[u8; 2usize] = b"d\0";
pub const PRIdFAST16: &[u8; 3usize] = b"ld\0";
pub const PRIdFAST32: &[u8; 3usize] = b"ld\0";
pub const PRIdFAST64: &[u8; 3usize] = b"ld\0";
pub const PRIi8: &[u8; 2usize] = b"i\0";
pub const PRIi16: &[u8; 2usize] = b"i\0";
pub const PRIi32: &[u8; 2usize] = b"i\0";
pub const PRIi64: &[u8; 3usize] = b"li\0";
pub const PRIiLEAST8: &[u8; 2usize] = b"i\0";
pub const PRIiLEAST16: &[u8; 2usize] = b"i\0";
pub const PRIiLEAST32: &[u8; 2usize] = b"i\0";
pub const PRIiLEAST64: &[u8; 3usize] = b"li\0";
pub const PRIiFAST8: &[u8; 2usize] = b"i\0";
pub const PRIiFAST16: &[u8; 3usize] = b"li\0";
pub const PRIiFAST32: &[u8; 3usize] = b"li\0";
pub const PRIiFAST64: &[u8; 3usize] = b"li\0";
pub const PRIo8: &[u8; 2usize] = b"o\0";
pub const PRIo16: &[u8; 2usize] = b"o\0";
pub const PRIo32: &[u8; 2usize] = b"o\0";
pub const PRIo64: &[u8; 3usize] = b"lo\0";
pub const PRIoLEAST8: &[u8; 2usize] = b"o\0";
pub const PRIoLEAST16: &[u8; 2usize] = b"o\0";
pub const PRIoLEAST32: &[u8; 2usize] = b"o\0";
pub const PRIoLEAST64: &[u8; 3usize] = b"lo\0";
pub const PRIoFAST8: &[u8; 2usize] = b"o\0";
pub const PRIoFAST16: &[u8; 3usize] = b"lo\0";
pub const PRIoFAST32: &[u8; 3usize] = b"lo\0";
pub const PRIoFAST64: &[u8; 3usize] = b"lo\0";
pub const PRIu8: &[u8; 2usize] = b"u\0";
pub const PRIu16: &[u8; 2usize] = b"u\0";
pub const PRIu32: &[u8; 2usize] = b"u\0";
pub const PRIu64: &[u8; 3usize] = b"lu\0";
pub const PRIuLEAST8: &[u8; 2usize] = b"u\0";
pub const PRIuLEAST16: &[u8; 2usize] = b"u\0";
pub const PRIuLEAST32: &[u8; 2usize] = b"u\0";
pub const PRIuLEAST64: &[u8; 3usize] = b"lu\0";
pub const PRIuFAST8: &[u8; 2usize] = b"u\0";
pub const PRIuFAST16: &[u8; 3usize] = b"lu\0";
pub const PRIuFAST32: &[u8; 3usize] = b"lu\0";
pub const PRIuFAST64: &[u8; 3usize] = b"lu\0";
pub const PRIx8: &[u8; 2usize] = b"x\0";
pub const PRIx16: &[u8; 2usize] = b"x\0";
pub const PRIx32: &[u8; 2usize] = b"x\0";
pub const PRIx64: &[u8; 3usize] = b"lx\0";
pub const PRIxLEAST8: &[u8; 2usize] = b"x\0";
pub const PRIxLEAST16: &[u8; 2usize] = b"x\0";
pub const PRIxLEAST32: &[u8; 2usize] = b"x\0";
pub const PRIxLEAST64: &[u8; 3usize] = b"lx\0";
pub const PRIxFAST8: &[u8; 2usize] = b"x\0";
pub const PRIxFAST16: &[u8; 3usize] = b"lx\0";
pub const PRIxFAST32: &[u8; 3usize] = b"lx\0";
pub const PRIxFAST64: &[u8; 3usize] = b"lx\0";
pub const PRIX8: &[u8; 2usize] = b"X\0";
pub const PRIX16: &[u8; 2usize] = b"X\0";
pub const PRIX32: &[u8; 2usize] = b"X\0";
pub const PRIX64: &[u8; 3usize] = b"lX\0";
pub const PRIXLEAST8: &[u8; 2usize] = b"X\0";
pub const PRIXLEAST16: &[u8; 2usize] = b"X\0";
pub const PRIXLEAST32: &[u8; 2usize] = b"X\0";
pub const PRIXLEAST64: &[u8; 3usize] = b"lX\0";
pub const PRIXFAST8: &[u8; 2usize] = b"X\0";
pub const PRIXFAST16: &[u8; 3usize] = b"lX\0";
pub const PRIXFAST32: &[u8; 3usize] = b"lX\0";
pub const PRIXFAST64: &[u8; 3usize] = b"lX\0";
pub const PRIdMAX: &[u8; 3usize] = b"ld\0";
pub const PRIiMAX: &[u8; 3usize] = b"li\0";
pub const PRIoMAX: &[u8; 3usize] = b"lo\0";
pub const PRIuMAX: &[u8; 3usize] = b"lu\0";
pub const PRIxMAX: &[u8; 3usize] = b"lx\0";
pub const PRIXMAX: &[u8; 3usize] = b"lX\0";
pub const PRIdPTR: &[u8; 3usize] = b"ld\0";
pub const PRIiPTR: &[u8; 3usize] = b"li\0";
pub const PRIoPTR: &[u8; 3usize] = b"lo\0";
pub const PRIuPTR: &[u8; 3usize] = b"lu\0";
pub const PRIxPTR: &[u8; 3usize] = b"lx\0";
pub const PRIXPTR: &[u8; 3usize] = b"lX\0";
pub const SCNd8: &[u8; 4usize] = b"hhd\0";
pub const SCNd16: &[u8; 3usize] = b"hd\0";
pub const SCNd32: &[u8; 2usize] = b"d\0";
pub const SCNd64: &[u8; 3usize] = b"ld\0";
pub const SCNdLEAST8: &[u8; 4usize] = b"hhd\0";
pub const SCNdLEAST16: &[u8; 3usize] = b"hd\0";
pub const SCNdLEAST32: &[u8; 2usize] = b"d\0";
pub const SCNdLEAST64: &[u8; 3usize] = b"ld\0";
pub const SCNdFAST8: &[u8; 4usize] = b"hhd\0";
pub const SCNdFAST16: &[u8; 3usize] = b"ld\0";
pub const SCNdFAST32: &[u8; 3usize] = b"ld\0";
pub const SCNdFAST64: &[u8; 3usize] = b"ld\0";
pub const SCNi8: &[u8; 4usize] = b"hhi\0";
pub const SCNi16: &[u8; 3usize] = b"hi\0";
pub const SCNi32: &[u8; 2usize] = b"i\0";
pub const SCNi64: &[u8; 3usize] = b"li\0";
pub const SCNiLEAST8: &[u8; 4usize] = b"hhi\0";
pub const SCNiLEAST16: &[u8; 3usize] = b"hi\0";
pub const SCNiLEAST32: &[u8; 2usize] = b"i\0";
pub const SCNiLEAST64: &[u8; 3usize] = b"li\0";
pub const SCNiFAST8: &[u8; 4usize] = b"hhi\0";
pub const SCNiFAST16: &[u8; 3usize] = b"li\0";
pub const SCNiFAST32: &[u8; 3usize] = b"li\0";
pub const SCNiFAST64: &[u8; 3usize] = b"li\0";
pub const SCNu8: &[u8; 4usize] = b"hhu\0";
pub const SCNu16: &[u8; 3usize] = b"hu\0";
pub const SCNu32: &[u8; 2usize] = b"u\0";
pub const SCNu64: &[u8; 3usize] = b"lu\0";
pub const SCNuLEAST8: &[u8; 4usize] = b"hhu\0";
pub const SCNuLEAST16: &[u8; 3usize] = b"hu\0";
pub const SCNuLEAST32: &[u8; 2usize] = b"u\0";
pub const SCNuLEAST64: &[u8; 3usize] = b"lu\0";
pub const SCNuFAST8: &[u8; 4usize] = b"hhu\0";
pub const SCNuFAST16: &[u8; 3usize] = b"lu\0";
pub const SCNuFAST32: &[u8; 3usize] = b"lu\0";
pub const SCNuFAST64: &[u8; 3usize] = b"lu\0";
pub const SCNo8: &[u8; 4usize] = b"hho\0";
pub const SCNo16: &[u8; 3usize] = b"ho\0";
pub const SCNo32: &[u8; 2usize] = b"o\0";
pub const SCNo64: &[u8; 3usize] = b"lo\0";
pub const SCNoLEAST8: &[u8; 4usize] = b"hho\0";
pub const SCNoLEAST16: &[u8; 3usize] = b"ho\0";
pub const SCNoLEAST32: &[u8; 2usize] = b"o\0";
pub const SCNoLEAST64: &[u8; 3usize] = b"lo\0";
pub const SCNoFAST8: &[u8; 4usize] = b"hho\0";
pub const SCNoFAST16: &[u8; 3usize] = b"lo\0";
pub const SCNoFAST32: &[u8; 3usize] = b"lo\0";
pub const SCNoFAST64: &[u8; 3usize] = b"lo\0";
pub const SCNx8: &[u8; 4usize] = b"hhx\0";
pub const SCNx16: &[u8; 3usize] = b"hx\0";
pub const SCNx32: &[u8; 2usize] = b"x\0";
pub const SCNx64: &[u8; 3usize] = b"lx\0";
pub const SCNxLEAST8: &[u8; 4usize] = b"hhx\0";
pub const SCNxLEAST16: &[u8; 3usize] = b"hx\0";
pub const SCNxLEAST32: &[u8; 2usize] = b"x\0";
pub const SCNxLEAST64: &[u8; 3usize] = b"lx\0";
pub const SCNxFAST8: &[u8; 4usize] = b"hhx\0";
pub const SCNxFAST16: &[u8; 3usize] = b"lx\0";
pub const SCNxFAST32: &[u8; 3usize] = b"lx\0";
pub const SCNxFAST64: &[u8; 3usize] = b"lx\0";
pub const SCNdMAX: &[u8; 3usize] = b"ld\0";
pub const SCNiMAX: &[u8; 3usize] = b"li\0";
pub const SCNoMAX: &[u8; 3usize] = b"lo\0";
pub const SCNuMAX: &[u8; 3usize] = b"lu\0";
pub const SCNxMAX: &[u8; 3usize] = b"lx\0";
pub const SCNdPTR: &[u8; 3usize] = b"ld\0";
pub const SCNiPTR: &[u8; 3usize] = b"li\0";
pub const SCNoPTR: &[u8; 3usize] = b"lo\0";
pub const SCNuPTR: &[u8; 3usize] = b"lu\0";
pub const SCNxPTR: &[u8; 3usize] = b"lx\0";
pub const GL_CONTEXT_CORE_PROFILE_BIT: u32 = 1;
pub const GL_CONTEXT_COMPATIBILITY_PROFILE_BIT: u32 = 2;
pub const GL_LINES_ADJACENCY: u32 = 10;
pub const GL_LINE_STRIP_ADJACENCY: u32 = 11;
pub const GL_TRIANGLES_ADJACENCY: u32 = 12;
pub const GL_TRIANGLE_STRIP_ADJACENCY: u32 = 13;
pub const GL_PROGRAM_POINT_SIZE: u32 = 34370;
pub const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS: u32 = 35881;
pub const GL_FRAMEBUFFER_ATTACHMENT_LAYERED: u32 = 36263;
pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS: u32 = 36264;
pub const GL_GEOMETRY_SHADER: u32 = 36313;
pub const GL_GEOMETRY_VERTICES_OUT: u32 = 35094;
pub const GL_GEOMETRY_INPUT_TYPE: u32 = 35095;
pub const GL_GEOMETRY_OUTPUT_TYPE: u32 = 35096;
pub const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS: u32 = 36319;
pub const GL_MAX_GEOMETRY_OUTPUT_VERTICES: u32 = 36320;
pub const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS: u32 = 36321;
pub const GL_MAX_VERTEX_OUTPUT_COMPONENTS: u32 = 37154;
pub const GL_MAX_GEOMETRY_INPUT_COMPONENTS: u32 = 37155;
pub const GL_MAX_GEOMETRY_OUTPUT_COMPONENTS: u32 = 37156;
pub const GL_MAX_FRAGMENT_INPUT_COMPONENTS: u32 = 37157;
pub const GL_CONTEXT_PROFILE_MASK: u32 = 37158;
pub const GL_DEPTH_CLAMP: u32 = 34383;
pub const GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION: u32 = 36428;
pub const GL_FIRST_VERTEX_CONVENTION: u32 = 36429;
pub const GL_LAST_VERTEX_CONVENTION: u32 = 36430;
pub const GL_PROVOKING_VERTEX: u32 = 36431;
pub const GL_TEXTURE_CUBE_MAP_SEAMLESS: u32 = 34895;
pub const GL_MAX_SERVER_WAIT_TIMEOUT: u32 = 37137;
pub const GL_OBJECT_TYPE: u32 = 37138;
pub const GL_SYNC_CONDITION: u32 = 37139;
pub const GL_SYNC_STATUS: u32 = 37140;
pub const GL_SYNC_FLAGS: u32 = 37141;
pub const GL_SYNC_FENCE: u32 = 37142;
pub const GL_SYNC_GPU_COMMANDS_COMPLETE: u32 = 37143;
pub const GL_UNSIGNALED: u32 = 37144;
pub const GL_SIGNALED: u32 = 37145;
pub const GL_ALREADY_SIGNALED: u32 = 37146;
pub const GL_TIMEOUT_EXPIRED: u32 = 37147;
pub const GL_CONDITION_SATISFIED: u32 = 37148;
pub const GL_WAIT_FAILED: u32 = 37149;
pub const GL_TIMEOUT_IGNORED: i32 = -1;
pub const GL_SYNC_FLUSH_COMMANDS_BIT: u32 = 1;
pub const GL_SAMPLE_POSITION: u32 = 36432;
pub const GL_SAMPLE_MASK: u32 = 36433;
pub const GL_SAMPLE_MASK_VALUE: u32 = 36434;
pub const GL_MAX_SAMPLE_MASK_WORDS: u32 = 36441;
pub const GL_TEXTURE_2D_MULTISAMPLE: u32 = 37120;
pub const GL_PROXY_TEXTURE_2D_MULTISAMPLE: u32 = 37121;
pub const GL_TEXTURE_2D_MULTISAMPLE_ARRAY: u32 = 37122;
pub const GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY: u32 = 37123;
pub const GL_TEXTURE_BINDING_2D_MULTISAMPLE: u32 = 37124;
pub const GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY: u32 = 37125;
pub const GL_TEXTURE_SAMPLES: u32 = 37126;
pub const GL_TEXTURE_FIXED_SAMPLE_LOCATIONS: u32 = 37127;
pub const GL_SAMPLER_2D_MULTISAMPLE: u32 = 37128;
pub const GL_INT_SAMPLER_2D_MULTISAMPLE: u32 = 37129;
pub const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE: u32 = 37130;
pub const GL_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 37131;
pub const GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 37132;
pub const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: u32 = 37133;
pub const GL_MAX_COLOR_TEXTURE_SAMPLES: u32 = 37134;
pub const GL_MAX_DEPTH_TEXTURE_SAMPLES: u32 = 37135;
pub const GL_MAX_INTEGER_SAMPLES: u32 = 37136;
pub const GL_VERSION_3_3: u32 = 1;
pub const GL_VERTEX_ATTRIB_ARRAY_DIVISOR: u32 = 35070;
pub const GL_SRC1_COLOR: u32 = 35065;
pub const GL_ONE_MINUS_SRC1_COLOR: u32 = 35066;
pub const GL_ONE_MINUS_SRC1_ALPHA: u32 = 35067;
pub const GL_MAX_DUAL_SOURCE_DRAW_BUFFERS: u32 = 35068;
pub const GL_ANY_SAMPLES_PASSED: u32 = 35887;
pub const GL_SAMPLER_BINDING: u32 = 35097;
pub const GL_RGB10_A2UI: u32 = 36975;
pub const GL_TEXTURE_SWIZZLE_R: u32 = 36418;
pub const GL_TEXTURE_SWIZZLE_G: u32 = 36419;
pub const GL_TEXTURE_SWIZZLE_B: u32 = 36420;
pub const GL_TEXTURE_SWIZZLE_A: u32 = 36421;
pub const GL_TEXTURE_SWIZZLE_RGBA: u32 = 36422;
pub const GL_TIME_ELAPSED: u32 = 35007;
pub const GL_TIMESTAMP: u32 = 36392;
pub const GL_INT_2_10_10_10_REV: u32 = 36255;
pub const GL_VERSION_4_0: u32 = 1;
pub const GL_SAMPLE_SHADING: u32 = 35894;
pub const GL_MIN_SAMPLE_SHADING_VALUE: u32 = 35895;
pub const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET: u32 = 36446;
pub const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET: u32 = 36447;
pub const GL_TEXTURE_CUBE_MAP_ARRAY: u32 = 36873;
pub const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY: u32 = 36874;
pub const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY: u32 = 36875;
pub const GL_SAMPLER_CUBE_MAP_ARRAY: u32 = 36876;
pub const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW: u32 = 36877;
pub const GL_INT_SAMPLER_CUBE_MAP_ARRAY: u32 = 36878;
pub const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY: u32 = 36879;
pub const GL_DRAW_INDIRECT_BUFFER: u32 = 36671;
pub const GL_DRAW_INDIRECT_BUFFER_BINDING: u32 = 36675;
pub const GL_GEOMETRY_SHADER_INVOCATIONS: u32 = 34943;
pub const GL_MAX_GEOMETRY_SHADER_INVOCATIONS: u32 = 36442;
pub const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET: u32 = 36443;
pub const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET: u32 = 36444;
pub const GL_FRAGMENT_INTERPOLATION_OFFSET_BITS: u32 = 36445;
pub const GL_MAX_VERTEX_STREAMS: u32 = 36465;
pub const GL_DOUBLE_VEC2: u32 = 36860;
pub const GL_DOUBLE_VEC3: u32 = 36861;
pub const GL_DOUBLE_VEC4: u32 = 36862;
pub const GL_DOUBLE_MAT2: u32 = 36678;
pub const GL_DOUBLE_MAT3: u32 = 36679;
pub const GL_DOUBLE_MAT4: u32 = 36680;
pub const GL_DOUBLE_MAT2x3: u32 = 36681;
pub const GL_DOUBLE_MAT2x4: u32 = 36682;
pub const GL_DOUBLE_MAT3x2: u32 = 36683;
pub const GL_DOUBLE_MAT3x4: u32 = 36684;
pub const GL_DOUBLE_MAT4x2: u32 = 36685;
pub const GL_DOUBLE_MAT4x3: u32 = 36686;
pub const GL_ACTIVE_SUBROUTINES: u32 = 36325;
pub const GL_ACTIVE_SUBROUTINE_UNIFORMS: u32 = 36326;
pub const GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS: u32 = 36423;
pub const GL_ACTIVE_SUBROUTINE_MAX_LENGTH: u32 = 36424;
pub const GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH: u32 = 36425;
pub const GL_MAX_SUBROUTINES: u32 = 36327;
pub const GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS: u32 = 36328;
pub const GL_NUM_COMPATIBLE_SUBROUTINES: u32 = 36426;
pub const GL_COMPATIBLE_SUBROUTINES: u32 = 36427;
pub const GL_PATCHES: u32 = 14;
pub const GL_PATCH_VERTICES: u32 = 36466;
pub const GL_PATCH_DEFAULT_INNER_LEVEL: u32 = 36467;
pub const GL_PATCH_DEFAULT_OUTER_LEVEL: u32 = 36468;
pub const GL_TESS_CONTROL_OUTPUT_VERTICES: u32 = 36469;
pub const GL_TESS_GEN_MODE: u32 = 36470;
pub const GL_TESS_GEN_SPACING: u32 = 36471;
pub const GL_TESS_GEN_VERTEX_ORDER: u32 = 36472;
pub const GL_TESS_GEN_POINT_MODE: u32 = 36473;
pub const GL_ISOLINES: u32 = 36474;
pub const GL_FRACTIONAL_ODD: u32 = 36475;
pub const GL_FRACTIONAL_EVEN: u32 = 36476;
pub const GL_MAX_PATCH_VERTICES: u32 = 36477;
pub const GL_MAX_TESS_GEN_LEVEL: u32 = 36478;
pub const GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS: u32 = 36479;
pub const GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS: u32 = 36480;
pub const GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS: u32 = 36481;
pub const GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS: u32 = 36482;
pub const GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS: u32 = 36483;
pub const GL_MAX_TESS_PATCH_COMPONENTS: u32 = 36484;
pub const GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS: u32 = 36485;
pub const GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS: u32 = 36486;
pub const GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS: u32 = 36489;
pub const GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS: u32 = 36490;
pub const GL_MAX_TESS_CONTROL_INPUT_COMPONENTS: u32 = 34924;
pub const GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS: u32 = 34925;
pub const GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS: u32 = 36382;
pub const GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS: u32 = 36383;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 34032;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 34033;
pub const GL_TESS_EVALUATION_SHADER: u32 = 36487;
pub const GL_TESS_CONTROL_SHADER: u32 = 36488;
pub const GL_TRANSFORM_FEEDBACK: u32 = 36386;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED: u32 = 36387;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE: u32 = 36388;
pub const GL_TRANSFORM_FEEDBACK_BINDING: u32 = 36389;
pub const GL_MAX_TRANSFORM_FEEDBACK_BUFFERS: u32 = 36464;
pub const GL_VERSION_4_1: u32 = 1;
pub const GL_FIXED: u32 = 5132;
pub const GL_IMPLEMENTATION_COLOR_READ_TYPE: u32 = 35738;
pub const GL_IMPLEMENTATION_COLOR_READ_FORMAT: u32 = 35739;
pub const GL_LOW_FLOAT: u32 = 36336;
pub const GL_MEDIUM_FLOAT: u32 = 36337;
pub const GL_HIGH_FLOAT: u32 = 36338;
pub const GL_LOW_INT: u32 = 36339;
pub const GL_MEDIUM_INT: u32 = 36340;
pub const GL_HIGH_INT: u32 = 36341;
pub const GL_SHADER_COMPILER: u32 = 36346;
pub const GL_SHADER_BINARY_FORMATS: u32 = 36344;
pub const GL_NUM_SHADER_BINARY_FORMATS: u32 = 36345;
pub const GL_MAX_VERTEX_UNIFORM_VECTORS: u32 = 36347;
pub const GL_MAX_VARYING_VECTORS: u32 = 36348;
pub const GL_MAX_FRAGMENT_UNIFORM_VECTORS: u32 = 36349;
pub const GL_RGB565: u32 = 36194;
pub const GL_PROGRAM_BINARY_RETRIEVABLE_HINT: u32 = 33367;
pub const GL_PROGRAM_BINARY_LENGTH: u32 = 34625;
pub const GL_NUM_PROGRAM_BINARY_FORMATS: u32 = 34814;
pub const GL_PROGRAM_BINARY_FORMATS: u32 = 34815;
pub const GL_VERTEX_SHADER_BIT: u32 = 1;
pub const GL_FRAGMENT_SHADER_BIT: u32 = 2;
pub const GL_GEOMETRY_SHADER_BIT: u32 = 4;
pub const GL_TESS_CONTROL_SHADER_BIT: u32 = 8;
pub const GL_TESS_EVALUATION_SHADER_BIT: u32 = 16;
pub const GL_ALL_SHADER_BITS: u32 = 4294967295;
pub const GL_PROGRAM_SEPARABLE: u32 = 33368;
pub const GL_ACTIVE_PROGRAM: u32 = 33369;
pub const GL_PROGRAM_PIPELINE_BINDING: u32 = 33370;
pub const GL_MAX_VIEWPORTS: u32 = 33371;
pub const GL_VIEWPORT_SUBPIXEL_BITS: u32 = 33372;
pub const GL_VIEWPORT_BOUNDS_RANGE: u32 = 33373;
pub const GL_LAYER_PROVOKING_VERTEX: u32 = 33374;
pub const GL_VIEWPORT_INDEX_PROVOKING_VERTEX: u32 = 33375;
pub const GL_UNDEFINED_VERTEX: u32 = 33376;
pub const GL_VERSION_4_2: u32 = 1;
pub const GL_COPY_READ_BUFFER_BINDING: u32 = 36662;
pub const GL_COPY_WRITE_BUFFER_BINDING: u32 = 36663;
pub const GL_TRANSFORM_FEEDBACK_ACTIVE: u32 = 36388;
pub const GL_TRANSFORM_FEEDBACK_PAUSED: u32 = 36387;
pub const GL_UNPACK_COMPRESSED_BLOCK_WIDTH: u32 = 37159;
pub const GL_UNPACK_COMPRESSED_BLOCK_HEIGHT: u32 = 37160;
pub const GL_UNPACK_COMPRESSED_BLOCK_DEPTH: u32 = 37161;
pub const GL_UNPACK_COMPRESSED_BLOCK_SIZE: u32 = 37162;
pub const GL_PACK_COMPRESSED_BLOCK_WIDTH: u32 = 37163;
pub const GL_PACK_COMPRESSED_BLOCK_HEIGHT: u32 = 37164;
pub const GL_PACK_COMPRESSED_BLOCK_DEPTH: u32 = 37165;
pub const GL_PACK_COMPRESSED_BLOCK_SIZE: u32 = 37166;
pub const GL_NUM_SAMPLE_COUNTS: u32 = 37760;
pub const GL_MIN_MAP_BUFFER_ALIGNMENT: u32 = 37052;
pub const GL_ATOMIC_COUNTER_BUFFER: u32 = 37568;
pub const GL_ATOMIC_COUNTER_BUFFER_BINDING: u32 = 37569;
pub const GL_ATOMIC_COUNTER_BUFFER_START: u32 = 37570;
pub const GL_ATOMIC_COUNTER_BUFFER_SIZE: u32 = 37571;
pub const GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE: u32 = 37572;
pub const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS: u32 = 37573;
pub const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES: u32 = 37574;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER: u32 = 37575;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 37576;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 37577;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER: u32 = 37578;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER: u32 = 37579;
pub const GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS: u32 = 37580;
pub const GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS: u32 = 37581;
pub const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS: u32 = 37582;
pub const GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS: u32 = 37583;
pub const GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS: u32 = 37584;
pub const GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS: u32 = 37585;
pub const GL_MAX_VERTEX_ATOMIC_COUNTERS: u32 = 37586;
pub const GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS: u32 = 37587;
pub const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS: u32 = 37588;
pub const GL_MAX_GEOMETRY_ATOMIC_COUNTERS: u32 = 37589;
pub const GL_MAX_FRAGMENT_ATOMIC_COUNTERS: u32 = 37590;
pub const GL_MAX_COMBINED_ATOMIC_COUNTERS: u32 = 37591;
pub const GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE: u32 = 37592;
pub const GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS: u32 = 37596;
pub const GL_ACTIVE_ATOMIC_COUNTER_BUFFERS: u32 = 37593;
pub const GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX: u32 = 37594;
pub const GL_UNSIGNED_INT_ATOMIC_COUNTER: u32 = 37595;
pub const GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT: u32 = 1;
pub const GL_ELEMENT_ARRAY_BARRIER_BIT: u32 = 2;
pub const GL_UNIFORM_BARRIER_BIT: u32 = 4;
pub const GL_TEXTURE_FETCH_BARRIER_BIT: u32 = 8;
pub const GL_SHADER_IMAGE_ACCESS_BARRIER_BIT: u32 = 32;
pub const GL_COMMAND_BARRIER_BIT: u32 = 64;
pub const GL_PIXEL_BUFFER_BARRIER_BIT: u32 = 128;
pub const GL_TEXTURE_UPDATE_BARRIER_BIT: u32 = 256;
pub const GL_BUFFER_UPDATE_BARRIER_BIT: u32 = 512;
pub const GL_FRAMEBUFFER_BARRIER_BIT: u32 = 1024;
pub const GL_TRANSFORM_FEEDBACK_BARRIER_BIT: u32 = 2048;
pub const GL_ATOMIC_COUNTER_BARRIER_BIT: u32 = 4096;
pub const GL_ALL_BARRIER_BITS: u32 = 4294967295;
pub const GL_MAX_IMAGE_UNITS: u32 = 36664;
pub const GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS: u32 = 36665;
pub const GL_IMAGE_BINDING_NAME: u32 = 36666;
pub const GL_IMAGE_BINDING_LEVEL: u32 = 36667;
pub const GL_IMAGE_BINDING_LAYERED: u32 = 36668;
pub const GL_IMAGE_BINDING_LAYER: u32 = 36669;
pub const GL_IMAGE_BINDING_ACCESS: u32 = 36670;
pub const GL_IMAGE_1D: u32 = 36940;
pub const GL_IMAGE_2D: u32 = 36941;
pub const GL_IMAGE_3D: u32 = 36942;
pub const GL_IMAGE_2D_RECT: u32 = 36943;
pub const GL_IMAGE_CUBE: u32 = 36944;
pub const GL_IMAGE_BUFFER: u32 = 36945;
pub const GL_IMAGE_1D_ARRAY: u32 = 36946;
pub const GL_IMAGE_2D_ARRAY: u32 = 36947;
pub const GL_IMAGE_CUBE_MAP_ARRAY: u32 = 36948;
pub const GL_IMAGE_2D_MULTISAMPLE: u32 = 36949;
pub const GL_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 36950;
pub const GL_INT_IMAGE_1D: u32 = 36951;
pub const GL_INT_IMAGE_2D: u32 = 36952;
pub const GL_INT_IMAGE_3D: u32 = 36953;
pub const GL_INT_IMAGE_2D_RECT: u32 = 36954;
pub const GL_INT_IMAGE_CUBE: u32 = 36955;
pub const GL_INT_IMAGE_BUFFER: u32 = 36956;
pub const GL_INT_IMAGE_1D_ARRAY: u32 = 36957;
pub const GL_INT_IMAGE_2D_ARRAY: u32 = 36958;
pub const GL_INT_IMAGE_CUBE_MAP_ARRAY: u32 = 36959;
pub const GL_INT_IMAGE_2D_MULTISAMPLE: u32 = 36960;
pub const GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 36961;
pub const GL_UNSIGNED_INT_IMAGE_1D: u32 = 36962;
pub const GL_UNSIGNED_INT_IMAGE_2D: u32 = 36963;
pub const GL_UNSIGNED_INT_IMAGE_3D: u32 = 36964;
pub const GL_UNSIGNED_INT_IMAGE_2D_RECT: u32 = 36965;
pub const GL_UNSIGNED_INT_IMAGE_CUBE: u32 = 36966;
pub const GL_UNSIGNED_INT_IMAGE_BUFFER: u32 = 36967;
pub const GL_UNSIGNED_INT_IMAGE_1D_ARRAY: u32 = 36968;
pub const GL_UNSIGNED_INT_IMAGE_2D_ARRAY: u32 = 36969;
pub const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY: u32 = 36970;
pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE: u32 = 36971;
pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY: u32 = 36972;
pub const GL_MAX_IMAGE_SAMPLES: u32 = 36973;
pub const GL_IMAGE_BINDING_FORMAT: u32 = 36974;
pub const GL_IMAGE_FORMAT_COMPATIBILITY_TYPE: u32 = 37063;
pub const GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE: u32 = 37064;
pub const GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS: u32 = 37065;
pub const GL_MAX_VERTEX_IMAGE_UNIFORMS: u32 = 37066;
pub const GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS: u32 = 37067;
pub const GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS: u32 = 37068;
pub const GL_MAX_GEOMETRY_IMAGE_UNIFORMS: u32 = 37069;
pub const GL_MAX_FRAGMENT_IMAGE_UNIFORMS: u32 = 37070;
pub const GL_MAX_COMBINED_IMAGE_UNIFORMS: u32 = 37071;
pub const GL_COMPRESSED_RGBA_BPTC_UNORM: u32 = 36492;
pub const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM: u32 = 36493;
pub const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT: u32 = 36494;
pub const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT: u32 = 36495;
pub const GL_TEXTURE_IMMUTABLE_FORMAT: u32 = 37167;
pub const GL_VERSION_4_3: u32 = 1;
pub const GL_NUM_SHADING_LANGUAGE_VERSIONS: u32 = 33513;
pub const GL_VERTEX_ATTRIB_ARRAY_LONG: u32 = 34638;
pub const GL_COMPRESSED_RGB8_ETC2: u32 = 37492;
pub const GL_COMPRESSED_SRGB8_ETC2: u32 = 37493;
pub const GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: u32 = 37494;
pub const GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: u32 = 37495;
pub const GL_COMPRESSED_RGBA8_ETC2_EAC: u32 = 37496;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: u32 = 37497;
pub const GL_COMPRESSED_R11_EAC: u32 = 37488;
pub const GL_COMPRESSED_SIGNED_R11_EAC: u32 = 37489;
pub const GL_COMPRESSED_RG11_EAC: u32 = 37490;
pub const GL_COMPRESSED_SIGNED_RG11_EAC: u32 = 37491;
pub const GL_PRIMITIVE_RESTART_FIXED_INDEX: u32 = 36201;
pub const GL_ANY_SAMPLES_PASSED_CONSERVATIVE: u32 = 36202;
pub const GL_MAX_ELEMENT_INDEX: u32 = 36203;
pub const GL_COMPUTE_SHADER: u32 = 37305;
pub const GL_MAX_COMPUTE_UNIFORM_BLOCKS: u32 = 37307;
pub const GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS: u32 = 37308;
pub const GL_MAX_COMPUTE_IMAGE_UNIFORMS: u32 = 37309;
pub const GL_MAX_COMPUTE_SHARED_MEMORY_SIZE: u32 = 33378;
pub const GL_MAX_COMPUTE_UNIFORM_COMPONENTS: u32 = 33379;
pub const GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS: u32 = 33380;
pub const GL_MAX_COMPUTE_ATOMIC_COUNTERS: u32 = 33381;
pub const GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS: u32 = 33382;
pub const GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS: u32 = 37099;
pub const GL_MAX_COMPUTE_WORK_GROUP_COUNT: u32 = 37310;
pub const GL_MAX_COMPUTE_WORK_GROUP_SIZE: u32 = 37311;
pub const GL_COMPUTE_WORK_GROUP_SIZE: u32 = 33383;
pub const GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER: u32 = 37100;
pub const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER: u32 = 37101;
pub const GL_DISPATCH_INDIRECT_BUFFER: u32 = 37102;
pub const GL_DISPATCH_INDIRECT_BUFFER_BINDING: u32 = 37103;
pub const GL_COMPUTE_SHADER_BIT: u32 = 32;
pub const GL_DEBUG_OUTPUT_SYNCHRONOUS: u32 = 33346;
pub const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: u32 = 33347;
pub const GL_DEBUG_CALLBACK_FUNCTION: u32 = 33348;
pub const GL_DEBUG_CALLBACK_USER_PARAM: u32 = 33349;
pub const GL_DEBUG_SOURCE_API: u32 = 33350;
pub const GL_DEBUG_SOURCE_WINDOW_SYSTEM: u32 = 33351;
pub const GL_DEBUG_SOURCE_SHADER_COMPILER: u32 = 33352;
pub const GL_DEBUG_SOURCE_THIRD_PARTY: u32 = 33353;
pub const GL_DEBUG_SOURCE_APPLICATION: u32 = 33354;
pub const GL_DEBUG_SOURCE_OTHER: u32 = 33355;
pub const GL_DEBUG_TYPE_ERROR: u32 = 33356;
pub const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: u32 = 33357;
pub const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: u32 = 33358;
pub const GL_DEBUG_TYPE_PORTABILITY: u32 = 33359;
pub const GL_DEBUG_TYPE_PERFORMANCE: u32 = 33360;
pub const GL_DEBUG_TYPE_OTHER: u32 = 33361;
pub const GL_MAX_DEBUG_MESSAGE_LENGTH: u32 = 37187;
pub const GL_MAX_DEBUG_LOGGED_MESSAGES: u32 = 37188;
pub const GL_DEBUG_LOGGED_MESSAGES: u32 = 37189;
pub const GL_DEBUG_SEVERITY_HIGH: u32 = 37190;
pub const GL_DEBUG_SEVERITY_MEDIUM: u32 = 37191;
pub const GL_DEBUG_SEVERITY_LOW: u32 = 37192;
pub const GL_DEBUG_TYPE_MARKER: u32 = 33384;
pub const GL_DEBUG_TYPE_PUSH_GROUP: u32 = 33385;
pub const GL_DEBUG_TYPE_POP_GROUP: u32 = 33386;
pub const GL_DEBUG_SEVERITY_NOTIFICATION: u32 = 33387;
pub const GL_MAX_DEBUG_GROUP_STACK_DEPTH: u32 = 33388;
pub const GL_DEBUG_GROUP_STACK_DEPTH: u32 = 33389;
pub const GL_BUFFER: u32 = 33504;
pub const GL_SHADER: u32 = 33505;
pub const GL_PROGRAM: u32 = 33506;
pub const GL_QUERY: u32 = 33507;
pub const GL_PROGRAM_PIPELINE: u32 = 33508;
pub const GL_SAMPLER: u32 = 33510;
pub const GL_MAX_LABEL_LENGTH: u32 = 33512;
pub const GL_DEBUG_OUTPUT: u32 = 37600;
pub const GL_CONTEXT_FLAG_DEBUG_BIT: u32 = 2;
pub const GL_MAX_UNIFORM_LOCATIONS: u32 = 33390;
pub const GL_FRAMEBUFFER_DEFAULT_WIDTH: u32 = 37648;
pub const GL_FRAMEBUFFER_DEFAULT_HEIGHT: u32 = 37649;
pub const GL_FRAMEBUFFER_DEFAULT_LAYERS: u32 = 37650;
pub const GL_FRAMEBUFFER_DEFAULT_SAMPLES: u32 = 37651;
pub const GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS: u32 = 37652;
pub const GL_MAX_FRAMEBUFFER_WIDTH: u32 = 37653;
pub const GL_MAX_FRAMEBUFFER_HEIGHT: u32 = 37654;
pub const GL_MAX_FRAMEBUFFER_LAYERS: u32 = 37655;
pub const GL_MAX_FRAMEBUFFER_SAMPLES: u32 = 37656;
pub const GL_INTERNALFORMAT_SUPPORTED: u32 = 33391;
pub const GL_INTERNALFORMAT_PREFERRED: u32 = 33392;
pub const GL_INTERNALFORMAT_RED_SIZE: u32 = 33393;
pub const GL_INTERNALFORMAT_GREEN_SIZE: u32 = 33394;
pub const GL_INTERNALFORMAT_BLUE_SIZE: u32 = 33395;
pub const GL_INTERNALFORMAT_ALPHA_SIZE: u32 = 33396;
pub const GL_INTERNALFORMAT_DEPTH_SIZE: u32 = 33397;
pub const GL_INTERNALFORMAT_STENCIL_SIZE: u32 = 33398;
pub const GL_INTERNALFORMAT_SHARED_SIZE: u32 = 33399;
pub const GL_INTERNALFORMAT_RED_TYPE: u32 = 33400;
pub const GL_INTERNALFORMAT_GREEN_TYPE: u32 = 33401;
pub const GL_INTERNALFORMAT_BLUE_TYPE: u32 = 33402;
pub const GL_INTERNALFORMAT_ALPHA_TYPE: u32 = 33403;
pub const GL_INTERNALFORMAT_DEPTH_TYPE: u32 = 33404;
pub const GL_INTERNALFORMAT_STENCIL_TYPE: u32 = 33405;
pub const GL_MAX_WIDTH: u32 = 33406;
pub const GL_MAX_HEIGHT: u32 = 33407;
pub const GL_MAX_DEPTH: u32 = 33408;
pub const GL_MAX_LAYERS: u32 = 33409;
pub const GL_MAX_COMBINED_DIMENSIONS: u32 = 33410;
pub const GL_COLOR_COMPONENTS: u32 = 33411;
pub const GL_DEPTH_COMPONENTS: u32 = 33412;
pub const GL_STENCIL_COMPONENTS: u32 = 33413;
pub const GL_COLOR_RENDERABLE: u32 = 33414;
pub const GL_DEPTH_RENDERABLE: u32 = 33415;
pub const GL_STENCIL_RENDERABLE: u32 = 33416;
pub const GL_FRAMEBUFFER_RENDERABLE: u32 = 33417;
pub const GL_FRAMEBUFFER_RENDERABLE_LAYERED: u32 = 33418;
pub const GL_FRAMEBUFFER_BLEND: u32 = 33419;
pub const GL_READ_PIXELS: u32 = 33420;
pub const GL_READ_PIXELS_FORMAT: u32 = 33421;
pub const GL_READ_PIXELS_TYPE: u32 = 33422;
pub const GL_TEXTURE_IMAGE_FORMAT: u32 = 33423;
pub const GL_TEXTURE_IMAGE_TYPE: u32 = 33424;
pub const GL_GET_TEXTURE_IMAGE_FORMAT: u32 = 33425;
pub const GL_GET_TEXTURE_IMAGE_TYPE: u32 = 33426;
pub const GL_MIPMAP: u32 = 33427;
pub const GL_MANUAL_GENERATE_MIPMAP: u32 = 33428;
pub const GL_AUTO_GENERATE_MIPMAP: u32 = 33429;
pub const GL_COLOR_ENCODING: u32 = 33430;
pub const GL_SRGB_READ: u32 = 33431;
pub const GL_SRGB_WRITE: u32 = 33432;
pub const GL_FILTER: u32 = 33434;
pub const GL_VERTEX_TEXTURE: u32 = 33435;
pub const GL_TESS_CONTROL_TEXTURE: u32 = 33436;
pub const GL_TESS_EVALUATION_TEXTURE: u32 = 33437;
pub const GL_GEOMETRY_TEXTURE: u32 = 33438;
pub const GL_FRAGMENT_TEXTURE: u32 = 33439;
pub const GL_COMPUTE_TEXTURE: u32 = 33440;
pub const GL_TEXTURE_SHADOW: u32 = 33441;
pub const GL_TEXTURE_GATHER: u32 = 33442;
pub const GL_TEXTURE_GATHER_SHADOW: u32 = 33443;
pub const GL_SHADER_IMAGE_LOAD: u32 = 33444;
pub const GL_SHADER_IMAGE_STORE: u32 = 33445;
pub const GL_SHADER_IMAGE_ATOMIC: u32 = 33446;
pub const GL_IMAGE_TEXEL_SIZE: u32 = 33447;
pub const GL_IMAGE_COMPATIBILITY_CLASS: u32 = 33448;
pub const GL_IMAGE_PIXEL_FORMAT: u32 = 33449;
pub const GL_IMAGE_PIXEL_TYPE: u32 = 33450;
pub const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST: u32 = 33452;
pub const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST: u32 = 33453;
pub const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE: u32 = 33454;
pub const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE: u32 = 33455;
pub const GL_TEXTURE_COMPRESSED_BLOCK_WIDTH: u32 = 33457;
pub const GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT: u32 = 33458;
pub const GL_TEXTURE_COMPRESSED_BLOCK_SIZE: u32 = 33459;
pub const GL_CLEAR_BUFFER: u32 = 33460;
pub const GL_TEXTURE_VIEW: u32 = 33461;
pub const GL_VIEW_COMPATIBILITY_CLASS: u32 = 33462;
pub const GL_FULL_SUPPORT: u32 = 33463;
pub const GL_CAVEAT_SUPPORT: u32 = 33464;
pub const GL_IMAGE_CLASS_4_X_32: u32 = 33465;
pub const GL_IMAGE_CLASS_2_X_32: u32 = 33466;
pub const GL_IMAGE_CLASS_1_X_32: u32 = 33467;
pub const GL_IMAGE_CLASS_4_X_16: u32 = 33468;
pub const GL_IMAGE_CLASS_2_X_16: u32 = 33469;
pub const GL_IMAGE_CLASS_1_X_16: u32 = 33470;
pub const GL_IMAGE_CLASS_4_X_8: u32 = 33471;
pub const GL_IMAGE_CLASS_2_X_8: u32 = 33472;
pub const GL_IMAGE_CLASS_1_X_8: u32 = 33473;
pub const GL_IMAGE_CLASS_11_11_10: u32 = 33474;
pub const GL_IMAGE_CLASS_10_10_10_2: u32 = 33475;
pub const GL_VIEW_CLASS_128_BITS: u32 = 33476;
pub const GL_VIEW_CLASS_96_BITS: u32 = 33477;
pub const GL_VIEW_CLASS_64_BITS: u32 = 33478;
pub const GL_VIEW_CLASS_48_BITS: u32 = 33479;
pub const GL_VIEW_CLASS_32_BITS: u32 = 33480;
pub const GL_VIEW_CLASS_24_BITS: u32 = 33481;
pub const GL_VIEW_CLASS_16_BITS: u32 = 33482;
pub const GL_VIEW_CLASS_8_BITS: u32 = 33483;
pub const GL_VIEW_CLASS_S3TC_DXT1_RGB: u32 = 33484;
pub const GL_VIEW_CLASS_S3TC_DXT1_RGBA: u32 = 33485;
pub const GL_VIEW_CLASS_S3TC_DXT3_RGBA: u32 = 33486;
pub const GL_VIEW_CLASS_S3TC_DXT5_RGBA: u32 = 33487;
pub const GL_VIEW_CLASS_RGTC1_RED: u32 = 33488;
pub const GL_VIEW_CLASS_RGTC2_RG: u32 = 33489;
pub const GL_VIEW_CLASS_BPTC_UNORM: u32 = 33490;
pub const GL_VIEW_CLASS_BPTC_FLOAT: u32 = 33491;
pub const GL_UNIFORM: u32 = 37601;
pub const GL_UNIFORM_BLOCK: u32 = 37602;
pub const GL_PROGRAM_INPUT: u32 = 37603;
pub const GL_PROGRAM_OUTPUT: u32 = 37604;
pub const GL_BUFFER_VARIABLE: u32 = 37605;
pub const GL_SHADER_STORAGE_BLOCK: u32 = 37606;
pub const GL_VERTEX_SUBROUTINE: u32 = 37608;
pub const GL_TESS_CONTROL_SUBROUTINE: u32 = 37609;
pub const GL_TESS_EVALUATION_SUBROUTINE: u32 = 37610;
pub const GL_GEOMETRY_SUBROUTINE: u32 = 37611;
pub const GL_FRAGMENT_SUBROUTINE: u32 = 37612;
pub const GL_COMPUTE_SUBROUTINE: u32 = 37613;
pub const GL_VERTEX_SUBROUTINE_UNIFORM: u32 = 37614;
pub const GL_TESS_CONTROL_SUBROUTINE_UNIFORM: u32 = 37615;
pub const GL_TESS_EVALUATION_SUBROUTINE_UNIFORM: u32 = 37616;
pub const GL_GEOMETRY_SUBROUTINE_UNIFORM: u32 = 37617;
pub const GL_FRAGMENT_SUBROUTINE_UNIFORM: u32 = 37618;
pub const GL_COMPUTE_SUBROUTINE_UNIFORM: u32 = 37619;
pub const GL_TRANSFORM_FEEDBACK_VARYING: u32 = 37620;
pub const GL_ACTIVE_RESOURCES: u32 = 37621;
pub const GL_MAX_NAME_LENGTH: u32 = 37622;
pub const GL_MAX_NUM_ACTIVE_VARIABLES: u32 = 37623;
pub const GL_MAX_NUM_COMPATIBLE_SUBROUTINES: u32 = 37624;
pub const GL_NAME_LENGTH: u32 = 37625;
pub const GL_TYPE: u32 = 37626;
pub const GL_ARRAY_SIZE: u32 = 37627;
pub const GL_OFFSET: u32 = 37628;
pub const GL_BLOCK_INDEX: u32 = 37629;
pub const GL_ARRAY_STRIDE: u32 = 37630;
pub const GL_MATRIX_STRIDE: u32 = 37631;
pub const GL_IS_ROW_MAJOR: u32 = 37632;
pub const GL_ATOMIC_COUNTER_BUFFER_INDEX: u32 = 37633;
pub const GL_BUFFER_BINDING: u32 = 37634;
pub const GL_BUFFER_DATA_SIZE: u32 = 37635;
pub const GL_NUM_ACTIVE_VARIABLES: u32 = 37636;
pub const GL_ACTIVE_VARIABLES: u32 = 37637;
pub const GL_REFERENCED_BY_VERTEX_SHADER: u32 = 37638;
pub const GL_REFERENCED_BY_TESS_CONTROL_SHADER: u32 = 37639;
pub const GL_REFERENCED_BY_TESS_EVALUATION_SHADER: u32 = 37640;
pub const GL_REFERENCED_BY_GEOMETRY_SHADER: u32 = 37641;
pub const GL_REFERENCED_BY_FRAGMENT_SHADER: u32 = 37642;
pub const GL_REFERENCED_BY_COMPUTE_SHADER: u32 = 37643;
pub const GL_TOP_LEVEL_ARRAY_SIZE: u32 = 37644;
pub const GL_TOP_LEVEL_ARRAY_STRIDE: u32 = 37645;
pub const GL_LOCATION: u32 = 37646;
pub const GL_LOCATION_INDEX: u32 = 37647;
pub const GL_IS_PER_PATCH: u32 = 37607;
pub const GL_SHADER_STORAGE_BUFFER: u32 = 37074;
pub const GL_SHADER_STORAGE_BUFFER_BINDING: u32 = 37075;
pub const GL_SHADER_STORAGE_BUFFER_START: u32 = 37076;
pub const GL_SHADER_STORAGE_BUFFER_SIZE: u32 = 37077;
pub const GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS: u32 = 37078;
pub const GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS: u32 = 37079;
pub const GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS: u32 = 37080;
pub const GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS: u32 = 37081;
pub const GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS: u32 = 37082;
pub const GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS: u32 = 37083;
pub const GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS: u32 = 37084;
pub const GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS: u32 = 37085;
pub const GL_MAX_SHADER_STORAGE_BLOCK_SIZE: u32 = 37086;
pub const GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT: u32 = 37087;
pub const GL_SHADER_STORAGE_BARRIER_BIT: u32 = 8192;
pub const GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES: u32 = 36665;
pub const GL_DEPTH_STENCIL_TEXTURE_MODE: u32 = 37098;
pub const GL_TEXTURE_BUFFER_OFFSET: u32 = 37277;
pub const GL_TEXTURE_BUFFER_SIZE: u32 = 37278;
pub const GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT: u32 = 37279;
pub const GL_TEXTURE_VIEW_MIN_LEVEL: u32 = 33499;
pub const GL_TEXTURE_VIEW_NUM_LEVELS: u32 = 33500;
pub const GL_TEXTURE_VIEW_MIN_LAYER: u32 = 33501;
pub const GL_TEXTURE_VIEW_NUM_LAYERS: u32 = 33502;
pub const GL_TEXTURE_IMMUTABLE_LEVELS: u32 = 33503;
pub const GL_VERTEX_ATTRIB_BINDING: u32 = 33492;
pub const GL_VERTEX_ATTRIB_RELATIVE_OFFSET: u32 = 33493;
pub const GL_VERTEX_BINDING_DIVISOR: u32 = 33494;
pub const GL_VERTEX_BINDING_OFFSET: u32 = 33495;
pub const GL_VERTEX_BINDING_STRIDE: u32 = 33496;
pub const GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET: u32 = 33497;
pub const GL_MAX_VERTEX_ATTRIB_BINDINGS: u32 = 33498;
pub const GL_VERTEX_BINDING_BUFFER: u32 = 36687;
pub const GL_DISPLAY_LIST: u32 = 33511;
pub const GL_VERSION_4_4: u32 = 1;
pub const GL_MAX_VERTEX_ATTRIB_STRIDE: u32 = 33509;
pub const GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED: u32 = 33313;
pub const GL_TEXTURE_BUFFER_BINDING: u32 = 35882;
pub const GL_MAP_PERSISTENT_BIT: u32 = 64;
pub const GL_MAP_COHERENT_BIT: u32 = 128;
pub const GL_DYNAMIC_STORAGE_BIT: u32 = 256;
pub const GL_CLIENT_STORAGE_BIT: u32 = 512;
pub const GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT: u32 = 16384;
pub const GL_BUFFER_IMMUTABLE_STORAGE: u32 = 33311;
pub const GL_BUFFER_STORAGE_FLAGS: u32 = 33312;
pub const GL_CLEAR_TEXTURE: u32 = 37733;
pub const GL_LOCATION_COMPONENT: u32 = 37706;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_INDEX: u32 = 37707;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE: u32 = 37708;
pub const GL_QUERY_BUFFER: u32 = 37266;
pub const GL_QUERY_BUFFER_BARRIER_BIT: u32 = 32768;
pub const GL_QUERY_BUFFER_BINDING: u32 = 37267;
pub const GL_QUERY_RESULT_NO_WAIT: u32 = 37268;
pub const GL_MIRROR_CLAMP_TO_EDGE: u32 = 34627;
pub const GL_VERSION_4_5: u32 = 1;
pub const GL_CONTEXT_LOST: u32 = 1287;
pub const GL_NEGATIVE_ONE_TO_ONE: u32 = 37726;
pub const GL_ZERO_TO_ONE: u32 = 37727;
pub const GL_CLIP_ORIGIN: u32 = 37724;
pub const GL_CLIP_DEPTH_MODE: u32 = 37725;
pub const GL_QUERY_WAIT_INVERTED: u32 = 36375;
pub const GL_QUERY_NO_WAIT_INVERTED: u32 = 36376;
pub const GL_QUERY_BY_REGION_WAIT_INVERTED: u32 = 36377;
pub const GL_QUERY_BY_REGION_NO_WAIT_INVERTED: u32 = 36378;
pub const GL_MAX_CULL_DISTANCES: u32 = 33529;
pub const GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES: u32 = 33530;
pub const GL_TEXTURE_TARGET: u32 = 4102;
pub const GL_QUERY_TARGET: u32 = 33514;
pub const GL_GUILTY_CONTEXT_RESET: u32 = 33363;
pub const GL_INNOCENT_CONTEXT_RESET: u32 = 33364;
pub const GL_UNKNOWN_CONTEXT_RESET: u32 = 33365;
pub const GL_RESET_NOTIFICATION_STRATEGY: u32 = 33366;
pub const GL_LOSE_CONTEXT_ON_RESET: u32 = 33362;
pub const GL_NO_RESET_NOTIFICATION: u32 = 33377;
pub const GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT: u32 = 4;
pub const GL_CONTEXT_RELEASE_BEHAVIOR: u32 = 33531;
pub const GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH: u32 = 33532;
pub const GL_VERSION_4_6: u32 = 1;
pub const GL_SHADER_BINARY_FORMAT_SPIR_V: u32 = 38225;
pub const GL_SPIR_V_BINARY: u32 = 38226;
pub const GL_PARAMETER_BUFFER: u32 = 33006;
pub const GL_PARAMETER_BUFFER_BINDING: u32 = 33007;
pub const GL_CONTEXT_FLAG_NO_ERROR_BIT: u32 = 8;
pub const GL_VERTICES_SUBMITTED: u32 = 33518;
pub const GL_PRIMITIVES_SUBMITTED: u32 = 33519;
pub const GL_VERTEX_SHADER_INVOCATIONS: u32 = 33520;
pub const GL_TESS_CONTROL_SHADER_PATCHES: u32 = 33521;
pub const GL_TESS_EVALUATION_SHADER_INVOCATIONS: u32 = 33522;
pub const GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED: u32 = 33523;
pub const GL_FRAGMENT_SHADER_INVOCATIONS: u32 = 33524;
pub const GL_COMPUTE_SHADER_INVOCATIONS: u32 = 33525;
pub const GL_CLIPPING_INPUT_PRIMITIVES: u32 = 33526;
pub const GL_CLIPPING_OUTPUT_PRIMITIVES: u32 = 33527;
pub const GL_POLYGON_OFFSET_CLAMP: u32 = 36379;
pub const GL_SPIR_V_EXTENSIONS: u32 = 38227;
pub const GL_NUM_SPIR_V_EXTENSIONS: u32 = 38228;
pub const GL_TEXTURE_MAX_ANISOTROPY: u32 = 34046;
pub const GL_MAX_TEXTURE_MAX_ANISOTROPY: u32 = 34047;
pub const GL_TRANSFORM_FEEDBACK_OVERFLOW: u32 = 33516;
pub const GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW: u32 = 33517;
pub const GL_ARB_ES2_compatibility: u32 = 1;
pub const GL_ARB_ES3_1_compatibility: u32 = 1;
pub const GL_ARB_ES3_2_compatibility: u32 = 1;
pub const GL_PRIMITIVE_BOUNDING_BOX_ARB: u32 = 37566;
pub const GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB: u32 = 37761;
pub const GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB: u32 = 37762;
pub const GL_ARB_ES3_compatibility: u32 = 1;
pub const GL_ARB_arrays_of_arrays: u32 = 1;
pub const GL_ARB_base_instance: u32 = 1;
pub const GL_ARB_bindless_texture: u32 = 1;
pub const GL_UNSIGNED_INT64_ARB: u32 = 5135;
pub const GL_ARB_blend_func_extended: u32 = 1;
pub const GL_ARB_buffer_storage: u32 = 1;
pub const GL_ARB_cl_event: u32 = 1;
pub const GL_SYNC_CL_EVENT_ARB: u32 = 33344;
pub const GL_SYNC_CL_EVENT_COMPLETE_ARB: u32 = 33345;
pub const GL_ARB_clear_buffer_object: u32 = 1;
pub const GL_ARB_clear_texture: u32 = 1;
pub const GL_ARB_clip_control: u32 = 1;
pub const GL_ARB_color_buffer_float: u32 = 1;
pub const GL_RGBA_FLOAT_MODE_ARB: u32 = 34848;
pub const GL_CLAMP_VERTEX_COLOR_ARB: u32 = 35098;
pub const GL_CLAMP_FRAGMENT_COLOR_ARB: u32 = 35099;
pub const GL_CLAMP_READ_COLOR_ARB: u32 = 35100;
pub const GL_FIXED_ONLY_ARB: u32 = 35101;
pub const GL_ARB_compatibility: u32 = 1;
pub const GL_ARB_compressed_texture_pixel_storage: u32 = 1;
pub const GL_ARB_compute_shader: u32 = 1;
pub const GL_ARB_compute_variable_group_size: u32 = 1;
pub const GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB: u32 = 37700;
pub const GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB: u32 = 37099;
pub const GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB: u32 = 37701;
pub const GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB: u32 = 37311;
pub const GL_ARB_conditional_render_inverted: u32 = 1;
pub const GL_ARB_conservative_depth: u32 = 1;
pub const GL_ARB_copy_buffer: u32 = 1;
pub const GL_ARB_copy_image: u32 = 1;
pub const GL_ARB_cull_distance: u32 = 1;
pub const GL_ARB_debug_output: u32 = 1;
pub const GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB: u32 = 33346;
pub const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB: u32 = 33347;
pub const GL_DEBUG_CALLBACK_FUNCTION_ARB: u32 = 33348;
pub const GL_DEBUG_CALLBACK_USER_PARAM_ARB: u32 = 33349;
pub const GL_DEBUG_SOURCE_API_ARB: u32 = 33350;
pub const GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB: u32 = 33351;
pub const GL_DEBUG_SOURCE_SHADER_COMPILER_ARB: u32 = 33352;
pub const GL_DEBUG_SOURCE_THIRD_PARTY_ARB: u32 = 33353;
pub const GL_DEBUG_SOURCE_APPLICATION_ARB: u32 = 33354;
pub const GL_DEBUG_SOURCE_OTHER_ARB: u32 = 33355;
pub const GL_DEBUG_TYPE_ERROR_ARB: u32 = 33356;
pub const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB: u32 = 33357;
pub const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB: u32 = 33358;
pub const GL_DEBUG_TYPE_PORTABILITY_ARB: u32 = 33359;
pub const GL_DEBUG_TYPE_PERFORMANCE_ARB: u32 = 33360;
pub const GL_DEBUG_TYPE_OTHER_ARB: u32 = 33361;
pub const GL_MAX_DEBUG_MESSAGE_LENGTH_ARB: u32 = 37187;
pub const GL_MAX_DEBUG_LOGGED_MESSAGES_ARB: u32 = 37188;
pub const GL_DEBUG_LOGGED_MESSAGES_ARB: u32 = 37189;
pub const GL_DEBUG_SEVERITY_HIGH_ARB: u32 = 37190;
pub const GL_DEBUG_SEVERITY_MEDIUM_ARB: u32 = 37191;
pub const GL_DEBUG_SEVERITY_LOW_ARB: u32 = 37192;
pub const GL_ARB_depth_buffer_float: u32 = 1;
pub const GL_ARB_depth_clamp: u32 = 1;
pub const GL_ARB_depth_texture: u32 = 1;
pub const GL_DEPTH_COMPONENT16_ARB: u32 = 33189;
pub const GL_DEPTH_COMPONENT24_ARB: u32 = 33190;
pub const GL_DEPTH_COMPONENT32_ARB: u32 = 33191;
pub const GL_TEXTURE_DEPTH_SIZE_ARB: u32 = 34890;
pub const GL_DEPTH_TEXTURE_MODE_ARB: u32 = 34891;
pub const GL_ARB_derivative_control: u32 = 1;
pub const GL_ARB_direct_state_access: u32 = 1;
pub const GL_ARB_draw_buffers: u32 = 1;
pub const GL_MAX_DRAW_BUFFERS_ARB: u32 = 34852;
pub const GL_DRAW_BUFFER0_ARB: u32 = 34853;
pub const GL_DRAW_BUFFER1_ARB: u32 = 34854;
pub const GL_DRAW_BUFFER2_ARB: u32 = 34855;
pub const GL_DRAW_BUFFER3_ARB: u32 = 34856;
pub const GL_DRAW_BUFFER4_ARB: u32 = 34857;
pub const GL_DRAW_BUFFER5_ARB: u32 = 34858;
pub const GL_DRAW_BUFFER6_ARB: u32 = 34859;
pub const GL_DRAW_BUFFER7_ARB: u32 = 34860;
pub const GL_DRAW_BUFFER8_ARB: u32 = 34861;
pub const GL_DRAW_BUFFER9_ARB: u32 = 34862;
pub const GL_DRAW_BUFFER10_ARB: u32 = 34863;
pub const GL_DRAW_BUFFER11_ARB: u32 = 34864;
pub const GL_DRAW_BUFFER12_ARB: u32 = 34865;
pub const GL_DRAW_BUFFER13_ARB: u32 = 34866;
pub const GL_DRAW_BUFFER14_ARB: u32 = 34867;
pub const GL_DRAW_BUFFER15_ARB: u32 = 34868;
pub const GL_ARB_draw_buffers_blend: u32 = 1;
pub const GL_ARB_draw_elements_base_vertex: u32 = 1;
pub const GL_ARB_draw_indirect: u32 = 1;
pub const GL_ARB_draw_instanced: u32 = 1;
pub const GL_ARB_enhanced_layouts: u32 = 1;
pub const GL_ARB_explicit_attrib_location: u32 = 1;
pub const GL_ARB_explicit_uniform_location: u32 = 1;
pub const GL_ARB_fragment_coord_conventions: u32 = 1;
pub const GL_ARB_fragment_layer_viewport: u32 = 1;
pub const GL_ARB_fragment_program: u32 = 1;
pub const GL_FRAGMENT_PROGRAM_ARB: u32 = 34820;
pub const GL_PROGRAM_FORMAT_ASCII_ARB: u32 = 34933;
pub const GL_PROGRAM_LENGTH_ARB: u32 = 34343;
pub const GL_PROGRAM_FORMAT_ARB: u32 = 34934;
pub const GL_PROGRAM_BINDING_ARB: u32 = 34423;
pub const GL_PROGRAM_INSTRUCTIONS_ARB: u32 = 34976;
pub const GL_MAX_PROGRAM_INSTRUCTIONS_ARB: u32 = 34977;
pub const GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB: u32 = 34978;
pub const GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB: u32 = 34979;
pub const GL_PROGRAM_TEMPORARIES_ARB: u32 = 34980;
pub const GL_MAX_PROGRAM_TEMPORARIES_ARB: u32 = 34981;
pub const GL_PROGRAM_NATIVE_TEMPORARIES_ARB: u32 = 34982;
pub const GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB: u32 = 34983;
pub const GL_PROGRAM_PARAMETERS_ARB: u32 = 34984;
pub const GL_MAX_PROGRAM_PARAMETERS_ARB: u32 = 34985;
pub const GL_PROGRAM_NATIVE_PARAMETERS_ARB: u32 = 34986;
pub const GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB: u32 = 34987;
pub const GL_PROGRAM_ATTRIBS_ARB: u32 = 34988;
pub const GL_MAX_PROGRAM_ATTRIBS_ARB: u32 = 34989;
pub const GL_PROGRAM_NATIVE_ATTRIBS_ARB: u32 = 34990;
pub const GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB: u32 = 34991;
pub const GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB: u32 = 34996;
pub const GL_MAX_PROGRAM_ENV_PARAMETERS_ARB: u32 = 34997;
pub const GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB: u32 = 34998;
pub const GL_PROGRAM_ALU_INSTRUCTIONS_ARB: u32 = 34821;
pub const GL_PROGRAM_TEX_INSTRUCTIONS_ARB: u32 = 34822;
pub const GL_PROGRAM_TEX_INDIRECTIONS_ARB: u32 = 34823;
pub const GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB: u32 = 34824;
pub const GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB: u32 = 34825;
pub const GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB: u32 = 34826;
pub const GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB: u32 = 34827;
pub const GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB: u32 = 34828;
pub const GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB: u32 = 34829;
pub const GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB: u32 = 34830;
pub const GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB: u32 = 34831;
pub const GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB: u32 = 34832;
pub const GL_PROGRAM_STRING_ARB: u32 = 34344;
pub const GL_PROGRAM_ERROR_POSITION_ARB: u32 = 34379;
pub const GL_CURRENT_MATRIX_ARB: u32 = 34369;
pub const GL_TRANSPOSE_CURRENT_MATRIX_ARB: u32 = 34999;
pub const GL_CURRENT_MATRIX_STACK_DEPTH_ARB: u32 = 34368;
pub const GL_MAX_PROGRAM_MATRICES_ARB: u32 = 34351;
pub const GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB: u32 = 34350;
pub const GL_MAX_TEXTURE_COORDS_ARB: u32 = 34929;
pub const GL_MAX_TEXTURE_IMAGE_UNITS_ARB: u32 = 34930;
pub const GL_PROGRAM_ERROR_STRING_ARB: u32 = 34932;
pub const GL_MATRIX0_ARB: u32 = 35008;
pub const GL_MATRIX1_ARB: u32 = 35009;
pub const GL_MATRIX2_ARB: u32 = 35010;
pub const GL_MATRIX3_ARB: u32 = 35011;
pub const GL_MATRIX4_ARB: u32 = 35012;
pub const GL_MATRIX5_ARB: u32 = 35013;
pub const GL_MATRIX6_ARB: u32 = 35014;
pub const GL_MATRIX7_ARB: u32 = 35015;
pub const GL_MATRIX8_ARB: u32 = 35016;
pub const GL_MATRIX9_ARB: u32 = 35017;
pub const GL_MATRIX10_ARB: u32 = 35018;
pub const GL_MATRIX11_ARB: u32 = 35019;
pub const GL_MATRIX12_ARB: u32 = 35020;
pub const GL_MATRIX13_ARB: u32 = 35021;
pub const GL_MATRIX14_ARB: u32 = 35022;
pub const GL_MATRIX15_ARB: u32 = 35023;
pub const GL_MATRIX16_ARB: u32 = 35024;
pub const GL_MATRIX17_ARB: u32 = 35025;
pub const GL_MATRIX18_ARB: u32 = 35026;
pub const GL_MATRIX19_ARB: u32 = 35027;
pub const GL_MATRIX20_ARB: u32 = 35028;
pub const GL_MATRIX21_ARB: u32 = 35029;
pub const GL_MATRIX22_ARB: u32 = 35030;
pub const GL_MATRIX23_ARB: u32 = 35031;
pub const GL_MATRIX24_ARB: u32 = 35032;
pub const GL_MATRIX25_ARB: u32 = 35033;
pub const GL_MATRIX26_ARB: u32 = 35034;
pub const GL_MATRIX27_ARB: u32 = 35035;
pub const GL_MATRIX28_ARB: u32 = 35036;
pub const GL_MATRIX29_ARB: u32 = 35037;
pub const GL_MATRIX30_ARB: u32 = 35038;
pub const GL_MATRIX31_ARB: u32 = 35039;
pub const GL_ARB_fragment_program_shadow: u32 = 1;
pub const GL_ARB_fragment_shader: u32 = 1;
pub const GL_FRAGMENT_SHADER_ARB: u32 = 35632;
pub const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB: u32 = 35657;
pub const GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB: u32 = 35723;
pub const GL_ARB_fragment_shader_interlock: u32 = 1;
pub const GL_ARB_framebuffer_no_attachments: u32 = 1;
pub const GL_ARB_framebuffer_object: u32 = 1;
pub const GL_ARB_framebuffer_sRGB: u32 = 1;
pub const GL_ARB_geometry_shader4: u32 = 1;
pub const GL_LINES_ADJACENCY_ARB: u32 = 10;
pub const GL_LINE_STRIP_ADJACENCY_ARB: u32 = 11;
pub const GL_TRIANGLES_ADJACENCY_ARB: u32 = 12;
pub const GL_TRIANGLE_STRIP_ADJACENCY_ARB: u32 = 13;
pub const GL_PROGRAM_POINT_SIZE_ARB: u32 = 34370;
pub const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB: u32 = 35881;
pub const GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB: u32 = 36263;
pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB: u32 = 36264;
pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB: u32 = 36265;
pub const GL_GEOMETRY_SHADER_ARB: u32 = 36313;
pub const GL_GEOMETRY_VERTICES_OUT_ARB: u32 = 36314;
pub const GL_GEOMETRY_INPUT_TYPE_ARB: u32 = 36315;
pub const GL_GEOMETRY_OUTPUT_TYPE_ARB: u32 = 36316;
pub const GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB: u32 = 36317;
pub const GL_MAX_VERTEX_VARYING_COMPONENTS_ARB: u32 = 36318;
pub const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB: u32 = 36319;
pub const GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB: u32 = 36320;
pub const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB: u32 = 36321;
pub const GL_ARB_get_program_binary: u32 = 1;
pub const GL_ARB_get_texture_sub_image: u32 = 1;
pub const GL_ARB_gl_spirv: u32 = 1;
pub const GL_SHADER_BINARY_FORMAT_SPIR_V_ARB: u32 = 38225;
pub const GL_SPIR_V_BINARY_ARB: u32 = 38226;
pub const GL_ARB_gpu_shader5: u32 = 1;
pub const GL_ARB_gpu_shader_fp64: u32 = 1;
pub const GL_ARB_gpu_shader_int64: u32 = 1;
pub const GL_INT64_ARB: u32 = 5134;
pub const GL_INT64_VEC2_ARB: u32 = 36841;
pub const GL_INT64_VEC3_ARB: u32 = 36842;
pub const GL_INT64_VEC4_ARB: u32 = 36843;
pub const GL_UNSIGNED_INT64_VEC2_ARB: u32 = 36853;
pub const GL_UNSIGNED_INT64_VEC3_ARB: u32 = 36854;
pub const GL_UNSIGNED_INT64_VEC4_ARB: u32 = 36855;
pub const GL_ARB_half_float_pixel: u32 = 1;
pub const GL_HALF_FLOAT_ARB: u32 = 5131;
pub const GL_ARB_half_float_vertex: u32 = 1;
pub const GL_ARB_indirect_parameters: u32 = 1;
pub const GL_PARAMETER_BUFFER_ARB: u32 = 33006;
pub const GL_PARAMETER_BUFFER_BINDING_ARB: u32 = 33007;
pub const GL_ARB_instanced_arrays: u32 = 1;
pub const GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB: u32 = 35070;
pub const GL_ARB_internalformat_query: u32 = 1;
pub const GL_ARB_internalformat_query2: u32 = 1;
pub const GL_SRGB_DECODE_ARB: u32 = 33433;
pub const GL_ARB_invalidate_subdata: u32 = 1;
pub const GL_ARB_map_buffer_alignment: u32 = 1;
pub const GL_ARB_map_buffer_range: u32 = 1;
pub const GL_ARB_matrix_palette: u32 = 1;
pub const GL_MATRIX_PALETTE_ARB: u32 = 34880;
pub const GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB: u32 = 34881;
pub const GL_MAX_PALETTE_MATRICES_ARB: u32 = 34882;
pub const GL_CURRENT_PALETTE_MATRIX_ARB: u32 = 34883;
pub const GL_MATRIX_INDEX_ARRAY_ARB: u32 = 34884;
pub const GL_CURRENT_MATRIX_INDEX_ARB: u32 = 34885;
pub const GL_MATRIX_INDEX_ARRAY_SIZE_ARB: u32 = 34886;
pub const GL_MATRIX_INDEX_ARRAY_TYPE_ARB: u32 = 34887;
pub const GL_MATRIX_INDEX_ARRAY_STRIDE_ARB: u32 = 34888;
pub const GL_MATRIX_INDEX_ARRAY_POINTER_ARB: u32 = 34889;
pub const GL_ARB_multi_bind: u32 = 1;
pub const GL_ARB_multi_draw_indirect: u32 = 1;
pub const GL_ARB_multisample: u32 = 1;
pub const GL_MULTISAMPLE_ARB: u32 = 32925;
pub const GL_SAMPLE_ALPHA_TO_COVERAGE_ARB: u32 = 32926;
pub const GL_SAMPLE_ALPHA_TO_ONE_ARB: u32 = 32927;
pub const GL_SAMPLE_COVERAGE_ARB: u32 = 32928;
pub const GL_SAMPLE_BUFFERS_ARB: u32 = 32936;
pub const GL_SAMPLES_ARB: u32 = 32937;
pub const GL_SAMPLE_COVERAGE_VALUE_ARB: u32 = 32938;
pub const GL_SAMPLE_COVERAGE_INVERT_ARB: u32 = 32939;
pub const GL_MULTISAMPLE_BIT_ARB: u32 = 536870912;
pub const GL_ARB_occlusion_query: u32 = 1;
pub const GL_QUERY_COUNTER_BITS_ARB: u32 = 34916;
pub const GL_CURRENT_QUERY_ARB: u32 = 34917;
pub const GL_QUERY_RESULT_ARB: u32 = 34918;
pub const GL_QUERY_RESULT_AVAILABLE_ARB: u32 = 34919;
pub const GL_SAMPLES_PASSED_ARB: u32 = 35092;
pub const GL_ARB_occlusion_query2: u32 = 1;
pub const GL_ARB_parallel_shader_compile: u32 = 1;
pub const GL_MAX_SHADER_COMPILER_THREADS_ARB: u32 = 37296;
pub const GL_COMPLETION_STATUS_ARB: u32 = 37297;
pub const GL_ARB_pipeline_statistics_query: u32 = 1;
pub const GL_VERTICES_SUBMITTED_ARB: u32 = 33518;
pub const GL_PRIMITIVES_SUBMITTED_ARB: u32 = 33519;
pub const GL_VERTEX_SHADER_INVOCATIONS_ARB: u32 = 33520;
pub const GL_TESS_CONTROL_SHADER_PATCHES_ARB: u32 = 33521;
pub const GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB: u32 = 33522;
pub const GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB: u32 = 33523;
pub const GL_FRAGMENT_SHADER_INVOCATIONS_ARB: u32 = 33524;
pub const GL_COMPUTE_SHADER_INVOCATIONS_ARB: u32 = 33525;
pub const GL_CLIPPING_INPUT_PRIMITIVES_ARB: u32 = 33526;
pub const GL_CLIPPING_OUTPUT_PRIMITIVES_ARB: u32 = 33527;
pub const GL_ARB_pixel_buffer_object: u32 = 1;
pub const GL_PIXEL_PACK_BUFFER_ARB: u32 = 35051;
pub const GL_PIXEL_UNPACK_BUFFER_ARB: u32 = 35052;
pub const GL_PIXEL_PACK_BUFFER_BINDING_ARB: u32 = 35053;
pub const GL_PIXEL_UNPACK_BUFFER_BINDING_ARB: u32 = 35055;
pub const GL_ARB_point_parameters: u32 = 1;
pub const GL_POINT_SIZE_MIN_ARB: u32 = 33062;
pub const GL_POINT_SIZE_MAX_ARB: u32 = 33063;
pub const GL_POINT_FADE_THRESHOLD_SIZE_ARB: u32 = 33064;
pub const GL_POINT_DISTANCE_ATTENUATION_ARB: u32 = 33065;
pub const GL_ARB_point_sprite: u32 = 1;
pub const GL_POINT_SPRITE_ARB: u32 = 34913;
pub const GL_COORD_REPLACE_ARB: u32 = 34914;
pub const GL_ARB_polygon_offset_clamp: u32 = 1;
pub const GL_ARB_post_depth_coverage: u32 = 1;
pub const GL_ARB_program_interface_query: u32 = 1;
pub const GL_ARB_provoking_vertex: u32 = 1;
pub const GL_ARB_query_buffer_object: u32 = 1;
pub const GL_ARB_robust_buffer_access_behavior: u32 = 1;
pub const GL_ARB_robustness: u32 = 1;
pub const GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB: u32 = 4;
pub const GL_LOSE_CONTEXT_ON_RESET_ARB: u32 = 33362;
pub const GL_GUILTY_CONTEXT_RESET_ARB: u32 = 33363;
pub const GL_INNOCENT_CONTEXT_RESET_ARB: u32 = 33364;
pub const GL_UNKNOWN_CONTEXT_RESET_ARB: u32 = 33365;
pub const GL_RESET_NOTIFICATION_STRATEGY_ARB: u32 = 33366;
pub const GL_NO_RESET_NOTIFICATION_ARB: u32 = 33377;
pub const GL_ARB_robustness_isolation: u32 = 1;
pub const GL_ARB_sample_locations: u32 = 1;
pub const GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB: u32 = 37693;
pub const GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB: u32 = 37694;
pub const GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB: u32 = 37695;
pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB: u32 = 37696;
pub const GL_SAMPLE_LOCATION_ARB: u32 = 36432;
pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB: u32 = 37697;
pub const GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB: u32 = 37698;
pub const GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB: u32 = 37699;
pub const GL_ARB_sample_shading: u32 = 1;
pub const GL_SAMPLE_SHADING_ARB: u32 = 35894;
pub const GL_MIN_SAMPLE_SHADING_VALUE_ARB: u32 = 35895;
pub const GL_ARB_sampler_objects: u32 = 1;
pub const GL_ARB_seamless_cube_map: u32 = 1;
pub const GL_ARB_seamless_cubemap_per_texture: u32 = 1;
pub const GL_ARB_separate_shader_objects: u32 = 1;
pub const GL_ARB_shader_atomic_counter_ops: u32 = 1;
pub const GL_ARB_shader_atomic_counters: u32 = 1;
pub const GL_ARB_shader_ballot: u32 = 1;
pub const GL_ARB_shader_bit_encoding: u32 = 1;
pub const GL_ARB_shader_clock: u32 = 1;
pub const GL_ARB_shader_draw_parameters: u32 = 1;
pub const GL_ARB_shader_group_vote: u32 = 1;
pub const GL_ARB_shader_image_load_store: u32 = 1;
pub const GL_ARB_shader_image_size: u32 = 1;
pub const GL_ARB_shader_objects: u32 = 1;
pub const GL_PROGRAM_OBJECT_ARB: u32 = 35648;
pub const GL_SHADER_OBJECT_ARB: u32 = 35656;
pub const GL_OBJECT_TYPE_ARB: u32 = 35662;
pub const GL_OBJECT_SUBTYPE_ARB: u32 = 35663;
pub const GL_FLOAT_VEC2_ARB: u32 = 35664;
pub const GL_FLOAT_VEC3_ARB: u32 = 35665;
pub const GL_FLOAT_VEC4_ARB: u32 = 35666;
pub const GL_INT_VEC2_ARB: u32 = 35667;
pub const GL_INT_VEC3_ARB: u32 = 35668;
pub const GL_INT_VEC4_ARB: u32 = 35669;
pub const GL_BOOL_ARB: u32 = 35670;
pub const GL_BOOL_VEC2_ARB: u32 = 35671;
pub const GL_BOOL_VEC3_ARB: u32 = 35672;
pub const GL_BOOL_VEC4_ARB: u32 = 35673;
pub const GL_FLOAT_MAT2_ARB: u32 = 35674;
pub const GL_FLOAT_MAT3_ARB: u32 = 35675;
pub const GL_FLOAT_MAT4_ARB: u32 = 35676;
pub const GL_SAMPLER_1D_ARB: u32 = 35677;
pub const GL_SAMPLER_2D_ARB: u32 = 35678;
pub const GL_SAMPLER_3D_ARB: u32 = 35679;
pub const GL_SAMPLER_CUBE_ARB: u32 = 35680;
pub const GL_SAMPLER_1D_SHADOW_ARB: u32 = 35681;
pub const GL_SAMPLER_2D_SHADOW_ARB: u32 = 35682;
pub const GL_SAMPLER_2D_RECT_ARB: u32 = 35683;
pub const GL_SAMPLER_2D_RECT_SHADOW_ARB: u32 = 35684;
pub const GL_OBJECT_DELETE_STATUS_ARB: u32 = 35712;
pub const GL_OBJECT_COMPILE_STATUS_ARB: u32 = 35713;
pub const GL_OBJECT_LINK_STATUS_ARB: u32 = 35714;
pub const GL_OBJECT_VALIDATE_STATUS_ARB: u32 = 35715;
pub const GL_OBJECT_INFO_LOG_LENGTH_ARB: u32 = 35716;
pub const GL_OBJECT_ATTACHED_OBJECTS_ARB: u32 = 35717;
pub const GL_OBJECT_ACTIVE_UNIFORMS_ARB: u32 = 35718;
pub const GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB: u32 = 35719;
pub const GL_OBJECT_SHADER_SOURCE_LENGTH_ARB: u32 = 35720;
pub const GL_ARB_shader_precision: u32 = 1;
pub const GL_ARB_shader_stencil_export: u32 = 1;
pub const GL_ARB_shader_storage_buffer_object: u32 = 1;
pub const GL_ARB_shader_subroutine: u32 = 1;
pub const GL_ARB_shader_texture_image_samples: u32 = 1;
pub const GL_ARB_shader_texture_lod: u32 = 1;
pub const GL_ARB_shader_viewport_layer_array: u32 = 1;
pub const GL_ARB_shading_language_100: u32 = 1;
pub const GL_SHADING_LANGUAGE_VERSION_ARB: u32 = 35724;
pub const GL_ARB_shading_language_420pack: u32 = 1;
pub const GL_ARB_shading_language_include: u32 = 1;
pub const GL_SHADER_INCLUDE_ARB: u32 = 36270;
pub const GL_NAMED_STRING_LENGTH_ARB: u32 = 36329;
pub const GL_NAMED_STRING_TYPE_ARB: u32 = 36330;
pub const GL_ARB_shading_language_packing: u32 = 1;
pub const GL_ARB_shadow: u32 = 1;
pub const GL_TEXTURE_COMPARE_MODE_ARB: u32 = 34892;
pub const GL_TEXTURE_COMPARE_FUNC_ARB: u32 = 34893;
pub const GL_COMPARE_R_TO_TEXTURE_ARB: u32 = 34894;
pub const GL_ARB_shadow_ambient: u32 = 1;
pub const GL_TEXTURE_COMPARE_FAIL_VALUE_ARB: u32 = 32959;
pub const GL_ARB_sparse_buffer: u32 = 1;
pub const GL_SPARSE_STORAGE_BIT_ARB: u32 = 1024;
pub const GL_SPARSE_BUFFER_PAGE_SIZE_ARB: u32 = 33528;
pub const GL_ARB_sparse_texture: u32 = 1;
pub const GL_TEXTURE_SPARSE_ARB: u32 = 37286;
pub const GL_VIRTUAL_PAGE_SIZE_INDEX_ARB: u32 = 37287;
pub const GL_NUM_SPARSE_LEVELS_ARB: u32 = 37290;
pub const GL_NUM_VIRTUAL_PAGE_SIZES_ARB: u32 = 37288;
pub const GL_VIRTUAL_PAGE_SIZE_X_ARB: u32 = 37269;
pub const GL_VIRTUAL_PAGE_SIZE_Y_ARB: u32 = 37270;
pub const GL_VIRTUAL_PAGE_SIZE_Z_ARB: u32 = 37271;
pub const GL_MAX_SPARSE_TEXTURE_SIZE_ARB: u32 = 37272;
pub const GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB: u32 = 37273;
pub const GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB: u32 = 37274;
pub const GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB: u32 = 37289;
pub const GL_ARB_sparse_texture2: u32 = 1;
pub const GL_ARB_sparse_texture_clamp: u32 = 1;
pub const GL_ARB_spirv_extensions: u32 = 1;
pub const GL_ARB_stencil_texturing: u32 = 1;
pub const GL_ARB_sync: u32 = 1;
pub const GL_ARB_tessellation_shader: u32 = 1;
pub const GL_ARB_texture_barrier: u32 = 1;
pub const GL_ARB_texture_border_clamp: u32 = 1;
pub const GL_CLAMP_TO_BORDER_ARB: u32 = 33069;
pub const GL_ARB_texture_buffer_object: u32 = 1;
pub const GL_TEXTURE_BUFFER_ARB: u32 = 35882;
pub const GL_MAX_TEXTURE_BUFFER_SIZE_ARB: u32 = 35883;
pub const GL_TEXTURE_BINDING_BUFFER_ARB: u32 = 35884;
pub const GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB: u32 = 35885;
pub const GL_TEXTURE_BUFFER_FORMAT_ARB: u32 = 35886;
pub const GL_ARB_texture_buffer_object_rgb32: u32 = 1;
pub const GL_ARB_texture_buffer_range: u32 = 1;
pub const GL_ARB_texture_compression: u32 = 1;
pub const GL_COMPRESSED_ALPHA_ARB: u32 = 34025;
pub const GL_COMPRESSED_LUMINANCE_ARB: u32 = 34026;
pub const GL_COMPRESSED_LUMINANCE_ALPHA_ARB: u32 = 34027;
pub const GL_COMPRESSED_INTENSITY_ARB: u32 = 34028;
pub const GL_COMPRESSED_RGB_ARB: u32 = 34029;
pub const GL_COMPRESSED_RGBA_ARB: u32 = 34030;
pub const GL_TEXTURE_COMPRESSION_HINT_ARB: u32 = 34031;
pub const GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB: u32 = 34464;
pub const GL_TEXTURE_COMPRESSED_ARB: u32 = 34465;
pub const GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB: u32 = 34466;
pub const GL_COMPRESSED_TEXTURE_FORMATS_ARB: u32 = 34467;
pub const GL_ARB_texture_compression_bptc: u32 = 1;
pub const GL_COMPRESSED_RGBA_BPTC_UNORM_ARB: u32 = 36492;
pub const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB: u32 = 36493;
pub const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB: u32 = 36494;
pub const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB: u32 = 36495;
pub const GL_ARB_texture_compression_rgtc: u32 = 1;
pub const GL_ARB_texture_cube_map: u32 = 1;
pub const GL_NORMAL_MAP_ARB: u32 = 34065;
pub const GL_REFLECTION_MAP_ARB: u32 = 34066;
pub const GL_TEXTURE_CUBE_MAP_ARB: u32 = 34067;
pub const GL_TEXTURE_BINDING_CUBE_MAP_ARB: u32 = 34068;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB: u32 = 34069;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB: u32 = 34070;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB: u32 = 34071;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB: u32 = 34072;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB: u32 = 34073;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB: u32 = 34074;
pub const GL_PROXY_TEXTURE_CUBE_MAP_ARB: u32 = 34075;
pub const GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB: u32 = 34076;
pub const GL_ARB_texture_cube_map_array: u32 = 1;
pub const GL_TEXTURE_CUBE_MAP_ARRAY_ARB: u32 = 36873;
pub const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB: u32 = 36874;
pub const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB: u32 = 36875;
pub const GL_SAMPLER_CUBE_MAP_ARRAY_ARB: u32 = 36876;
pub const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB: u32 = 36877;
pub const GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB: u32 = 36878;
pub const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB: u32 = 36879;
pub const GL_ARB_texture_env_add: u32 = 1;
pub const GL_ARB_texture_env_combine: u32 = 1;
pub const GL_COMBINE_ARB: u32 = 34160;
pub const GL_COMBINE_RGB_ARB: u32 = 34161;
pub const GL_COMBINE_ALPHA_ARB: u32 = 34162;
pub const GL_SOURCE0_RGB_ARB: u32 = 34176;
pub const GL_SOURCE1_RGB_ARB: u32 = 34177;
pub const GL_SOURCE2_RGB_ARB: u32 = 34178;
pub const GL_SOURCE0_ALPHA_ARB: u32 = 34184;
pub const GL_SOURCE1_ALPHA_ARB: u32 = 34185;
pub const GL_SOURCE2_ALPHA_ARB: u32 = 34186;
pub const GL_OPERAND0_RGB_ARB: u32 = 34192;
pub const GL_OPERAND1_RGB_ARB: u32 = 34193;
pub const GL_OPERAND2_RGB_ARB: u32 = 34194;
pub const GL_OPERAND0_ALPHA_ARB: u32 = 34200;
pub const GL_OPERAND1_ALPHA_ARB: u32 = 34201;
pub const GL_OPERAND2_ALPHA_ARB: u32 = 34202;
pub const GL_RGB_SCALE_ARB: u32 = 34163;
pub const GL_ADD_SIGNED_ARB: u32 = 34164;
pub const GL_INTERPOLATE_ARB: u32 = 34165;
pub const GL_SUBTRACT_ARB: u32 = 34023;
pub const GL_CONSTANT_ARB: u32 = 34166;
pub const GL_PRIMARY_COLOR_ARB: u32 = 34167;
pub const GL_PREVIOUS_ARB: u32 = 34168;
pub const GL_ARB_texture_env_crossbar: u32 = 1;
pub const GL_ARB_texture_env_dot3: u32 = 1;
pub const GL_DOT3_RGB_ARB: u32 = 34478;
pub const GL_DOT3_RGBA_ARB: u32 = 34479;
pub const GL_ARB_texture_filter_anisotropic: u32 = 1;
pub const GL_ARB_texture_filter_minmax: u32 = 1;
pub const GL_TEXTURE_REDUCTION_MODE_ARB: u32 = 37734;
pub const GL_WEIGHTED_AVERAGE_ARB: u32 = 37735;
pub const GL_ARB_texture_float: u32 = 1;
pub const GL_TEXTURE_RED_TYPE_ARB: u32 = 35856;
pub const GL_TEXTURE_GREEN_TYPE_ARB: u32 = 35857;
pub const GL_TEXTURE_BLUE_TYPE_ARB: u32 = 35858;
pub const GL_TEXTURE_ALPHA_TYPE_ARB: u32 = 35859;
pub const GL_TEXTURE_LUMINANCE_TYPE_ARB: u32 = 35860;
pub const GL_TEXTURE_INTENSITY_TYPE_ARB: u32 = 35861;
pub const GL_TEXTURE_DEPTH_TYPE_ARB: u32 = 35862;
pub const GL_UNSIGNED_NORMALIZED_ARB: u32 = 35863;
pub const GL_RGBA32F_ARB: u32 = 34836;
pub const GL_RGB32F_ARB: u32 = 34837;
pub const GL_ALPHA32F_ARB: u32 = 34838;
pub const GL_INTENSITY32F_ARB: u32 = 34839;
pub const GL_LUMINANCE32F_ARB: u32 = 34840;
pub const GL_LUMINANCE_ALPHA32F_ARB: u32 = 34841;
pub const GL_RGBA16F_ARB: u32 = 34842;
pub const GL_RGB16F_ARB: u32 = 34843;
pub const GL_ALPHA16F_ARB: u32 = 34844;
pub const GL_INTENSITY16F_ARB: u32 = 34845;
pub const GL_LUMINANCE16F_ARB: u32 = 34846;
pub const GL_LUMINANCE_ALPHA16F_ARB: u32 = 34847;
pub const GL_ARB_texture_gather: u32 = 1;
pub const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB: u32 = 36446;
pub const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB: u32 = 36447;
pub const GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB: u32 = 36767;
pub const GL_ARB_texture_mirror_clamp_to_edge: u32 = 1;
pub const GL_ARB_texture_mirrored_repeat: u32 = 1;
pub const GL_MIRRORED_REPEAT_ARB: u32 = 33648;
pub const GL_ARB_texture_multisample: u32 = 1;
pub const GL_ARB_texture_non_power_of_two: u32 = 1;
pub const GL_ARB_texture_query_levels: u32 = 1;
pub const GL_ARB_texture_query_lod: u32 = 1;
pub const GL_ARB_texture_rectangle: u32 = 1;
pub const GL_TEXTURE_RECTANGLE_ARB: u32 = 34037;
pub const GL_TEXTURE_BINDING_RECTANGLE_ARB: u32 = 34038;
pub const GL_PROXY_TEXTURE_RECTANGLE_ARB: u32 = 34039;
pub const GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB: u32 = 34040;
pub const GL_ARB_texture_rg: u32 = 1;
pub const GL_ARB_texture_rgb10_a2ui: u32 = 1;
pub const GL_ARB_texture_stencil8: u32 = 1;
pub const GL_ARB_texture_storage: u32 = 1;
pub const GL_ARB_texture_storage_multisample: u32 = 1;
pub const GL_ARB_texture_swizzle: u32 = 1;
pub const GL_ARB_texture_view: u32 = 1;
pub const GL_ARB_timer_query: u32 = 1;
pub const GL_ARB_transform_feedback2: u32 = 1;
pub const GL_ARB_transform_feedback3: u32 = 1;
pub const GL_ARB_transform_feedback_instanced: u32 = 1;
pub const GL_ARB_transform_feedback_overflow_query: u32 = 1;
pub const GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB: u32 = 33516;
pub const GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB: u32 = 33517;
pub const GL_ARB_transpose_matrix: u32 = 1;
pub const GL_TRANSPOSE_MODELVIEW_MATRIX_ARB: u32 = 34019;
pub const GL_TRANSPOSE_PROJECTION_MATRIX_ARB: u32 = 34020;
pub const GL_TRANSPOSE_TEXTURE_MATRIX_ARB: u32 = 34021;
pub const GL_TRANSPOSE_COLOR_MATRIX_ARB: u32 = 34022;
pub const GL_ARB_uniform_buffer_object: u32 = 1;
pub const GL_ARB_vertex_array_bgra: u32 = 1;
pub const GL_ARB_vertex_array_object: u32 = 1;
pub const GL_ARB_vertex_attrib_64bit: u32 = 1;
pub const GL_ARB_vertex_attrib_binding: u32 = 1;
pub const GL_ARB_vertex_blend: u32 = 1;
pub const GL_MAX_VERTEX_UNITS_ARB: u32 = 34468;
pub const GL_ACTIVE_VERTEX_UNITS_ARB: u32 = 34469;
pub const GL_WEIGHT_SUM_UNITY_ARB: u32 = 34470;
pub const GL_VERTEX_BLEND_ARB: u32 = 34471;
pub const GL_CURRENT_WEIGHT_ARB: u32 = 34472;
pub const GL_WEIGHT_ARRAY_TYPE_ARB: u32 = 34473;
pub const GL_WEIGHT_ARRAY_STRIDE_ARB: u32 = 34474;
pub const GL_WEIGHT_ARRAY_SIZE_ARB: u32 = 34475;
pub const GL_WEIGHT_ARRAY_POINTER_ARB: u32 = 34476;
pub const GL_WEIGHT_ARRAY_ARB: u32 = 34477;
pub const GL_MODELVIEW0_ARB: u32 = 5888;
pub const GL_MODELVIEW1_ARB: u32 = 34058;
pub const GL_MODELVIEW2_ARB: u32 = 34594;
pub const GL_MODELVIEW3_ARB: u32 = 34595;
pub const GL_MODELVIEW4_ARB: u32 = 34596;
pub const GL_MODELVIEW5_ARB: u32 = 34597;
pub const GL_MODELVIEW6_ARB: u32 = 34598;
pub const GL_MODELVIEW7_ARB: u32 = 34599;
pub const GL_MODELVIEW8_ARB: u32 = 34600;
pub const GL_MODELVIEW9_ARB: u32 = 34601;
pub const GL_MODELVIEW10_ARB: u32 = 34602;
pub const GL_MODELVIEW11_ARB: u32 = 34603;
pub const GL_MODELVIEW12_ARB: u32 = 34604;
pub const GL_MODELVIEW13_ARB: u32 = 34605;
pub const GL_MODELVIEW14_ARB: u32 = 34606;
pub const GL_MODELVIEW15_ARB: u32 = 34607;
pub const GL_MODELVIEW16_ARB: u32 = 34608;
pub const GL_MODELVIEW17_ARB: u32 = 34609;
pub const GL_MODELVIEW18_ARB: u32 = 34610;
pub const GL_MODELVIEW19_ARB: u32 = 34611;
pub const GL_MODELVIEW20_ARB: u32 = 34612;
pub const GL_MODELVIEW21_ARB: u32 = 34613;
pub const GL_MODELVIEW22_ARB: u32 = 34614;
pub const GL_MODELVIEW23_ARB: u32 = 34615;
pub const GL_MODELVIEW24_ARB: u32 = 34616;
pub const GL_MODELVIEW25_ARB: u32 = 34617;
pub const GL_MODELVIEW26_ARB: u32 = 34618;
pub const GL_MODELVIEW27_ARB: u32 = 34619;
pub const GL_MODELVIEW28_ARB: u32 = 34620;
pub const GL_MODELVIEW29_ARB: u32 = 34621;
pub const GL_MODELVIEW30_ARB: u32 = 34622;
pub const GL_MODELVIEW31_ARB: u32 = 34623;
pub const GL_ARB_vertex_buffer_object: u32 = 1;
pub const GL_BUFFER_SIZE_ARB: u32 = 34660;
pub const GL_BUFFER_USAGE_ARB: u32 = 34661;
pub const GL_ARRAY_BUFFER_ARB: u32 = 34962;
pub const GL_ELEMENT_ARRAY_BUFFER_ARB: u32 = 34963;
pub const GL_ARRAY_BUFFER_BINDING_ARB: u32 = 34964;
pub const GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB: u32 = 34965;
pub const GL_VERTEX_ARRAY_BUFFER_BINDING_ARB: u32 = 34966;
pub const GL_NORMAL_ARRAY_BUFFER_BINDING_ARB: u32 = 34967;
pub const GL_COLOR_ARRAY_BUFFER_BINDING_ARB: u32 = 34968;
pub const GL_INDEX_ARRAY_BUFFER_BINDING_ARB: u32 = 34969;
pub const GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB: u32 = 34970;
pub const GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB: u32 = 34971;
pub const GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB: u32 = 34972;
pub const GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB: u32 = 34973;
pub const GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB: u32 = 34974;
pub const GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB: u32 = 34975;
pub const GL_READ_ONLY_ARB: u32 = 35000;
pub const GL_WRITE_ONLY_ARB: u32 = 35001;
pub const GL_READ_WRITE_ARB: u32 = 35002;
pub const GL_BUFFER_ACCESS_ARB: u32 = 35003;
pub const GL_BUFFER_MAPPED_ARB: u32 = 35004;
pub const GL_BUFFER_MAP_POINTER_ARB: u32 = 35005;
pub const GL_STREAM_DRAW_ARB: u32 = 35040;
pub const GL_STREAM_READ_ARB: u32 = 35041;
pub const GL_STREAM_COPY_ARB: u32 = 35042;
pub const GL_STATIC_DRAW_ARB: u32 = 35044;
pub const GL_STATIC_READ_ARB: u32 = 35045;
pub const GL_STATIC_COPY_ARB: u32 = 35046;
pub const GL_DYNAMIC_DRAW_ARB: u32 = 35048;
pub const GL_DYNAMIC_READ_ARB: u32 = 35049;
pub const GL_DYNAMIC_COPY_ARB: u32 = 35050;
pub const GL_ARB_vertex_program: u32 = 1;
pub const GL_COLOR_SUM_ARB: u32 = 33880;
pub const GL_VERTEX_PROGRAM_ARB: u32 = 34336;
pub const GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB: u32 = 34338;
pub const GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB: u32 = 34339;
pub const GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB: u32 = 34340;
pub const GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB: u32 = 34341;
pub const GL_CURRENT_VERTEX_ATTRIB_ARB: u32 = 34342;
pub const GL_VERTEX_PROGRAM_POINT_SIZE_ARB: u32 = 34370;
pub const GL_VERTEX_PROGRAM_TWO_SIDE_ARB: u32 = 34371;
pub const GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB: u32 = 34373;
pub const GL_MAX_VERTEX_ATTRIBS_ARB: u32 = 34921;
pub const GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB: u32 = 34922;
pub const GL_PROGRAM_ADDRESS_REGISTERS_ARB: u32 = 34992;
pub const GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB: u32 = 34993;
pub const GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB: u32 = 34994;
pub const GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB: u32 = 34995;
pub const GL_ARB_vertex_shader: u32 = 1;
pub const GL_VERTEX_SHADER_ARB: u32 = 35633;
pub const GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB: u32 = 35658;
pub const GL_MAX_VARYING_FLOATS_ARB: u32 = 35659;
pub const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB: u32 = 35660;
pub const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB: u32 = 35661;
pub const GL_OBJECT_ACTIVE_ATTRIBUTES_ARB: u32 = 35721;
pub const GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB: u32 = 35722;
pub const GL_ARB_vertex_type_10f_11f_11f_rev: u32 = 1;
pub const GL_ARB_vertex_type_2_10_10_10_rev: u32 = 1;
pub const GL_ARB_viewport_array: u32 = 1;
pub const GL_ARB_window_pos: u32 = 1;
pub const GL_KHR_blend_equation_advanced: u32 = 1;
pub const GL_MULTIPLY_KHR: u32 = 37524;
pub const GL_SCREEN_KHR: u32 = 37525;
pub const GL_OVERLAY_KHR: u32 = 37526;
pub const GL_DARKEN_KHR: u32 = 37527;
pub const GL_LIGHTEN_KHR: u32 = 37528;
pub const GL_COLORDODGE_KHR: u32 = 37529;
pub const GL_COLORBURN_KHR: u32 = 37530;
pub const GL_HARDLIGHT_KHR: u32 = 37531;
pub const GL_SOFTLIGHT_KHR: u32 = 37532;
pub const GL_DIFFERENCE_KHR: u32 = 37534;
pub const GL_EXCLUSION_KHR: u32 = 37536;
pub const GL_HSL_HUE_KHR: u32 = 37549;
pub const GL_HSL_SATURATION_KHR: u32 = 37550;
pub const GL_HSL_COLOR_KHR: u32 = 37551;
pub const GL_HSL_LUMINOSITY_KHR: u32 = 37552;
pub const GL_KHR_blend_equation_advanced_coherent: u32 = 1;
pub const GL_BLEND_ADVANCED_COHERENT_KHR: u32 = 37509;
pub const GL_KHR_context_flush_control: u32 = 1;
pub const GL_KHR_debug: u32 = 1;
pub const GL_KHR_no_error: u32 = 1;
pub const GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR: u32 = 8;
pub const GL_KHR_parallel_shader_compile: u32 = 1;
pub const GL_MAX_SHADER_COMPILER_THREADS_KHR: u32 = 37296;
pub const GL_COMPLETION_STATUS_KHR: u32 = 37297;
pub const GL_KHR_robust_buffer_access_behavior: u32 = 1;
pub const GL_KHR_robustness: u32 = 1;
pub const GL_CONTEXT_ROBUST_ACCESS: u32 = 37107;
pub const GL_KHR_texture_compression_astc_hdr: u32 = 1;
pub const GL_COMPRESSED_RGBA_ASTC_4x4_KHR: u32 = 37808;
pub const GL_COMPRESSED_RGBA_ASTC_5x4_KHR: u32 = 37809;
pub const GL_COMPRESSED_RGBA_ASTC_5x5_KHR: u32 = 37810;
pub const GL_COMPRESSED_RGBA_ASTC_6x5_KHR: u32 = 37811;
pub const GL_COMPRESSED_RGBA_ASTC_6x6_KHR: u32 = 37812;
pub const GL_COMPRESSED_RGBA_ASTC_8x5_KHR: u32 = 37813;
pub const GL_COMPRESSED_RGBA_ASTC_8x6_KHR: u32 = 37814;
pub const GL_COMPRESSED_RGBA_ASTC_8x8_KHR: u32 = 37815;
pub const GL_COMPRESSED_RGBA_ASTC_10x5_KHR: u32 = 37816;
pub const GL_COMPRESSED_RGBA_ASTC_10x6_KHR: u32 = 37817;
pub const GL_COMPRESSED_RGBA_ASTC_10x8_KHR: u32 = 37818;
pub const GL_COMPRESSED_RGBA_ASTC_10x10_KHR: u32 = 37819;
pub const GL_COMPRESSED_RGBA_ASTC_12x10_KHR: u32 = 37820;
pub const GL_COMPRESSED_RGBA_ASTC_12x12_KHR: u32 = 37821;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR: u32 = 37840;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR: u32 = 37841;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR: u32 = 37842;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR: u32 = 37843;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR: u32 = 37844;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR: u32 = 37845;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR: u32 = 37846;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR: u32 = 37847;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR: u32 = 37848;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR: u32 = 37849;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR: u32 = 37850;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR: u32 = 37851;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR: u32 = 37852;
pub const GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR: u32 = 37853;
pub const GL_KHR_texture_compression_astc_ldr: u32 = 1;
pub const GL_KHR_texture_compression_astc_sliced_3d: u32 = 1;
pub const GL_OES_byte_coordinates: u32 = 1;
pub const GL_OES_compressed_paletted_texture: u32 = 1;
pub const GL_PALETTE4_RGB8_OES: u32 = 35728;
pub const GL_PALETTE4_RGBA8_OES: u32 = 35729;
pub const GL_PALETTE4_R5_G6_B5_OES: u32 = 35730;
pub const GL_PALETTE4_RGBA4_OES: u32 = 35731;
pub const GL_PALETTE4_RGB5_A1_OES: u32 = 35732;
pub const GL_PALETTE8_RGB8_OES: u32 = 35733;
pub const GL_PALETTE8_RGBA8_OES: u32 = 35734;
pub const GL_PALETTE8_R5_G6_B5_OES: u32 = 35735;
pub const GL_PALETTE8_RGBA4_OES: u32 = 35736;
pub const GL_PALETTE8_RGB5_A1_OES: u32 = 35737;
pub const GL_OES_fixed_point: u32 = 1;
pub const GL_FIXED_OES: u32 = 5132;
pub const GL_OES_query_matrix: u32 = 1;
pub const GL_OES_read_format: u32 = 1;
pub const GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: u32 = 35738;
pub const GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: u32 = 35739;
pub const GL_OES_single_precision: u32 = 1;
pub const GL_3DFX_multisample: u32 = 1;
pub const GL_MULTISAMPLE_3DFX: u32 = 34482;
pub const GL_SAMPLE_BUFFERS_3DFX: u32 = 34483;
pub const GL_SAMPLES_3DFX: u32 = 34484;
pub const GL_MULTISAMPLE_BIT_3DFX: u32 = 536870912;
pub const GL_3DFX_tbuffer: u32 = 1;
pub const GL_3DFX_texture_compression_FXT1: u32 = 1;
pub const GL_COMPRESSED_RGB_FXT1_3DFX: u32 = 34480;
pub const GL_COMPRESSED_RGBA_FXT1_3DFX: u32 = 34481;
pub const GL_AMD_blend_minmax_factor: u32 = 1;
pub const GL_FACTOR_MIN_AMD: u32 = 36892;
pub const GL_FACTOR_MAX_AMD: u32 = 36893;
pub const GL_AMD_conservative_depth: u32 = 1;
pub const GL_AMD_debug_output: u32 = 1;
pub const GL_MAX_DEBUG_MESSAGE_LENGTH_AMD: u32 = 37187;
pub const GL_MAX_DEBUG_LOGGED_MESSAGES_AMD: u32 = 37188;
pub const GL_DEBUG_LOGGED_MESSAGES_AMD: u32 = 37189;
pub const GL_DEBUG_SEVERITY_HIGH_AMD: u32 = 37190;
pub const GL_DEBUG_SEVERITY_MEDIUM_AMD: u32 = 37191;
pub const GL_DEBUG_SEVERITY_LOW_AMD: u32 = 37192;
pub const GL_DEBUG_CATEGORY_API_ERROR_AMD: u32 = 37193;
pub const GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD: u32 = 37194;
pub const GL_DEBUG_CATEGORY_DEPRECATION_AMD: u32 = 37195;
pub const GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD: u32 = 37196;
pub const GL_DEBUG_CATEGORY_PERFORMANCE_AMD: u32 = 37197;
pub const GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD: u32 = 37198;
pub const GL_DEBUG_CATEGORY_APPLICATION_AMD: u32 = 37199;
pub const GL_DEBUG_CATEGORY_OTHER_AMD: u32 = 37200;
pub const GL_AMD_depth_clamp_separate: u32 = 1;
pub const GL_DEPTH_CLAMP_NEAR_AMD: u32 = 36894;
pub const GL_DEPTH_CLAMP_FAR_AMD: u32 = 36895;
pub const GL_AMD_draw_buffers_blend: u32 = 1;
pub const GL_AMD_framebuffer_multisample_advanced: u32 = 1;
pub const GL_RENDERBUFFER_STORAGE_SAMPLES_AMD: u32 = 37298;
pub const GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD: u32 = 37299;
pub const GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD: u32 = 37300;
pub const GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD: u32 = 37301;
pub const GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD: u32 = 37302;
pub const GL_SUPPORTED_MULTISAMPLE_MODES_AMD: u32 = 37303;
pub const GL_AMD_framebuffer_sample_positions: u32 = 1;
pub const GL_SUBSAMPLE_DISTANCE_AMD: u32 = 34879;
pub const GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD: u32 = 37294;
pub const GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD: u32 = 37295;
pub const GL_ALL_PIXELS_AMD: u32 = 4294967295;
pub const GL_AMD_gcn_shader: u32 = 1;
pub const GL_AMD_gpu_shader_half_float: u32 = 1;
pub const GL_FLOAT16_NV: u32 = 36856;
pub const GL_FLOAT16_VEC2_NV: u32 = 36857;
pub const GL_FLOAT16_VEC3_NV: u32 = 36858;
pub const GL_FLOAT16_VEC4_NV: u32 = 36859;
pub const GL_FLOAT16_MAT2_AMD: u32 = 37317;
pub const GL_FLOAT16_MAT3_AMD: u32 = 37318;
pub const GL_FLOAT16_MAT4_AMD: u32 = 37319;
pub const GL_FLOAT16_MAT2x3_AMD: u32 = 37320;
pub const GL_FLOAT16_MAT2x4_AMD: u32 = 37321;
pub const GL_FLOAT16_MAT3x2_AMD: u32 = 37322;
pub const GL_FLOAT16_MAT3x4_AMD: u32 = 37323;
pub const GL_FLOAT16_MAT4x2_AMD: u32 = 37324;
pub const GL_FLOAT16_MAT4x3_AMD: u32 = 37325;
pub const GL_AMD_gpu_shader_int16: u32 = 1;
pub const GL_AMD_gpu_shader_int64: u32 = 1;
pub const GL_INT64_NV: u32 = 5134;
pub const GL_UNSIGNED_INT64_NV: u32 = 5135;
pub const GL_INT8_NV: u32 = 36832;
pub const GL_INT8_VEC2_NV: u32 = 36833;
pub const GL_INT8_VEC3_NV: u32 = 36834;
pub const GL_INT8_VEC4_NV: u32 = 36835;
pub const GL_INT16_NV: u32 = 36836;
pub const GL_INT16_VEC2_NV: u32 = 36837;
pub const GL_INT16_VEC3_NV: u32 = 36838;
pub const GL_INT16_VEC4_NV: u32 = 36839;
pub const GL_INT64_VEC2_NV: u32 = 36841;
pub const GL_INT64_VEC3_NV: u32 = 36842;
pub const GL_INT64_VEC4_NV: u32 = 36843;
pub const GL_UNSIGNED_INT8_NV: u32 = 36844;
pub const GL_UNSIGNED_INT8_VEC2_NV: u32 = 36845;
pub const GL_UNSIGNED_INT8_VEC3_NV: u32 = 36846;
pub const GL_UNSIGNED_INT8_VEC4_NV: u32 = 36847;
pub const GL_UNSIGNED_INT16_NV: u32 = 36848;
pub const GL_UNSIGNED_INT16_VEC2_NV: u32 = 36849;
pub const GL_UNSIGNED_INT16_VEC3_NV: u32 = 36850;
pub const GL_UNSIGNED_INT16_VEC4_NV: u32 = 36851;
pub const GL_UNSIGNED_INT64_VEC2_NV: u32 = 36853;
pub const GL_UNSIGNED_INT64_VEC3_NV: u32 = 36854;
pub const GL_UNSIGNED_INT64_VEC4_NV: u32 = 36855;
pub const GL_AMD_interleaved_elements: u32 = 1;
pub const GL_VERTEX_ELEMENT_SWIZZLE_AMD: u32 = 37284;
pub const GL_VERTEX_ID_SWIZZLE_AMD: u32 = 37285;
pub const GL_AMD_multi_draw_indirect: u32 = 1;
pub const GL_AMD_name_gen_delete: u32 = 1;
pub const GL_DATA_BUFFER_AMD: u32 = 37201;
pub const GL_PERFORMANCE_MONITOR_AMD: u32 = 37202;
pub const GL_QUERY_OBJECT_AMD: u32 = 37203;
pub const GL_VERTEX_ARRAY_OBJECT_AMD: u32 = 37204;
pub const GL_SAMPLER_OBJECT_AMD: u32 = 37205;
pub const GL_AMD_occlusion_query_event: u32 = 1;
pub const GL_OCCLUSION_QUERY_EVENT_MASK_AMD: u32 = 34639;
pub const GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD: u32 = 1;
pub const GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD: u32 = 2;
pub const GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD: u32 = 4;
pub const GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD: u32 = 8;
pub const GL_QUERY_ALL_EVENT_BITS_AMD: u32 = 4294967295;
pub const GL_AMD_performance_monitor: u32 = 1;
pub const GL_COUNTER_TYPE_AMD: u32 = 35776;
pub const GL_COUNTER_RANGE_AMD: u32 = 35777;
pub const GL_UNSIGNED_INT64_AMD: u32 = 35778;
pub const GL_PERCENTAGE_AMD: u32 = 35779;
pub const GL_PERFMON_RESULT_AVAILABLE_AMD: u32 = 35780;
pub const GL_PERFMON_RESULT_SIZE_AMD: u32 = 35781;
pub const GL_PERFMON_RESULT_AMD: u32 = 35782;
pub const GL_AMD_pinned_memory: u32 = 1;
pub const GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD: u32 = 37216;
pub const GL_AMD_query_buffer_object: u32 = 1;
pub const GL_QUERY_BUFFER_AMD: u32 = 37266;
pub const GL_QUERY_BUFFER_BINDING_AMD: u32 = 37267;
pub const GL_QUERY_RESULT_NO_WAIT_AMD: u32 = 37268;
pub const GL_AMD_sample_positions: u32 = 1;
pub const GL_AMD_seamless_cubemap_per_texture: u32 = 1;
pub const GL_AMD_shader_atomic_counter_ops: u32 = 1;
pub const GL_AMD_shader_ballot: u32 = 1;
pub const GL_AMD_shader_explicit_vertex_parameter: u32 = 1;
pub const GL_AMD_shader_gpu_shader_half_float_fetch: u32 = 1;
pub const GL_AMD_shader_image_load_store_lod: u32 = 1;
pub const GL_AMD_shader_stencil_export: u32 = 1;
pub const GL_AMD_shader_trinary_minmax: u32 = 1;
pub const GL_AMD_sparse_texture: u32 = 1;
pub const GL_VIRTUAL_PAGE_SIZE_X_AMD: u32 = 37269;
pub const GL_VIRTUAL_PAGE_SIZE_Y_AMD: u32 = 37270;
pub const GL_VIRTUAL_PAGE_SIZE_Z_AMD: u32 = 37271;
pub const GL_MAX_SPARSE_TEXTURE_SIZE_AMD: u32 = 37272;
pub const GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD: u32 = 37273;
pub const GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS: u32 = 37274;
pub const GL_MIN_SPARSE_LEVEL_AMD: u32 = 37275;
pub const GL_MIN_LOD_WARNING_AMD: u32 = 37276;
pub const GL_TEXTURE_STORAGE_SPARSE_BIT_AMD: u32 = 1;
pub const GL_AMD_stencil_operation_extended: u32 = 1;
pub const GL_SET_AMD: u32 = 34634;
pub const GL_REPLACE_VALUE_AMD: u32 = 34635;
pub const GL_STENCIL_OP_VALUE_AMD: u32 = 34636;
pub const GL_STENCIL_BACK_OP_VALUE_AMD: u32 = 34637;
pub const GL_AMD_texture_gather_bias_lod: u32 = 1;
pub const GL_AMD_texture_texture4: u32 = 1;
pub const GL_AMD_transform_feedback3_lines_triangles: u32 = 1;
pub const GL_AMD_transform_feedback4: u32 = 1;
pub const GL_STREAM_RASTERIZATION_AMD: u32 = 37280;
pub const GL_AMD_vertex_shader_layer: u32 = 1;
pub const GL_AMD_vertex_shader_tessellator: u32 = 1;
pub const GL_SAMPLER_BUFFER_AMD: u32 = 36865;
pub const GL_INT_SAMPLER_BUFFER_AMD: u32 = 36866;
pub const GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD: u32 = 36867;
pub const GL_TESSELLATION_MODE_AMD: u32 = 36868;
pub const GL_TESSELLATION_FACTOR_AMD: u32 = 36869;
pub const GL_DISCRETE_AMD: u32 = 36870;
pub const GL_CONTINUOUS_AMD: u32 = 36871;
pub const GL_AMD_vertex_shader_viewport_index: u32 = 1;
pub const GL_APPLE_aux_depth_stencil: u32 = 1;
pub const GL_AUX_DEPTH_STENCIL_APPLE: u32 = 35348;
pub const GL_APPLE_client_storage: u32 = 1;
pub const GL_UNPACK_CLIENT_STORAGE_APPLE: u32 = 34226;
pub const GL_APPLE_element_array: u32 = 1;
pub const GL_ELEMENT_ARRAY_APPLE: u32 = 35340;
pub const GL_ELEMENT_ARRAY_TYPE_APPLE: u32 = 35341;
pub const GL_ELEMENT_ARRAY_POINTER_APPLE: u32 = 35342;
pub const GL_APPLE_fence: u32 = 1;
pub const GL_DRAW_PIXELS_APPLE: u32 = 35338;
pub const GL_FENCE_APPLE: u32 = 35339;
pub const GL_APPLE_float_pixels: u32 = 1;
pub const GL_HALF_APPLE: u32 = 5131;
pub const GL_RGBA_FLOAT32_APPLE: u32 = 34836;
pub const GL_RGB_FLOAT32_APPLE: u32 = 34837;
pub const GL_ALPHA_FLOAT32_APPLE: u32 = 34838;
pub const GL_INTENSITY_FLOAT32_APPLE: u32 = 34839;
pub const GL_LUMINANCE_FLOAT32_APPLE: u32 = 34840;
pub const GL_LUMINANCE_ALPHA_FLOAT32_APPLE: u32 = 34841;
pub const GL_RGBA_FLOAT16_APPLE: u32 = 34842;
pub const GL_RGB_FLOAT16_APPLE: u32 = 34843;
pub const GL_ALPHA_FLOAT16_APPLE: u32 = 34844;
pub const GL_INTENSITY_FLOAT16_APPLE: u32 = 34845;
pub const GL_LUMINANCE_FLOAT16_APPLE: u32 = 34846;
pub const GL_LUMINANCE_ALPHA_FLOAT16_APPLE: u32 = 34847;
pub const GL_COLOR_FLOAT_APPLE: u32 = 35343;
pub const GL_APPLE_flush_buffer_range: u32 = 1;
pub const GL_BUFFER_SERIALIZED_MODIFY_APPLE: u32 = 35346;
pub const GL_BUFFER_FLUSHING_UNMAP_APPLE: u32 = 35347;
pub const GL_APPLE_object_purgeable: u32 = 1;
pub const GL_BUFFER_OBJECT_APPLE: u32 = 34227;
pub const GL_RELEASED_APPLE: u32 = 35353;
pub const GL_VOLATILE_APPLE: u32 = 35354;
pub const GL_RETAINED_APPLE: u32 = 35355;
pub const GL_UNDEFINED_APPLE: u32 = 35356;
pub const GL_PURGEABLE_APPLE: u32 = 35357;
pub const GL_APPLE_rgb_422: u32 = 1;
pub const GL_RGB_422_APPLE: u32 = 35359;
pub const GL_UNSIGNED_SHORT_8_8_APPLE: u32 = 34234;
pub const GL_UNSIGNED_SHORT_8_8_REV_APPLE: u32 = 34235;
pub const GL_RGB_RAW_422_APPLE: u32 = 35409;
pub const GL_APPLE_row_bytes: u32 = 1;
pub const GL_PACK_ROW_BYTES_APPLE: u32 = 35349;
pub const GL_UNPACK_ROW_BYTES_APPLE: u32 = 35350;
pub const GL_APPLE_specular_vector: u32 = 1;
pub const GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE: u32 = 34224;
pub const GL_APPLE_texture_range: u32 = 1;
pub const GL_TEXTURE_RANGE_LENGTH_APPLE: u32 = 34231;
pub const GL_TEXTURE_RANGE_POINTER_APPLE: u32 = 34232;
pub const GL_TEXTURE_STORAGE_HINT_APPLE: u32 = 34236;
pub const GL_STORAGE_PRIVATE_APPLE: u32 = 34237;
pub const GL_STORAGE_CACHED_APPLE: u32 = 34238;
pub const GL_STORAGE_SHARED_APPLE: u32 = 34239;
pub const GL_APPLE_transform_hint: u32 = 1;
pub const GL_TRANSFORM_HINT_APPLE: u32 = 34225;
pub const GL_APPLE_vertex_array_object: u32 = 1;
pub const GL_VERTEX_ARRAY_BINDING_APPLE: u32 = 34229;
pub const GL_APPLE_vertex_array_range: u32 = 1;
pub const GL_VERTEX_ARRAY_RANGE_APPLE: u32 = 34077;
pub const GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE: u32 = 34078;
pub const GL_VERTEX_ARRAY_STORAGE_HINT_APPLE: u32 = 34079;
pub const GL_VERTEX_ARRAY_RANGE_POINTER_APPLE: u32 = 34081;
pub const GL_STORAGE_CLIENT_APPLE: u32 = 34228;
pub const GL_APPLE_vertex_program_evaluators: u32 = 1;
pub const GL_VERTEX_ATTRIB_MAP1_APPLE: u32 = 35328;
pub const GL_VERTEX_ATTRIB_MAP2_APPLE: u32 = 35329;
pub const GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE: u32 = 35330;
pub const GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE: u32 = 35331;
pub const GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE: u32 = 35332;
pub const GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE: u32 = 35333;
pub const GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE: u32 = 35334;
pub const GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE: u32 = 35335;
pub const GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE: u32 = 35336;
pub const GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE: u32 = 35337;
pub const GL_APPLE_ycbcr_422: u32 = 1;
pub const GL_YCBCR_422_APPLE: u32 = 34233;
pub const GL_ATI_draw_buffers: u32 = 1;
pub const GL_MAX_DRAW_BUFFERS_ATI: u32 = 34852;
pub const GL_DRAW_BUFFER0_ATI: u32 = 34853;
pub const GL_DRAW_BUFFER1_ATI: u32 = 34854;
pub const GL_DRAW_BUFFER2_ATI: u32 = 34855;
pub const GL_DRAW_BUFFER3_ATI: u32 = 34856;
pub const GL_DRAW_BUFFER4_ATI: u32 = 34857;
pub const GL_DRAW_BUFFER5_ATI: u32 = 34858;
pub const GL_DRAW_BUFFER6_ATI: u32 = 34859;
pub const GL_DRAW_BUFFER7_ATI: u32 = 34860;
pub const GL_DRAW_BUFFER8_ATI: u32 = 34861;
pub const GL_DRAW_BUFFER9_ATI: u32 = 34862;
pub const GL_DRAW_BUFFER10_ATI: u32 = 34863;
pub const GL_DRAW_BUFFER11_ATI: u32 = 34864;
pub const GL_DRAW_BUFFER12_ATI: u32 = 34865;
pub const GL_DRAW_BUFFER13_ATI: u32 = 34866;
pub const GL_DRAW_BUFFER14_ATI: u32 = 34867;
pub const GL_DRAW_BUFFER15_ATI: u32 = 34868;
pub const GL_ATI_element_array: u32 = 1;
pub const GL_ELEMENT_ARRAY_ATI: u32 = 34664;
pub const GL_ELEMENT_ARRAY_TYPE_ATI: u32 = 34665;
pub const GL_ELEMENT_ARRAY_POINTER_ATI: u32 = 34666;
pub const GL_ATI_envmap_bumpmap: u32 = 1;
pub const GL_BUMP_ROT_MATRIX_ATI: u32 = 34677;
pub const GL_BUMP_ROT_MATRIX_SIZE_ATI: u32 = 34678;
pub const GL_BUMP_NUM_TEX_UNITS_ATI: u32 = 34679;
pub const GL_BUMP_TEX_UNITS_ATI: u32 = 34680;
pub const GL_DUDV_ATI: u32 = 34681;
pub const GL_DU8DV8_ATI: u32 = 34682;
pub const GL_BUMP_ENVMAP_ATI: u32 = 34683;
pub const GL_BUMP_TARGET_ATI: u32 = 34684;
pub const GL_ATI_fragment_shader: u32 = 1;
pub const GL_FRAGMENT_SHADER_ATI: u32 = 35104;
pub const GL_REG_0_ATI: u32 = 35105;
pub const GL_REG_1_ATI: u32 = 35106;
pub const GL_REG_2_ATI: u32 = 35107;
pub const GL_REG_3_ATI: u32 = 35108;
pub const GL_REG_4_ATI: u32 = 35109;
pub const GL_REG_5_ATI: u32 = 35110;
pub const GL_REG_6_ATI: u32 = 35111;
pub const GL_REG_7_ATI: u32 = 35112;
pub const GL_REG_8_ATI: u32 = 35113;
pub const GL_REG_9_ATI: u32 = 35114;
pub const GL_REG_10_ATI: u32 = 35115;
pub const GL_REG_11_ATI: u32 = 35116;
pub const GL_REG_12_ATI: u32 = 35117;
pub const GL_REG_13_ATI: u32 = 35118;
pub const GL_REG_14_ATI: u32 = 35119;
pub const GL_REG_15_ATI: u32 = 35120;
pub const GL_REG_16_ATI: u32 = 35121;
pub const GL_REG_17_ATI: u32 = 35122;
pub const GL_REG_18_ATI: u32 = 35123;
pub const GL_REG_19_ATI: u32 = 35124;
pub const GL_REG_20_ATI: u32 = 35125;
pub const GL_REG_21_ATI: u32 = 35126;
pub const GL_REG_22_ATI: u32 = 35127;
pub const GL_REG_23_ATI: u32 = 35128;
pub const GL_REG_24_ATI: u32 = 35129;
pub const GL_REG_25_ATI: u32 = 35130;
pub const GL_REG_26_ATI: u32 = 35131;
pub const GL_REG_27_ATI: u32 = 35132;
pub const GL_REG_28_ATI: u32 = 35133;
pub const GL_REG_29_ATI: u32 = 35134;
pub const GL_REG_30_ATI: u32 = 35135;
pub const GL_REG_31_ATI: u32 = 35136;
pub const GL_CON_0_ATI: u32 = 35137;
pub const GL_CON_1_ATI: u32 = 35138;
pub const GL_CON_2_ATI: u32 = 35139;
pub const GL_CON_3_ATI: u32 = 35140;
pub const GL_CON_4_ATI: u32 = 35141;
pub const GL_CON_5_ATI: u32 = 35142;
pub const GL_CON_6_ATI: u32 = 35143;
pub const GL_CON_7_ATI: u32 = 35144;
pub const GL_CON_8_ATI: u32 = 35145;
pub const GL_CON_9_ATI: u32 = 35146;
pub const GL_CON_10_ATI: u32 = 35147;
pub const GL_CON_11_ATI: u32 = 35148;
pub const GL_CON_12_ATI: u32 = 35149;
pub const GL_CON_13_ATI: u32 = 35150;
pub const GL_CON_14_ATI: u32 = 35151;
pub const GL_CON_15_ATI: u32 = 35152;
pub const GL_CON_16_ATI: u32 = 35153;
pub const GL_CON_17_ATI: u32 = 35154;
pub const GL_CON_18_ATI: u32 = 35155;
pub const GL_CON_19_ATI: u32 = 35156;
pub const GL_CON_20_ATI: u32 = 35157;
pub const GL_CON_21_ATI: u32 = 35158;
pub const GL_CON_22_ATI: u32 = 35159;
pub const GL_CON_23_ATI: u32 = 35160;
pub const GL_CON_24_ATI: u32 = 35161;
pub const GL_CON_25_ATI: u32 = 35162;
pub const GL_CON_26_ATI: u32 = 35163;
pub const GL_CON_27_ATI: u32 = 35164;
pub const GL_CON_28_ATI: u32 = 35165;
pub const GL_CON_29_ATI: u32 = 35166;
pub const GL_CON_30_ATI: u32 = 35167;
pub const GL_CON_31_ATI: u32 = 35168;
pub const GL_MOV_ATI: u32 = 35169;
pub const GL_ADD_ATI: u32 = 35171;
pub const GL_MUL_ATI: u32 = 35172;
pub const GL_SUB_ATI: u32 = 35173;
pub const GL_DOT3_ATI: u32 = 35174;
pub const GL_DOT4_ATI: u32 = 35175;
pub const GL_MAD_ATI: u32 = 35176;
pub const GL_LERP_ATI: u32 = 35177;
pub const GL_CND_ATI: u32 = 35178;
pub const GL_CND0_ATI: u32 = 35179;
pub const GL_DOT2_ADD_ATI: u32 = 35180;
pub const GL_SECONDARY_INTERPOLATOR_ATI: u32 = 35181;
pub const GL_NUM_FRAGMENT_REGISTERS_ATI: u32 = 35182;
pub const GL_NUM_FRAGMENT_CONSTANTS_ATI: u32 = 35183;
pub const GL_NUM_PASSES_ATI: u32 = 35184;
pub const GL_NUM_INSTRUCTIONS_PER_PASS_ATI: u32 = 35185;
pub const GL_NUM_INSTRUCTIONS_TOTAL_ATI: u32 = 35186;
pub const GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI: u32 = 35187;
pub const GL_NUM_LOOPBACK_COMPONENTS_ATI: u32 = 35188;
pub const GL_COLOR_ALPHA_PAIRING_ATI: u32 = 35189;
pub const GL_SWIZZLE_STR_ATI: u32 = 35190;
pub const GL_SWIZZLE_STQ_ATI: u32 = 35191;
pub const GL_SWIZZLE_STR_DR_ATI: u32 = 35192;
pub const GL_SWIZZLE_STQ_DQ_ATI: u32 = 35193;
pub const GL_SWIZZLE_STRQ_ATI: u32 = 35194;
pub const GL_SWIZZLE_STRQ_DQ_ATI: u32 = 35195;
pub const GL_RED_BIT_ATI: u32 = 1;
pub const GL_GREEN_BIT_ATI: u32 = 2;
pub const GL_BLUE_BIT_ATI: u32 = 4;
pub const GL_2X_BIT_ATI: u32 = 1;
pub const GL_4X_BIT_ATI: u32 = 2;
pub const GL_8X_BIT_ATI: u32 = 4;
pub const GL_HALF_BIT_ATI: u32 = 8;
pub const GL_QUARTER_BIT_ATI: u32 = 16;
pub const GL_EIGHTH_BIT_ATI: u32 = 32;
pub const GL_SATURATE_BIT_ATI: u32 = 64;
pub const GL_COMP_BIT_ATI: u32 = 2;
pub const GL_NEGATE_BIT_ATI: u32 = 4;
pub const GL_BIAS_BIT_ATI: u32 = 8;
pub const GL_ATI_map_object_buffer: u32 = 1;
pub const GL_ATI_meminfo: u32 = 1;
pub const GL_VBO_FREE_MEMORY_ATI: u32 = 34811;
pub const GL_TEXTURE_FREE_MEMORY_ATI: u32 = 34812;
pub const GL_RENDERBUFFER_FREE_MEMORY_ATI: u32 = 34813;
pub const GL_ATI_pixel_format_float: u32 = 1;
pub const GL_RGBA_FLOAT_MODE_ATI: u32 = 34848;
pub const GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI: u32 = 34869;
pub const GL_ATI_pn_triangles: u32 = 1;
pub const GL_PN_TRIANGLES_ATI: u32 = 34800;
pub const GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI: u32 = 34801;
pub const GL_PN_TRIANGLES_POINT_MODE_ATI: u32 = 34802;
pub const GL_PN_TRIANGLES_NORMAL_MODE_ATI: u32 = 34803;
pub const GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI: u32 = 34804;
pub const GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI: u32 = 34805;
pub const GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI: u32 = 34806;
pub const GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI: u32 = 34807;
pub const GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI: u32 = 34808;
pub const GL_ATI_separate_stencil: u32 = 1;
pub const GL_STENCIL_BACK_FUNC_ATI: u32 = 34816;
pub const GL_STENCIL_BACK_FAIL_ATI: u32 = 34817;
pub const GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI: u32 = 34818;
pub const GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI: u32 = 34819;
pub const GL_ATI_text_fragment_shader: u32 = 1;
pub const GL_TEXT_FRAGMENT_SHADER_ATI: u32 = 33280;
pub const GL_ATI_texture_env_combine3: u32 = 1;
pub const GL_MODULATE_ADD_ATI: u32 = 34628;
pub const GL_MODULATE_SIGNED_ADD_ATI: u32 = 34629;
pub const GL_MODULATE_SUBTRACT_ATI: u32 = 34630;
pub const GL_ATI_texture_float: u32 = 1;
pub const GL_RGBA_FLOAT32_ATI: u32 = 34836;
pub const GL_RGB_FLOAT32_ATI: u32 = 34837;
pub const GL_ALPHA_FLOAT32_ATI: u32 = 34838;
pub const GL_INTENSITY_FLOAT32_ATI: u32 = 34839;
pub const GL_LUMINANCE_FLOAT32_ATI: u32 = 34840;
pub const GL_LUMINANCE_ALPHA_FLOAT32_ATI: u32 = 34841;
pub const GL_RGBA_FLOAT16_ATI: u32 = 34842;
pub const GL_RGB_FLOAT16_ATI: u32 = 34843;
pub const GL_ALPHA_FLOAT16_ATI: u32 = 34844;
pub const GL_INTENSITY_FLOAT16_ATI: u32 = 34845;
pub const GL_LUMINANCE_FLOAT16_ATI: u32 = 34846;
pub const GL_LUMINANCE_ALPHA_FLOAT16_ATI: u32 = 34847;
pub const GL_ATI_texture_mirror_once: u32 = 1;
pub const GL_MIRROR_CLAMP_ATI: u32 = 34626;
pub const GL_MIRROR_CLAMP_TO_EDGE_ATI: u32 = 34627;
pub const GL_ATI_vertex_array_object: u32 = 1;
pub const GL_STATIC_ATI: u32 = 34656;
pub const GL_DYNAMIC_ATI: u32 = 34657;
pub const GL_PRESERVE_ATI: u32 = 34658;
pub const GL_DISCARD_ATI: u32 = 34659;
pub const GL_OBJECT_BUFFER_SIZE_ATI: u32 = 34660;
pub const GL_OBJECT_BUFFER_USAGE_ATI: u32 = 34661;
pub const GL_ARRAY_OBJECT_BUFFER_ATI: u32 = 34662;
pub const GL_ARRAY_OBJECT_OFFSET_ATI: u32 = 34663;
pub const GL_ATI_vertex_attrib_array_object: u32 = 1;
pub const GL_ATI_vertex_streams: u32 = 1;
pub const GL_MAX_VERTEX_STREAMS_ATI: u32 = 34667;
pub const GL_VERTEX_STREAM0_ATI: u32 = 34668;
pub const GL_VERTEX_STREAM1_ATI: u32 = 34669;
pub const GL_VERTEX_STREAM2_ATI: u32 = 34670;
pub const GL_VERTEX_STREAM3_ATI: u32 = 34671;
pub const GL_VERTEX_STREAM4_ATI: u32 = 34672;
pub const GL_VERTEX_STREAM5_ATI: u32 = 34673;
pub const GL_VERTEX_STREAM6_ATI: u32 = 34674;
pub const GL_VERTEX_STREAM7_ATI: u32 = 34675;
pub const GL_VERTEX_SOURCE_ATI: u32 = 34676;
pub const GL_EXT_422_pixels: u32 = 1;
pub const GL_422_EXT: u32 = 32972;
pub const GL_422_REV_EXT: u32 = 32973;
pub const GL_422_AVERAGE_EXT: u32 = 32974;
pub const GL_422_REV_AVERAGE_EXT: u32 = 32975;
pub const GL_EXT_EGL_image_storage: u32 = 1;
pub const GL_EXT_abgr: u32 = 1;
pub const GL_ABGR_EXT: u32 = 32768;
pub const GL_EXT_bgra: u32 = 1;
pub const GL_BGR_EXT: u32 = 32992;
pub const GL_BGRA_EXT: u32 = 32993;
pub const GL_EXT_bindable_uniform: u32 = 1;
pub const GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT: u32 = 36322;
pub const GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT: u32 = 36323;
pub const GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT: u32 = 36324;
pub const GL_MAX_BINDABLE_UNIFORM_SIZE_EXT: u32 = 36333;
pub const GL_UNIFORM_BUFFER_EXT: u32 = 36334;
pub const GL_UNIFORM_BUFFER_BINDING_EXT: u32 = 36335;
pub const GL_EXT_blend_color: u32 = 1;
pub const GL_CONSTANT_COLOR_EXT: u32 = 32769;
pub const GL_ONE_MINUS_CONSTANT_COLOR_EXT: u32 = 32770;
pub const GL_CONSTANT_ALPHA_EXT: u32 = 32771;
pub const GL_ONE_MINUS_CONSTANT_ALPHA_EXT: u32 = 32772;
pub const GL_BLEND_COLOR_EXT: u32 = 32773;
pub const GL_EXT_blend_equation_separate: u32 = 1;
pub const GL_BLEND_EQUATION_RGB_EXT: u32 = 32777;
pub const GL_BLEND_EQUATION_ALPHA_EXT: u32 = 34877;
pub const GL_EXT_blend_func_separate: u32 = 1;
pub const GL_BLEND_DST_RGB_EXT: u32 = 32968;
pub const GL_BLEND_SRC_RGB_EXT: u32 = 32969;
pub const GL_BLEND_DST_ALPHA_EXT: u32 = 32970;
pub const GL_BLEND_SRC_ALPHA_EXT: u32 = 32971;
pub const GL_EXT_blend_logic_op: u32 = 1;
pub const GL_EXT_blend_minmax: u32 = 1;
pub const GL_MIN_EXT: u32 = 32775;
pub const GL_MAX_EXT: u32 = 32776;
pub const GL_FUNC_ADD_EXT: u32 = 32774;
pub const GL_BLEND_EQUATION_EXT: u32 = 32777;
pub const GL_EXT_blend_subtract: u32 = 1;
pub const GL_FUNC_SUBTRACT_EXT: u32 = 32778;
pub const GL_FUNC_REVERSE_SUBTRACT_EXT: u32 = 32779;
pub const GL_EXT_clip_volume_hint: u32 = 1;
pub const GL_CLIP_VOLUME_CLIPPING_HINT_EXT: u32 = 33008;
pub const GL_EXT_cmyka: u32 = 1;
pub const GL_CMYK_EXT: u32 = 32780;
pub const GL_CMYKA_EXT: u32 = 32781;
pub const GL_PACK_CMYK_HINT_EXT: u32 = 32782;
pub const GL_UNPACK_CMYK_HINT_EXT: u32 = 32783;
pub const GL_EXT_color_subtable: u32 = 1;
pub const GL_EXT_compiled_vertex_array: u32 = 1;
pub const GL_ARRAY_ELEMENT_LOCK_FIRST_EXT: u32 = 33192;
pub const GL_ARRAY_ELEMENT_LOCK_COUNT_EXT: u32 = 33193;
pub const GL_EXT_convolution: u32 = 1;
pub const GL_CONVOLUTION_1D_EXT: u32 = 32784;
pub const GL_CONVOLUTION_2D_EXT: u32 = 32785;
pub const GL_SEPARABLE_2D_EXT: u32 = 32786;
pub const GL_CONVOLUTION_BORDER_MODE_EXT: u32 = 32787;
pub const GL_CONVOLUTION_FILTER_SCALE_EXT: u32 = 32788;
pub const GL_CONVOLUTION_FILTER_BIAS_EXT: u32 = 32789;
pub const GL_REDUCE_EXT: u32 = 32790;
pub const GL_CONVOLUTION_FORMAT_EXT: u32 = 32791;
pub const GL_CONVOLUTION_WIDTH_EXT: u32 = 32792;
pub const GL_CONVOLUTION_HEIGHT_EXT: u32 = 32793;
pub const GL_MAX_CONVOLUTION_WIDTH_EXT: u32 = 32794;
pub const GL_MAX_CONVOLUTION_HEIGHT_EXT: u32 = 32795;
pub const GL_POST_CONVOLUTION_RED_SCALE_EXT: u32 = 32796;
pub const GL_POST_CONVOLUTION_GREEN_SCALE_EXT: u32 = 32797;
pub const GL_POST_CONVOLUTION_BLUE_SCALE_EXT: u32 = 32798;
pub const GL_POST_CONVOLUTION_ALPHA_SCALE_EXT: u32 = 32799;
pub const GL_POST_CONVOLUTION_RED_BIAS_EXT: u32 = 32800;
pub const GL_POST_CONVOLUTION_GREEN_BIAS_EXT: u32 = 32801;
pub const GL_POST_CONVOLUTION_BLUE_BIAS_EXT: u32 = 32802;
pub const GL_POST_CONVOLUTION_ALPHA_BIAS_EXT: u32 = 32803;
pub const GL_EXT_coordinate_frame: u32 = 1;
pub const GL_TANGENT_ARRAY_EXT: u32 = 33849;
pub const GL_BINORMAL_ARRAY_EXT: u32 = 33850;
pub const GL_CURRENT_TANGENT_EXT: u32 = 33851;
pub const GL_CURRENT_BINORMAL_EXT: u32 = 33852;
pub const GL_TANGENT_ARRAY_TYPE_EXT: u32 = 33854;
pub const GL_TANGENT_ARRAY_STRIDE_EXT: u32 = 33855;
pub const GL_BINORMAL_ARRAY_TYPE_EXT: u32 = 33856;
pub const GL_BINORMAL_ARRAY_STRIDE_EXT: u32 = 33857;
pub const GL_TANGENT_ARRAY_POINTER_EXT: u32 = 33858;
pub const GL_BINORMAL_ARRAY_POINTER_EXT: u32 = 33859;
pub const GL_MAP1_TANGENT_EXT: u32 = 33860;
pub const GL_MAP2_TANGENT_EXT: u32 = 33861;
pub const GL_MAP1_BINORMAL_EXT: u32 = 33862;
pub const GL_MAP2_BINORMAL_EXT: u32 = 33863;
pub const GL_EXT_copy_texture: u32 = 1;
pub const GL_EXT_cull_vertex: u32 = 1;
pub const GL_CULL_VERTEX_EXT: u32 = 33194;
pub const GL_CULL_VERTEX_EYE_POSITION_EXT: u32 = 33195;
pub const GL_CULL_VERTEX_OBJECT_POSITION_EXT: u32 = 33196;
pub const GL_EXT_debug_label: u32 = 1;
pub const GL_PROGRAM_PIPELINE_OBJECT_EXT: u32 = 35407;
pub const GL_PROGRAM_OBJECT_EXT: u32 = 35648;
pub const GL_SHADER_OBJECT_EXT: u32 = 35656;
pub const GL_BUFFER_OBJECT_EXT: u32 = 37201;
pub const GL_QUERY_OBJECT_EXT: u32 = 37203;
pub const GL_VERTEX_ARRAY_OBJECT_EXT: u32 = 37204;
pub const GL_EXT_debug_marker: u32 = 1;
pub const GL_EXT_depth_bounds_test: u32 = 1;
pub const GL_DEPTH_BOUNDS_TEST_EXT: u32 = 34960;
pub const GL_DEPTH_BOUNDS_EXT: u32 = 34961;
pub const GL_EXT_direct_state_access: u32 = 1;
pub const GL_PROGRAM_MATRIX_EXT: u32 = 36397;
pub const GL_TRANSPOSE_PROGRAM_MATRIX_EXT: u32 = 36398;
pub const GL_PROGRAM_MATRIX_STACK_DEPTH_EXT: u32 = 36399;
pub const GL_EXT_draw_buffers2: u32 = 1;
pub const GL_EXT_draw_instanced: u32 = 1;
pub const GL_EXT_draw_range_elements: u32 = 1;
pub const GL_MAX_ELEMENTS_VERTICES_EXT: u32 = 33000;
pub const GL_MAX_ELEMENTS_INDICES_EXT: u32 = 33001;
pub const GL_EXT_external_buffer: u32 = 1;
pub const GL_EXT_fog_coord: u32 = 1;
pub const GL_FOG_COORDINATE_SOURCE_EXT: u32 = 33872;
pub const GL_FOG_COORDINATE_EXT: u32 = 33873;
pub const GL_FRAGMENT_DEPTH_EXT: u32 = 33874;
pub const GL_CURRENT_FOG_COORDINATE_EXT: u32 = 33875;
pub const GL_FOG_COORDINATE_ARRAY_TYPE_EXT: u32 = 33876;
pub const GL_FOG_COORDINATE_ARRAY_STRIDE_EXT: u32 = 33877;
pub const GL_FOG_COORDINATE_ARRAY_POINTER_EXT: u32 = 33878;
pub const GL_FOG_COORDINATE_ARRAY_EXT: u32 = 33879;
pub const GL_EXT_framebuffer_blit: u32 = 1;
pub const GL_READ_FRAMEBUFFER_EXT: u32 = 36008;
pub const GL_DRAW_FRAMEBUFFER_EXT: u32 = 36009;
pub const GL_DRAW_FRAMEBUFFER_BINDING_EXT: u32 = 36006;
pub const GL_READ_FRAMEBUFFER_BINDING_EXT: u32 = 36010;
pub const GL_EXT_framebuffer_multisample: u32 = 1;
pub const GL_RENDERBUFFER_SAMPLES_EXT: u32 = 36011;
pub const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT: u32 = 36182;
pub const GL_MAX_SAMPLES_EXT: u32 = 36183;
pub const GL_EXT_framebuffer_multisample_blit_scaled: u32 = 1;
pub const GL_SCALED_RESOLVE_FASTEST_EXT: u32 = 37050;
pub const GL_SCALED_RESOLVE_NICEST_EXT: u32 = 37051;
pub const GL_EXT_framebuffer_object: u32 = 1;
pub const GL_INVALID_FRAMEBUFFER_OPERATION_EXT: u32 = 1286;
pub const GL_MAX_RENDERBUFFER_SIZE_EXT: u32 = 34024;
pub const GL_FRAMEBUFFER_BINDING_EXT: u32 = 36006;
pub const GL_RENDERBUFFER_BINDING_EXT: u32 = 36007;
pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT: u32 = 36048;
pub const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT: u32 = 36049;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT: u32 = 36050;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT: u32 = 36051;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT: u32 = 36052;
pub const GL_FRAMEBUFFER_COMPLETE_EXT: u32 = 36053;
pub const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT: u32 = 36054;
pub const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT: u32 = 36055;
pub const GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT: u32 = 36057;
pub const GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT: u32 = 36058;
pub const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT: u32 = 36059;
pub const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT: u32 = 36060;
pub const GL_FRAMEBUFFER_UNSUPPORTED_EXT: u32 = 36061;
pub const GL_MAX_COLOR_ATTACHMENTS_EXT: u32 = 36063;
pub const GL_COLOR_ATTACHMENT0_EXT: u32 = 36064;
pub const GL_COLOR_ATTACHMENT1_EXT: u32 = 36065;
pub const GL_COLOR_ATTACHMENT2_EXT: u32 = 36066;
pub const GL_COLOR_ATTACHMENT3_EXT: u32 = 36067;
pub const GL_COLOR_ATTACHMENT4_EXT: u32 = 36068;
pub const GL_COLOR_ATTACHMENT5_EXT: u32 = 36069;
pub const GL_COLOR_ATTACHMENT6_EXT: u32 = 36070;
pub const GL_COLOR_ATTACHMENT7_EXT: u32 = 36071;
pub const GL_COLOR_ATTACHMENT8_EXT: u32 = 36072;
pub const GL_COLOR_ATTACHMENT9_EXT: u32 = 36073;
pub const GL_COLOR_ATTACHMENT10_EXT: u32 = 36074;
pub const GL_COLOR_ATTACHMENT11_EXT: u32 = 36075;
pub const GL_COLOR_ATTACHMENT12_EXT: u32 = 36076;
pub const GL_COLOR_ATTACHMENT13_EXT: u32 = 36077;
pub const GL_COLOR_ATTACHMENT14_EXT: u32 = 36078;
pub const GL_COLOR_ATTACHMENT15_EXT: u32 = 36079;
pub const GL_DEPTH_ATTACHMENT_EXT: u32 = 36096;
pub const GL_STENCIL_ATTACHMENT_EXT: u32 = 36128;
pub const GL_FRAMEBUFFER_EXT: u32 = 36160;
pub const GL_RENDERBUFFER_EXT: u32 = 36161;
pub const GL_RENDERBUFFER_WIDTH_EXT: u32 = 36162;
pub const GL_RENDERBUFFER_HEIGHT_EXT: u32 = 36163;
pub const GL_RENDERBUFFER_INTERNAL_FORMAT_EXT: u32 = 36164;
pub const GL_STENCIL_INDEX1_EXT: u32 = 36166;
pub const GL_STENCIL_INDEX4_EXT: u32 = 36167;
pub const GL_STENCIL_INDEX8_EXT: u32 = 36168;
pub const GL_STENCIL_INDEX16_EXT: u32 = 36169;
pub const GL_RENDERBUFFER_RED_SIZE_EXT: u32 = 36176;
pub const GL_RENDERBUFFER_GREEN_SIZE_EXT: u32 = 36177;
pub const GL_RENDERBUFFER_BLUE_SIZE_EXT: u32 = 36178;
pub const GL_RENDERBUFFER_ALPHA_SIZE_EXT: u32 = 36179;
pub const GL_RENDERBUFFER_DEPTH_SIZE_EXT: u32 = 36180;
pub const GL_RENDERBUFFER_STENCIL_SIZE_EXT: u32 = 36181;
pub const GL_EXT_framebuffer_sRGB: u32 = 1;
pub const GL_FRAMEBUFFER_SRGB_EXT: u32 = 36281;
pub const GL_FRAMEBUFFER_SRGB_CAPABLE_EXT: u32 = 36282;
pub const GL_EXT_geometry_shader4: u32 = 1;
pub const GL_GEOMETRY_SHADER_EXT: u32 = 36313;
pub const GL_GEOMETRY_VERTICES_OUT_EXT: u32 = 36314;
pub const GL_GEOMETRY_INPUT_TYPE_EXT: u32 = 36315;
pub const GL_GEOMETRY_OUTPUT_TYPE_EXT: u32 = 36316;
pub const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT: u32 = 35881;
pub const GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT: u32 = 36317;
pub const GL_MAX_VERTEX_VARYING_COMPONENTS_EXT: u32 = 36318;
pub const GL_MAX_VARYING_COMPONENTS_EXT: u32 = 35659;
pub const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT: u32 = 36319;
pub const GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT: u32 = 36320;
pub const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT: u32 = 36321;
pub const GL_LINES_ADJACENCY_EXT: u32 = 10;
pub const GL_LINE_STRIP_ADJACENCY_EXT: u32 = 11;
pub const GL_TRIANGLES_ADJACENCY_EXT: u32 = 12;
pub const GL_TRIANGLE_STRIP_ADJACENCY_EXT: u32 = 13;
pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT: u32 = 36264;
pub const GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT: u32 = 36265;
pub const GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT: u32 = 36263;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT: u32 = 36052;
pub const GL_PROGRAM_POINT_SIZE_EXT: u32 = 34370;
pub const GL_EXT_gpu_program_parameters: u32 = 1;
pub const GL_EXT_gpu_shader4: u32 = 1;
pub const GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT: u32 = 35069;
pub const GL_SAMPLER_1D_ARRAY_EXT: u32 = 36288;
pub const GL_SAMPLER_2D_ARRAY_EXT: u32 = 36289;
pub const GL_SAMPLER_BUFFER_EXT: u32 = 36290;
pub const GL_SAMPLER_1D_ARRAY_SHADOW_EXT: u32 = 36291;
pub const GL_SAMPLER_2D_ARRAY_SHADOW_EXT: u32 = 36292;
pub const GL_SAMPLER_CUBE_SHADOW_EXT: u32 = 36293;
pub const GL_UNSIGNED_INT_VEC2_EXT: u32 = 36294;
pub const GL_UNSIGNED_INT_VEC3_EXT: u32 = 36295;
pub const GL_UNSIGNED_INT_VEC4_EXT: u32 = 36296;
pub const GL_INT_SAMPLER_1D_EXT: u32 = 36297;
pub const GL_INT_SAMPLER_2D_EXT: u32 = 36298;
pub const GL_INT_SAMPLER_3D_EXT: u32 = 36299;
pub const GL_INT_SAMPLER_CUBE_EXT: u32 = 36300;
pub const GL_INT_SAMPLER_2D_RECT_EXT: u32 = 36301;
pub const GL_INT_SAMPLER_1D_ARRAY_EXT: u32 = 36302;
pub const GL_INT_SAMPLER_2D_ARRAY_EXT: u32 = 36303;
pub const GL_INT_SAMPLER_BUFFER_EXT: u32 = 36304;
pub const GL_UNSIGNED_INT_SAMPLER_1D_EXT: u32 = 36305;
pub const GL_UNSIGNED_INT_SAMPLER_2D_EXT: u32 = 36306;
pub const GL_UNSIGNED_INT_SAMPLER_3D_EXT: u32 = 36307;
pub const GL_UNSIGNED_INT_SAMPLER_CUBE_EXT: u32 = 36308;
pub const GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT: u32 = 36309;
pub const GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT: u32 = 36310;
pub const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT: u32 = 36311;
pub const GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT: u32 = 36312;
pub const GL_MIN_PROGRAM_TEXEL_OFFSET_EXT: u32 = 35076;
pub const GL_MAX_PROGRAM_TEXEL_OFFSET_EXT: u32 = 35077;
pub const GL_EXT_histogram: u32 = 1;
pub const GL_HISTOGRAM_EXT: u32 = 32804;
pub const GL_PROXY_HISTOGRAM_EXT: u32 = 32805;
pub const GL_HISTOGRAM_WIDTH_EXT: u32 = 32806;
pub const GL_HISTOGRAM_FORMAT_EXT: u32 = 32807;
pub const GL_HISTOGRAM_RED_SIZE_EXT: u32 = 32808;
pub const GL_HISTOGRAM_GREEN_SIZE_EXT: u32 = 32809;
pub const GL_HISTOGRAM_BLUE_SIZE_EXT: u32 = 32810;
pub const GL_HISTOGRAM_ALPHA_SIZE_EXT: u32 = 32811;
pub const GL_HISTOGRAM_LUMINANCE_SIZE_EXT: u32 = 32812;
pub const GL_HISTOGRAM_SINK_EXT: u32 = 32813;
pub const GL_MINMAX_EXT: u32 = 32814;
pub const GL_MINMAX_FORMAT_EXT: u32 = 32815;
pub const GL_MINMAX_SINK_EXT: u32 = 32816;
pub const GL_TABLE_TOO_LARGE_EXT: u32 = 32817;
pub const GL_EXT_index_array_formats: u32 = 1;
pub const GL_IUI_V2F_EXT: u32 = 33197;
pub const GL_IUI_V3F_EXT: u32 = 33198;
pub const GL_IUI_N3F_V2F_EXT: u32 = 33199;
pub const GL_IUI_N3F_V3F_EXT: u32 = 33200;
pub const GL_T2F_IUI_V2F_EXT: u32 = 33201;
pub const GL_T2F_IUI_V3F_EXT: u32 = 33202;
pub const GL_T2F_IUI_N3F_V2F_EXT: u32 = 33203;
pub const GL_T2F_IUI_N3F_V3F_EXT: u32 = 33204;
pub const GL_EXT_index_func: u32 = 1;
pub const GL_INDEX_TEST_EXT: u32 = 33205;
pub const GL_INDEX_TEST_FUNC_EXT: u32 = 33206;
pub const GL_INDEX_TEST_REF_EXT: u32 = 33207;
pub const GL_EXT_index_material: u32 = 1;
pub const GL_INDEX_MATERIAL_EXT: u32 = 33208;
pub const GL_INDEX_MATERIAL_PARAMETER_EXT: u32 = 33209;
pub const GL_INDEX_MATERIAL_FACE_EXT: u32 = 33210;
pub const GL_EXT_index_texture: u32 = 1;
pub const GL_EXT_light_texture: u32 = 1;
pub const GL_FRAGMENT_MATERIAL_EXT: u32 = 33609;
pub const GL_FRAGMENT_NORMAL_EXT: u32 = 33610;
pub const GL_FRAGMENT_COLOR_EXT: u32 = 33612;
pub const GL_ATTENUATION_EXT: u32 = 33613;
pub const GL_SHADOW_ATTENUATION_EXT: u32 = 33614;
pub const GL_TEXTURE_APPLICATION_MODE_EXT: u32 = 33615;
pub const GL_TEXTURE_LIGHT_EXT: u32 = 33616;
pub const GL_TEXTURE_MATERIAL_FACE_EXT: u32 = 33617;
pub const GL_TEXTURE_MATERIAL_PARAMETER_EXT: u32 = 33618;
pub const GL_EXT_memory_object: u32 = 1;
pub const GL_TEXTURE_TILING_EXT: u32 = 38272;
pub const GL_DEDICATED_MEMORY_OBJECT_EXT: u32 = 38273;
pub const GL_PROTECTED_MEMORY_OBJECT_EXT: u32 = 38299;
pub const GL_NUM_TILING_TYPES_EXT: u32 = 38274;
pub const GL_TILING_TYPES_EXT: u32 = 38275;
pub const GL_OPTIMAL_TILING_EXT: u32 = 38276;
pub const GL_LINEAR_TILING_EXT: u32 = 38277;
pub const GL_NUM_DEVICE_UUIDS_EXT: u32 = 38294;
pub const GL_DEVICE_UUID_EXT: u32 = 38295;
pub const GL_DRIVER_UUID_EXT: u32 = 38296;
pub const GL_UUID_SIZE_EXT: u32 = 16;
pub const GL_EXT_memory_object_fd: u32 = 1;
pub const GL_HANDLE_TYPE_OPAQUE_FD_EXT: u32 = 38278;
pub const GL_EXT_memory_object_win32: u32 = 1;
pub const GL_HANDLE_TYPE_OPAQUE_WIN32_EXT: u32 = 38279;
pub const GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT: u32 = 38280;
pub const GL_DEVICE_LUID_EXT: u32 = 38297;
pub const GL_DEVICE_NODE_MASK_EXT: u32 = 38298;
pub const GL_LUID_SIZE_EXT: u32 = 8;
pub const GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT: u32 = 38281;
pub const GL_HANDLE_TYPE_D3D12_RESOURCE_EXT: u32 = 38282;
pub const GL_HANDLE_TYPE_D3D11_IMAGE_EXT: u32 = 38283;
pub const GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT: u32 = 38284;
pub const GL_EXT_misc_attribute: u32 = 1;
pub const GL_EXT_multi_draw_arrays: u32 = 1;
pub const GL_EXT_multisample: u32 = 1;
pub const GL_MULTISAMPLE_EXT: u32 = 32925;
pub const GL_SAMPLE_ALPHA_TO_MASK_EXT: u32 = 32926;
pub const GL_SAMPLE_ALPHA_TO_ONE_EXT: u32 = 32927;
pub const GL_SAMPLE_MASK_EXT: u32 = 32928;
pub const GL_1PASS_EXT: u32 = 32929;
pub const GL_2PASS_0_EXT: u32 = 32930;
pub const GL_2PASS_1_EXT: u32 = 32931;
pub const GL_4PASS_0_EXT: u32 = 32932;
pub const GL_4PASS_1_EXT: u32 = 32933;
pub const GL_4PASS_2_EXT: u32 = 32934;
pub const GL_4PASS_3_EXT: u32 = 32935;
pub const GL_SAMPLE_BUFFERS_EXT: u32 = 32936;
pub const GL_SAMPLES_EXT: u32 = 32937;
pub const GL_SAMPLE_MASK_VALUE_EXT: u32 = 32938;
pub const GL_SAMPLE_MASK_INVERT_EXT: u32 = 32939;
pub const GL_SAMPLE_PATTERN_EXT: u32 = 32940;
pub const GL_MULTISAMPLE_BIT_EXT: u32 = 536870912;
pub const GL_EXT_packed_depth_stencil: u32 = 1;
pub const GL_DEPTH_STENCIL_EXT: u32 = 34041;
pub const GL_UNSIGNED_INT_24_8_EXT: u32 = 34042;
pub const GL_DEPTH24_STENCIL8_EXT: u32 = 35056;
pub const GL_TEXTURE_STENCIL_SIZE_EXT: u32 = 35057;
pub const GL_EXT_packed_float: u32 = 1;
pub const GL_R11F_G11F_B10F_EXT: u32 = 35898;
pub const GL_UNSIGNED_INT_10F_11F_11F_REV_EXT: u32 = 35899;
pub const GL_RGBA_SIGNED_COMPONENTS_EXT: u32 = 35900;
pub const GL_EXT_packed_pixels: u32 = 1;
pub const GL_UNSIGNED_BYTE_3_3_2_EXT: u32 = 32818;
pub const GL_UNSIGNED_SHORT_4_4_4_4_EXT: u32 = 32819;
pub const GL_UNSIGNED_SHORT_5_5_5_1_EXT: u32 = 32820;
pub const GL_UNSIGNED_INT_8_8_8_8_EXT: u32 = 32821;
pub const GL_UNSIGNED_INT_10_10_10_2_EXT: u32 = 32822;
pub const GL_EXT_paletted_texture: u32 = 1;
pub const GL_COLOR_INDEX1_EXT: u32 = 32994;
pub const GL_COLOR_INDEX2_EXT: u32 = 32995;
pub const GL_COLOR_INDEX4_EXT: u32 = 32996;
pub const GL_COLOR_INDEX8_EXT: u32 = 32997;
pub const GL_COLOR_INDEX12_EXT: u32 = 32998;
pub const GL_COLOR_INDEX16_EXT: u32 = 32999;
pub const GL_TEXTURE_INDEX_SIZE_EXT: u32 = 33005;
pub const GL_EXT_pixel_buffer_object: u32 = 1;
pub const GL_PIXEL_PACK_BUFFER_EXT: u32 = 35051;
pub const GL_PIXEL_UNPACK_BUFFER_EXT: u32 = 35052;
pub const GL_PIXEL_PACK_BUFFER_BINDING_EXT: u32 = 35053;
pub const GL_PIXEL_UNPACK_BUFFER_BINDING_EXT: u32 = 35055;
pub const GL_EXT_pixel_transform: u32 = 1;
pub const GL_PIXEL_TRANSFORM_2D_EXT: u32 = 33584;
pub const GL_PIXEL_MAG_FILTER_EXT: u32 = 33585;
pub const GL_PIXEL_MIN_FILTER_EXT: u32 = 33586;
pub const GL_PIXEL_CUBIC_WEIGHT_EXT: u32 = 33587;
pub const GL_CUBIC_EXT: u32 = 33588;
pub const GL_AVERAGE_EXT: u32 = 33589;
pub const GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT: u32 = 33590;
pub const GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT: u32 = 33591;
pub const GL_PIXEL_TRANSFORM_2D_MATRIX_EXT: u32 = 33592;
pub const GL_EXT_pixel_transform_color_table: u32 = 1;
pub const GL_EXT_point_parameters: u32 = 1;
pub const GL_POINT_SIZE_MIN_EXT: u32 = 33062;
pub const GL_POINT_SIZE_MAX_EXT: u32 = 33063;
pub const GL_POINT_FADE_THRESHOLD_SIZE_EXT: u32 = 33064;
pub const GL_DISTANCE_ATTENUATION_EXT: u32 = 33065;
pub const GL_EXT_polygon_offset: u32 = 1;
pub const GL_POLYGON_OFFSET_EXT: u32 = 32823;
pub const GL_POLYGON_OFFSET_FACTOR_EXT: u32 = 32824;
pub const GL_POLYGON_OFFSET_BIAS_EXT: u32 = 32825;
pub const GL_EXT_polygon_offset_clamp: u32 = 1;
pub const GL_POLYGON_OFFSET_CLAMP_EXT: u32 = 36379;
pub const GL_EXT_post_depth_coverage: u32 = 1;
pub const GL_EXT_provoking_vertex: u32 = 1;
pub const GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT: u32 = 36428;
pub const GL_FIRST_VERTEX_CONVENTION_EXT: u32 = 36429;
pub const GL_LAST_VERTEX_CONVENTION_EXT: u32 = 36430;
pub const GL_PROVOKING_VERTEX_EXT: u32 = 36431;
pub const GL_EXT_raster_multisample: u32 = 1;
pub const GL_RASTER_MULTISAMPLE_EXT: u32 = 37671;
pub const GL_RASTER_SAMPLES_EXT: u32 = 37672;
pub const GL_MAX_RASTER_SAMPLES_EXT: u32 = 37673;
pub const GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT: u32 = 37674;
pub const GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT: u32 = 37675;
pub const GL_EFFECTIVE_RASTER_SAMPLES_EXT: u32 = 37676;
pub const GL_EXT_rescale_normal: u32 = 1;
pub const GL_RESCALE_NORMAL_EXT: u32 = 32826;
pub const GL_EXT_secondary_color: u32 = 1;
pub const GL_COLOR_SUM_EXT: u32 = 33880;
pub const GL_CURRENT_SECONDARY_COLOR_EXT: u32 = 33881;
pub const GL_SECONDARY_COLOR_ARRAY_SIZE_EXT: u32 = 33882;
pub const GL_SECONDARY_COLOR_ARRAY_TYPE_EXT: u32 = 33883;
pub const GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT: u32 = 33884;
pub const GL_SECONDARY_COLOR_ARRAY_POINTER_EXT: u32 = 33885;
pub const GL_SECONDARY_COLOR_ARRAY_EXT: u32 = 33886;
pub const GL_EXT_semaphore: u32 = 1;
pub const GL_LAYOUT_GENERAL_EXT: u32 = 38285;
pub const GL_LAYOUT_COLOR_ATTACHMENT_EXT: u32 = 38286;
pub const GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT: u32 = 38287;
pub const GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT: u32 = 38288;
pub const GL_LAYOUT_SHADER_READ_ONLY_EXT: u32 = 38289;
pub const GL_LAYOUT_TRANSFER_SRC_EXT: u32 = 38290;
pub const GL_LAYOUT_TRANSFER_DST_EXT: u32 = 38291;
pub const GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT: u32 = 38192;
pub const GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT: u32 = 38193;
pub const GL_EXT_semaphore_fd: u32 = 1;
pub const GL_EXT_semaphore_win32: u32 = 1;
pub const GL_HANDLE_TYPE_D3D12_FENCE_EXT: u32 = 38292;
pub const GL_D3D12_FENCE_VALUE_EXT: u32 = 38293;
pub const GL_EXT_separate_shader_objects: u32 = 1;
pub const GL_ACTIVE_PROGRAM_EXT: u32 = 35725;
pub const GL_EXT_separate_specular_color: u32 = 1;
pub const GL_LIGHT_MODEL_COLOR_CONTROL_EXT: u32 = 33272;
pub const GL_SINGLE_COLOR_EXT: u32 = 33273;
pub const GL_SEPARATE_SPECULAR_COLOR_EXT: u32 = 33274;
pub const GL_EXT_shader_framebuffer_fetch: u32 = 1;
pub const GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT: u32 = 35410;
pub const GL_EXT_shader_framebuffer_fetch_non_coherent: u32 = 1;
pub const GL_EXT_shader_image_load_formatted: u32 = 1;
pub const GL_EXT_shader_image_load_store: u32 = 1;
pub const GL_MAX_IMAGE_UNITS_EXT: u32 = 36664;
pub const GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT: u32 = 36665;
pub const GL_IMAGE_BINDING_NAME_EXT: u32 = 36666;
pub const GL_IMAGE_BINDING_LEVEL_EXT: u32 = 36667;
pub const GL_IMAGE_BINDING_LAYERED_EXT: u32 = 36668;
pub const GL_IMAGE_BINDING_LAYER_EXT: u32 = 36669;
pub const GL_IMAGE_BINDING_ACCESS_EXT: u32 = 36670;
pub const GL_IMAGE_1D_EXT: u32 = 36940;
pub const GL_IMAGE_2D_EXT: u32 = 36941;
pub const GL_IMAGE_3D_EXT: u32 = 36942;
pub const GL_IMAGE_2D_RECT_EXT: u32 = 36943;
pub const GL_IMAGE_CUBE_EXT: u32 = 36944;
pub const GL_IMAGE_BUFFER_EXT: u32 = 36945;
pub const GL_IMAGE_1D_ARRAY_EXT: u32 = 36946;
pub const GL_IMAGE_2D_ARRAY_EXT: u32 = 36947;
pub const GL_IMAGE_CUBE_MAP_ARRAY_EXT: u32 = 36948;
pub const GL_IMAGE_2D_MULTISAMPLE_EXT: u32 = 36949;
pub const GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT: u32 = 36950;
pub const GL_INT_IMAGE_1D_EXT: u32 = 36951;
pub const GL_INT_IMAGE_2D_EXT: u32 = 36952;
pub const GL_INT_IMAGE_3D_EXT: u32 = 36953;
pub const GL_INT_IMAGE_2D_RECT_EXT: u32 = 36954;
pub const GL_INT_IMAGE_CUBE_EXT: u32 = 36955;
pub const GL_INT_IMAGE_BUFFER_EXT: u32 = 36956;
pub const GL_INT_IMAGE_1D_ARRAY_EXT: u32 = 36957;
pub const GL_INT_IMAGE_2D_ARRAY_EXT: u32 = 36958;
pub const GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT: u32 = 36959;
pub const GL_INT_IMAGE_2D_MULTISAMPLE_EXT: u32 = 36960;
pub const GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT: u32 = 36961;
pub const GL_UNSIGNED_INT_IMAGE_1D_EXT: u32 = 36962;
pub const GL_UNSIGNED_INT_IMAGE_2D_EXT: u32 = 36963;
pub const GL_UNSIGNED_INT_IMAGE_3D_EXT: u32 = 36964;
pub const GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT: u32 = 36965;
pub const GL_UNSIGNED_INT_IMAGE_CUBE_EXT: u32 = 36966;
pub const GL_UNSIGNED_INT_IMAGE_BUFFER_EXT: u32 = 36967;
pub const GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT: u32 = 36968;
pub const GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT: u32 = 36969;
pub const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT: u32 = 36970;
pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT: u32 = 36971;
pub const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT: u32 = 36972;
pub const GL_MAX_IMAGE_SAMPLES_EXT: u32 = 36973;
pub const GL_IMAGE_BINDING_FORMAT_EXT: u32 = 36974;
pub const GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT: u32 = 1;
pub const GL_ELEMENT_ARRAY_BARRIER_BIT_EXT: u32 = 2;
pub const GL_UNIFORM_BARRIER_BIT_EXT: u32 = 4;
pub const GL_TEXTURE_FETCH_BARRIER_BIT_EXT: u32 = 8;
pub const GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT: u32 = 32;
pub const GL_COMMAND_BARRIER_BIT_EXT: u32 = 64;
pub const GL_PIXEL_BUFFER_BARRIER_BIT_EXT: u32 = 128;
pub const GL_TEXTURE_UPDATE_BARRIER_BIT_EXT: u32 = 256;
pub const GL_BUFFER_UPDATE_BARRIER_BIT_EXT: u32 = 512;
pub const GL_FRAMEBUFFER_BARRIER_BIT_EXT: u32 = 1024;
pub const GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT: u32 = 2048;
pub const GL_ATOMIC_COUNTER_BARRIER_BIT_EXT: u32 = 4096;
pub const GL_ALL_BARRIER_BITS_EXT: u32 = 4294967295;
pub const GL_EXT_shader_integer_mix: u32 = 1;
pub const GL_EXT_shadow_funcs: u32 = 1;
pub const GL_EXT_shared_texture_palette: u32 = 1;
pub const GL_SHARED_TEXTURE_PALETTE_EXT: u32 = 33275;
pub const GL_EXT_sparse_texture2: u32 = 1;
pub const GL_EXT_stencil_clear_tag: u32 = 1;
pub const GL_STENCIL_TAG_BITS_EXT: u32 = 35058;
pub const GL_STENCIL_CLEAR_TAG_VALUE_EXT: u32 = 35059;
pub const GL_EXT_stencil_two_side: u32 = 1;
pub const GL_STENCIL_TEST_TWO_SIDE_EXT: u32 = 35088;
pub const GL_ACTIVE_STENCIL_FACE_EXT: u32 = 35089;
pub const GL_EXT_stencil_wrap: u32 = 1;
pub const GL_INCR_WRAP_EXT: u32 = 34055;
pub const GL_DECR_WRAP_EXT: u32 = 34056;
pub const GL_EXT_subtexture: u32 = 1;
pub const GL_EXT_texture: u32 = 1;
pub const GL_ALPHA4_EXT: u32 = 32827;
pub const GL_ALPHA8_EXT: u32 = 32828;
pub const GL_ALPHA12_EXT: u32 = 32829;
pub const GL_ALPHA16_EXT: u32 = 32830;
pub const GL_LUMINANCE4_EXT: u32 = 32831;
pub const GL_LUMINANCE8_EXT: u32 = 32832;
pub const GL_LUMINANCE12_EXT: u32 = 32833;
pub const GL_LUMINANCE16_EXT: u32 = 32834;
pub const GL_LUMINANCE4_ALPHA4_EXT: u32 = 32835;
pub const GL_LUMINANCE6_ALPHA2_EXT: u32 = 32836;
pub const GL_LUMINANCE8_ALPHA8_EXT: u32 = 32837;
pub const GL_LUMINANCE12_ALPHA4_EXT: u32 = 32838;
pub const GL_LUMINANCE12_ALPHA12_EXT: u32 = 32839;
pub const GL_LUMINANCE16_ALPHA16_EXT: u32 = 32840;
pub const GL_INTENSITY_EXT: u32 = 32841;
pub const GL_INTENSITY4_EXT: u32 = 32842;
pub const GL_INTENSITY8_EXT: u32 = 32843;
pub const GL_INTENSITY12_EXT: u32 = 32844;
pub const GL_INTENSITY16_EXT: u32 = 32845;
pub const GL_RGB2_EXT: u32 = 32846;
pub const GL_RGB4_EXT: u32 = 32847;
pub const GL_RGB5_EXT: u32 = 32848;
pub const GL_RGB8_EXT: u32 = 32849;
pub const GL_RGB10_EXT: u32 = 32850;
pub const GL_RGB12_EXT: u32 = 32851;
pub const GL_RGB16_EXT: u32 = 32852;
pub const GL_RGBA2_EXT: u32 = 32853;
pub const GL_RGBA4_EXT: u32 = 32854;
pub const GL_RGB5_A1_EXT: u32 = 32855;
pub const GL_RGBA8_EXT: u32 = 32856;
pub const GL_RGB10_A2_EXT: u32 = 32857;
pub const GL_RGBA12_EXT: u32 = 32858;
pub const GL_RGBA16_EXT: u32 = 32859;
pub const GL_TEXTURE_RED_SIZE_EXT: u32 = 32860;
pub const GL_TEXTURE_GREEN_SIZE_EXT: u32 = 32861;
pub const GL_TEXTURE_BLUE_SIZE_EXT: u32 = 32862;
pub const GL_TEXTURE_ALPHA_SIZE_EXT: u32 = 32863;
pub const GL_TEXTURE_LUMINANCE_SIZE_EXT: u32 = 32864;
pub const GL_TEXTURE_INTENSITY_SIZE_EXT: u32 = 32865;
pub const GL_REPLACE_EXT: u32 = 32866;
pub const GL_PROXY_TEXTURE_1D_EXT: u32 = 32867;
pub const GL_PROXY_TEXTURE_2D_EXT: u32 = 32868;
pub const GL_TEXTURE_TOO_LARGE_EXT: u32 = 32869;
pub const GL_EXT_texture3D: u32 = 1;
pub const GL_PACK_SKIP_IMAGES_EXT: u32 = 32875;
pub const GL_PACK_IMAGE_HEIGHT_EXT: u32 = 32876;
pub const GL_UNPACK_SKIP_IMAGES_EXT: u32 = 32877;
pub const GL_UNPACK_IMAGE_HEIGHT_EXT: u32 = 32878;
pub const GL_TEXTURE_3D_EXT: u32 = 32879;
pub const GL_PROXY_TEXTURE_3D_EXT: u32 = 32880;
pub const GL_TEXTURE_DEPTH_EXT: u32 = 32881;
pub const GL_TEXTURE_WRAP_R_EXT: u32 = 32882;
pub const GL_MAX_3D_TEXTURE_SIZE_EXT: u32 = 32883;
pub const GL_EXT_texture_array: u32 = 1;
pub const GL_TEXTURE_1D_ARRAY_EXT: u32 = 35864;
pub const GL_PROXY_TEXTURE_1D_ARRAY_EXT: u32 = 35865;
pub const GL_TEXTURE_2D_ARRAY_EXT: u32 = 35866;
pub const GL_PROXY_TEXTURE_2D_ARRAY_EXT: u32 = 35867;
pub const GL_TEXTURE_BINDING_1D_ARRAY_EXT: u32 = 35868;
pub const GL_TEXTURE_BINDING_2D_ARRAY_EXT: u32 = 35869;
pub const GL_MAX_ARRAY_TEXTURE_LAYERS_EXT: u32 = 35071;
pub const GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT: u32 = 34894;
pub const GL_EXT_texture_buffer_object: u32 = 1;
pub const GL_TEXTURE_BUFFER_EXT: u32 = 35882;
pub const GL_MAX_TEXTURE_BUFFER_SIZE_EXT: u32 = 35883;
pub const GL_TEXTURE_BINDING_BUFFER_EXT: u32 = 35884;
pub const GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT: u32 = 35885;
pub const GL_TEXTURE_BUFFER_FORMAT_EXT: u32 = 35886;
pub const GL_EXT_texture_compression_latc: u32 = 1;
pub const GL_COMPRESSED_LUMINANCE_LATC1_EXT: u32 = 35952;
pub const GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT: u32 = 35953;
pub const GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT: u32 = 35954;
pub const GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT: u32 = 35955;
pub const GL_EXT_texture_compression_rgtc: u32 = 1;
pub const GL_COMPRESSED_RED_RGTC1_EXT: u32 = 36283;
pub const GL_COMPRESSED_SIGNED_RED_RGTC1_EXT: u32 = 36284;
pub const GL_COMPRESSED_RED_GREEN_RGTC2_EXT: u32 = 36285;
pub const GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: u32 = 36286;
pub const GL_EXT_texture_compression_s3tc: u32 = 1;
pub const GL_COMPRESSED_RGB_S3TC_DXT1_EXT: u32 = 33776;
pub const GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: u32 = 33777;
pub const GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: u32 = 33778;
pub const GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: u32 = 33779;
pub const GL_EXT_texture_cube_map: u32 = 1;
pub const GL_NORMAL_MAP_EXT: u32 = 34065;
pub const GL_REFLECTION_MAP_EXT: u32 = 34066;
pub const GL_TEXTURE_CUBE_MAP_EXT: u32 = 34067;
pub const GL_TEXTURE_BINDING_CUBE_MAP_EXT: u32 = 34068;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT: u32 = 34069;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT: u32 = 34070;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT: u32 = 34071;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT: u32 = 34072;
pub const GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT: u32 = 34073;
pub const GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT: u32 = 34074;
pub const GL_PROXY_TEXTURE_CUBE_MAP_EXT: u32 = 34075;
pub const GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT: u32 = 34076;
pub const GL_EXT_texture_env_add: u32 = 1;
pub const GL_EXT_texture_env_combine: u32 = 1;
pub const GL_COMBINE_EXT: u32 = 34160;
pub const GL_COMBINE_RGB_EXT: u32 = 34161;
pub const GL_COMBINE_ALPHA_EXT: u32 = 34162;
pub const GL_RGB_SCALE_EXT: u32 = 34163;
pub const GL_ADD_SIGNED_EXT: u32 = 34164;
pub const GL_INTERPOLATE_EXT: u32 = 34165;
pub const GL_CONSTANT_EXT: u32 = 34166;
pub const GL_PRIMARY_COLOR_EXT: u32 = 34167;
pub const GL_PREVIOUS_EXT: u32 = 34168;
pub const GL_SOURCE0_RGB_EXT: u32 = 34176;
pub const GL_SOURCE1_RGB_EXT: u32 = 34177;
pub const GL_SOURCE2_RGB_EXT: u32 = 34178;
pub const GL_SOURCE0_ALPHA_EXT: u32 = 34184;
pub const GL_SOURCE1_ALPHA_EXT: u32 = 34185;
pub const GL_SOURCE2_ALPHA_EXT: u32 = 34186;
pub const GL_OPERAND0_RGB_EXT: u32 = 34192;
pub const GL_OPERAND1_RGB_EXT: u32 = 34193;
pub const GL_OPERAND2_RGB_EXT: u32 = 34194;
pub const GL_OPERAND0_ALPHA_EXT: u32 = 34200;
pub const GL_OPERAND1_ALPHA_EXT: u32 = 34201;
pub const GL_OPERAND2_ALPHA_EXT: u32 = 34202;
pub const GL_EXT_texture_env_dot3: u32 = 1;
pub const GL_DOT3_RGB_EXT: u32 = 34624;
pub const GL_DOT3_RGBA_EXT: u32 = 34625;
pub const GL_EXT_texture_filter_anisotropic: u32 = 1;
pub const GL_TEXTURE_MAX_ANISOTROPY_EXT: u32 = 34046;
pub const GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT: u32 = 34047;
pub const GL_EXT_texture_filter_minmax: u32 = 1;
pub const GL_TEXTURE_REDUCTION_MODE_EXT: u32 = 37734;
pub const GL_WEIGHTED_AVERAGE_EXT: u32 = 37735;
pub const GL_EXT_texture_integer: u32 = 1;
pub const GL_RGBA32UI_EXT: u32 = 36208;
pub const GL_RGB32UI_EXT: u32 = 36209;
pub const GL_ALPHA32UI_EXT: u32 = 36210;
pub const GL_INTENSITY32UI_EXT: u32 = 36211;
pub const GL_LUMINANCE32UI_EXT: u32 = 36212;
pub const GL_LUMINANCE_ALPHA32UI_EXT: u32 = 36213;
pub const GL_RGBA16UI_EXT: u32 = 36214;
pub const GL_RGB16UI_EXT: u32 = 36215;
pub const GL_ALPHA16UI_EXT: u32 = 36216;
pub const GL_INTENSITY16UI_EXT: u32 = 36217;
pub const GL_LUMINANCE16UI_EXT: u32 = 36218;
pub const GL_LUMINANCE_ALPHA16UI_EXT: u32 = 36219;
pub const GL_RGBA8UI_EXT: u32 = 36220;
pub const GL_RGB8UI_EXT: u32 = 36221;
pub const GL_ALPHA8UI_EXT: u32 = 36222;
pub const GL_INTENSITY8UI_EXT: u32 = 36223;
pub const GL_LUMINANCE8UI_EXT: u32 = 36224;
pub const GL_LUMINANCE_ALPHA8UI_EXT: u32 = 36225;
pub const GL_RGBA32I_EXT: u32 = 36226;
pub const GL_RGB32I_EXT: u32 = 36227;
pub const GL_ALPHA32I_EXT: u32 = 36228;
pub const GL_INTENSITY32I_EXT: u32 = 36229;
pub const GL_LUMINANCE32I_EXT: u32 = 36230;
pub const GL_LUMINANCE_ALPHA32I_EXT: u32 = 36231;
pub const GL_RGBA16I_EXT: u32 = 36232;
pub const GL_RGB16I_EXT: u32 = 36233;
pub const GL_ALPHA16I_EXT: u32 = 36234;
pub const GL_INTENSITY16I_EXT: u32 = 36235;
pub const GL_LUMINANCE16I_EXT: u32 = 36236;
pub const GL_LUMINANCE_ALPHA16I_EXT: u32 = 36237;
pub const GL_RGBA8I_EXT: u32 = 36238;
pub const GL_RGB8I_EXT: u32 = 36239;
pub const GL_ALPHA8I_EXT: u32 = 36240;
pub const GL_INTENSITY8I_EXT: u32 = 36241;
pub const GL_LUMINANCE8I_EXT: u32 = 36242;
pub const GL_LUMINANCE_ALPHA8I_EXT: u32 = 36243;
pub const GL_RED_INTEGER_EXT: u32 = 36244;
pub const GL_GREEN_INTEGER_EXT: u32 = 36245;
pub const GL_BLUE_INTEGER_EXT: u32 = 36246;
pub const GL_ALPHA_INTEGER_EXT: u32 = 36247;
pub const GL_RGB_INTEGER_EXT: u32 = 36248;
pub const GL_RGBA_INTEGER_EXT: u32 = 36249;
pub const GL_BGR_INTEGER_EXT: u32 = 36250;
pub const GL_BGRA_INTEGER_EXT: u32 = 36251;
pub const GL_LUMINANCE_INTEGER_EXT: u32 = 36252;
pub const GL_LUMINANCE_ALPHA_INTEGER_EXT: u32 = 36253;
pub const GL_RGBA_INTEGER_MODE_EXT: u32 = 36254;
pub const GL_EXT_texture_lod_bias: u32 = 1;
pub const GL_MAX_TEXTURE_LOD_BIAS_EXT: u32 = 34045;
pub const GL_TEXTURE_FILTER_CONTROL_EXT: u32 = 34048;
pub const GL_TEXTURE_LOD_BIAS_EXT: u32 = 34049;
pub const GL_EXT_texture_mirror_clamp: u32 = 1;
pub const GL_MIRROR_CLAMP_EXT: u32 = 34626;
pub const GL_MIRROR_CLAMP_TO_EDGE_EXT: u32 = 34627;
pub const GL_MIRROR_CLAMP_TO_BORDER_EXT: u32 = 35090;
pub const GL_EXT_texture_object: u32 = 1;
pub const GL_TEXTURE_PRIORITY_EXT: u32 = 32870;
pub const GL_TEXTURE_RESIDENT_EXT: u32 = 32871;
pub const GL_TEXTURE_1D_BINDING_EXT: u32 = 32872;
pub const GL_TEXTURE_2D_BINDING_EXT: u32 = 32873;
pub const GL_TEXTURE_3D_BINDING_EXT: u32 = 32874;
pub const GL_EXT_texture_perturb_normal: u32 = 1;
pub const GL_PERTURB_EXT: u32 = 34222;
pub const GL_TEXTURE_NORMAL_EXT: u32 = 34223;
pub const GL_EXT_texture_sRGB: u32 = 1;
pub const GL_SRGB_EXT: u32 = 35904;
pub const GL_SRGB8_EXT: u32 = 35905;
pub const GL_SRGB_ALPHA_EXT: u32 = 35906;
pub const GL_SRGB8_ALPHA8_EXT: u32 = 35907;
pub const GL_SLUMINANCE_ALPHA_EXT: u32 = 35908;
pub const GL_SLUMINANCE8_ALPHA8_EXT: u32 = 35909;
pub const GL_SLUMINANCE_EXT: u32 = 35910;
pub const GL_SLUMINANCE8_EXT: u32 = 35911;
pub const GL_COMPRESSED_SRGB_EXT: u32 = 35912;
pub const GL_COMPRESSED_SRGB_ALPHA_EXT: u32 = 35913;
pub const GL_COMPRESSED_SLUMINANCE_EXT: u32 = 35914;
pub const GL_COMPRESSED_SLUMINANCE_ALPHA_EXT: u32 = 35915;
pub const GL_COMPRESSED_SRGB_S3TC_DXT1_EXT: u32 = 35916;
pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: u32 = 35917;
pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: u32 = 35918;
pub const GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: u32 = 35919;
pub const GL_EXT_texture_sRGB_decode: u32 = 1;
pub const GL_TEXTURE_SRGB_DECODE_EXT: u32 = 35400;
pub const GL_DECODE_EXT: u32 = 35401;
pub const GL_SKIP_DECODE_EXT: u32 = 35402;
pub const GL_EXT_texture_shared_exponent: u32 = 1;
pub const GL_RGB9_E5_EXT: u32 = 35901;
pub const GL_UNSIGNED_INT_5_9_9_9_REV_EXT: u32 = 35902;
pub const GL_TEXTURE_SHARED_SIZE_EXT: u32 = 35903;
pub const GL_EXT_texture_snorm: u32 = 1;
pub const GL_ALPHA_SNORM: u32 = 36880;
pub const GL_LUMINANCE_SNORM: u32 = 36881;
pub const GL_LUMINANCE_ALPHA_SNORM: u32 = 36882;
pub const GL_INTENSITY_SNORM: u32 = 36883;
pub const GL_ALPHA8_SNORM: u32 = 36884;
pub const GL_LUMINANCE8_SNORM: u32 = 36885;
pub const GL_LUMINANCE8_ALPHA8_SNORM: u32 = 36886;
pub const GL_INTENSITY8_SNORM: u32 = 36887;
pub const GL_ALPHA16_SNORM: u32 = 36888;
pub const GL_LUMINANCE16_SNORM: u32 = 36889;
pub const GL_LUMINANCE16_ALPHA16_SNORM: u32 = 36890;
pub const GL_INTENSITY16_SNORM: u32 = 36891;
pub const GL_RED_SNORM: u32 = 36752;
pub const GL_RG_SNORM: u32 = 36753;
pub const GL_RGB_SNORM: u32 = 36754;
pub const GL_RGBA_SNORM: u32 = 36755;
pub const GL_EXT_texture_swizzle: u32 = 1;
pub const GL_TEXTURE_SWIZZLE_R_EXT: u32 = 36418;
pub const GL_TEXTURE_SWIZZLE_G_EXT: u32 = 36419;
pub const GL_TEXTURE_SWIZZLE_B_EXT: u32 = 36420;
pub const GL_TEXTURE_SWIZZLE_A_EXT: u32 = 36421;
pub const GL_TEXTURE_SWIZZLE_RGBA_EXT: u32 = 36422;
pub const GL_EXT_timer_query: u32 = 1;
pub const GL_TIME_ELAPSED_EXT: u32 = 35007;
pub const GL_EXT_transform_feedback: u32 = 1;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_EXT: u32 = 35982;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT: u32 = 35972;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT: u32 = 35973;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT: u32 = 35983;
pub const GL_INTERLEAVED_ATTRIBS_EXT: u32 = 35980;
pub const GL_SEPARATE_ATTRIBS_EXT: u32 = 35981;
pub const GL_PRIMITIVES_GENERATED_EXT: u32 = 35975;
pub const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT: u32 = 35976;
pub const GL_RASTERIZER_DISCARD_EXT: u32 = 35977;
pub const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT: u32 = 35978;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT: u32 = 35979;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT: u32 = 35968;
pub const GL_TRANSFORM_FEEDBACK_VARYINGS_EXT: u32 = 35971;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT: u32 = 35967;
pub const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT: u32 = 35958;
pub const GL_EXT_vertex_array: u32 = 1;
pub const GL_VERTEX_ARRAY_EXT: u32 = 32884;
pub const GL_NORMAL_ARRAY_EXT: u32 = 32885;
pub const GL_COLOR_ARRAY_EXT: u32 = 32886;
pub const GL_INDEX_ARRAY_EXT: u32 = 32887;
pub const GL_TEXTURE_COORD_ARRAY_EXT: u32 = 32888;
pub const GL_EDGE_FLAG_ARRAY_EXT: u32 = 32889;
pub const GL_VERTEX_ARRAY_SIZE_EXT: u32 = 32890;
pub const GL_VERTEX_ARRAY_TYPE_EXT: u32 = 32891;
pub const GL_VERTEX_ARRAY_STRIDE_EXT: u32 = 32892;
pub const GL_VERTEX_ARRAY_COUNT_EXT: u32 = 32893;
pub const GL_NORMAL_ARRAY_TYPE_EXT: u32 = 32894;
pub const GL_NORMAL_ARRAY_STRIDE_EXT: u32 = 32895;
pub const GL_NORMAL_ARRAY_COUNT_EXT: u32 = 32896;
pub const GL_COLOR_ARRAY_SIZE_EXT: u32 = 32897;
pub const GL_COLOR_ARRAY_TYPE_EXT: u32 = 32898;
pub const GL_COLOR_ARRAY_STRIDE_EXT: u32 = 32899;
pub const GL_COLOR_ARRAY_COUNT_EXT: u32 = 32900;
pub const GL_INDEX_ARRAY_TYPE_EXT: u32 = 32901;
pub const GL_INDEX_ARRAY_STRIDE_EXT: u32 = 32902;
pub const GL_INDEX_ARRAY_COUNT_EXT: u32 = 32903;
pub const GL_TEXTURE_COORD_ARRAY_SIZE_EXT: u32 = 32904;
pub const GL_TEXTURE_COORD_ARRAY_TYPE_EXT: u32 = 32905;
pub const GL_TEXTURE_COORD_ARRAY_STRIDE_EXT: u32 = 32906;
pub const GL_TEXTURE_COORD_ARRAY_COUNT_EXT: u32 = 32907;
pub const GL_EDGE_FLAG_ARRAY_STRIDE_EXT: u32 = 32908;
pub const GL_EDGE_FLAG_ARRAY_COUNT_EXT: u32 = 32909;
pub const GL_VERTEX_ARRAY_POINTER_EXT: u32 = 32910;
pub const GL_NORMAL_ARRAY_POINTER_EXT: u32 = 32911;
pub const GL_COLOR_ARRAY_POINTER_EXT: u32 = 32912;
pub const GL_INDEX_ARRAY_POINTER_EXT: u32 = 32913;
pub const GL_TEXTURE_COORD_ARRAY_POINTER_EXT: u32 = 32914;
pub const GL_EDGE_FLAG_ARRAY_POINTER_EXT: u32 = 32915;
pub const GL_EXT_vertex_array_bgra: u32 = 1;
pub const GL_EXT_vertex_attrib_64bit: u32 = 1;
pub const GL_DOUBLE_VEC2_EXT: u32 = 36860;
pub const GL_DOUBLE_VEC3_EXT: u32 = 36861;
pub const GL_DOUBLE_VEC4_EXT: u32 = 36862;
pub const GL_DOUBLE_MAT2_EXT: u32 = 36678;
pub const GL_DOUBLE_MAT3_EXT: u32 = 36679;
pub const GL_DOUBLE_MAT4_EXT: u32 = 36680;
pub const GL_DOUBLE_MAT2x3_EXT: u32 = 36681;
pub const GL_DOUBLE_MAT2x4_EXT: u32 = 36682;
pub const GL_DOUBLE_MAT3x2_EXT: u32 = 36683;
pub const GL_DOUBLE_MAT3x4_EXT: u32 = 36684;
pub const GL_DOUBLE_MAT4x2_EXT: u32 = 36685;
pub const GL_DOUBLE_MAT4x3_EXT: u32 = 36686;
pub const GL_EXT_vertex_shader: u32 = 1;
pub const GL_VERTEX_SHADER_EXT: u32 = 34688;
pub const GL_VERTEX_SHADER_BINDING_EXT: u32 = 34689;
pub const GL_OP_INDEX_EXT: u32 = 34690;
pub const GL_OP_NEGATE_EXT: u32 = 34691;
pub const GL_OP_DOT3_EXT: u32 = 34692;
pub const GL_OP_DOT4_EXT: u32 = 34693;
pub const GL_OP_MUL_EXT: u32 = 34694;
pub const GL_OP_ADD_EXT: u32 = 34695;
pub const GL_OP_MADD_EXT: u32 = 34696;
pub const GL_OP_FRAC_EXT: u32 = 34697;
pub const GL_OP_MAX_EXT: u32 = 34698;
pub const GL_OP_MIN_EXT: u32 = 34699;
pub const GL_OP_SET_GE_EXT: u32 = 34700;
pub const GL_OP_SET_LT_EXT: u32 = 34701;
pub const GL_OP_CLAMP_EXT: u32 = 34702;
pub const GL_OP_FLOOR_EXT: u32 = 34703;
pub const GL_OP_ROUND_EXT: u32 = 34704;
pub const GL_OP_EXP_BASE_2_EXT: u32 = 34705;
pub const GL_OP_LOG_BASE_2_EXT: u32 = 34706;
pub const GL_OP_POWER_EXT: u32 = 34707;
pub const GL_OP_RECIP_EXT: u32 = 34708;
pub const GL_OP_RECIP_SQRT_EXT: u32 = 34709;
pub const GL_OP_SUB_EXT: u32 = 34710;
pub const GL_OP_CROSS_PRODUCT_EXT: u32 = 34711;
pub const GL_OP_MULTIPLY_MATRIX_EXT: u32 = 34712;
pub const GL_OP_MOV_EXT: u32 = 34713;
pub const GL_OUTPUT_VERTEX_EXT: u32 = 34714;
pub const GL_OUTPUT_COLOR0_EXT: u32 = 34715;
pub const GL_OUTPUT_COLOR1_EXT: u32 = 34716;
pub const GL_OUTPUT_TEXTURE_COORD0_EXT: u32 = 34717;
pub const GL_OUTPUT_TEXTURE_COORD1_EXT: u32 = 34718;
pub const GL_OUTPUT_TEXTURE_COORD2_EXT: u32 = 34719;
pub const GL_OUTPUT_TEXTURE_COORD3_EXT: u32 = 34720;
pub const GL_OUTPUT_TEXTURE_COORD4_EXT: u32 = 34721;
pub const GL_OUTPUT_TEXTURE_COORD5_EXT: u32 = 34722;
pub const GL_OUTPUT_TEXTURE_COORD6_EXT: u32 = 34723;
pub const GL_OUTPUT_TEXTURE_COORD7_EXT: u32 = 34724;
pub const GL_OUTPUT_TEXTURE_COORD8_EXT: u32 = 34725;
pub const GL_OUTPUT_TEXTURE_COORD9_EXT: u32 = 34726;
pub const GL_OUTPUT_TEXTURE_COORD10_EXT: u32 = 34727;
pub const GL_OUTPUT_TEXTURE_COORD11_EXT: u32 = 34728;
pub const GL_OUTPUT_TEXTURE_COORD12_EXT: u32 = 34729;
pub const GL_OUTPUT_TEXTURE_COORD13_EXT: u32 = 34730;
pub const GL_OUTPUT_TEXTURE_COORD14_EXT: u32 = 34731;
pub const GL_OUTPUT_TEXTURE_COORD15_EXT: u32 = 34732;
pub const GL_OUTPUT_TEXTURE_COORD16_EXT: u32 = 34733;
pub const GL_OUTPUT_TEXTURE_COORD17_EXT: u32 = 34734;
pub const GL_OUTPUT_TEXTURE_COORD18_EXT: u32 = 34735;
pub const GL_OUTPUT_TEXTURE_COORD19_EXT: u32 = 34736;
pub const GL_OUTPUT_TEXTURE_COORD20_EXT: u32 = 34737;
pub const GL_OUTPUT_TEXTURE_COORD21_EXT: u32 = 34738;
pub const GL_OUTPUT_TEXTURE_COORD22_EXT: u32 = 34739;
pub const GL_OUTPUT_TEXTURE_COORD23_EXT: u32 = 34740;
pub const GL_OUTPUT_TEXTURE_COORD24_EXT: u32 = 34741;
pub const GL_OUTPUT_TEXTURE_COORD25_EXT: u32 = 34742;
pub const GL_OUTPUT_TEXTURE_COORD26_EXT: u32 = 34743;
pub const GL_OUTPUT_TEXTURE_COORD27_EXT: u32 = 34744;
pub const GL_OUTPUT_TEXTURE_COORD28_EXT: u32 = 34745;
pub const GL_OUTPUT_TEXTURE_COORD29_EXT: u32 = 34746;
pub const GL_OUTPUT_TEXTURE_COORD30_EXT: u32 = 34747;
pub const GL_OUTPUT_TEXTURE_COORD31_EXT: u32 = 34748;
pub const GL_OUTPUT_FOG_EXT: u32 = 34749;
pub const GL_SCALAR_EXT: u32 = 34750;
pub const GL_VECTOR_EXT: u32 = 34751;
pub const GL_MATRIX_EXT: u32 = 34752;
pub const GL_VARIANT_EXT: u32 = 34753;
pub const GL_INVARIANT_EXT: u32 = 34754;
pub const GL_LOCAL_CONSTANT_EXT: u32 = 34755;
pub const GL_LOCAL_EXT: u32 = 34756;
pub const GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT: u32 = 34757;
pub const GL_MAX_VERTEX_SHADER_VARIANTS_EXT: u32 = 34758;
pub const GL_MAX_VERTEX_SHADER_INVARIANTS_EXT: u32 = 34759;
pub const GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT: u32 = 34760;
pub const GL_MAX_VERTEX_SHADER_LOCALS_EXT: u32 = 34761;
pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT: u32 = 34762;
pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT: u32 = 34763;
pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT: u32 = 34764;
pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT: u32 = 34765;
pub const GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT: u32 = 34766;
pub const GL_VERTEX_SHADER_INSTRUCTIONS_EXT: u32 = 34767;
pub const GL_VERTEX_SHADER_VARIANTS_EXT: u32 = 34768;
pub const GL_VERTEX_SHADER_INVARIANTS_EXT: u32 = 34769;
pub const GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT: u32 = 34770;
pub const GL_VERTEX_SHADER_LOCALS_EXT: u32 = 34771;
pub const GL_VERTEX_SHADER_OPTIMIZED_EXT: u32 = 34772;
pub const GL_X_EXT: u32 = 34773;
pub const GL_Y_EXT: u32 = 34774;
pub const GL_Z_EXT: u32 = 34775;
pub const GL_W_EXT: u32 = 34776;
pub const GL_NEGATIVE_X_EXT: u32 = 34777;
pub const GL_NEGATIVE_Y_EXT: u32 = 34778;
pub const GL_NEGATIVE_Z_EXT: u32 = 34779;
pub const GL_NEGATIVE_W_EXT: u32 = 34780;
pub const GL_ZERO_EXT: u32 = 34781;
pub const GL_ONE_EXT: u32 = 34782;
pub const GL_NEGATIVE_ONE_EXT: u32 = 34783;
pub const GL_NORMALIZED_RANGE_EXT: u32 = 34784;
pub const GL_FULL_RANGE_EXT: u32 = 34785;
pub const GL_CURRENT_VERTEX_EXT: u32 = 34786;
pub const GL_MVP_MATRIX_EXT: u32 = 34787;
pub const GL_VARIANT_VALUE_EXT: u32 = 34788;
pub const GL_VARIANT_DATATYPE_EXT: u32 = 34789;
pub const GL_VARIANT_ARRAY_STRIDE_EXT: u32 = 34790;
pub const GL_VARIANT_ARRAY_TYPE_EXT: u32 = 34791;
pub const GL_VARIANT_ARRAY_EXT: u32 = 34792;
pub const GL_VARIANT_ARRAY_POINTER_EXT: u32 = 34793;
pub const GL_INVARIANT_VALUE_EXT: u32 = 34794;
pub const GL_INVARIANT_DATATYPE_EXT: u32 = 34795;
pub const GL_LOCAL_CONSTANT_VALUE_EXT: u32 = 34796;
pub const GL_LOCAL_CONSTANT_DATATYPE_EXT: u32 = 34797;
pub const GL_EXT_vertex_weighting: u32 = 1;
pub const GL_MODELVIEW0_STACK_DEPTH_EXT: u32 = 2979;
pub const GL_MODELVIEW1_STACK_DEPTH_EXT: u32 = 34050;
pub const GL_MODELVIEW0_MATRIX_EXT: u32 = 2982;
pub const GL_MODELVIEW1_MATRIX_EXT: u32 = 34054;
pub const GL_VERTEX_WEIGHTING_EXT: u32 = 34057;
pub const GL_MODELVIEW0_EXT: u32 = 5888;
pub const GL_MODELVIEW1_EXT: u32 = 34058;
pub const GL_CURRENT_VERTEX_WEIGHT_EXT: u32 = 34059;
pub const GL_VERTEX_WEIGHT_ARRAY_EXT: u32 = 34060;
pub const GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT: u32 = 34061;
pub const GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT: u32 = 34062;
pub const GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT: u32 = 34063;
pub const GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT: u32 = 34064;
pub const GL_EXT_win32_keyed_mutex: u32 = 1;
pub const GL_EXT_window_rectangles: u32 = 1;
pub const GL_INCLUSIVE_EXT: u32 = 36624;
pub const GL_EXCLUSIVE_EXT: u32 = 36625;
pub const GL_WINDOW_RECTANGLE_EXT: u32 = 36626;
pub const GL_WINDOW_RECTANGLE_MODE_EXT: u32 = 36627;
pub const GL_MAX_WINDOW_RECTANGLES_EXT: u32 = 36628;
pub const GL_NUM_WINDOW_RECTANGLES_EXT: u32 = 36629;
pub const GL_EXT_x11_sync_object: u32 = 1;
pub const GL_SYNC_X11_FENCE_EXT: u32 = 37089;
pub const GL_GREMEDY_frame_terminator: u32 = 1;
pub const GL_GREMEDY_string_marker: u32 = 1;
pub const GL_HP_convolution_border_modes: u32 = 1;
pub const GL_IGNORE_BORDER_HP: u32 = 33104;
pub const GL_CONSTANT_BORDER_HP: u32 = 33105;
pub const GL_REPLICATE_BORDER_HP: u32 = 33107;
pub const GL_CONVOLUTION_BORDER_COLOR_HP: u32 = 33108;
pub const GL_HP_image_transform: u32 = 1;
pub const GL_IMAGE_SCALE_X_HP: u32 = 33109;
pub const GL_IMAGE_SCALE_Y_HP: u32 = 33110;
pub const GL_IMAGE_TRANSLATE_X_HP: u32 = 33111;
pub const GL_IMAGE_TRANSLATE_Y_HP: u32 = 33112;
pub const GL_IMAGE_ROTATE_ANGLE_HP: u32 = 33113;
pub const GL_IMAGE_ROTATE_ORIGIN_X_HP: u32 = 33114;
pub const GL_IMAGE_ROTATE_ORIGIN_Y_HP: u32 = 33115;
pub const GL_IMAGE_MAG_FILTER_HP: u32 = 33116;
pub const GL_IMAGE_MIN_FILTER_HP: u32 = 33117;
pub const GL_IMAGE_CUBIC_WEIGHT_HP: u32 = 33118;
pub const GL_CUBIC_HP: u32 = 33119;
pub const GL_AVERAGE_HP: u32 = 33120;
pub const GL_IMAGE_TRANSFORM_2D_HP: u32 = 33121;
pub const GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP: u32 = 33122;
pub const GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP: u32 = 33123;
pub const GL_HP_occlusion_test: u32 = 1;
pub const GL_OCCLUSION_TEST_HP: u32 = 33125;
pub const GL_OCCLUSION_TEST_RESULT_HP: u32 = 33126;
pub const GL_HP_texture_lighting: u32 = 1;
pub const GL_TEXTURE_LIGHTING_MODE_HP: u32 = 33127;
pub const GL_TEXTURE_POST_SPECULAR_HP: u32 = 33128;
pub const GL_TEXTURE_PRE_SPECULAR_HP: u32 = 33129;
pub const GL_IBM_cull_vertex: u32 = 1;
pub const GL_CULL_VERTEX_IBM: u32 = 103050;
pub const GL_IBM_multimode_draw_arrays: u32 = 1;
pub const GL_IBM_rasterpos_clip: u32 = 1;
pub const GL_RASTER_POSITION_UNCLIPPED_IBM: u32 = 103010;
pub const GL_IBM_static_data: u32 = 1;
pub const GL_ALL_STATIC_DATA_IBM: u32 = 103060;
pub const GL_STATIC_VERTEX_ARRAY_IBM: u32 = 103061;
pub const GL_IBM_texture_mirrored_repeat: u32 = 1;
pub const GL_MIRRORED_REPEAT_IBM: u32 = 33648;
pub const GL_IBM_vertex_array_lists: u32 = 1;
pub const GL_VERTEX_ARRAY_LIST_IBM: u32 = 103070;
pub const GL_NORMAL_ARRAY_LIST_IBM: u32 = 103071;
pub const GL_COLOR_ARRAY_LIST_IBM: u32 = 103072;
pub const GL_INDEX_ARRAY_LIST_IBM: u32 = 103073;
pub const GL_TEXTURE_COORD_ARRAY_LIST_IBM: u32 = 103074;
pub const GL_EDGE_FLAG_ARRAY_LIST_IBM: u32 = 103075;
pub const GL_FOG_COORDINATE_ARRAY_LIST_IBM: u32 = 103076;
pub const GL_SECONDARY_COLOR_ARRAY_LIST_IBM: u32 = 103077;
pub const GL_VERTEX_ARRAY_LIST_STRIDE_IBM: u32 = 103080;
pub const GL_NORMAL_ARRAY_LIST_STRIDE_IBM: u32 = 103081;
pub const GL_COLOR_ARRAY_LIST_STRIDE_IBM: u32 = 103082;
pub const GL_INDEX_ARRAY_LIST_STRIDE_IBM: u32 = 103083;
pub const GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM: u32 = 103084;
pub const GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM: u32 = 103085;
pub const GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM: u32 = 103086;
pub const GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM: u32 = 103087;
pub const GL_INGR_blend_func_separate: u32 = 1;
pub const GL_INGR_color_clamp: u32 = 1;
pub const GL_RED_MIN_CLAMP_INGR: u32 = 34144;
pub const GL_GREEN_MIN_CLAMP_INGR: u32 = 34145;
pub const GL_BLUE_MIN_CLAMP_INGR: u32 = 34146;
pub const GL_ALPHA_MIN_CLAMP_INGR: u32 = 34147;
pub const GL_RED_MAX_CLAMP_INGR: u32 = 34148;
pub const GL_GREEN_MAX_CLAMP_INGR: u32 = 34149;
pub const GL_BLUE_MAX_CLAMP_INGR: u32 = 34150;
pub const GL_ALPHA_MAX_CLAMP_INGR: u32 = 34151;
pub const GL_INGR_interlace_read: u32 = 1;
pub const GL_INTERLACE_READ_INGR: u32 = 34152;
pub const GL_INTEL_blackhole_render: u32 = 1;
pub const GL_BLACKHOLE_RENDER_INTEL: u32 = 33788;
pub const GL_INTEL_conservative_rasterization: u32 = 1;
pub const GL_CONSERVATIVE_RASTERIZATION_INTEL: u32 = 33790;
pub const GL_INTEL_fragment_shader_ordering: u32 = 1;
pub const GL_INTEL_framebuffer_CMAA: u32 = 1;
pub const GL_INTEL_map_texture: u32 = 1;
pub const GL_TEXTURE_MEMORY_LAYOUT_INTEL: u32 = 33791;
pub const GL_LAYOUT_DEFAULT_INTEL: u32 = 0;
pub const GL_LAYOUT_LINEAR_INTEL: u32 = 1;
pub const GL_LAYOUT_LINEAR_CPU_CACHED_INTEL: u32 = 2;
pub const GL_INTEL_parallel_arrays: u32 = 1;
pub const GL_PARALLEL_ARRAYS_INTEL: u32 = 33780;
pub const GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33781;
pub const GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33782;
pub const GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33783;
pub const GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL: u32 = 33784;
pub const GL_INTEL_performance_query: u32 = 1;
pub const GL_PERFQUERY_SINGLE_CONTEXT_INTEL: u32 = 0;
pub const GL_PERFQUERY_GLOBAL_CONTEXT_INTEL: u32 = 1;
pub const GL_PERFQUERY_WAIT_INTEL: u32 = 33787;
pub const GL_PERFQUERY_FLUSH_INTEL: u32 = 33786;
pub const GL_PERFQUERY_DONOT_FLUSH_INTEL: u32 = 33785;
pub const GL_PERFQUERY_COUNTER_EVENT_INTEL: u32 = 38128;
pub const GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL: u32 = 38129;
pub const GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL: u32 = 38130;
pub const GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL: u32 = 38131;
pub const GL_PERFQUERY_COUNTER_RAW_INTEL: u32 = 38132;
pub const GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL: u32 = 38133;
pub const GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL: u32 = 38136;
pub const GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL: u32 = 38137;
pub const GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL: u32 = 38138;
pub const GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL: u32 = 38139;
pub const GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL: u32 = 38140;
pub const GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL: u32 = 38141;
pub const GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL: u32 = 38142;
pub const GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL: u32 = 38143;
pub const GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL: u32 = 38144;
pub const GL_MESAX_texture_stack: u32 = 1;
pub const GL_TEXTURE_1D_STACK_MESAX: u32 = 34649;
pub const GL_TEXTURE_2D_STACK_MESAX: u32 = 34650;
pub const GL_PROXY_TEXTURE_1D_STACK_MESAX: u32 = 34651;
pub const GL_PROXY_TEXTURE_2D_STACK_MESAX: u32 = 34652;
pub const GL_TEXTURE_1D_STACK_BINDING_MESAX: u32 = 34653;
pub const GL_TEXTURE_2D_STACK_BINDING_MESAX: u32 = 34654;
pub const GL_MESA_pack_invert: u32 = 1;
pub const GL_PACK_INVERT_MESA: u32 = 34648;
pub const GL_MESA_program_binary_formats: u32 = 1;
pub const GL_PROGRAM_BINARY_FORMAT_MESA: u32 = 34655;
pub const GL_MESA_resize_buffers: u32 = 1;
pub const GL_MESA_shader_integer_functions: u32 = 1;
pub const GL_MESA_tile_raster_order: u32 = 1;
pub const GL_TILE_RASTER_ORDER_FIXED_MESA: u32 = 35768;
pub const GL_TILE_RASTER_ORDER_INCREASING_X_MESA: u32 = 35769;
pub const GL_TILE_RASTER_ORDER_INCREASING_Y_MESA: u32 = 35770;
pub const GL_MESA_window_pos: u32 = 1;
pub const GL_MESA_ycbcr_texture: u32 = 1;
pub const GL_UNSIGNED_SHORT_8_8_MESA: u32 = 34234;
pub const GL_UNSIGNED_SHORT_8_8_REV_MESA: u32 = 34235;
pub const GL_YCBCR_MESA: u32 = 34647;
pub const GL_NVX_blend_equation_advanced_multi_draw_buffers: u32 = 1;
pub const GL_NVX_conditional_render: u32 = 1;
pub const GL_NVX_gpu_memory_info: u32 = 1;
pub const GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX: u32 = 36935;
pub const GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX: u32 = 36936;
pub const GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX: u32 = 36937;
pub const GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX: u32 = 36938;
pub const GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX: u32 = 36939;
pub const GL_NVX_linked_gpu_multicast: u32 = 1;
pub const GL_LGPU_SEPARATE_STORAGE_BIT_NVX: u32 = 2048;
pub const GL_MAX_LGPU_GPUS_NVX: u32 = 37562;
pub const GL_NV_alpha_to_coverage_dither_control: u32 = 1;
pub const GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV: u32 = 37709;
pub const GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV: u32 = 37710;
pub const GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV: u32 = 37711;
pub const GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV: u32 = 37567;
pub const GL_NV_bindless_multi_draw_indirect: u32 = 1;
pub const GL_NV_bindless_multi_draw_indirect_count: u32 = 1;
pub const GL_NV_bindless_texture: u32 = 1;
pub const GL_NV_blend_equation_advanced: u32 = 1;
pub const GL_BLEND_OVERLAP_NV: u32 = 37505;
pub const GL_BLEND_PREMULTIPLIED_SRC_NV: u32 = 37504;
pub const GL_BLUE_NV: u32 = 6405;
pub const GL_COLORBURN_NV: u32 = 37530;
pub const GL_COLORDODGE_NV: u32 = 37529;
pub const GL_CONJOINT_NV: u32 = 37508;
pub const GL_CONTRAST_NV: u32 = 37537;
pub const GL_DARKEN_NV: u32 = 37527;
pub const GL_DIFFERENCE_NV: u32 = 37534;
pub const GL_DISJOINT_NV: u32 = 37507;
pub const GL_DST_ATOP_NV: u32 = 37519;
pub const GL_DST_IN_NV: u32 = 37515;
pub const GL_DST_NV: u32 = 37511;
pub const GL_DST_OUT_NV: u32 = 37517;
pub const GL_DST_OVER_NV: u32 = 37513;
pub const GL_EXCLUSION_NV: u32 = 37536;
pub const GL_GREEN_NV: u32 = 6404;
pub const GL_HARDLIGHT_NV: u32 = 37531;
pub const GL_HARDMIX_NV: u32 = 37545;
pub const GL_HSL_COLOR_NV: u32 = 37551;
pub const GL_HSL_HUE_NV: u32 = 37549;
pub const GL_HSL_LUMINOSITY_NV: u32 = 37552;
pub const GL_HSL_SATURATION_NV: u32 = 37550;
pub const GL_INVERT_OVG_NV: u32 = 37556;
pub const GL_INVERT_RGB_NV: u32 = 37539;
pub const GL_LIGHTEN_NV: u32 = 37528;
pub const GL_LINEARBURN_NV: u32 = 37541;
pub const GL_LINEARDODGE_NV: u32 = 37540;
pub const GL_LINEARLIGHT_NV: u32 = 37543;
pub const GL_MINUS_CLAMPED_NV: u32 = 37555;
pub const GL_MINUS_NV: u32 = 37535;
pub const GL_MULTIPLY_NV: u32 = 37524;
pub const GL_OVERLAY_NV: u32 = 37526;
pub const GL_PINLIGHT_NV: u32 = 37544;
pub const GL_PLUS_CLAMPED_ALPHA_NV: u32 = 37554;
pub const GL_PLUS_CLAMPED_NV: u32 = 37553;
pub const GL_PLUS_DARKER_NV: u32 = 37522;
pub const GL_PLUS_NV: u32 = 37521;
pub const GL_RED_NV: u32 = 6403;
pub const GL_SCREEN_NV: u32 = 37525;
pub const GL_SOFTLIGHT_NV: u32 = 37532;
pub const GL_SRC_ATOP_NV: u32 = 37518;
pub const GL_SRC_IN_NV: u32 = 37514;
pub const GL_SRC_NV: u32 = 37510;
pub const GL_SRC_OUT_NV: u32 = 37516;
pub const GL_SRC_OVER_NV: u32 = 37512;
pub const GL_UNCORRELATED_NV: u32 = 37506;
pub const GL_VIVIDLIGHT_NV: u32 = 37542;
pub const GL_XOR_NV: u32 = 5382;
pub const GL_NV_blend_equation_advanced_coherent: u32 = 1;
pub const GL_BLEND_ADVANCED_COHERENT_NV: u32 = 37509;
pub const GL_NV_blend_minmax_factor: u32 = 1;
pub const GL_NV_blend_square: u32 = 1;
pub const GL_NV_clip_space_w_scaling: u32 = 1;
pub const GL_VIEWPORT_POSITION_W_SCALE_NV: u32 = 37756;
pub const GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV: u32 = 37757;
pub const GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV: u32 = 37758;
pub const GL_NV_command_list: u32 = 1;
pub const GL_TERMINATE_SEQUENCE_COMMAND_NV: u32 = 0;
pub const GL_NOP_COMMAND_NV: u32 = 1;
pub const GL_DRAW_ELEMENTS_COMMAND_NV: u32 = 2;
pub const GL_DRAW_ARRAYS_COMMAND_NV: u32 = 3;
pub const GL_DRAW_ELEMENTS_STRIP_COMMAND_NV: u32 = 4;
pub const GL_DRAW_ARRAYS_STRIP_COMMAND_NV: u32 = 5;
pub const GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV: u32 = 6;
pub const GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV: u32 = 7;
pub const GL_ELEMENT_ADDRESS_COMMAND_NV: u32 = 8;
pub const GL_ATTRIBUTE_ADDRESS_COMMAND_NV: u32 = 9;
pub const GL_UNIFORM_ADDRESS_COMMAND_NV: u32 = 10;
pub const GL_BLEND_COLOR_COMMAND_NV: u32 = 11;
pub const GL_STENCIL_REF_COMMAND_NV: u32 = 12;
pub const GL_LINE_WIDTH_COMMAND_NV: u32 = 13;
pub const GL_POLYGON_OFFSET_COMMAND_NV: u32 = 14;
pub const GL_ALPHA_REF_COMMAND_NV: u32 = 15;
pub const GL_VIEWPORT_COMMAND_NV: u32 = 16;
pub const GL_SCISSOR_COMMAND_NV: u32 = 17;
pub const GL_FRONT_FACE_COMMAND_NV: u32 = 18;
pub const GL_NV_compute_program5: u32 = 1;
pub const GL_COMPUTE_PROGRAM_NV: u32 = 37115;
pub const GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV: u32 = 37116;
pub const GL_NV_conditional_render: u32 = 1;
pub const GL_QUERY_WAIT_NV: u32 = 36371;
pub const GL_QUERY_NO_WAIT_NV: u32 = 36372;
pub const GL_QUERY_BY_REGION_WAIT_NV: u32 = 36373;
pub const GL_QUERY_BY_REGION_NO_WAIT_NV: u32 = 36374;
pub const GL_NV_conservative_raster: u32 = 1;
pub const GL_CONSERVATIVE_RASTERIZATION_NV: u32 = 37702;
pub const GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV: u32 = 37703;
pub const GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV: u32 = 37704;
pub const GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV: u32 = 37705;
pub const GL_NV_conservative_raster_dilate: u32 = 1;
pub const GL_CONSERVATIVE_RASTER_DILATE_NV: u32 = 37753;
pub const GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV: u32 = 37754;
pub const GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV: u32 = 37755;
pub const GL_NV_conservative_raster_pre_snap: u32 = 1;
pub const GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV: u32 = 38224;
pub const GL_NV_conservative_raster_pre_snap_triangles: u32 = 1;
pub const GL_CONSERVATIVE_RASTER_MODE_NV: u32 = 38221;
pub const GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV: u32 = 38222;
pub const GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV: u32 = 38223;
pub const GL_NV_conservative_raster_underestimation: u32 = 1;
pub const GL_NV_copy_depth_to_color: u32 = 1;
pub const GL_DEPTH_STENCIL_TO_RGBA_NV: u32 = 34926;
pub const GL_DEPTH_STENCIL_TO_BGRA_NV: u32 = 34927;
pub const GL_NV_copy_image: u32 = 1;
pub const GL_NV_deep_texture3D: u32 = 1;
pub const GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV: u32 = 37072;
pub const GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV: u32 = 37073;
pub const GL_NV_depth_buffer_float: u32 = 1;
pub const GL_DEPTH_COMPONENT32F_NV: u32 = 36267;
pub const GL_DEPTH32F_STENCIL8_NV: u32 = 36268;
pub const GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV: u32 = 36269;
pub const GL_DEPTH_BUFFER_FLOAT_MODE_NV: u32 = 36271;
pub const GL_NV_depth_clamp: u32 = 1;
pub const GL_DEPTH_CLAMP_NV: u32 = 34383;
pub const GL_NV_draw_texture: u32 = 1;
pub const GL_NV_draw_vulkan_image: u32 = 1;
pub const GL_NV_evaluators: u32 = 1;
pub const GL_EVAL_2D_NV: u32 = 34496;
pub const GL_EVAL_TRIANGULAR_2D_NV: u32 = 34497;
pub const GL_MAP_TESSELLATION_NV: u32 = 34498;
pub const GL_MAP_ATTRIB_U_ORDER_NV: u32 = 34499;
pub const GL_MAP_ATTRIB_V_ORDER_NV: u32 = 34500;
pub const GL_EVAL_FRACTIONAL_TESSELLATION_NV: u32 = 34501;
pub const GL_EVAL_VERTEX_ATTRIB0_NV: u32 = 34502;
pub const GL_EVAL_VERTEX_ATTRIB1_NV: u32 = 34503;
pub const GL_EVAL_VERTEX_ATTRIB2_NV: u32 = 34504;
pub const GL_EVAL_VERTEX_ATTRIB3_NV: u32 = 34505;
pub const GL_EVAL_VERTEX_ATTRIB4_NV: u32 = 34506;
pub const GL_EVAL_VERTEX_ATTRIB5_NV: u32 = 34507;
pub const GL_EVAL_VERTEX_ATTRIB6_NV: u32 = 34508;
pub const GL_EVAL_VERTEX_ATTRIB7_NV: u32 = 34509;
pub const GL_EVAL_VERTEX_ATTRIB8_NV: u32 = 34510;
pub const GL_EVAL_VERTEX_ATTRIB9_NV: u32 = 34511;
pub const GL_EVAL_VERTEX_ATTRIB10_NV: u32 = 34512;
pub const GL_EVAL_VERTEX_ATTRIB11_NV: u32 = 34513;
pub const GL_EVAL_VERTEX_ATTRIB12_NV: u32 = 34514;
pub const GL_EVAL_VERTEX_ATTRIB13_NV: u32 = 34515;
pub const GL_EVAL_VERTEX_ATTRIB14_NV: u32 = 34516;
pub const GL_EVAL_VERTEX_ATTRIB15_NV: u32 = 34517;
pub const GL_MAX_MAP_TESSELLATION_NV: u32 = 34518;
pub const GL_MAX_RATIONAL_EVAL_ORDER_NV: u32 = 34519;
pub const GL_NV_explicit_multisample: u32 = 1;
pub const GL_SAMPLE_POSITION_NV: u32 = 36432;
pub const GL_SAMPLE_MASK_NV: u32 = 36433;
pub const GL_SAMPLE_MASK_VALUE_NV: u32 = 36434;
pub const GL_TEXTURE_BINDING_RENDERBUFFER_NV: u32 = 36435;
pub const GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV: u32 = 36436;
pub const GL_TEXTURE_RENDERBUFFER_NV: u32 = 36437;
pub const GL_SAMPLER_RENDERBUFFER_NV: u32 = 36438;
pub const GL_INT_SAMPLER_RENDERBUFFER_NV: u32 = 36439;
pub const GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV: u32 = 36440;
pub const GL_MAX_SAMPLE_MASK_WORDS_NV: u32 = 36441;
pub const GL_NV_fence: u32 = 1;
pub const GL_ALL_COMPLETED_NV: u32 = 34034;
pub const GL_FENCE_STATUS_NV: u32 = 34035;
pub const GL_FENCE_CONDITION_NV: u32 = 34036;
pub const GL_NV_fill_rectangle: u32 = 1;
pub const GL_FILL_RECTANGLE_NV: u32 = 37692;
pub const GL_NV_float_buffer: u32 = 1;
pub const GL_FLOAT_R_NV: u32 = 34944;
pub const GL_FLOAT_RG_NV: u32 = 34945;
pub const GL_FLOAT_RGB_NV: u32 = 34946;
pub const GL_FLOAT_RGBA_NV: u32 = 34947;
pub const GL_FLOAT_R16_NV: u32 = 34948;
pub const GL_FLOAT_R32_NV: u32 = 34949;
pub const GL_FLOAT_RG16_NV: u32 = 34950;
pub const GL_FLOAT_RG32_NV: u32 = 34951;
pub const GL_FLOAT_RGB16_NV: u32 = 34952;
pub const GL_FLOAT_RGB32_NV: u32 = 34953;
pub const GL_FLOAT_RGBA16_NV: u32 = 34954;
pub const GL_FLOAT_RGBA32_NV: u32 = 34955;
pub const GL_TEXTURE_FLOAT_COMPONENTS_NV: u32 = 34956;
pub const GL_FLOAT_CLEAR_COLOR_VALUE_NV: u32 = 34957;
pub const GL_FLOAT_RGBA_MODE_NV: u32 = 34958;
pub const GL_NV_fog_distance: u32 = 1;
pub const GL_FOG_DISTANCE_MODE_NV: u32 = 34138;
pub const GL_EYE_RADIAL_NV: u32 = 34139;
pub const GL_EYE_PLANE_ABSOLUTE_NV: u32 = 34140;
pub const GL_NV_fragment_coverage_to_color: u32 = 1;
pub const GL_FRAGMENT_COVERAGE_TO_COLOR_NV: u32 = 37597;
pub const GL_FRAGMENT_COVERAGE_COLOR_NV: u32 = 37598;
pub const GL_NV_fragment_program: u32 = 1;
pub const GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV: u32 = 34920;
pub const GL_FRAGMENT_PROGRAM_NV: u32 = 34928;
pub const GL_MAX_TEXTURE_COORDS_NV: u32 = 34929;
pub const GL_MAX_TEXTURE_IMAGE_UNITS_NV: u32 = 34930;
pub const GL_FRAGMENT_PROGRAM_BINDING_NV: u32 = 34931;
pub const GL_PROGRAM_ERROR_STRING_NV: u32 = 34932;
pub const GL_NV_fragment_program2: u32 = 1;
pub const GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV: u32 = 35060;
pub const GL_MAX_PROGRAM_CALL_DEPTH_NV: u32 = 35061;
pub const GL_MAX_PROGRAM_IF_DEPTH_NV: u32 = 35062;
pub const GL_MAX_PROGRAM_LOOP_DEPTH_NV: u32 = 35063;
pub const GL_MAX_PROGRAM_LOOP_COUNT_NV: u32 = 35064;
pub const GL_NV_fragment_program4: u32 = 1;
pub const GL_NV_fragment_program_option: u32 = 1;
pub const GL_NV_fragment_shader_interlock: u32 = 1;
pub const GL_NV_framebuffer_mixed_samples: u32 = 1;
pub const GL_COVERAGE_MODULATION_TABLE_NV: u32 = 37681;
pub const GL_COLOR_SAMPLES_NV: u32 = 36384;
pub const GL_DEPTH_SAMPLES_NV: u32 = 37677;
pub const GL_STENCIL_SAMPLES_NV: u32 = 37678;
pub const GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV: u32 = 37679;
pub const GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV: u32 = 37680;
pub const GL_COVERAGE_MODULATION_NV: u32 = 37682;
pub const GL_COVERAGE_MODULATION_TABLE_SIZE_NV: u32 = 37683;
pub const GL_NV_framebuffer_multisample_coverage: u32 = 1;
pub const GL_RENDERBUFFER_COVERAGE_SAMPLES_NV: u32 = 36011;
pub const GL_RENDERBUFFER_COLOR_SAMPLES_NV: u32 = 36368;
pub const GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV: u32 = 36369;
pub const GL_MULTISAMPLE_COVERAGE_MODES_NV: u32 = 36370;
pub const GL_NV_geometry_program4: u32 = 1;
pub const GL_GEOMETRY_PROGRAM_NV: u32 = 35878;
pub const GL_MAX_PROGRAM_OUTPUT_VERTICES_NV: u32 = 35879;
pub const GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV: u32 = 35880;
pub const GL_NV_geometry_shader4: u32 = 1;
pub const GL_NV_geometry_shader_passthrough: u32 = 1;
pub const GL_NV_gpu_multicast: u32 = 1;
pub const GL_PER_GPU_STORAGE_BIT_NV: u32 = 2048;
pub const GL_MULTICAST_GPUS_NV: u32 = 37562;
pub const GL_RENDER_GPU_MASK_NV: u32 = 38232;
pub const GL_PER_GPU_STORAGE_NV: u32 = 38216;
pub const GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV: u32 = 38217;
pub const GL_NV_gpu_program4: u32 = 1;
pub const GL_MIN_PROGRAM_TEXEL_OFFSET_NV: u32 = 35076;
pub const GL_MAX_PROGRAM_TEXEL_OFFSET_NV: u32 = 35077;
pub const GL_PROGRAM_ATTRIB_COMPONENTS_NV: u32 = 35078;
pub const GL_PROGRAM_RESULT_COMPONENTS_NV: u32 = 35079;
pub const GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV: u32 = 35080;
pub const GL_MAX_PROGRAM_RESULT_COMPONENTS_NV: u32 = 35081;
pub const GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV: u32 = 36261;
pub const GL_MAX_PROGRAM_GENERIC_RESULTS_NV: u32 = 36262;
pub const GL_NV_gpu_program5: u32 = 1;
pub const GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV: u32 = 36442;
pub const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV: u32 = 36443;
pub const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV: u32 = 36444;
pub const GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV: u32 = 36445;
pub const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV: u32 = 36446;
pub const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV: u32 = 36447;
pub const GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV: u32 = 36676;
pub const GL_MAX_PROGRAM_SUBROUTINE_NUM_NV: u32 = 36677;
pub const GL_NV_gpu_program5_mem_extended: u32 = 1;
pub const GL_NV_gpu_shader5: u32 = 1;
pub const GL_NV_half_float: u32 = 1;
pub const GL_HALF_FLOAT_NV: u32 = 5131;
pub const GL_NV_internalformat_sample_query: u32 = 1;
pub const GL_MULTISAMPLES_NV: u32 = 37745;
pub const GL_SUPERSAMPLE_SCALE_X_NV: u32 = 37746;
pub const GL_SUPERSAMPLE_SCALE_Y_NV: u32 = 37747;
pub const GL_CONFORMANT_NV: u32 = 37748;
pub const GL_NV_light_max_exponent: u32 = 1;
pub const GL_MAX_SHININESS_NV: u32 = 34052;
pub const GL_MAX_SPOT_EXPONENT_NV: u32 = 34053;
pub const GL_NV_multisample_coverage: u32 = 1;
pub const GL_NV_multisample_filter_hint: u32 = 1;
pub const GL_MULTISAMPLE_FILTER_HINT_NV: u32 = 34100;
pub const GL_NV_occlusion_query: u32 = 1;
pub const GL_PIXEL_COUNTER_BITS_NV: u32 = 34916;
pub const GL_CURRENT_OCCLUSION_QUERY_ID_NV: u32 = 34917;
pub const GL_PIXEL_COUNT_NV: u32 = 34918;
pub const GL_PIXEL_COUNT_AVAILABLE_NV: u32 = 34919;
pub const GL_NV_packed_depth_stencil: u32 = 1;
pub const GL_DEPTH_STENCIL_NV: u32 = 34041;
pub const GL_UNSIGNED_INT_24_8_NV: u32 = 34042;
pub const GL_NV_parameter_buffer_object: u32 = 1;
pub const GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV: u32 = 36256;
pub const GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV: u32 = 36257;
pub const GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV: u32 = 36258;
pub const GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV: u32 = 36259;
pub const GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV: u32 = 36260;
pub const GL_NV_parameter_buffer_object2: u32 = 1;
pub const GL_NV_path_rendering: u32 = 1;
pub const GL_PATH_FORMAT_SVG_NV: u32 = 36976;
pub const GL_PATH_FORMAT_PS_NV: u32 = 36977;
pub const GL_STANDARD_FONT_NAME_NV: u32 = 36978;
pub const GL_SYSTEM_FONT_NAME_NV: u32 = 36979;
pub const GL_FILE_NAME_NV: u32 = 36980;
pub const GL_PATH_STROKE_WIDTH_NV: u32 = 36981;
pub const GL_PATH_END_CAPS_NV: u32 = 36982;
pub const GL_PATH_INITIAL_END_CAP_NV: u32 = 36983;
pub const GL_PATH_TERMINAL_END_CAP_NV: u32 = 36984;
pub const GL_PATH_JOIN_STYLE_NV: u32 = 36985;
pub const GL_PATH_MITER_LIMIT_NV: u32 = 36986;
pub const GL_PATH_DASH_CAPS_NV: u32 = 36987;
pub const GL_PATH_INITIAL_DASH_CAP_NV: u32 = 36988;
pub const GL_PATH_TERMINAL_DASH_CAP_NV: u32 = 36989;
pub const GL_PATH_DASH_OFFSET_NV: u32 = 36990;
pub const GL_PATH_CLIENT_LENGTH_NV: u32 = 36991;
pub const GL_PATH_FILL_MODE_NV: u32 = 36992;
pub const GL_PATH_FILL_MASK_NV: u32 = 36993;
pub const GL_PATH_FILL_COVER_MODE_NV: u32 = 36994;
pub const GL_PATH_STROKE_COVER_MODE_NV: u32 = 36995;
pub const GL_PATH_STROKE_MASK_NV: u32 = 36996;
pub const GL_COUNT_UP_NV: u32 = 37000;
pub const GL_COUNT_DOWN_NV: u32 = 37001;
pub const GL_PATH_OBJECT_BOUNDING_BOX_NV: u32 = 37002;
pub const GL_CONVEX_HULL_NV: u32 = 37003;
pub const GL_BOUNDING_BOX_NV: u32 = 37005;
pub const GL_TRANSLATE_X_NV: u32 = 37006;
pub const GL_TRANSLATE_Y_NV: u32 = 37007;
pub const GL_TRANSLATE_2D_NV: u32 = 37008;
pub const GL_TRANSLATE_3D_NV: u32 = 37009;
pub const GL_AFFINE_2D_NV: u32 = 37010;
pub const GL_AFFINE_3D_NV: u32 = 37012;
pub const GL_TRANSPOSE_AFFINE_2D_NV: u32 = 37014;
pub const GL_TRANSPOSE_AFFINE_3D_NV: u32 = 37016;
pub const GL_UTF8_NV: u32 = 37018;
pub const GL_UTF16_NV: u32 = 37019;
pub const GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV: u32 = 37020;
pub const GL_PATH_COMMAND_COUNT_NV: u32 = 37021;
pub const GL_PATH_COORD_COUNT_NV: u32 = 37022;
pub const GL_PATH_DASH_ARRAY_COUNT_NV: u32 = 37023;
pub const GL_PATH_COMPUTED_LENGTH_NV: u32 = 37024;
pub const GL_PATH_FILL_BOUNDING_BOX_NV: u32 = 37025;
pub const GL_PATH_STROKE_BOUNDING_BOX_NV: u32 = 37026;
pub const GL_SQUARE_NV: u32 = 37027;
pub const GL_ROUND_NV: u32 = 37028;
pub const GL_TRIANGULAR_NV: u32 = 37029;
pub const GL_BEVEL_NV: u32 = 37030;
pub const GL_MITER_REVERT_NV: u32 = 37031;
pub const GL_MITER_TRUNCATE_NV: u32 = 37032;
pub const GL_SKIP_MISSING_GLYPH_NV: u32 = 37033;
pub const GL_USE_MISSING_GLYPH_NV: u32 = 37034;
pub const GL_PATH_ERROR_POSITION_NV: u32 = 37035;
pub const GL_ACCUM_ADJACENT_PAIRS_NV: u32 = 37037;
pub const GL_ADJACENT_PAIRS_NV: u32 = 37038;
pub const GL_FIRST_TO_REST_NV: u32 = 37039;
pub const GL_PATH_GEN_MODE_NV: u32 = 37040;
pub const GL_PATH_GEN_COEFF_NV: u32 = 37041;
pub const GL_PATH_GEN_COMPONENTS_NV: u32 = 37043;
pub const GL_PATH_STENCIL_FUNC_NV: u32 = 37047;
pub const GL_PATH_STENCIL_REF_NV: u32 = 37048;
pub const GL_PATH_STENCIL_VALUE_MASK_NV: u32 = 37049;
pub const GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV: u32 = 37053;
pub const GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV: u32 = 37054;
pub const GL_PATH_COVER_DEPTH_FUNC_NV: u32 = 37055;
pub const GL_PATH_DASH_OFFSET_RESET_NV: u32 = 37044;
pub const GL_MOVE_TO_RESETS_NV: u32 = 37045;
pub const GL_MOVE_TO_CONTINUES_NV: u32 = 37046;
pub const GL_CLOSE_PATH_NV: u32 = 0;
pub const GL_MOVE_TO_NV: u32 = 2;
pub const GL_RELATIVE_MOVE_TO_NV: u32 = 3;
pub const GL_LINE_TO_NV: u32 = 4;
pub const GL_RELATIVE_LINE_TO_NV: u32 = 5;
pub const GL_HORIZONTAL_LINE_TO_NV: u32 = 6;
pub const GL_RELATIVE_HORIZONTAL_LINE_TO_NV: u32 = 7;
pub const GL_VERTICAL_LINE_TO_NV: u32 = 8;
pub const GL_RELATIVE_VERTICAL_LINE_TO_NV: u32 = 9;
pub const GL_QUADRATIC_CURVE_TO_NV: u32 = 10;
pub const GL_RELATIVE_QUADRATIC_CURVE_TO_NV: u32 = 11;
pub const GL_CUBIC_CURVE_TO_NV: u32 = 12;
pub const GL_RELATIVE_CUBIC_CURVE_TO_NV: u32 = 13;
pub const GL_SMOOTH_QUADRATIC_CURVE_TO_NV: u32 = 14;
pub const GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV: u32 = 15;
pub const GL_SMOOTH_CUBIC_CURVE_TO_NV: u32 = 16;
pub const GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV: u32 = 17;
pub const GL_SMALL_CCW_ARC_TO_NV: u32 = 18;
pub const GL_RELATIVE_SMALL_CCW_ARC_TO_NV: u32 = 19;
pub const GL_SMALL_CW_ARC_TO_NV: u32 = 20;
pub const GL_RELATIVE_SMALL_CW_ARC_TO_NV: u32 = 21;
pub const GL_LARGE_CCW_ARC_TO_NV: u32 = 22;
pub const GL_RELATIVE_LARGE_CCW_ARC_TO_NV: u32 = 23;
pub const GL_LARGE_CW_ARC_TO_NV: u32 = 24;
pub const GL_RELATIVE_LARGE_CW_ARC_TO_NV: u32 = 25;
pub const GL_RESTART_PATH_NV: u32 = 240;
pub const GL_DUP_FIRST_CUBIC_CURVE_TO_NV: u32 = 242;
pub const GL_DUP_LAST_CUBIC_CURVE_TO_NV: u32 = 244;
pub const GL_RECT_NV: u32 = 246;
pub const GL_CIRCULAR_CCW_ARC_TO_NV: u32 = 248;
pub const GL_CIRCULAR_CW_ARC_TO_NV: u32 = 250;
pub const GL_CIRCULAR_TANGENT_ARC_TO_NV: u32 = 252;
pub const GL_ARC_TO_NV: u32 = 254;
pub const GL_RELATIVE_ARC_TO_NV: u32 = 255;
pub const GL_BOLD_BIT_NV: u32 = 1;
pub const GL_ITALIC_BIT_NV: u32 = 2;
pub const GL_GLYPH_WIDTH_BIT_NV: u32 = 1;
pub const GL_GLYPH_HEIGHT_BIT_NV: u32 = 2;
pub const GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV: u32 = 4;
pub const GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV: u32 = 8;
pub const GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV: u32 = 16;
pub const GL_GLYPH_VERTICAL_BEARING_X_BIT_NV: u32 = 32;
pub const GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV: u32 = 64;
pub const GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV: u32 = 128;
pub const GL_GLYPH_HAS_KERNING_BIT_NV: u32 = 256;
pub const GL_FONT_X_MIN_BOUNDS_BIT_NV: u32 = 65536;
pub const GL_FONT_Y_MIN_BOUNDS_BIT_NV: u32 = 131072;
pub const GL_FONT_X_MAX_BOUNDS_BIT_NV: u32 = 262144;
pub const GL_FONT_Y_MAX_BOUNDS_BIT_NV: u32 = 524288;
pub const GL_FONT_UNITS_PER_EM_BIT_NV: u32 = 1048576;
pub const GL_FONT_ASCENDER_BIT_NV: u32 = 2097152;
pub const GL_FONT_DESCENDER_BIT_NV: u32 = 4194304;
pub const GL_FONT_HEIGHT_BIT_NV: u32 = 8388608;
pub const GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV: u32 = 16777216;
pub const GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV: u32 = 33554432;
pub const GL_FONT_UNDERLINE_POSITION_BIT_NV: u32 = 67108864;
pub const GL_FONT_UNDERLINE_THICKNESS_BIT_NV: u32 = 134217728;
pub const GL_FONT_HAS_KERNING_BIT_NV: u32 = 268435456;
pub const GL_ROUNDED_RECT_NV: u32 = 232;
pub const GL_RELATIVE_ROUNDED_RECT_NV: u32 = 233;
pub const GL_ROUNDED_RECT2_NV: u32 = 234;
pub const GL_RELATIVE_ROUNDED_RECT2_NV: u32 = 235;
pub const GL_ROUNDED_RECT4_NV: u32 = 236;
pub const GL_RELATIVE_ROUNDED_RECT4_NV: u32 = 237;
pub const GL_ROUNDED_RECT8_NV: u32 = 238;
pub const GL_RELATIVE_ROUNDED_RECT8_NV: u32 = 239;
pub const GL_RELATIVE_RECT_NV: u32 = 247;
pub const GL_FONT_GLYPHS_AVAILABLE_NV: u32 = 37736;
pub const GL_FONT_TARGET_UNAVAILABLE_NV: u32 = 37737;
pub const GL_FONT_UNAVAILABLE_NV: u32 = 37738;
pub const GL_FONT_UNINTELLIGIBLE_NV: u32 = 37739;
pub const GL_CONIC_CURVE_TO_NV: u32 = 26;
pub const GL_RELATIVE_CONIC_CURVE_TO_NV: u32 = 27;
pub const GL_FONT_NUM_GLYPH_INDICES_BIT_NV: u32 = 536870912;
pub const GL_STANDARD_FONT_FORMAT_NV: u32 = 37740;
pub const GL_2_BYTES_NV: u32 = 5127;
pub const GL_3_BYTES_NV: u32 = 5128;
pub const GL_4_BYTES_NV: u32 = 5129;
pub const GL_EYE_LINEAR_NV: u32 = 9216;
pub const GL_OBJECT_LINEAR_NV: u32 = 9217;
pub const GL_CONSTANT_NV: u32 = 34166;
pub const GL_PATH_FOG_GEN_MODE_NV: u32 = 37036;
pub const GL_PRIMARY_COLOR_NV: u32 = 34092;
pub const GL_SECONDARY_COLOR_NV: u32 = 34093;
pub const GL_PATH_GEN_COLOR_FORMAT_NV: u32 = 37042;
pub const GL_PATH_PROJECTION_NV: u32 = 5889;
pub const GL_PATH_MODELVIEW_NV: u32 = 5888;
pub const GL_PATH_MODELVIEW_STACK_DEPTH_NV: u32 = 2979;
pub const GL_PATH_MODELVIEW_MATRIX_NV: u32 = 2982;
pub const GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV: u32 = 3382;
pub const GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV: u32 = 34019;
pub const GL_PATH_PROJECTION_STACK_DEPTH_NV: u32 = 2980;
pub const GL_PATH_PROJECTION_MATRIX_NV: u32 = 2983;
pub const GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV: u32 = 3384;
pub const GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV: u32 = 34020;
pub const GL_FRAGMENT_INPUT_NV: u32 = 37741;
pub const GL_NV_path_rendering_shared_edge: u32 = 1;
pub const GL_SHARED_EDGE_NV: u32 = 192;
pub const GL_NV_pixel_data_range: u32 = 1;
pub const GL_WRITE_PIXEL_DATA_RANGE_NV: u32 = 34936;
pub const GL_READ_PIXEL_DATA_RANGE_NV: u32 = 34937;
pub const GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV: u32 = 34938;
pub const GL_READ_PIXEL_DATA_RANGE_LENGTH_NV: u32 = 34939;
pub const GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV: u32 = 34940;
pub const GL_READ_PIXEL_DATA_RANGE_POINTER_NV: u32 = 34941;
pub const GL_NV_point_sprite: u32 = 1;
pub const GL_POINT_SPRITE_NV: u32 = 34913;
pub const GL_COORD_REPLACE_NV: u32 = 34914;
pub const GL_POINT_SPRITE_R_MODE_NV: u32 = 34915;
pub const GL_NV_present_video: u32 = 1;
pub const GL_FRAME_NV: u32 = 36390;
pub const GL_FIELDS_NV: u32 = 36391;
pub const GL_CURRENT_TIME_NV: u32 = 36392;
pub const GL_NUM_FILL_STREAMS_NV: u32 = 36393;
pub const GL_PRESENT_TIME_NV: u32 = 36394;
pub const GL_PRESENT_DURATION_NV: u32 = 36395;
pub const GL_NV_primitive_restart: u32 = 1;
pub const GL_PRIMITIVE_RESTART_NV: u32 = 34136;
pub const GL_PRIMITIVE_RESTART_INDEX_NV: u32 = 34137;
pub const GL_NV_query_resource: u32 = 1;
pub const GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV: u32 = 38208;
pub const GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV: u32 = 38210;
pub const GL_QUERY_RESOURCE_SYS_RESERVED_NV: u32 = 38212;
pub const GL_QUERY_RESOURCE_TEXTURE_NV: u32 = 38213;
pub const GL_QUERY_RESOURCE_RENDERBUFFER_NV: u32 = 38214;
pub const GL_QUERY_RESOURCE_BUFFEROBJECT_NV: u32 = 38215;
pub const GL_NV_query_resource_tag: u32 = 1;
pub const GL_NV_register_combiners: u32 = 1;
pub const GL_REGISTER_COMBINERS_NV: u32 = 34082;
pub const GL_VARIABLE_A_NV: u32 = 34083;
pub const GL_VARIABLE_B_NV: u32 = 34084;
pub const GL_VARIABLE_C_NV: u32 = 34085;
pub const GL_VARIABLE_D_NV: u32 = 34086;
pub const GL_VARIABLE_E_NV: u32 = 34087;
pub const GL_VARIABLE_F_NV: u32 = 34088;
pub const GL_VARIABLE_G_NV: u32 = 34089;
pub const GL_CONSTANT_COLOR0_NV: u32 = 34090;
pub const GL_CONSTANT_COLOR1_NV: u32 = 34091;
pub const GL_SPARE0_NV: u32 = 34094;
pub const GL_SPARE1_NV: u32 = 34095;
pub const GL_DISCARD_NV: u32 = 34096;
pub const GL_E_TIMES_F_NV: u32 = 34097;
pub const GL_SPARE0_PLUS_SECONDARY_COLOR_NV: u32 = 34098;
pub const GL_UNSIGNED_IDENTITY_NV: u32 = 34102;
pub const GL_UNSIGNED_INVERT_NV: u32 = 34103;
pub const GL_EXPAND_NORMAL_NV: u32 = 34104;
pub const GL_EXPAND_NEGATE_NV: u32 = 34105;
pub const GL_HALF_BIAS_NORMAL_NV: u32 = 34106;
pub const GL_HALF_BIAS_NEGATE_NV: u32 = 34107;
pub const GL_SIGNED_IDENTITY_NV: u32 = 34108;
pub const GL_SIGNED_NEGATE_NV: u32 = 34109;
pub const GL_SCALE_BY_TWO_NV: u32 = 34110;
pub const GL_SCALE_BY_FOUR_NV: u32 = 34111;
pub const GL_SCALE_BY_ONE_HALF_NV: u32 = 34112;
pub const GL_BIAS_BY_NEGATIVE_ONE_HALF_NV: u32 = 34113;
pub const GL_COMBINER_INPUT_NV: u32 = 34114;
pub const GL_COMBINER_MAPPING_NV: u32 = 34115;
pub const GL_COMBINER_COMPONENT_USAGE_NV: u32 = 34116;
pub const GL_COMBINER_AB_DOT_PRODUCT_NV: u32 = 34117;
pub const GL_COMBINER_CD_DOT_PRODUCT_NV: u32 = 34118;
pub const GL_COMBINER_MUX_SUM_NV: u32 = 34119;
pub const GL_COMBINER_SCALE_NV: u32 = 34120;
pub const GL_COMBINER_BIAS_NV: u32 = 34121;
pub const GL_COMBINER_AB_OUTPUT_NV: u32 = 34122;
pub const GL_COMBINER_CD_OUTPUT_NV: u32 = 34123;
pub const GL_COMBINER_SUM_OUTPUT_NV: u32 = 34124;
pub const GL_MAX_GENERAL_COMBINERS_NV: u32 = 34125;
pub const GL_NUM_GENERAL_COMBINERS_NV: u32 = 34126;
pub const GL_COLOR_SUM_CLAMP_NV: u32 = 34127;
pub const GL_COMBINER0_NV: u32 = 34128;
pub const GL_COMBINER1_NV: u32 = 34129;
pub const GL_COMBINER2_NV: u32 = 34130;
pub const GL_COMBINER3_NV: u32 = 34131;
pub const GL_COMBINER4_NV: u32 = 34132;
pub const GL_COMBINER5_NV: u32 = 34133;
pub const GL_COMBINER6_NV: u32 = 34134;
pub const GL_COMBINER7_NV: u32 = 34135;
pub const GL_NV_register_combiners2: u32 = 1;
pub const GL_PER_STAGE_CONSTANTS_NV: u32 = 34101;
pub const GL_NV_robustness_video_memory_purge: u32 = 1;
pub const GL_PURGED_CONTEXT_RESET_NV: u32 = 37563;
pub const GL_NV_sample_locations: u32 = 1;
pub const GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV: u32 = 37693;
pub const GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV: u32 = 37694;
pub const GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV: u32 = 37695;
pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV: u32 = 37696;
pub const GL_SAMPLE_LOCATION_NV: u32 = 36432;
pub const GL_PROGRAMMABLE_SAMPLE_LOCATION_NV: u32 = 37697;
pub const GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV: u32 = 37698;
pub const GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV: u32 = 37699;
pub const GL_NV_sample_mask_override_coverage: u32 = 1;
pub const GL_NV_shader_atomic_counters: u32 = 1;
pub const GL_NV_shader_atomic_float: u32 = 1;
pub const GL_NV_shader_atomic_float64: u32 = 1;
pub const GL_NV_shader_atomic_fp16_vector: u32 = 1;
pub const GL_NV_shader_atomic_int64: u32 = 1;
pub const GL_NV_shader_buffer_load: u32 = 1;
pub const GL_BUFFER_GPU_ADDRESS_NV: u32 = 36637;
pub const GL_GPU_ADDRESS_NV: u32 = 36660;
pub const GL_MAX_SHADER_BUFFER_ADDRESS_NV: u32 = 36661;
pub const GL_NV_shader_buffer_store: u32 = 1;
pub const GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV: u32 = 16;
pub const GL_NV_shader_storage_buffer_object: u32 = 1;
pub const GL_NV_shader_thread_group: u32 = 1;
pub const GL_WARP_SIZE_NV: u32 = 37689;
pub const GL_WARPS_PER_SM_NV: u32 = 37690;
pub const GL_SM_COUNT_NV: u32 = 37691;
pub const GL_NV_shader_thread_shuffle: u32 = 1;
pub const GL_NV_stereo_view_rendering: u32 = 1;
pub const GL_NV_tessellation_program5: u32 = 1;
pub const GL_MAX_PROGRAM_PATCH_ATTRIBS_NV: u32 = 34520;
pub const GL_TESS_CONTROL_PROGRAM_NV: u32 = 35102;
pub const GL_TESS_EVALUATION_PROGRAM_NV: u32 = 35103;
pub const GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV: u32 = 35956;
pub const GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV: u32 = 35957;
pub const GL_NV_texgen_emboss: u32 = 1;
pub const GL_EMBOSS_LIGHT_NV: u32 = 34141;
pub const GL_EMBOSS_CONSTANT_NV: u32 = 34142;
pub const GL_EMBOSS_MAP_NV: u32 = 34143;
pub const GL_NV_texgen_reflection: u32 = 1;
pub const GL_NORMAL_MAP_NV: u32 = 34065;
pub const GL_REFLECTION_MAP_NV: u32 = 34066;
pub const GL_NV_texture_barrier: u32 = 1;
pub const GL_NV_texture_compression_vtc: u32 = 1;
pub const GL_NV_texture_env_combine4: u32 = 1;
pub const GL_COMBINE4_NV: u32 = 34051;
pub const GL_SOURCE3_RGB_NV: u32 = 34179;
pub const GL_SOURCE3_ALPHA_NV: u32 = 34187;
pub const GL_OPERAND3_RGB_NV: u32 = 34195;
pub const GL_OPERAND3_ALPHA_NV: u32 = 34203;
pub const GL_NV_texture_expand_normal: u32 = 1;
pub const GL_TEXTURE_UNSIGNED_REMAP_MODE_NV: u32 = 34959;
pub const GL_NV_texture_multisample: u32 = 1;
pub const GL_TEXTURE_COVERAGE_SAMPLES_NV: u32 = 36933;
pub const GL_TEXTURE_COLOR_SAMPLES_NV: u32 = 36934;
pub const GL_NV_texture_rectangle: u32 = 1;
pub const GL_TEXTURE_RECTANGLE_NV: u32 = 34037;
pub const GL_TEXTURE_BINDING_RECTANGLE_NV: u32 = 34038;
pub const GL_PROXY_TEXTURE_RECTANGLE_NV: u32 = 34039;
pub const GL_MAX_RECTANGLE_TEXTURE_SIZE_NV: u32 = 34040;
pub const GL_NV_texture_rectangle_compressed: u32 = 1;
pub const GL_NV_texture_shader: u32 = 1;
pub const GL_OFFSET_TEXTURE_RECTANGLE_NV: u32 = 34380;
pub const GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV: u32 = 34381;
pub const GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV: u32 = 34382;
pub const GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV: u32 = 34521;
pub const GL_UNSIGNED_INT_S8_S8_8_8_NV: u32 = 34522;
pub const GL_UNSIGNED_INT_8_8_S8_S8_REV_NV: u32 = 34523;
pub const GL_DSDT_MAG_INTENSITY_NV: u32 = 34524;
pub const GL_SHADER_CONSISTENT_NV: u32 = 34525;
pub const GL_TEXTURE_SHADER_NV: u32 = 34526;
pub const GL_SHADER_OPERATION_NV: u32 = 34527;
pub const GL_CULL_MODES_NV: u32 = 34528;
pub const GL_OFFSET_TEXTURE_MATRIX_NV: u32 = 34529;
pub const GL_OFFSET_TEXTURE_SCALE_NV: u32 = 34530;
pub const GL_OFFSET_TEXTURE_BIAS_NV: u32 = 34531;
pub const GL_OFFSET_TEXTURE_2D_MATRIX_NV: u32 = 34529;
pub const GL_OFFSET_TEXTURE_2D_SCALE_NV: u32 = 34530;
pub const GL_OFFSET_TEXTURE_2D_BIAS_NV: u32 = 34531;
pub const GL_PREVIOUS_TEXTURE_INPUT_NV: u32 = 34532;
pub const GL_CONST_EYE_NV: u32 = 34533;
pub const GL_PASS_THROUGH_NV: u32 = 34534;
pub const GL_CULL_FRAGMENT_NV: u32 = 34535;
pub const GL_OFFSET_TEXTURE_2D_NV: u32 = 34536;
pub const GL_DEPENDENT_AR_TEXTURE_2D_NV: u32 = 34537;
pub const GL_DEPENDENT_GB_TEXTURE_2D_NV: u32 = 34538;
pub const GL_DOT_PRODUCT_NV: u32 = 34540;
pub const GL_DOT_PRODUCT_DEPTH_REPLACE_NV: u32 = 34541;
pub const GL_DOT_PRODUCT_TEXTURE_2D_NV: u32 = 34542;
pub const GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV: u32 = 34544;
pub const GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV: u32 = 34545;
pub const GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV: u32 = 34546;
pub const GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV: u32 = 34547;
pub const GL_HILO_NV: u32 = 34548;
pub const GL_DSDT_NV: u32 = 34549;
pub const GL_DSDT_MAG_NV: u32 = 34550;
pub const GL_DSDT_MAG_VIB_NV: u32 = 34551;
pub const GL_HILO16_NV: u32 = 34552;
pub const GL_SIGNED_HILO_NV: u32 = 34553;
pub const GL_SIGNED_HILO16_NV: u32 = 34554;
pub const GL_SIGNED_RGBA_NV: u32 = 34555;
pub const GL_SIGNED_RGBA8_NV: u32 = 34556;
pub const GL_SIGNED_RGB_NV: u32 = 34558;
pub const GL_SIGNED_RGB8_NV: u32 = 34559;
pub const GL_SIGNED_LUMINANCE_NV: u32 = 34561;
pub const GL_SIGNED_LUMINANCE8_NV: u32 = 34562;
pub const GL_SIGNED_LUMINANCE_ALPHA_NV: u32 = 34563;
pub const GL_SIGNED_LUMINANCE8_ALPHA8_NV: u32 = 34564;
pub const GL_SIGNED_ALPHA_NV: u32 = 34565;
pub const GL_SIGNED_ALPHA8_NV: u32 = 34566;
pub const GL_SIGNED_INTENSITY_NV: u32 = 34567;
pub const GL_SIGNED_INTENSITY8_NV: u32 = 34568;
pub const GL_DSDT8_NV: u32 = 34569;
pub const GL_DSDT8_MAG8_NV: u32 = 34570;
pub const GL_DSDT8_MAG8_INTENSITY8_NV: u32 = 34571;
pub const GL_SIGNED_RGB_UNSIGNED_ALPHA_NV: u32 = 34572;
pub const GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV: u32 = 34573;
pub const GL_HI_SCALE_NV: u32 = 34574;
pub const GL_LO_SCALE_NV: u32 = 34575;
pub const GL_DS_SCALE_NV: u32 = 34576;
pub const GL_DT_SCALE_NV: u32 = 34577;
pub const GL_MAGNITUDE_SCALE_NV: u32 = 34578;
pub const GL_VIBRANCE_SCALE_NV: u32 = 34579;
pub const GL_HI_BIAS_NV: u32 = 34580;
pub const GL_LO_BIAS_NV: u32 = 34581;
pub const GL_DS_BIAS_NV: u32 = 34582;
pub const GL_DT_BIAS_NV: u32 = 34583;
pub const GL_MAGNITUDE_BIAS_NV: u32 = 34584;
pub const GL_VIBRANCE_BIAS_NV: u32 = 34585;
pub const GL_TEXTURE_BORDER_VALUES_NV: u32 = 34586;
pub const GL_TEXTURE_HI_SIZE_NV: u32 = 34587;
pub const GL_TEXTURE_LO_SIZE_NV: u32 = 34588;
pub const GL_TEXTURE_DS_SIZE_NV: u32 = 34589;
pub const GL_TEXTURE_DT_SIZE_NV: u32 = 34590;
pub const GL_TEXTURE_MAG_SIZE_NV: u32 = 34591;
pub const GL_NV_texture_shader2: u32 = 1;
pub const GL_DOT_PRODUCT_TEXTURE_3D_NV: u32 = 34543;
pub const GL_NV_texture_shader3: u32 = 1;
pub const GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV: u32 = 34896;
pub const GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV: u32 = 34897;
pub const GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV: u32 = 34898;
pub const GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV: u32 = 34899;
pub const GL_OFFSET_HILO_TEXTURE_2D_NV: u32 = 34900;
pub const GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV: u32 = 34901;
pub const GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV: u32 = 34902;
pub const GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV: u32 = 34903;
pub const GL_DEPENDENT_HILO_TEXTURE_2D_NV: u32 = 34904;
pub const GL_DEPENDENT_RGB_TEXTURE_3D_NV: u32 = 34905;
pub const GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV: u32 = 34906;
pub const GL_DOT_PRODUCT_PASS_THROUGH_NV: u32 = 34907;
pub const GL_DOT_PRODUCT_TEXTURE_1D_NV: u32 = 34908;
pub const GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV: u32 = 34909;
pub const GL_HILO8_NV: u32 = 34910;
pub const GL_SIGNED_HILO8_NV: u32 = 34911;
pub const GL_FORCE_BLUE_TO_ONE_NV: u32 = 34912;
pub const GL_NV_transform_feedback: u32 = 1;
pub const GL_BACK_PRIMARY_COLOR_NV: u32 = 35959;
pub const GL_BACK_SECONDARY_COLOR_NV: u32 = 35960;
pub const GL_TEXTURE_COORD_NV: u32 = 35961;
pub const GL_CLIP_DISTANCE_NV: u32 = 35962;
pub const GL_VERTEX_ID_NV: u32 = 35963;
pub const GL_PRIMITIVE_ID_NV: u32 = 35964;
pub const GL_GENERIC_ATTRIB_NV: u32 = 35965;
pub const GL_TRANSFORM_FEEDBACK_ATTRIBS_NV: u32 = 35966;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV: u32 = 35967;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV: u32 = 35968;
pub const GL_ACTIVE_VARYINGS_NV: u32 = 35969;
pub const GL_ACTIVE_VARYING_MAX_LENGTH_NV: u32 = 35970;
pub const GL_TRANSFORM_FEEDBACK_VARYINGS_NV: u32 = 35971;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_START_NV: u32 = 35972;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV: u32 = 35973;
pub const GL_TRANSFORM_FEEDBACK_RECORD_NV: u32 = 35974;
pub const GL_PRIMITIVES_GENERATED_NV: u32 = 35975;
pub const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV: u32 = 35976;
pub const GL_RASTERIZER_DISCARD_NV: u32 = 35977;
pub const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV: u32 = 35978;
pub const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV: u32 = 35979;
pub const GL_INTERLEAVED_ATTRIBS_NV: u32 = 35980;
pub const GL_SEPARATE_ATTRIBS_NV: u32 = 35981;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_NV: u32 = 35982;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV: u32 = 35983;
pub const GL_LAYER_NV: u32 = 36266;
pub const GL_NEXT_BUFFER_NV: i32 = -2;
pub const GL_SKIP_COMPONENTS4_NV: i32 = -3;
pub const GL_SKIP_COMPONENTS3_NV: i32 = -4;
pub const GL_SKIP_COMPONENTS2_NV: i32 = -5;
pub const GL_SKIP_COMPONENTS1_NV: i32 = -6;
pub const GL_NV_transform_feedback2: u32 = 1;
pub const GL_TRANSFORM_FEEDBACK_NV: u32 = 36386;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV: u32 = 36387;
pub const GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV: u32 = 36388;
pub const GL_TRANSFORM_FEEDBACK_BINDING_NV: u32 = 36389;
pub const GL_NV_uniform_buffer_unified_memory: u32 = 1;
pub const GL_UNIFORM_BUFFER_UNIFIED_NV: u32 = 37742;
pub const GL_UNIFORM_BUFFER_ADDRESS_NV: u32 = 37743;
pub const GL_UNIFORM_BUFFER_LENGTH_NV: u32 = 37744;
pub const GL_NV_vdpau_interop: u32 = 1;
pub const GL_SURFACE_STATE_NV: u32 = 34539;
pub const GL_SURFACE_REGISTERED_NV: u32 = 34557;
pub const GL_SURFACE_MAPPED_NV: u32 = 34560;
pub const GL_WRITE_DISCARD_NV: u32 = 35006;
pub const GL_NV_vertex_array_range: u32 = 1;
pub const GL_VERTEX_ARRAY_RANGE_NV: u32 = 34077;
pub const GL_VERTEX_ARRAY_RANGE_LENGTH_NV: u32 = 34078;
pub const GL_VERTEX_ARRAY_RANGE_VALID_NV: u32 = 34079;
pub const GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV: u32 = 34080;
pub const GL_VERTEX_ARRAY_RANGE_POINTER_NV: u32 = 34081;
pub const GL_NV_vertex_array_range2: u32 = 1;
pub const GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV: u32 = 34099;
pub const GL_NV_vertex_attrib_integer_64bit: u32 = 1;
pub const GL_NV_vertex_buffer_unified_memory: u32 = 1;
pub const GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV: u32 = 36638;
pub const GL_ELEMENT_ARRAY_UNIFIED_NV: u32 = 36639;
pub const GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV: u32 = 36640;
pub const GL_VERTEX_ARRAY_ADDRESS_NV: u32 = 36641;
pub const GL_NORMAL_ARRAY_ADDRESS_NV: u32 = 36642;
pub const GL_COLOR_ARRAY_ADDRESS_NV: u32 = 36643;
pub const GL_INDEX_ARRAY_ADDRESS_NV: u32 = 36644;
pub const GL_TEXTURE_COORD_ARRAY_ADDRESS_NV: u32 = 36645;
pub const GL_EDGE_FLAG_ARRAY_ADDRESS_NV: u32 = 36646;
pub const GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV: u32 = 36647;
pub const GL_FOG_COORD_ARRAY_ADDRESS_NV: u32 = 36648;
pub const GL_ELEMENT_ARRAY_ADDRESS_NV: u32 = 36649;
pub const GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV: u32 = 36650;
pub const GL_VERTEX_ARRAY_LENGTH_NV: u32 = 36651;
pub const GL_NORMAL_ARRAY_LENGTH_NV: u32 = 36652;
pub const GL_COLOR_ARRAY_LENGTH_NV: u32 = 36653;
pub const GL_INDEX_ARRAY_LENGTH_NV: u32 = 36654;
pub const GL_TEXTURE_COORD_ARRAY_LENGTH_NV: u32 = 36655;
pub const GL_EDGE_FLAG_ARRAY_LENGTH_NV: u32 = 36656;
pub const GL_SECONDARY_COLOR_ARRAY_LENGTH_NV: u32 = 36657;
pub const GL_FOG_COORD_ARRAY_LENGTH_NV: u32 = 36658;
pub const GL_ELEMENT_ARRAY_LENGTH_NV: u32 = 36659;
pub const GL_DRAW_INDIRECT_UNIFIED_NV: u32 = 36672;
pub const GL_DRAW_INDIRECT_ADDRESS_NV: u32 = 36673;
pub const GL_DRAW_INDIRECT_LENGTH_NV: u32 = 36674;
pub const GL_NV_vertex_program: u32 = 1;
pub const GL_VERTEX_PROGRAM_NV: u32 = 34336;
pub const GL_VERTEX_STATE_PROGRAM_NV: u32 = 34337;
pub const GL_ATTRIB_ARRAY_SIZE_NV: u32 = 34339;
pub const GL_ATTRIB_ARRAY_STRIDE_NV: u32 = 34340;
pub const GL_ATTRIB_ARRAY_TYPE_NV: u32 = 34341;
pub const GL_CURRENT_ATTRIB_NV: u32 = 34342;
pub const GL_PROGRAM_LENGTH_NV: u32 = 34343;
pub const GL_PROGRAM_STRING_NV: u32 = 34344;
pub const GL_MODELVIEW_PROJECTION_NV: u32 = 34345;
pub const GL_IDENTITY_NV: u32 = 34346;
pub const GL_INVERSE_NV: u32 = 34347;
pub const GL_TRANSPOSE_NV: u32 = 34348;
pub const GL_INVERSE_TRANSPOSE_NV: u32 = 34349;
pub const GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV: u32 = 34350;
pub const GL_MAX_TRACK_MATRICES_NV: u32 = 34351;
pub const GL_MATRIX0_NV: u32 = 34352;
pub const GL_MATRIX1_NV: u32 = 34353;
pub const GL_MATRIX2_NV: u32 = 34354;
pub const GL_MATRIX3_NV: u32 = 34355;
pub const GL_MATRIX4_NV: u32 = 34356;
pub const GL_MATRIX5_NV: u32 = 34357;
pub const GL_MATRIX6_NV: u32 = 34358;
pub const GL_MATRIX7_NV: u32 = 34359;
pub const GL_CURRENT_MATRIX_STACK_DEPTH_NV: u32 = 34368;
pub const GL_CURRENT_MATRIX_NV: u32 = 34369;
pub const GL_VERTEX_PROGRAM_POINT_SIZE_NV: u32 = 34370;
pub const GL_VERTEX_PROGRAM_TWO_SIDE_NV: u32 = 34371;
pub const GL_PROGRAM_PARAMETER_NV: u32 = 34372;
pub const GL_ATTRIB_ARRAY_POINTER_NV: u32 = 34373;
pub const GL_PROGRAM_TARGET_NV: u32 = 34374;
pub const GL_PROGRAM_RESIDENT_NV: u32 = 34375;
pub const GL_TRACK_MATRIX_NV: u32 = 34376;
pub const GL_TRACK_MATRIX_TRANSFORM_NV: u32 = 34377;
pub const GL_VERTEX_PROGRAM_BINDING_NV: u32 = 34378;
pub const GL_PROGRAM_ERROR_POSITION_NV: u32 = 34379;
pub const GL_VERTEX_ATTRIB_ARRAY0_NV: u32 = 34384;
pub const GL_VERTEX_ATTRIB_ARRAY1_NV: u32 = 34385;
pub const GL_VERTEX_ATTRIB_ARRAY2_NV: u32 = 34386;
pub const GL_VERTEX_ATTRIB_ARRAY3_NV: u32 = 34387;
pub const GL_VERTEX_ATTRIB_ARRAY4_NV: u32 = 34388;
pub const GL_VERTEX_ATTRIB_ARRAY5_NV: u32 = 34389;
pub const GL_VERTEX_ATTRIB_ARRAY6_NV: u32 = 34390;
pub const GL_VERTEX_ATTRIB_ARRAY7_NV: u32 = 34391;
pub const GL_VERTEX_ATTRIB_ARRAY8_NV: u32 = 34392;
pub const GL_VERTEX_ATTRIB_ARRAY9_NV: u32 = 34393;
pub const GL_VERTEX_ATTRIB_ARRAY10_NV: u32 = 34394;
pub const GL_VERTEX_ATTRIB_ARRAY11_NV: u32 = 34395;
pub const GL_VERTEX_ATTRIB_ARRAY12_NV: u32 = 34396;
pub const GL_VERTEX_ATTRIB_ARRAY13_NV: u32 = 34397;
pub const GL_VERTEX_ATTRIB_ARRAY14_NV: u32 = 34398;
pub const GL_VERTEX_ATTRIB_ARRAY15_NV: u32 = 34399;
pub const GL_MAP1_VERTEX_ATTRIB0_4_NV: u32 = 34400;
pub const GL_MAP1_VERTEX_ATTRIB1_4_NV: u32 = 34401;
pub const GL_MAP1_VERTEX_ATTRIB2_4_NV: u32 = 34402;
pub const GL_MAP1_VERTEX_ATTRIB3_4_NV: u32 = 34403;
pub const GL_MAP1_VERTEX_ATTRIB4_4_NV: u32 = 34404;
pub const GL_MAP1_VERTEX_ATTRIB5_4_NV: u32 = 34405;
pub const GL_MAP1_VERTEX_ATTRIB6_4_NV: u32 = 34406;
pub const GL_MAP1_VERTEX_ATTRIB7_4_NV: u32 = 34407;
pub const GL_MAP1_VERTEX_ATTRIB8_4_NV: u32 = 34408;
pub const GL_MAP1_VERTEX_ATTRIB9_4_NV: u32 = 34409;
pub const GL_MAP1_VERTEX_ATTRIB10_4_NV: u32 = 34410;
pub const GL_MAP1_VERTEX_ATTRIB11_4_NV: u32 = 34411;
pub const GL_MAP1_VERTEX_ATTRIB12_4_NV: u32 = 34412;
pub const GL_MAP1_VERTEX_ATTRIB13_4_NV: u32 = 34413;
pub const GL_MAP1_VERTEX_ATTRIB14_4_NV: u32 = 34414;
pub const GL_MAP1_VERTEX_ATTRIB15_4_NV: u32 = 34415;
pub const GL_MAP2_VERTEX_ATTRIB0_4_NV: u32 = 34416;
pub const GL_MAP2_VERTEX_ATTRIB1_4_NV: u32 = 34417;
pub const GL_MAP2_VERTEX_ATTRIB2_4_NV: u32 = 34418;
pub const GL_MAP2_VERTEX_ATTRIB3_4_NV: u32 = 34419;
pub const GL_MAP2_VERTEX_ATTRIB4_4_NV: u32 = 34420;
pub const GL_MAP2_VERTEX_ATTRIB5_4_NV: u32 = 34421;
pub const GL_MAP2_VERTEX_ATTRIB6_4_NV: u32 = 34422;
pub const GL_MAP2_VERTEX_ATTRIB7_4_NV: u32 = 34423;
pub const GL_MAP2_VERTEX_ATTRIB8_4_NV: u32 = 34424;
pub const GL_MAP2_VERTEX_ATTRIB9_4_NV: u32 = 34425;
pub const GL_MAP2_VERTEX_ATTRIB10_4_NV: u32 = 34426;
pub const GL_MAP2_VERTEX_ATTRIB11_4_NV: u32 = 34427;
pub const GL_MAP2_VERTEX_ATTRIB12_4_NV: u32 = 34428;
pub const GL_MAP2_VERTEX_ATTRIB13_4_NV: u32 = 34429;
pub const GL_MAP2_VERTEX_ATTRIB14_4_NV: u32 = 34430;
pub const GL_MAP2_VERTEX_ATTRIB15_4_NV: u32 = 34431;
pub const GL_NV_vertex_program1_1: u32 = 1;
pub const GL_NV_vertex_program2: u32 = 1;
pub const GL_NV_vertex_program2_option: u32 = 1;
pub const GL_NV_vertex_program3: u32 = 1;
pub const GL_NV_vertex_program4: u32 = 1;
pub const GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV: u32 = 35069;
pub const GL_NV_video_capture: u32 = 1;
pub const GL_VIDEO_BUFFER_NV: u32 = 36896;
pub const GL_VIDEO_BUFFER_BINDING_NV: u32 = 36897;
pub const GL_FIELD_UPPER_NV: u32 = 36898;
pub const GL_FIELD_LOWER_NV: u32 = 36899;
pub const GL_NUM_VIDEO_CAPTURE_STREAMS_NV: u32 = 36900;
pub const GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV: u32 = 36901;
pub const GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV: u32 = 36902;
pub const GL_LAST_VIDEO_CAPTURE_STATUS_NV: u32 = 36903;
pub const GL_VIDEO_BUFFER_PITCH_NV: u32 = 36904;
pub const GL_VIDEO_COLOR_CONVERSION_MATRIX_NV: u32 = 36905;
pub const GL_VIDEO_COLOR_CONVERSION_MAX_NV: u32 = 36906;
pub const GL_VIDEO_COLOR_CONVERSION_MIN_NV: u32 = 36907;
pub const GL_VIDEO_COLOR_CONVERSION_OFFSET_NV: u32 = 36908;
pub const GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV: u32 = 36909;
pub const GL_PARTIAL_SUCCESS_NV: u32 = 36910;
pub const GL_SUCCESS_NV: u32 = 36911;
pub const GL_FAILURE_NV: u32 = 36912;
pub const GL_YCBYCR8_422_NV: u32 = 36913;
pub const GL_YCBAYCR8A_4224_NV: u32 = 36914;
pub const GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV: u32 = 36915;
pub const GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV: u32 = 36916;
pub const GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV: u32 = 36917;
pub const GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV: u32 = 36918;
pub const GL_Z4Y12Z4CB12Z4CR12_444_NV: u32 = 36919;
pub const GL_VIDEO_CAPTURE_FRAME_WIDTH_NV: u32 = 36920;
pub const GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV: u32 = 36921;
pub const GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV: u32 = 36922;
pub const GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV: u32 = 36923;
pub const GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV: u32 = 36924;
pub const GL_NV_viewport_array2: u32 = 1;
pub const GL_NV_viewport_swizzle: u32 = 1;
pub const GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV: u32 = 37712;
pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV: u32 = 37713;
pub const GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV: u32 = 37714;
pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV: u32 = 37715;
pub const GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV: u32 = 37716;
pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV: u32 = 37717;
pub const GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV: u32 = 37718;
pub const GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV: u32 = 37719;
pub const GL_VIEWPORT_SWIZZLE_X_NV: u32 = 37720;
pub const GL_VIEWPORT_SWIZZLE_Y_NV: u32 = 37721;
pub const GL_VIEWPORT_SWIZZLE_Z_NV: u32 = 37722;
pub const GL_VIEWPORT_SWIZZLE_W_NV: u32 = 37723;
pub const GL_OML_interlace: u32 = 1;
pub const GL_INTERLACE_OML: u32 = 35200;
pub const GL_INTERLACE_READ_OML: u32 = 35201;
pub const GL_OML_resample: u32 = 1;
pub const GL_PACK_RESAMPLE_OML: u32 = 35204;
pub const GL_UNPACK_RESAMPLE_OML: u32 = 35205;
pub const GL_RESAMPLE_REPLICATE_OML: u32 = 35206;
pub const GL_RESAMPLE_ZERO_FILL_OML: u32 = 35207;
pub const GL_RESAMPLE_AVERAGE_OML: u32 = 35208;
pub const GL_RESAMPLE_DECIMATE_OML: u32 = 35209;
pub const GL_OML_subsample: u32 = 1;
pub const GL_FORMAT_SUBSAMPLE_24_24_OML: u32 = 35202;
pub const GL_FORMAT_SUBSAMPLE_244_244_OML: u32 = 35203;
pub const GL_OVR_multiview: u32 = 1;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: u32 = 38448;
pub const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: u32 = 38450;
pub const GL_MAX_VIEWS_OVR: u32 = 38449;
pub const GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: u32 = 38451;
pub const GL_OVR_multiview2: u32 = 1;
pub const GL_PGI_misc_hints: u32 = 1;
pub const GL_PREFER_DOUBLEBUFFER_HINT_PGI: u32 = 107000;
pub const GL_CONSERVE_MEMORY_HINT_PGI: u32 = 107005;
pub const GL_RECLAIM_MEMORY_HINT_PGI: u32 = 107006;
pub const GL_NATIVE_GRAPHICS_HANDLE_PGI: u32 = 107010;
pub const GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI: u32 = 107011;
pub const GL_NATIVE_GRAPHICS_END_HINT_PGI: u32 = 107012;
pub const GL_ALWAYS_FAST_HINT_PGI: u32 = 107020;
pub const GL_ALWAYS_SOFT_HINT_PGI: u32 = 107021;
pub const GL_ALLOW_DRAW_OBJ_HINT_PGI: u32 = 107022;
pub const GL_ALLOW_DRAW_WIN_HINT_PGI: u32 = 107023;
pub const GL_ALLOW_DRAW_FRG_HINT_PGI: u32 = 107024;
pub const GL_ALLOW_DRAW_MEM_HINT_PGI: u32 = 107025;
pub const GL_STRICT_DEPTHFUNC_HINT_PGI: u32 = 107030;
pub const GL_STRICT_LIGHTING_HINT_PGI: u32 = 107031;
pub const GL_STRICT_SCISSOR_HINT_PGI: u32 = 107032;
pub const GL_FULL_STIPPLE_HINT_PGI: u32 = 107033;
pub const GL_CLIP_NEAR_HINT_PGI: u32 = 107040;
pub const GL_CLIP_FAR_HINT_PGI: u32 = 107041;
pub const GL_WIDE_LINE_HINT_PGI: u32 = 107042;
pub const GL_BACK_NORMALS_HINT_PGI: u32 = 107043;
pub const GL_PGI_vertex_hints: u32 = 1;
pub const GL_VERTEX_DATA_HINT_PGI: u32 = 107050;
pub const GL_VERTEX_CONSISTENT_HINT_PGI: u32 = 107051;
pub const GL_MATERIAL_SIDE_HINT_PGI: u32 = 107052;
pub const GL_MAX_VERTEX_HINT_PGI: u32 = 107053;
pub const GL_COLOR3_BIT_PGI: u32 = 65536;
pub const GL_COLOR4_BIT_PGI: u32 = 131072;
pub const GL_EDGEFLAG_BIT_PGI: u32 = 262144;
pub const GL_INDEX_BIT_PGI: u32 = 524288;
pub const GL_MAT_AMBIENT_BIT_PGI: u32 = 1048576;
pub const GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI: u32 = 2097152;
pub const GL_MAT_DIFFUSE_BIT_PGI: u32 = 4194304;
pub const GL_MAT_EMISSION_BIT_PGI: u32 = 8388608;
pub const GL_MAT_COLOR_INDEXES_BIT_PGI: u32 = 16777216;
pub const GL_MAT_SHININESS_BIT_PGI: u32 = 33554432;
pub const GL_MAT_SPECULAR_BIT_PGI: u32 = 67108864;
pub const GL_NORMAL_BIT_PGI: u32 = 134217728;
pub const GL_TEXCOORD1_BIT_PGI: u32 = 268435456;
pub const GL_TEXCOORD2_BIT_PGI: u32 = 536870912;
pub const GL_TEXCOORD3_BIT_PGI: u32 = 1073741824;
pub const GL_TEXCOORD4_BIT_PGI: u32 = 2147483648;
pub const GL_VERTEX23_BIT_PGI: u32 = 4;
pub const GL_VERTEX4_BIT_PGI: u32 = 8;
pub const GL_REND_screen_coordinates: u32 = 1;
pub const GL_SCREEN_COORDINATES_REND: u32 = 33936;
pub const GL_INVERTED_SCREEN_W_REND: u32 = 33937;
pub const GL_S3_s3tc: u32 = 1;
pub const GL_RGB_S3TC: u32 = 33696;
pub const GL_RGB4_S3TC: u32 = 33697;
pub const GL_RGBA_S3TC: u32 = 33698;
pub const GL_RGBA4_S3TC: u32 = 33699;
pub const GL_RGBA_DXT5_S3TC: u32 = 33700;
pub const GL_RGBA4_DXT5_S3TC: u32 = 33701;
pub const GL_SGIS_detail_texture: u32 = 1;
pub const GL_DETAIL_TEXTURE_2D_SGIS: u32 = 32917;
pub const GL_DETAIL_TEXTURE_2D_BINDING_SGIS: u32 = 32918;
pub const GL_LINEAR_DETAIL_SGIS: u32 = 32919;
pub const GL_LINEAR_DETAIL_ALPHA_SGIS: u32 = 32920;
pub const GL_LINEAR_DETAIL_COLOR_SGIS: u32 = 32921;
pub const GL_DETAIL_TEXTURE_LEVEL_SGIS: u32 = 32922;
pub const GL_DETAIL_TEXTURE_MODE_SGIS: u32 = 32923;
pub const GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS: u32 = 32924;
pub const GL_SGIS_fog_function: u32 = 1;
pub const GL_FOG_FUNC_SGIS: u32 = 33066;
pub const GL_FOG_FUNC_POINTS_SGIS: u32 = 33067;
pub const GL_MAX_FOG_FUNC_POINTS_SGIS: u32 = 33068;
pub const GL_SGIS_generate_mipmap: u32 = 1;
pub const GL_GENERATE_MIPMAP_SGIS: u32 = 33169;
pub const GL_GENERATE_MIPMAP_HINT_SGIS: u32 = 33170;
pub const GL_SGIS_multisample: u32 = 1;
pub const GL_MULTISAMPLE_SGIS: u32 = 32925;
pub const GL_SAMPLE_ALPHA_TO_MASK_SGIS: u32 = 32926;
pub const GL_SAMPLE_ALPHA_TO_ONE_SGIS: u32 = 32927;
pub const GL_SAMPLE_MASK_SGIS: u32 = 32928;
pub const GL_1PASS_SGIS: u32 = 32929;
pub const GL_2PASS_0_SGIS: u32 = 32930;
pub const GL_2PASS_1_SGIS: u32 = 32931;
pub const GL_4PASS_0_SGIS: u32 = 32932;
pub const GL_4PASS_1_SGIS: u32 = 32933;
pub const GL_4PASS_2_SGIS: u32 = 32934;
pub const GL_4PASS_3_SGIS: u32 = 32935;
pub const GL_SAMPLE_BUFFERS_SGIS: u32 = 32936;
pub const GL_SAMPLES_SGIS: u32 = 32937;
pub const GL_SAMPLE_MASK_VALUE_SGIS: u32 = 32938;
pub const GL_SAMPLE_MASK_INVERT_SGIS: u32 = 32939;
pub const GL_SAMPLE_PATTERN_SGIS: u32 = 32940;
pub const GL_SGIS_pixel_texture: u32 = 1;
pub const GL_PIXEL_TEXTURE_SGIS: u32 = 33619;
pub const GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS: u32 = 33620;
pub const GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS: u32 = 33621;
pub const GL_PIXEL_GROUP_COLOR_SGIS: u32 = 33622;
pub const GL_SGIS_point_line_texgen: u32 = 1;
pub const GL_EYE_DISTANCE_TO_POINT_SGIS: u32 = 33264;
pub const GL_OBJECT_DISTANCE_TO_POINT_SGIS: u32 = 33265;
pub const GL_EYE_DISTANCE_TO_LINE_SGIS: u32 = 33266;
pub const GL_OBJECT_DISTANCE_TO_LINE_SGIS: u32 = 33267;
pub const GL_EYE_POINT_SGIS: u32 = 33268;
pub const GL_OBJECT_POINT_SGIS: u32 = 33269;
pub const GL_EYE_LINE_SGIS: u32 = 33270;
pub const GL_OBJECT_LINE_SGIS: u32 = 33271;
pub const GL_SGIS_point_parameters: u32 = 1;
pub const GL_POINT_SIZE_MIN_SGIS: u32 = 33062;
pub const GL_POINT_SIZE_MAX_SGIS: u32 = 33063;
pub const GL_POINT_FADE_THRESHOLD_SIZE_SGIS: u32 = 33064;
pub const GL_DISTANCE_ATTENUATION_SGIS: u32 = 33065;
pub const GL_SGIS_sharpen_texture: u32 = 1;
pub const GL_LINEAR_SHARPEN_SGIS: u32 = 32941;
pub const GL_LINEAR_SHARPEN_ALPHA_SGIS: u32 = 32942;
pub const GL_LINEAR_SHARPEN_COLOR_SGIS: u32 = 32943;
pub const GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS: u32 = 32944;
pub const GL_SGIS_texture4D: u32 = 1;
pub const GL_PACK_SKIP_VOLUMES_SGIS: u32 = 33072;
pub const GL_PACK_IMAGE_DEPTH_SGIS: u32 = 33073;
pub const GL_UNPACK_SKIP_VOLUMES_SGIS: u32 = 33074;
pub const GL_UNPACK_IMAGE_DEPTH_SGIS: u32 = 33075;
pub const GL_TEXTURE_4D_SGIS: u32 = 33076;
pub const GL_PROXY_TEXTURE_4D_SGIS: u32 = 33077;
pub const GL_TEXTURE_4DSIZE_SGIS: u32 = 33078;
pub const GL_TEXTURE_WRAP_Q_SGIS: u32 = 33079;
pub const GL_MAX_4D_TEXTURE_SIZE_SGIS: u32 = 33080;
pub const GL_TEXTURE_4D_BINDING_SGIS: u32 = 33103;
pub const GL_SGIS_texture_border_clamp: u32 = 1;
pub const GL_CLAMP_TO_BORDER_SGIS: u32 = 33069;
pub const GL_SGIS_texture_color_mask: u32 = 1;
pub const GL_TEXTURE_COLOR_WRITEMASK_SGIS: u32 = 33263;
pub const GL_SGIS_texture_edge_clamp: u32 = 1;
pub const GL_CLAMP_TO_EDGE_SGIS: u32 = 33071;
pub const GL_SGIS_texture_filter4: u32 = 1;
pub const GL_FILTER4_SGIS: u32 = 33094;
pub const GL_TEXTURE_FILTER4_SIZE_SGIS: u32 = 33095;
pub const GL_SGIS_texture_lod: u32 = 1;
pub const GL_TEXTURE_MIN_LOD_SGIS: u32 = 33082;
pub const GL_TEXTURE_MAX_LOD_SGIS: u32 = 33083;
pub const GL_TEXTURE_BASE_LEVEL_SGIS: u32 = 33084;
pub const GL_TEXTURE_MAX_LEVEL_SGIS: u32 = 33085;
pub const GL_SGIS_texture_select: u32 = 1;
pub const GL_DUAL_ALPHA4_SGIS: u32 = 33040;
pub const GL_DUAL_ALPHA8_SGIS: u32 = 33041;
pub const GL_DUAL_ALPHA12_SGIS: u32 = 33042;
pub const GL_DUAL_ALPHA16_SGIS: u32 = 33043;
pub const GL_DUAL_LUMINANCE4_SGIS: u32 = 33044;
pub const GL_DUAL_LUMINANCE8_SGIS: u32 = 33045;
pub const GL_DUAL_LUMINANCE12_SGIS: u32 = 33046;
pub const GL_DUAL_LUMINANCE16_SGIS: u32 = 33047;
pub const GL_DUAL_INTENSITY4_SGIS: u32 = 33048;
pub const GL_DUAL_INTENSITY8_SGIS: u32 = 33049;
pub const GL_DUAL_INTENSITY12_SGIS: u32 = 33050;
pub const GL_DUAL_INTENSITY16_SGIS: u32 = 33051;
pub const GL_DUAL_LUMINANCE_ALPHA4_SGIS: u32 = 33052;
pub const GL_DUAL_LUMINANCE_ALPHA8_SGIS: u32 = 33053;
pub const GL_QUAD_ALPHA4_SGIS: u32 = 33054;
pub const GL_QUAD_ALPHA8_SGIS: u32 = 33055;
pub const GL_QUAD_LUMINANCE4_SGIS: u32 = 33056;
pub const GL_QUAD_LUMINANCE8_SGIS: u32 = 33057;
pub const GL_QUAD_INTENSITY4_SGIS: u32 = 33058;
pub const GL_QUAD_INTENSITY8_SGIS: u32 = 33059;
pub const GL_DUAL_TEXTURE_SELECT_SGIS: u32 = 33060;
pub const GL_QUAD_TEXTURE_SELECT_SGIS: u32 = 33061;
pub const GL_SGIX_async: u32 = 1;
pub const GL_ASYNC_MARKER_SGIX: u32 = 33577;
pub const GL_SGIX_async_histogram: u32 = 1;
pub const GL_ASYNC_HISTOGRAM_SGIX: u32 = 33580;
pub const GL_MAX_ASYNC_HISTOGRAM_SGIX: u32 = 33581;
pub const GL_SGIX_async_pixel: u32 = 1;
pub const GL_ASYNC_TEX_IMAGE_SGIX: u32 = 33628;
pub const GL_ASYNC_DRAW_PIXELS_SGIX: u32 = 33629;
pub const GL_ASYNC_READ_PIXELS_SGIX: u32 = 33630;
pub const GL_MAX_ASYNC_TEX_IMAGE_SGIX: u32 = 33631;
pub const GL_MAX_ASYNC_DRAW_PIXELS_SGIX: u32 = 33632;
pub const GL_MAX_ASYNC_READ_PIXELS_SGIX: u32 = 33633;
pub const GL_SGIX_blend_alpha_minmax: u32 = 1;
pub const GL_ALPHA_MIN_SGIX: u32 = 33568;
pub const GL_ALPHA_MAX_SGIX: u32 = 33569;
pub const GL_SGIX_calligraphic_fragment: u32 = 1;
pub const GL_CALLIGRAPHIC_FRAGMENT_SGIX: u32 = 33155;
pub const GL_SGIX_clipmap: u32 = 1;
pub const GL_LINEAR_CLIPMAP_LINEAR_SGIX: u32 = 33136;
pub const GL_TEXTURE_CLIPMAP_CENTER_SGIX: u32 = 33137;
pub const GL_TEXTURE_CLIPMAP_FRAME_SGIX: u32 = 33138;
pub const GL_TEXTURE_CLIPMAP_OFFSET_SGIX: u32 = 33139;
pub const GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX: u32 = 33140;
pub const GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX: u32 = 33141;
pub const GL_TEXTURE_CLIPMAP_DEPTH_SGIX: u32 = 33142;
pub const GL_MAX_CLIPMAP_DEPTH_SGIX: u32 = 33143;
pub const GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX: u32 = 33144;
pub const GL_NEAREST_CLIPMAP_NEAREST_SGIX: u32 = 33869;
pub const GL_NEAREST_CLIPMAP_LINEAR_SGIX: u32 = 33870;
pub const GL_LINEAR_CLIPMAP_NEAREST_SGIX: u32 = 33871;
pub const GL_SGIX_convolution_accuracy: u32 = 1;
pub const GL_CONVOLUTION_HINT_SGIX: u32 = 33558;
pub const GL_SGIX_depth_pass_instrument: u32 = 1;
pub const GL_SGIX_depth_texture: u32 = 1;
pub const GL_DEPTH_COMPONENT16_SGIX: u32 = 33189;
pub const GL_DEPTH_COMPONENT24_SGIX: u32 = 33190;
pub const GL_DEPTH_COMPONENT32_SGIX: u32 = 33191;
pub const GL_SGIX_flush_raster: u32 = 1;
pub const GL_SGIX_fog_offset: u32 = 1;
pub const GL_FOG_OFFSET_SGIX: u32 = 33176;
pub const GL_FOG_OFFSET_VALUE_SGIX: u32 = 33177;
pub const GL_SGIX_fragment_lighting: u32 = 1;
pub const GL_FRAGMENT_LIGHTING_SGIX: u32 = 33792;
pub const GL_FRAGMENT_COLOR_MATERIAL_SGIX: u32 = 33793;
pub const GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX: u32 = 33794;
pub const GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX: u32 = 33795;
pub const GL_MAX_FRAGMENT_LIGHTS_SGIX: u32 = 33796;
pub const GL_MAX_ACTIVE_LIGHTS_SGIX: u32 = 33797;
pub const GL_CURRENT_RASTER_NORMAL_SGIX: u32 = 33798;
pub const GL_LIGHT_ENV_MODE_SGIX: u32 = 33799;
pub const GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX: u32 = 33800;
pub const GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX: u32 = 33801;
pub const GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX: u32 = 33802;
pub const GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX: u32 = 33803;
pub const GL_FRAGMENT_LIGHT0_SGIX: u32 = 33804;
pub const GL_FRAGMENT_LIGHT1_SGIX: u32 = 33805;
pub const GL_FRAGMENT_LIGHT2_SGIX: u32 = 33806;
pub const GL_FRAGMENT_LIGHT3_SGIX: u32 = 33807;
pub const GL_FRAGMENT_LIGHT4_SGIX: u32 = 33808;
pub const GL_FRAGMENT_LIGHT5_SGIX: u32 = 33809;
pub const GL_FRAGMENT_LIGHT6_SGIX: u32 = 33810;
pub const GL_FRAGMENT_LIGHT7_SGIX: u32 = 33811;
pub const GL_SGIX_framezoom: u32 = 1;
pub const GL_FRAMEZOOM_SGIX: u32 = 33163;
pub const GL_FRAMEZOOM_FACTOR_SGIX: u32 = 33164;
pub const GL_MAX_FRAMEZOOM_FACTOR_SGIX: u32 = 33165;
pub const GL_SGIX_igloo_interface: u32 = 1;
pub const GL_SGIX_instruments: u32 = 1;
pub const GL_INSTRUMENT_BUFFER_POINTER_SGIX: u32 = 33152;
pub const GL_INSTRUMENT_MEASUREMENTS_SGIX: u32 = 33153;
pub const GL_SGIX_interlace: u32 = 1;
pub const GL_INTERLACE_SGIX: u32 = 32916;
pub const GL_SGIX_ir_instrument1: u32 = 1;
pub const GL_IR_INSTRUMENT1_SGIX: u32 = 33151;
pub const GL_SGIX_list_priority: u32 = 1;
pub const GL_LIST_PRIORITY_SGIX: u32 = 33154;
pub const GL_SGIX_pixel_texture: u32 = 1;
pub const GL_PIXEL_TEX_GEN_SGIX: u32 = 33081;
pub const GL_PIXEL_TEX_GEN_MODE_SGIX: u32 = 33579;
pub const GL_SGIX_pixel_tiles: u32 = 1;
pub const GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX: u32 = 33086;
pub const GL_PIXEL_TILE_CACHE_INCREMENT_SGIX: u32 = 33087;
pub const GL_PIXEL_TILE_WIDTH_SGIX: u32 = 33088;
pub const GL_PIXEL_TILE_HEIGHT_SGIX: u32 = 33089;
pub const GL_PIXEL_TILE_GRID_WIDTH_SGIX: u32 = 33090;
pub const GL_PIXEL_TILE_GRID_HEIGHT_SGIX: u32 = 33091;
pub const GL_PIXEL_TILE_GRID_DEPTH_SGIX: u32 = 33092;
pub const GL_PIXEL_TILE_CACHE_SIZE_SGIX: u32 = 33093;
pub const GL_SGIX_polynomial_ffd: u32 = 1;
pub const GL_TEXTURE_DEFORMATION_BIT_SGIX: u32 = 1;
pub const GL_GEOMETRY_DEFORMATION_BIT_SGIX: u32 = 2;
pub const GL_GEOMETRY_DEFORMATION_SGIX: u32 = 33172;
pub const GL_TEXTURE_DEFORMATION_SGIX: u32 = 33173;
pub const GL_DEFORMATIONS_MASK_SGIX: u32 = 33174;
pub const GL_MAX_DEFORMATION_ORDER_SGIX: u32 = 33175;
pub const GL_SGIX_reference_plane: u32 = 1;
pub const GL_REFERENCE_PLANE_SGIX: u32 = 33149;
pub const GL_REFERENCE_PLANE_EQUATION_SGIX: u32 = 33150;
pub const GL_SGIX_resample: u32 = 1;
pub const GL_PACK_RESAMPLE_SGIX: u32 = 33838;
pub const GL_UNPACK_RESAMPLE_SGIX: u32 = 33839;
pub const GL_RESAMPLE_REPLICATE_SGIX: u32 = 33843;
pub const GL_RESAMPLE_ZERO_FILL_SGIX: u32 = 33844;
pub const GL_RESAMPLE_DECIMATE_SGIX: u32 = 33840;
pub const GL_SGIX_scalebias_hint: u32 = 1;
pub const GL_SCALEBIAS_HINT_SGIX: u32 = 33570;
pub const GL_SGIX_shadow: u32 = 1;
pub const GL_TEXTURE_COMPARE_SGIX: u32 = 33178;
pub const GL_TEXTURE_COMPARE_OPERATOR_SGIX: u32 = 33179;
pub const GL_TEXTURE_LEQUAL_R_SGIX: u32 = 33180;
pub const GL_TEXTURE_GEQUAL_R_SGIX: u32 = 33181;
pub const GL_SGIX_shadow_ambient: u32 = 1;
pub const GL_SHADOW_AMBIENT_SGIX: u32 = 32959;
pub const GL_SGIX_sprite: u32 = 1;
pub const GL_SPRITE_SGIX: u32 = 33096;
pub const GL_SPRITE_MODE_SGIX: u32 = 33097;
pub const GL_SPRITE_AXIS_SGIX: u32 = 33098;
pub const GL_SPRITE_TRANSLATION_SGIX: u32 = 33099;
pub const GL_SPRITE_AXIAL_SGIX: u32 = 33100;
pub const GL_SPRITE_OBJECT_ALIGNED_SGIX: u32 = 33101;
pub const GL_SPRITE_EYE_ALIGNED_SGIX: u32 = 33102;
pub const GL_SGIX_subsample: u32 = 1;
pub const GL_PACK_SUBSAMPLE_RATE_SGIX: u32 = 34208;
pub const GL_UNPACK_SUBSAMPLE_RATE_SGIX: u32 = 34209;
pub const GL_PIXEL_SUBSAMPLE_4444_SGIX: u32 = 34210;
pub const GL_PIXEL_SUBSAMPLE_2424_SGIX: u32 = 34211;
pub const GL_PIXEL_SUBSAMPLE_4242_SGIX: u32 = 34212;
pub const GL_SGIX_tag_sample_buffer: u32 = 1;
pub const GL_SGIX_texture_add_env: u32 = 1;
pub const GL_TEXTURE_ENV_BIAS_SGIX: u32 = 32958;
pub const GL_SGIX_texture_coordinate_clamp: u32 = 1;
pub const GL_TEXTURE_MAX_CLAMP_S_SGIX: u32 = 33641;
pub const GL_TEXTURE_MAX_CLAMP_T_SGIX: u32 = 33642;
pub const GL_TEXTURE_MAX_CLAMP_R_SGIX: u32 = 33643;
pub const GL_SGIX_texture_lod_bias: u32 = 1;
pub const GL_TEXTURE_LOD_BIAS_S_SGIX: u32 = 33166;
pub const GL_TEXTURE_LOD_BIAS_T_SGIX: u32 = 33167;
pub const GL_TEXTURE_LOD_BIAS_R_SGIX: u32 = 33168;
pub const GL_SGIX_texture_multi_buffer: u32 = 1;
pub const GL_TEXTURE_MULTI_BUFFER_HINT_SGIX: u32 = 33070;
pub const GL_SGIX_texture_scale_bias: u32 = 1;
pub const GL_POST_TEXTURE_FILTER_BIAS_SGIX: u32 = 33145;
pub const GL_POST_TEXTURE_FILTER_SCALE_SGIX: u32 = 33146;
pub const GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX: u32 = 33147;
pub const GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX: u32 = 33148;
pub const GL_SGIX_vertex_preclip: u32 = 1;
pub const GL_VERTEX_PRECLIP_SGIX: u32 = 33774;
pub const GL_VERTEX_PRECLIP_HINT_SGIX: u32 = 33775;
pub const GL_SGIX_ycrcb: u32 = 1;
pub const GL_YCRCB_422_SGIX: u32 = 33211;
pub const GL_YCRCB_444_SGIX: u32 = 33212;
pub const GL_SGIX_ycrcb_subsample: u32 = 1;
pub const GL_SGIX_ycrcba: u32 = 1;
pub const GL_YCRCB_SGIX: u32 = 33560;
pub const GL_YCRCBA_SGIX: u32 = 33561;
pub const GL_SGI_color_matrix: u32 = 1;
pub const GL_COLOR_MATRIX_SGI: u32 = 32945;
pub const GL_COLOR_MATRIX_STACK_DEPTH_SGI: u32 = 32946;
pub const GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI: u32 = 32947;
pub const GL_POST_COLOR_MATRIX_RED_SCALE_SGI: u32 = 32948;
pub const GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI: u32 = 32949;
pub const GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI: u32 = 32950;
pub const GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI: u32 = 32951;
pub const GL_POST_COLOR_MATRIX_RED_BIAS_SGI: u32 = 32952;
pub const GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI: u32 = 32953;
pub const GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI: u32 = 32954;
pub const GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI: u32 = 32955;
pub const GL_SGI_color_table: u32 = 1;
pub const GL_COLOR_TABLE_SGI: u32 = 32976;
pub const GL_POST_CONVOLUTION_COLOR_TABLE_SGI: u32 = 32977;
pub const GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI: u32 = 32978;
pub const GL_PROXY_COLOR_TABLE_SGI: u32 = 32979;
pub const GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI: u32 = 32980;
pub const GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI: u32 = 32981;
pub const GL_COLOR_TABLE_SCALE_SGI: u32 = 32982;
pub const GL_COLOR_TABLE_BIAS_SGI: u32 = 32983;
pub const GL_COLOR_TABLE_FORMAT_SGI: u32 = 32984;
pub const GL_COLOR_TABLE_WIDTH_SGI: u32 = 32985;
pub const GL_COLOR_TABLE_RED_SIZE_SGI: u32 = 32986;
pub const GL_COLOR_TABLE_GREEN_SIZE_SGI: u32 = 32987;
pub const GL_COLOR_TABLE_BLUE_SIZE_SGI: u32 = 32988;
pub const GL_COLOR_TABLE_ALPHA_SIZE_SGI: u32 = 32989;
pub const GL_COLOR_TABLE_LUMINANCE_SIZE_SGI: u32 = 32990;
pub const GL_COLOR_TABLE_INTENSITY_SIZE_SGI: u32 = 32991;
pub const GL_SGI_texture_color_table: u32 = 1;
pub const GL_TEXTURE_COLOR_TABLE_SGI: u32 = 32956;
pub const GL_PROXY_TEXTURE_COLOR_TABLE_SGI: u32 = 32957;
pub const GL_SUNX_constant_data: u32 = 1;
pub const GL_UNPACK_CONSTANT_DATA_SUNX: u32 = 33237;
pub const GL_TEXTURE_CONSTANT_DATA_SUNX: u32 = 33238;
pub const GL_SUN_convolution_border_modes: u32 = 1;
pub const GL_WRAP_BORDER_SUN: u32 = 33236;
pub const GL_SUN_global_alpha: u32 = 1;
pub const GL_GLOBAL_ALPHA_SUN: u32 = 33241;
pub const GL_GLOBAL_ALPHA_FACTOR_SUN: u32 = 33242;
pub const GL_SUN_mesh_array: u32 = 1;
pub const GL_QUAD_MESH_SUN: u32 = 34324;
pub const GL_TRIANGLE_MESH_SUN: u32 = 34325;
pub const GL_SUN_slice_accum: u32 = 1;
pub const GL_SLICE_ACCUM_SUN: u32 = 34252;
pub const GL_SUN_triangle_list: u32 = 1;
pub const GL_RESTART_SUN: u32 = 1;
pub const GL_REPLACE_MIDDLE_SUN: u32 = 2;
pub const GL_REPLACE_OLDEST_SUN: u32 = 3;
pub const GL_TRIANGLE_LIST_SUN: u32 = 33239;
pub const GL_REPLACEMENT_CODE_SUN: u32 = 33240;
pub const GL_REPLACEMENT_CODE_ARRAY_SUN: u32 = 34240;
pub const GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN: u32 = 34241;
pub const GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN: u32 = 34242;
pub const GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN: u32 = 34243;
pub const GL_R1UI_V3F_SUN: u32 = 34244;
pub const GL_R1UI_C4UB_V3F_SUN: u32 = 34245;
pub const GL_R1UI_C3F_V3F_SUN: u32 = 34246;
pub const GL_R1UI_N3F_V3F_SUN: u32 = 34247;
pub const GL_R1UI_C4F_N3F_V3F_SUN: u32 = 34248;
pub const GL_R1UI_T2F_V3F_SUN: u32 = 34249;
pub const GL_R1UI_T2F_N3F_V3F_SUN: u32 = 34250;
pub const GL_R1UI_T2F_C4F_N3F_V3F_SUN: u32 = 34251;
pub const GL_SUN_vertex: u32 = 1;
pub const GL_WIN_phong_shading: u32 = 1;
pub const GL_PHONG_WIN: u32 = 33002;
pub const GL_PHONG_HINT_WIN: u32 = 33003;
pub const GL_WIN_specular_fog: u32 = 1;
pub const GL_FOG_SPECULAR_TEXTURE_WIN: u32 = 33004;
pub const GL_MESA_packed_depth_stencil: u32 = 1;
pub const GL_DEPTH_STENCIL_MESA: u32 = 34640;
pub const GL_UNSIGNED_INT_24_8_MESA: u32 = 34641;
pub const GL_UNSIGNED_INT_8_24_REV_MESA: u32 = 34642;
pub const GL_UNSIGNED_SHORT_15_1_MESA: u32 = 34643;
pub const GL_UNSIGNED_SHORT_1_15_REV_MESA: u32 = 34644;
pub const GL_ATI_blend_equation_separate: u32 = 1;
pub const GL_ALPHA_BLEND_EQUATION_ATI: u32 = 34877;
pub const GL_OES_EGL_image: u32 = 1;
pub const GLX_VERSION_1_1: u32 = 1;
pub const GLX_VERSION_1_2: u32 = 1;
pub const GLX_VERSION_1_3: u32 = 1;
pub const GLX_VERSION_1_4: u32 = 1;
pub const GLX_EXTENSION_NAME: &[u8; 4usize] = b"GLX\0";
pub const GLX_USE_GL: u32 = 1;
pub const GLX_BUFFER_SIZE: u32 = 2;
pub const GLX_LEVEL: u32 = 3;
pub const GLX_RGBA: u32 = 4;
pub const GLX_DOUBLEBUFFER: u32 = 5;
pub const GLX_STEREO: u32 = 6;
pub const GLX_AUX_BUFFERS: u32 = 7;
pub const GLX_RED_SIZE: u32 = 8;
pub const GLX_GREEN_SIZE: u32 = 9;
pub const GLX_BLUE_SIZE: u32 = 10;
pub const GLX_ALPHA_SIZE: u32 = 11;
pub const GLX_DEPTH_SIZE: u32 = 12;
pub const GLX_STENCIL_SIZE: u32 = 13;
pub const GLX_ACCUM_RED_SIZE: u32 = 14;
pub const GLX_ACCUM_GREEN_SIZE: u32 = 15;
pub const GLX_ACCUM_BLUE_SIZE: u32 = 16;
pub const GLX_ACCUM_ALPHA_SIZE: u32 = 17;
pub const GLX_BAD_SCREEN: u32 = 1;
pub const GLX_BAD_ATTRIBUTE: u32 = 2;
pub const GLX_NO_EXTENSION: u32 = 3;
pub const GLX_BAD_VISUAL: u32 = 4;
pub const GLX_BAD_CONTEXT: u32 = 5;
pub const GLX_BAD_VALUE: u32 = 6;
pub const GLX_BAD_ENUM: u32 = 7;
pub const GLX_VENDOR: u32 = 1;
pub const GLX_VERSION: u32 = 2;
pub const GLX_EXTENSIONS: u32 = 3;
pub const GLX_CONFIG_CAVEAT: u32 = 32;
pub const GLX_DONT_CARE: u32 = 4294967295;
pub const GLX_X_VISUAL_TYPE: u32 = 34;
pub const GLX_TRANSPARENT_TYPE: u32 = 35;
pub const GLX_TRANSPARENT_INDEX_VALUE: u32 = 36;
pub const GLX_TRANSPARENT_RED_VALUE: u32 = 37;
pub const GLX_TRANSPARENT_GREEN_VALUE: u32 = 38;
pub const GLX_TRANSPARENT_BLUE_VALUE: u32 = 39;
pub const GLX_TRANSPARENT_ALPHA_VALUE: u32 = 40;
pub const GLX_WINDOW_BIT: u32 = 1;
pub const GLX_PIXMAP_BIT: u32 = 2;
pub const GLX_PBUFFER_BIT: u32 = 4;
pub const GLX_AUX_BUFFERS_BIT: u32 = 16;
pub const GLX_FRONT_LEFT_BUFFER_BIT: u32 = 1;
pub const GLX_FRONT_RIGHT_BUFFER_BIT: u32 = 2;
pub const GLX_BACK_LEFT_BUFFER_BIT: u32 = 4;
pub const GLX_BACK_RIGHT_BUFFER_BIT: u32 = 8;
pub const GLX_DEPTH_BUFFER_BIT: u32 = 32;
pub const GLX_STENCIL_BUFFER_BIT: u32 = 64;
pub const GLX_ACCUM_BUFFER_BIT: u32 = 128;
pub const GLX_NONE: u32 = 32768;
pub const GLX_SLOW_CONFIG: u32 = 32769;
pub const GLX_TRUE_COLOR: u32 = 32770;
pub const GLX_DIRECT_COLOR: u32 = 32771;
pub const GLX_PSEUDO_COLOR: u32 = 32772;
pub const GLX_STATIC_COLOR: u32 = 32773;
pub const GLX_GRAY_SCALE: u32 = 32774;
pub const GLX_STATIC_GRAY: u32 = 32775;
pub const GLX_TRANSPARENT_RGB: u32 = 32776;
pub const GLX_TRANSPARENT_INDEX: u32 = 32777;
pub const GLX_VISUAL_ID: u32 = 32779;
pub const GLX_SCREEN: u32 = 32780;
pub const GLX_NON_CONFORMANT_CONFIG: u32 = 32781;
pub const GLX_DRAWABLE_TYPE: u32 = 32784;
pub const GLX_RENDER_TYPE: u32 = 32785;
pub const GLX_X_RENDERABLE: u32 = 32786;
pub const GLX_FBCONFIG_ID: u32 = 32787;
pub const GLX_RGBA_TYPE: u32 = 32788;
pub const GLX_COLOR_INDEX_TYPE: u32 = 32789;
pub const GLX_MAX_PBUFFER_WIDTH: u32 = 32790;
pub const GLX_MAX_PBUFFER_HEIGHT: u32 = 32791;
pub const GLX_MAX_PBUFFER_PIXELS: u32 = 32792;
pub const GLX_PRESERVED_CONTENTS: u32 = 32795;
pub const GLX_LARGEST_PBUFFER: u32 = 32796;
pub const GLX_WIDTH: u32 = 32797;
pub const GLX_HEIGHT: u32 = 32798;
pub const GLX_EVENT_MASK: u32 = 32799;
pub const GLX_DAMAGED: u32 = 32800;
pub const GLX_SAVED: u32 = 32801;
pub const GLX_WINDOW: u32 = 32802;
pub const GLX_PBUFFER: u32 = 32803;
pub const GLX_PBUFFER_HEIGHT: u32 = 32832;
pub const GLX_PBUFFER_WIDTH: u32 = 32833;
pub const GLX_RGBA_BIT: u32 = 1;
pub const GLX_COLOR_INDEX_BIT: u32 = 2;
pub const GLX_PBUFFER_CLOBBER_MASK: u32 = 134217728;
pub const GLX_SAMPLE_BUFFERS: u32 = 100000;
pub const GLX_SAMPLES: u32 = 100001;
pub const GLX_PbufferClobber: u32 = 0;
pub const GLX_BufferSwapComplete: u32 = 1;
pub const __GLX_NUMBER_EVENTS: u32 = 17;
pub const GLX_ARB_get_proc_address: u32 = 1;
pub const __glx_glxext_h_: u32 = 1;
pub const GLX_GLXEXT_VERSION: u32 = 20180525;
pub const GLX_ARB_context_flush_control: u32 = 1;
pub const GLX_CONTEXT_RELEASE_BEHAVIOR_ARB: u32 = 8343;
pub const GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB: u32 = 0;
pub const GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB: u32 = 8344;
pub const GLX_ARB_create_context: u32 = 1;
pub const GLX_CONTEXT_DEBUG_BIT_ARB: u32 = 1;
pub const GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB: u32 = 2;
pub const GLX_CONTEXT_MAJOR_VERSION_ARB: u32 = 8337;
pub const GLX_CONTEXT_MINOR_VERSION_ARB: u32 = 8338;
pub const GLX_CONTEXT_FLAGS_ARB: u32 = 8340;
pub const GLX_ARB_create_context_no_error: u32 = 1;
pub const GLX_CONTEXT_OPENGL_NO_ERROR_ARB: u32 = 12723;
pub const GLX_ARB_create_context_profile: u32 = 1;
pub const GLX_CONTEXT_CORE_PROFILE_BIT_ARB: u32 = 1;
pub const GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB: u32 = 2;
pub const GLX_CONTEXT_PROFILE_MASK_ARB: u32 = 37158;
pub const GLX_ARB_create_context_robustness: u32 = 1;
pub const GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB: u32 = 4;
pub const GLX_LOSE_CONTEXT_ON_RESET_ARB: u32 = 33362;
pub const GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB: u32 = 33366;
pub const GLX_NO_RESET_NOTIFICATION_ARB: u32 = 33377;
pub const GLX_ARB_fbconfig_float: u32 = 1;
pub const GLX_RGBA_FLOAT_TYPE_ARB: u32 = 8377;
pub const GLX_RGBA_FLOAT_BIT_ARB: u32 = 4;
pub const GLX_ARB_framebuffer_sRGB: u32 = 1;
pub const GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB: u32 = 8370;
pub const GLX_ARB_multisample: u32 = 1;
pub const GLX_SAMPLE_BUFFERS_ARB: u32 = 100000;
pub const GLX_SAMPLES_ARB: u32 = 100001;
pub const GLX_ARB_robustness_application_isolation: u32 = 1;
pub const GLX_CONTEXT_RESET_ISOLATION_BIT_ARB: u32 = 8;
pub const GLX_ARB_robustness_share_group_isolation: u32 = 1;
pub const GLX_ARB_vertex_buffer_object: u32 = 1;
pub const GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB: u32 = 8341;
pub const GLX_3DFX_multisample: u32 = 1;
pub const GLX_SAMPLE_BUFFERS_3DFX: u32 = 32848;
pub const GLX_SAMPLES_3DFX: u32 = 32849;
pub const GLX_AMD_gpu_association: u32 = 1;
pub const GLX_GPU_VENDOR_AMD: u32 = 7936;
pub const GLX_GPU_RENDERER_STRING_AMD: u32 = 7937;
pub const GLX_GPU_OPENGL_VERSION_STRING_AMD: u32 = 7938;
pub const GLX_GPU_FASTEST_TARGET_GPUS_AMD: u32 = 8610;
pub const GLX_GPU_RAM_AMD: u32 = 8611;
pub const GLX_GPU_CLOCK_AMD: u32 = 8612;
pub const GLX_GPU_NUM_PIPES_AMD: u32 = 8613;
pub const GLX_GPU_NUM_SIMD_AMD: u32 = 8614;
pub const GLX_GPU_NUM_RB_AMD: u32 = 8615;
pub const GLX_GPU_NUM_SPI_AMD: u32 = 8616;
pub const GLX_EXT_buffer_age: u32 = 1;
pub const GLX_BACK_BUFFER_AGE_EXT: u32 = 8436;
pub const GLX_EXT_create_context_es2_profile: u32 = 1;
pub const GLX_CONTEXT_ES2_PROFILE_BIT_EXT: u32 = 4;
pub const GLX_EXT_create_context_es_profile: u32 = 1;
pub const GLX_CONTEXT_ES_PROFILE_BIT_EXT: u32 = 4;
pub const GLX_EXT_fbconfig_packed_float: u32 = 1;
pub const GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT: u32 = 8369;
pub const GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT: u32 = 8;
pub const GLX_EXT_framebuffer_sRGB: u32 = 1;
pub const GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT: u32 = 8370;
pub const GLX_EXT_import_context: u32 = 1;
pub const GLX_SHARE_CONTEXT_EXT: u32 = 32778;
pub const GLX_VISUAL_ID_EXT: u32 = 32779;
pub const GLX_SCREEN_EXT: u32 = 32780;
pub const GLX_EXT_libglvnd: u32 = 1;
pub const GLX_VENDOR_NAMES_EXT: u32 = 8438;
pub const GLX_EXT_no_config_context: u32 = 1;
pub const GLX_EXT_stereo_tree: u32 = 1;
pub const GLX_STEREO_TREE_EXT: u32 = 8437;
pub const GLX_STEREO_NOTIFY_MASK_EXT: u32 = 1;
pub const GLX_STEREO_NOTIFY_EXT: u32 = 0;
pub const GLX_EXT_swap_control: u32 = 1;
pub const GLX_SWAP_INTERVAL_EXT: u32 = 8433;
pub const GLX_MAX_SWAP_INTERVAL_EXT: u32 = 8434;
pub const GLX_EXT_swap_control_tear: u32 = 1;
pub const GLX_LATE_SWAPS_TEAR_EXT: u32 = 8435;
pub const GLX_EXT_texture_from_pixmap: u32 = 1;
pub const GLX_TEXTURE_1D_BIT_EXT: u32 = 1;
pub const GLX_TEXTURE_2D_BIT_EXT: u32 = 2;
pub const GLX_TEXTURE_RECTANGLE_BIT_EXT: u32 = 4;
pub const GLX_BIND_TO_TEXTURE_RGB_EXT: u32 = 8400;
pub const GLX_BIND_TO_TEXTURE_RGBA_EXT: u32 = 8401;
pub const GLX_BIND_TO_MIPMAP_TEXTURE_EXT: u32 = 8402;
pub const GLX_BIND_TO_TEXTURE_TARGETS_EXT: u32 = 8403;
pub const GLX_Y_INVERTED_EXT: u32 = 8404;
pub const GLX_TEXTURE_FORMAT_EXT: u32 = 8405;
pub const GLX_TEXTURE_TARGET_EXT: u32 = 8406;
pub const GLX_MIPMAP_TEXTURE_EXT: u32 = 8407;
pub const GLX_TEXTURE_FORMAT_NONE_EXT: u32 = 8408;
pub const GLX_TEXTURE_FORMAT_RGB_EXT: u32 = 8409;
pub const GLX_TEXTURE_FORMAT_RGBA_EXT: u32 = 8410;
pub const GLX_TEXTURE_1D_EXT: u32 = 8411;
pub const GLX_TEXTURE_2D_EXT: u32 = 8412;
pub const GLX_TEXTURE_RECTANGLE_EXT: u32 = 8413;
pub const GLX_FRONT_LEFT_EXT: u32 = 8414;
pub const GLX_FRONT_RIGHT_EXT: u32 = 8415;
pub const GLX_BACK_LEFT_EXT: u32 = 8416;
pub const GLX_BACK_RIGHT_EXT: u32 = 8417;
pub const GLX_FRONT_EXT: u32 = 8414;
pub const GLX_BACK_EXT: u32 = 8416;
pub const GLX_AUX0_EXT: u32 = 8418;
pub const GLX_AUX1_EXT: u32 = 8419;
pub const GLX_AUX2_EXT: u32 = 8420;
pub const GLX_AUX3_EXT: u32 = 8421;
pub const GLX_AUX4_EXT: u32 = 8422;
pub const GLX_AUX5_EXT: u32 = 8423;
pub const GLX_AUX6_EXT: u32 = 8424;
pub const GLX_AUX7_EXT: u32 = 8425;
pub const GLX_AUX8_EXT: u32 = 8426;
pub const GLX_AUX9_EXT: u32 = 8427;
pub const GLX_EXT_visual_info: u32 = 1;
pub const GLX_X_VISUAL_TYPE_EXT: u32 = 34;
pub const GLX_TRANSPARENT_TYPE_EXT: u32 = 35;
pub const GLX_TRANSPARENT_INDEX_VALUE_EXT: u32 = 36;
pub const GLX_TRANSPARENT_RED_VALUE_EXT: u32 = 37;
pub const GLX_TRANSPARENT_GREEN_VALUE_EXT: u32 = 38;
pub const GLX_TRANSPARENT_BLUE_VALUE_EXT: u32 = 39;
pub const GLX_TRANSPARENT_ALPHA_VALUE_EXT: u32 = 40;
pub const GLX_NONE_EXT: u32 = 32768;
pub const GLX_TRUE_COLOR_EXT: u32 = 32770;
pub const GLX_DIRECT_COLOR_EXT: u32 = 32771;
pub const GLX_PSEUDO_COLOR_EXT: u32 = 32772;
pub const GLX_STATIC_COLOR_EXT: u32 = 32773;
pub const GLX_GRAY_SCALE_EXT: u32 = 32774;
pub const GLX_STATIC_GRAY_EXT: u32 = 32775;
pub const GLX_TRANSPARENT_RGB_EXT: u32 = 32776;
pub const GLX_TRANSPARENT_INDEX_EXT: u32 = 32777;
pub const GLX_EXT_visual_rating: u32 = 1;
pub const GLX_VISUAL_CAVEAT_EXT: u32 = 32;
pub const GLX_SLOW_VISUAL_EXT: u32 = 32769;
pub const GLX_NON_CONFORMANT_VISUAL_EXT: u32 = 32781;
pub const GLX_INTEL_swap_event: u32 = 1;
pub const GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK: u32 = 67108864;
pub const GLX_EXCHANGE_COMPLETE_INTEL: u32 = 33152;
pub const GLX_COPY_COMPLETE_INTEL: u32 = 33153;
pub const GLX_FLIP_COMPLETE_INTEL: u32 = 33154;
pub const GLX_MESA_agp_offset: u32 = 1;
pub const GLX_MESA_copy_sub_buffer: u32 = 1;
pub const GLX_MESA_pixmap_colormap: u32 = 1;
pub const GLX_MESA_query_renderer: u32 = 1;
pub const GLX_RENDERER_VENDOR_ID_MESA: u32 = 33155;
pub const GLX_RENDERER_DEVICE_ID_MESA: u32 = 33156;
pub const GLX_RENDERER_VERSION_MESA: u32 = 33157;
pub const GLX_RENDERER_ACCELERATED_MESA: u32 = 33158;
pub const GLX_RENDERER_VIDEO_MEMORY_MESA: u32 = 33159;
pub const GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA: u32 = 33160;
pub const GLX_RENDERER_PREFERRED_PROFILE_MESA: u32 = 33161;
pub const GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA: u32 = 33162;
pub const GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA: u32 = 33163;
pub const GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA: u32 = 33164;
pub const GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA: u32 = 33165;
pub const GLX_RENDERER_ID_MESA: u32 = 33166;
pub const GLX_MESA_release_buffers: u32 = 1;
pub const GLX_MESA_set_3dfx_mode: u32 = 1;
pub const GLX_3DFX_WINDOW_MODE_MESA: u32 = 1;
pub const GLX_3DFX_FULLSCREEN_MODE_MESA: u32 = 2;
pub const GLX_MESA_swap_control: u32 = 1;
pub const GLX_NV_copy_buffer: u32 = 1;
pub const GLX_NV_copy_image: u32 = 1;
pub const GLX_NV_delay_before_swap: u32 = 1;
pub const GLX_NV_float_buffer: u32 = 1;
pub const GLX_FLOAT_COMPONENTS_NV: u32 = 8368;
pub const GLX_NV_multisample_coverage: u32 = 1;
pub const GLX_COVERAGE_SAMPLES_NV: u32 = 100001;
pub const GLX_COLOR_SAMPLES_NV: u32 = 8371;
pub const GLX_NV_present_video: u32 = 1;
pub const GLX_NUM_VIDEO_SLOTS_NV: u32 = 8432;
pub const GLX_NV_robustness_video_memory_purge: u32 = 1;
pub const GLX_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV: u32 = 8439;
pub const GLX_NV_swap_group: u32 = 1;
pub const GLX_NV_video_capture: u32 = 1;
pub const GLX_DEVICE_ID_NV: u32 = 8397;
pub const GLX_UNIQUE_ID_NV: u32 = 8398;
pub const GLX_NUM_VIDEO_CAPTURE_SLOTS_NV: u32 = 8399;
pub const GLX_NV_video_out: u32 = 1;
pub const GLX_VIDEO_OUT_COLOR_NV: u32 = 8387;
pub const GLX_VIDEO_OUT_ALPHA_NV: u32 = 8388;
pub const GLX_VIDEO_OUT_DEPTH_NV: u32 = 8389;
pub const GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV: u32 = 8390;
pub const GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV: u32 = 8391;
pub const GLX_VIDEO_OUT_FRAME_NV: u32 = 8392;
pub const GLX_VIDEO_OUT_FIELD_1_NV: u32 = 8393;
pub const GLX_VIDEO_OUT_FIELD_2_NV: u32 = 8394;
pub const GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV: u32 = 8395;
pub const GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV: u32 = 8396;
pub const GLX_OML_swap_method: u32 = 1;
pub const GLX_SWAP_METHOD_OML: u32 = 32864;
pub const GLX_SWAP_EXCHANGE_OML: u32 = 32865;
pub const GLX_SWAP_COPY_OML: u32 = 32866;
pub const GLX_SWAP_UNDEFINED_OML: u32 = 32867;
pub const GLX_OML_sync_control: u32 = 1;
pub const GLX_SGIS_blended_overlay: u32 = 1;
pub const GLX_BLENDED_RGBA_SGIS: u32 = 32805;
pub const GLX_SGIS_multisample: u32 = 1;
pub const GLX_SAMPLE_BUFFERS_SGIS: u32 = 100000;
pub const GLX_SAMPLES_SGIS: u32 = 100001;
pub const GLX_SGIS_shared_multisample: u32 = 1;
pub const GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS: u32 = 32806;
pub const GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS: u32 = 32807;
pub const GLX_SGIX_dmbuffer: u32 = 1;
pub const GLX_SGIX_fbconfig: u32 = 1;
pub const GLX_WINDOW_BIT_SGIX: u32 = 1;
pub const GLX_PIXMAP_BIT_SGIX: u32 = 2;
pub const GLX_RGBA_BIT_SGIX: u32 = 1;
pub const GLX_COLOR_INDEX_BIT_SGIX: u32 = 2;
pub const GLX_DRAWABLE_TYPE_SGIX: u32 = 32784;
pub const GLX_RENDER_TYPE_SGIX: u32 = 32785;
pub const GLX_X_RENDERABLE_SGIX: u32 = 32786;
pub const GLX_FBCONFIG_ID_SGIX: u32 = 32787;
pub const GLX_RGBA_TYPE_SGIX: u32 = 32788;
pub const GLX_COLOR_INDEX_TYPE_SGIX: u32 = 32789;
pub const GLX_SGIX_hyperpipe: u32 = 1;
pub const GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX: u32 = 80;
pub const GLX_BAD_HYPERPIPE_CONFIG_SGIX: u32 = 91;
pub const GLX_BAD_HYPERPIPE_SGIX: u32 = 92;
pub const GLX_HYPERPIPE_DISPLAY_PIPE_SGIX: u32 = 1;
pub const GLX_HYPERPIPE_RENDER_PIPE_SGIX: u32 = 2;
pub const GLX_PIPE_RECT_SGIX: u32 = 1;
pub const GLX_PIPE_RECT_LIMITS_SGIX: u32 = 2;
pub const GLX_HYPERPIPE_STEREO_SGIX: u32 = 3;
pub const GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX: u32 = 4;
pub const GLX_HYPERPIPE_ID_SGIX: u32 = 32816;
pub const GLX_SGIX_pbuffer: u32 = 1;
pub const GLX_PBUFFER_BIT_SGIX: u32 = 4;
pub const GLX_BUFFER_CLOBBER_MASK_SGIX: u32 = 134217728;
pub const GLX_FRONT_LEFT_BUFFER_BIT_SGIX: u32 = 1;
pub const GLX_FRONT_RIGHT_BUFFER_BIT_SGIX: u32 = 2;
pub const GLX_BACK_LEFT_BUFFER_BIT_SGIX: u32 = 4;
pub const GLX_BACK_RIGHT_BUFFER_BIT_SGIX: u32 = 8;
pub const GLX_AUX_BUFFERS_BIT_SGIX: u32 = 16;
pub const GLX_DEPTH_BUFFER_BIT_SGIX: u32 = 32;
pub const GLX_STENCIL_BUFFER_BIT_SGIX: u32 = 64;
pub const GLX_ACCUM_BUFFER_BIT_SGIX: u32 = 128;
pub const GLX_SAMPLE_BUFFERS_BIT_SGIX: u32 = 256;
pub const GLX_MAX_PBUFFER_WIDTH_SGIX: u32 = 32790;
pub const GLX_MAX_PBUFFER_HEIGHT_SGIX: u32 = 32791;
pub const GLX_MAX_PBUFFER_PIXELS_SGIX: u32 = 32792;
pub const GLX_OPTIMAL_PBUFFER_WIDTH_SGIX: u32 = 32793;
pub const GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX: u32 = 32794;
pub const GLX_PRESERVED_CONTENTS_SGIX: u32 = 32795;
pub const GLX_LARGEST_PBUFFER_SGIX: u32 = 32796;
pub const GLX_WIDTH_SGIX: u32 = 32797;
pub const GLX_HEIGHT_SGIX: u32 = 32798;
pub const GLX_EVENT_MASK_SGIX: u32 = 32799;
pub const GLX_DAMAGED_SGIX: u32 = 32800;
pub const GLX_SAVED_SGIX: u32 = 32801;
pub const GLX_WINDOW_SGIX: u32 = 32802;
pub const GLX_PBUFFER_SGIX: u32 = 32803;
pub const GLX_SGIX_swap_barrier: u32 = 1;
pub const GLX_SGIX_swap_group: u32 = 1;
pub const GLX_SGIX_video_resize: u32 = 1;
pub const GLX_SYNC_FRAME_SGIX: u32 = 0;
pub const GLX_SYNC_SWAP_SGIX: u32 = 1;
pub const GLX_SGIX_video_source: u32 = 1;
pub const GLX_SGIX_visual_select_group: u32 = 1;
pub const GLX_VISUAL_SELECT_GROUP_SGIX: u32 = 32808;
pub const GLX_SGI_cushion: u32 = 1;
pub const GLX_SGI_make_current_read: u32 = 1;
pub const GLX_SGI_swap_control: u32 = 1;
pub const GLX_SGI_video_sync: u32 = 1;
pub const GLX_SUN_get_transparent_index: u32 = 1;
pub const GLX_ARB_render_texture: u32 = 1;
pub const GLX_MESA_swap_frame_usage: u32 = 1;
pub type __u_char = ::std::os::raw::c_uchar;
pub type __u_short = ::std::os::raw::c_ushort;
pub type __u_int = ::std::os::raw::c_uint;
pub type __u_long = ::std::os::raw::c_ulong;
pub type __int8_t = ::std::os::raw::c_schar;
pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __int16_t = ::std::os::raw::c_short;
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_long;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type __int_least8_t = __int8_t;
pub type __uint_least8_t = __uint8_t;
pub type __int_least16_t = __int16_t;
pub type __uint_least16_t = __uint16_t;
pub type __int_least32_t = __int32_t;
pub type __uint_least32_t = __uint32_t;
pub type __int_least64_t = __int64_t;
pub type __uint_least64_t = __uint64_t;
pub type __quad_t = ::std::os::raw::c_long;
pub type __u_quad_t = ::std::os::raw::c_ulong;
pub type __intmax_t = ::std::os::raw::c_long;
pub type __uintmax_t = ::std::os::raw::c_ulong;
pub type __dev_t = ::std::os::raw::c_ulong;
pub type __uid_t = ::std::os::raw::c_uint;
pub type __gid_t = ::std::os::raw::c_uint;
pub type __ino_t = ::std::os::raw::c_ulong;
pub type __ino64_t = ::std::os::raw::c_ulong;
pub type __mode_t = ::std::os::raw::c_uint;
pub type __nlink_t = ::std::os::raw::c_ulong;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = ::std::os::raw::c_long;
pub type __pid_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __fsid_t {
    pub __val: [::std::os::raw::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___fsid_t() {
    assert_eq!(
        ::std::mem::size_of::<__fsid_t>(),
        8usize,
        concat!("Size of: ", stringify!(__fsid_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__fsid_t>(),
        4usize,
        concat!("Alignment of ", stringify!(__fsid_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__fsid_t),
            "::",
            stringify!(__val)
        )
    );
}
pub type __clock_t = ::std::os::raw::c_long;
pub type __rlim_t = ::std::os::raw::c_ulong;
pub type __rlim64_t = ::std::os::raw::c_ulong;
pub type __id_t = ::std::os::raw::c_uint;
pub type __time_t = ::std::os::raw::c_long;
pub type __useconds_t = ::std::os::raw::c_uint;
pub type __suseconds_t = ::std::os::raw::c_long;
pub type __daddr_t = ::std::os::raw::c_int;
pub type __key_t = ::std::os::raw::c_int;
pub type __clockid_t = ::std::os::raw::c_int;
pub type __timer_t = *mut ::std::os::raw::c_void;
pub type __blksize_t = ::std::os::raw::c_long;
pub type __blkcnt_t = ::std::os::raw::c_long;
pub type __blkcnt64_t = ::std::os::raw::c_long;
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
pub type __fsword_t = ::std::os::raw::c_long;
pub type __ssize_t = ::std::os::raw::c_long;
pub type __syscall_slong_t = ::std::os::raw::c_long;
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut ::std::os::raw::c_char;
pub type __intptr_t = ::std::os::raw::c_long;
pub type __socklen_t = ::std::os::raw::c_uint;
pub type __sig_atomic_t = ::std::os::raw::c_int;
pub type u_char = __u_char;
pub type u_short = __u_short;
pub type u_int = __u_int;
pub type u_long = __u_long;
pub type quad_t = __quad_t;
pub type u_quad_t = __u_quad_t;
pub type fsid_t = __fsid_t;
pub type loff_t = __loff_t;
pub type ino_t = __ino_t;
pub type dev_t = __dev_t;
pub type gid_t = __gid_t;
pub type mode_t = __mode_t;
pub type nlink_t = __nlink_t;
pub type uid_t = __uid_t;
pub type off_t = __off_t;
pub type pid_t = __pid_t;
pub type id_t = __id_t;
pub type daddr_t = __daddr_t;
pub type caddr_t = __caddr_t;
pub type key_t = __key_t;
pub type clock_t = __clock_t;
pub type clockid_t = __clockid_t;
pub type time_t = __time_t;
pub type timer_t = __timer_t;
pub type ulong = ::std::os::raw::c_ulong;
pub type ushort = ::std::os::raw::c_ushort;
pub type uint = ::std::os::raw::c_uint;
pub type u_int8_t = ::std::os::raw::c_uchar;
pub type u_int16_t = ::std::os::raw::c_ushort;
pub type u_int32_t = ::std::os::raw::c_uint;
pub type u_int64_t = ::std::os::raw::c_ulong;
pub type register_t = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
    pub __val: [::std::os::raw::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___sigset_t() {
    assert_eq!(
        ::std::mem::size_of::<__sigset_t>(),
        128usize,
        concat!("Size of: ", stringify!(__sigset_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__sigset_t>(),
        8usize,
        concat!("Alignment of ", stringify!(__sigset_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sigset_t),
            "::",
            stringify!(__val)
        )
    );
}
pub type sigset_t = __sigset_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timeval {
    pub tv_sec: __time_t,
    pub tv_usec: __suseconds_t,
}
#[test]
fn bindgen_test_layout_timeval() {
    assert_eq!(
        ::std::mem::size_of::<timeval>(),
        16usize,
        concat!("Size of: ", stringify!(timeval))
    );
    assert_eq!(
        ::std::mem::align_of::<timeval>(),
        8usize,
        concat!("Alignment of ", stringify!(timeval))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timeval),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(timeval),
            "::",
            stringify!(tv_usec)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
    pub tv_sec: __time_t,
    pub tv_nsec: __syscall_slong_t,
}
#[test]
fn bindgen_test_layout_timespec() {
    assert_eq!(
        ::std::mem::size_of::<timespec>(),
        16usize,
        concat!("Size of: ", stringify!(timespec))
    );
    assert_eq!(
        ::std::mem::align_of::<timespec>(),
        8usize,
        concat!("Alignment of ", stringify!(timespec))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timespec),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(timespec),
            "::",
            stringify!(tv_nsec)
        )
    );
}
pub type suseconds_t = __suseconds_t;
pub type __fd_mask = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fd_set {
    pub __fds_bits: [__fd_mask; 16usize],
}
#[test]
fn bindgen_test_layout_fd_set() {
    assert_eq!(
        ::std::mem::size_of::<fd_set>(),
        128usize,
        concat!("Size of: ", stringify!(fd_set))
    );
    assert_eq!(
        ::std::mem::align_of::<fd_set>(),
        8usize,
        concat!("Alignment of ", stringify!(fd_set))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<fd_set>())).__fds_bits as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(fd_set),
            "::",
            stringify!(__fds_bits)
        )
    );
}
pub type fd_mask = __fd_mask;
extern "C" {
    pub fn select(
        __nfds: ::std::os::raw::c_int,
        __readfds: *mut fd_set,
        __writefds: *mut fd_set,
        __exceptfds: *mut fd_set,
        __timeout: *mut timeval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pselect(
        __nfds: ::std::os::raw::c_int,
        __readfds: *mut fd_set,
        __writefds: *mut fd_set,
        __exceptfds: *mut fd_set,
        __timeout: *const timespec,
        __sigmask: *const __sigset_t,
    ) -> ::std::os::raw::c_int;
}
pub type blksize_t = __blksize_t;
pub type blkcnt_t = __blkcnt_t;
pub type fsblkcnt_t = __fsblkcnt_t;
pub type fsfilcnt_t = __fsfilcnt_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_rwlock_arch_t {
    pub __readers: ::std::os::raw::c_uint,
    pub __writers: ::std::os::raw::c_uint,
    pub __wrphase_futex: ::std::os::raw::c_uint,
    pub __writers_futex: ::std::os::raw::c_uint,
    pub __pad3: ::std::os::raw::c_uint,
    pub __pad4: ::std::os::raw::c_uint,
    pub __cur_writer: ::std::os::raw::c_int,
    pub __shared: ::std::os::raw::c_int,
    pub __rwelision: ::std::os::raw::c_schar,
    pub __pad1: [::std::os::raw::c_uchar; 7usize],
    pub __pad2: ::std::os::raw::c_ulong,
    pub __flags: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_rwlock_arch_t() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_rwlock_arch_t>(),
        56usize,
        concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_rwlock_arch_t>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__readers as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__readers)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__writers)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__wrphase_futex as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__wrphase_futex)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers_futex as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__writers_futex)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad3 as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad3)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad4 as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad4)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__cur_writer as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__cur_writer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__shared as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__shared)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__rwelision as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__rwelision)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad1 as *const _ as usize },
        33usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad2 as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__flags as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_list {
    pub __prev: *mut __pthread_internal_list,
    pub __next: *mut __pthread_internal_list,
}
#[test]
fn bindgen_test_layout___pthread_internal_list() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_internal_list>(),
        16usize,
        concat!("Size of: ", stringify!(__pthread_internal_list))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_internal_list>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_internal_list))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__prev as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_internal_list),
            "::",
            stringify!(__prev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__next as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_internal_list),
            "::",
            stringify!(__next)
        )
    );
}
pub type __pthread_list_t = __pthread_internal_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_mutex_s {
    pub __lock: ::std::os::raw::c_int,
    pub __count: ::std::os::raw::c_uint,
    pub __owner: ::std::os::raw::c_int,
    pub __nusers: ::std::os::raw::c_uint,
    pub __kind: ::std::os::raw::c_int,
    pub __spins: ::std::os::raw::c_short,
    pub __elision: ::std::os::raw::c_short,
    pub __list: __pthread_list_t,
}
#[test]
fn bindgen_test_layout___pthread_mutex_s() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_mutex_s>(),
        40usize,
        concat!("Size of: ", stringify!(__pthread_mutex_s))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_mutex_s>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_mutex_s))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__lock as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__lock)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__count as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__owner as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__owner)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__nusers as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__nusers)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__kind as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__kind)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__spins as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__spins)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__elision as *const _ as usize },
        22usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__elision)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__list as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__list)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __pthread_cond_s {
    pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
    pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
    pub __g_refs: [::std::os::raw::c_uint; 2usize],
    pub __g_size: [::std::os::raw::c_uint; 2usize],
    pub __g1_orig_size: ::std::os::raw::c_uint,
    pub __wrefs: ::std::os::raw::c_uint,
    pub __g_signals: [::std::os::raw::c_uint; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_cond_s__bindgen_ty_1 {
    pub __wseq: ::std::os::raw::c_ulonglong,
    pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
    _bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
    pub __low: ::std::os::raw::c_uint,
    pub __high: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__low
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(__low)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__high
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(__high)
        )
    );
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_1),
            "::",
            stringify!(__wseq)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq32 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_1),
            "::",
            stringify!(__wseq32)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_cond_s__bindgen_ty_2 {
    pub __g1_start: ::std::os::raw::c_ulonglong,
    pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
    _bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
    pub __low: ::std::os::raw::c_uint,
    pub __high: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__low
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(__low)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__high
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(__high)
        )
    );
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(),
        8usize,
        concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_2),
            "::",
            stringify!(__g1_start)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start32 as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_2),
            "::",
            stringify!(__g1_start32)
        )
    );
}
#[test]
fn bindgen_test_layout___pthread_cond_s() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cond_s>(),
        48usize,
        concat!("Size of: ", stringify!(__pthread_cond_s))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cond_s>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_cond_s))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_refs as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g_refs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_size as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g1_orig_size as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g1_orig_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__wrefs as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__wrefs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_signals as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g_signals)
        )
    );
}
pub type pthread_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutexattr_t {
    pub __size: [::std::os::raw::c_char; 4usize],
    pub __align: ::std::os::raw::c_int,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_mutexattr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_mutexattr_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_mutexattr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_mutexattr_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_mutexattr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutexattr_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutexattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutexattr_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutexattr_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_condattr_t {
    pub __size: [::std::os::raw::c_char; 4usize],
    pub __align: ::std::os::raw::c_int,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_condattr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_condattr_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_condattr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_condattr_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_condattr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_condattr_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_condattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_condattr_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_condattr_t),
            "::",
            stringify!(__align)
        )
    );
}
pub type pthread_key_t = ::std::os::raw::c_uint;
pub type pthread_once_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_attr_t {
    pub __size: [::std::os::raw::c_char; 56usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: [u64; 7usize],
}
#[test]
fn bindgen_test_layout_pthread_attr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_attr_t>(),
        56usize,
        concat!("Size of: ", stringify!(pthread_attr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_attr_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_attr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutex_t {
    pub __data: __pthread_mutex_s,
    pub __size: [::std::os::raw::c_char; 40usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: [u64; 5usize],
}
#[test]
fn bindgen_test_layout_pthread_mutex_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_mutex_t>(),
        40usize,
        concat!("Size of: ", stringify!(pthread_mutex_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_mutex_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_mutex_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutex_t),
            "::",
            stringify!(__data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutex_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutex_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_cond_t {
    pub __data: __pthread_cond_s,
    pub __size: [::std::os::raw::c_char; 48usize],
    pub __align: ::std::os::raw::c_longlong,
    _bindgen_union_align: [u64; 6usize],
}
#[test]
fn bindgen_test_layout_pthread_cond_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_cond_t>(),
        48usize,
        concat!("Size of: ", stringify!(pthread_cond_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_cond_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_cond_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_cond_t),
            "::",
            stringify!(__data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_cond_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_cond_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlock_t {
    pub __data: __pthread_rwlock_arch_t,
    pub __size: [::std::os::raw::c_char; 56usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: [u64; 7usize],
}
#[test]
fn bindgen_test_layout_pthread_rwlock_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_rwlock_t>(),
        56usize,
        concat!("Size of: ", stringify!(pthread_rwlock_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_rwlock_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_rwlock_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlock_t),
            "::",
            stringify!(__data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlock_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlock_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlockattr_t {
    pub __size: [::std::os::raw::c_char; 8usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_pthread_rwlockattr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_rwlockattr_t>(),
        8usize,
        concat!("Size of: ", stringify!(pthread_rwlockattr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_rwlockattr_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlockattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlockattr_t),
            "::",
            stringify!(__align)
        )
    );
}
pub type pthread_spinlock_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrier_t {
    pub __size: [::std::os::raw::c_char; 32usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout_pthread_barrier_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_barrier_t>(),
        32usize,
        concat!("Size of: ", stringify!(pthread_barrier_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_barrier_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_barrier_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrier_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrier_t),
            "::",
            stringify!(__align)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrierattr_t {
    pub __size: [::std::os::raw::c_char; 4usize],
    pub __align: ::std::os::raw::c_int,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_barrierattr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_barrierattr_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_barrierattr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_barrierattr_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_barrierattr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_barrierattr_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrierattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_barrierattr_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrierattr_t),
            "::",
            stringify!(__align)
        )
    );
}
pub type XID = ::std::os::raw::c_ulong;
pub type Mask = ::std::os::raw::c_ulong;
pub type Atom = ::std::os::raw::c_ulong;
pub type VisualID = ::std::os::raw::c_ulong;
pub type Time = ::std::os::raw::c_ulong;
pub type Window = XID;
pub type Drawable = XID;
pub type Font = XID;
pub type Pixmap = XID;
pub type Cursor = XID;
pub type Colormap = XID;
pub type GContext = XID;
pub type KeySym = XID;
pub type KeyCode = ::std::os::raw::c_uchar;
pub type wchar_t = ::std::os::raw::c_int;
#[repr(C)]
#[repr(align(16))]
#[derive(Debug, Copy, Clone)]
pub struct max_align_t {
    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
    pub __bindgen_padding_0: u64,
    pub __clang_max_align_nonce2: u128,
}
#[test]
fn bindgen_test_layout_max_align_t() {
    assert_eq!(
        ::std::mem::size_of::<max_align_t>(),
        32usize,
        concat!("Size of: ", stringify!(max_align_t))
    );
    assert_eq!(
        ::std::mem::align_of::<max_align_t>(),
        16usize,
        concat!("Alignment of ", stringify!(max_align_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(max_align_t),
            "::",
            stringify!(__clang_max_align_nonce1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(max_align_t),
            "::",
            stringify!(__clang_max_align_nonce2)
        )
    );
}
extern "C" {
    pub fn _Xmblen(
        str: *mut ::std::os::raw::c_char,
        len: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
pub type XPointer = *mut ::std::os::raw::c_char;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XExtData {
    pub number: ::std::os::raw::c_int,
    pub next: *mut _XExtData,
    pub free_private: ::std::option::Option<
        unsafe extern "C" fn(extension: *mut _XExtData) -> ::std::os::raw::c_int,
    >,
    pub private_data: XPointer,
}
#[test]
fn bindgen_test_layout__XExtData() {
    assert_eq!(
        ::std::mem::size_of::<_XExtData>(),
        32usize,
        concat!("Size of: ", stringify!(_XExtData))
    );
    assert_eq!(
        ::std::mem::align_of::<_XExtData>(),
        8usize,
        concat!("Alignment of ", stringify!(_XExtData))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XExtData>())).number as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XExtData),
            "::",
            stringify!(number)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XExtData>())).next as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XExtData),
            "::",
            stringify!(next)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XExtData>())).free_private as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_XExtData),
            "::",
            stringify!(free_private)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XExtData>())).private_data as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_XExtData),
            "::",
            stringify!(private_data)
        )
    );
}
pub type XExtData = _XExtData;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XExtCodes {
    pub extension: ::std::os::raw::c_int,
    pub major_opcode: ::std::os::raw::c_int,
    pub first_event: ::std::os::raw::c_int,
    pub first_error: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XExtCodes() {
    assert_eq!(
        ::std::mem::size_of::<XExtCodes>(),
        16usize,
        concat!("Size of: ", stringify!(XExtCodes))
    );
    assert_eq!(
        ::std::mem::align_of::<XExtCodes>(),
        4usize,
        concat!("Alignment of ", stringify!(XExtCodes))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExtCodes>())).extension as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XExtCodes),
            "::",
            stringify!(extension)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExtCodes>())).major_opcode as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XExtCodes),
            "::",
            stringify!(major_opcode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExtCodes>())).first_event as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XExtCodes),
            "::",
            stringify!(first_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExtCodes>())).first_error as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XExtCodes),
            "::",
            stringify!(first_error)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPixmapFormatValues {
    pub depth: ::std::os::raw::c_int,
    pub bits_per_pixel: ::std::os::raw::c_int,
    pub scanline_pad: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XPixmapFormatValues() {
    assert_eq!(
        ::std::mem::size_of::<XPixmapFormatValues>(),
        12usize,
        concat!("Size of: ", stringify!(XPixmapFormatValues))
    );
    assert_eq!(
        ::std::mem::align_of::<XPixmapFormatValues>(),
        4usize,
        concat!("Alignment of ", stringify!(XPixmapFormatValues))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPixmapFormatValues>())).depth as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XPixmapFormatValues),
            "::",
            stringify!(depth)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XPixmapFormatValues>())).bits_per_pixel as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XPixmapFormatValues),
            "::",
            stringify!(bits_per_pixel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XPixmapFormatValues>())).scanline_pad as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XPixmapFormatValues),
            "::",
            stringify!(scanline_pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XGCValues {
    pub function: ::std::os::raw::c_int,
    pub plane_mask: ::std::os::raw::c_ulong,
    pub foreground: ::std::os::raw::c_ulong,
    pub background: ::std::os::raw::c_ulong,
    pub line_width: ::std::os::raw::c_int,
    pub line_style: ::std::os::raw::c_int,
    pub cap_style: ::std::os::raw::c_int,
    pub join_style: ::std::os::raw::c_int,
    pub fill_style: ::std::os::raw::c_int,
    pub fill_rule: ::std::os::raw::c_int,
    pub arc_mode: ::std::os::raw::c_int,
    pub tile: Pixmap,
    pub stipple: Pixmap,
    pub ts_x_origin: ::std::os::raw::c_int,
    pub ts_y_origin: ::std::os::raw::c_int,
    pub font: Font,
    pub subwindow_mode: ::std::os::raw::c_int,
    pub graphics_exposures: ::std::os::raw::c_int,
    pub clip_x_origin: ::std::os::raw::c_int,
    pub clip_y_origin: ::std::os::raw::c_int,
    pub clip_mask: Pixmap,
    pub dash_offset: ::std::os::raw::c_int,
    pub dashes: ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_XGCValues() {
    assert_eq!(
        ::std::mem::size_of::<XGCValues>(),
        128usize,
        concat!("Size of: ", stringify!(XGCValues))
    );
    assert_eq!(
        ::std::mem::align_of::<XGCValues>(),
        8usize,
        concat!("Alignment of ", stringify!(XGCValues))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).function as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(function)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).plane_mask as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(plane_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).foreground as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(foreground)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).background as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(background)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).line_width as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(line_width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).line_style as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(line_style)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).cap_style as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(cap_style)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).join_style as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(join_style)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).fill_style as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(fill_style)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).fill_rule as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(fill_rule)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).arc_mode as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(arc_mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).tile as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(tile)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).stipple as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(stipple)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).ts_x_origin as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(ts_x_origin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).ts_y_origin as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(ts_y_origin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).font as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(font)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).subwindow_mode as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(subwindow_mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).graphics_exposures as *const _ as usize },
        100usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(graphics_exposures)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).clip_x_origin as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(clip_x_origin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).clip_y_origin as *const _ as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(clip_y_origin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).clip_mask as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(clip_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).dash_offset as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(dash_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGCValues>())).dashes as *const _ as usize },
        124usize,
        concat!(
            "Offset of field: ",
            stringify!(XGCValues),
            "::",
            stringify!(dashes)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XGC {
    _unused: [u8; 0],
}
pub type GC = *mut _XGC;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Visual {
    pub ext_data: *mut XExtData,
    pub visualid: VisualID,
    pub class: ::std::os::raw::c_int,
    pub red_mask: ::std::os::raw::c_ulong,
    pub green_mask: ::std::os::raw::c_ulong,
    pub blue_mask: ::std::os::raw::c_ulong,
    pub bits_per_rgb: ::std::os::raw::c_int,
    pub map_entries: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_Visual() {
    assert_eq!(
        ::std::mem::size_of::<Visual>(),
        56usize,
        concat!("Size of: ", stringify!(Visual))
    );
    assert_eq!(
        ::std::mem::align_of::<Visual>(),
        8usize,
        concat!("Alignment of ", stringify!(Visual))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Visual>())).ext_data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Visual),
            "::",
            stringify!(ext_data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Visual>())).visualid as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Visual),
            "::",
            stringify!(visualid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Visual>())).class as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Visual),
            "::",
            stringify!(class)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Visual>())).red_mask as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(Visual),
            "::",
            stringify!(red_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Visual>())).green_mask as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(Visual),
            "::",
            stringify!(green_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Visual>())).blue_mask as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(Visual),
            "::",
            stringify!(blue_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Visual>())).bits_per_rgb as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(Visual),
            "::",
            stringify!(bits_per_rgb)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Visual>())).map_entries as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(Visual),
            "::",
            stringify!(map_entries)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Depth {
    pub depth: ::std::os::raw::c_int,
    pub nvisuals: ::std::os::raw::c_int,
    pub visuals: *mut Visual,
}
#[test]
fn bindgen_test_layout_Depth() {
    assert_eq!(
        ::std::mem::size_of::<Depth>(),
        16usize,
        concat!("Size of: ", stringify!(Depth))
    );
    assert_eq!(
        ::std::mem::align_of::<Depth>(),
        8usize,
        concat!("Alignment of ", stringify!(Depth))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Depth>())).depth as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Depth),
            "::",
            stringify!(depth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Depth>())).nvisuals as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(Depth),
            "::",
            stringify!(nvisuals)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Depth>())).visuals as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Depth),
            "::",
            stringify!(visuals)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XDisplay {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Screen {
    pub ext_data: *mut XExtData,
    pub display: *mut _XDisplay,
    pub root: Window,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub mwidth: ::std::os::raw::c_int,
    pub mheight: ::std::os::raw::c_int,
    pub ndepths: ::std::os::raw::c_int,
    pub depths: *mut Depth,
    pub root_depth: ::std::os::raw::c_int,
    pub root_visual: *mut Visual,
    pub default_gc: GC,
    pub cmap: Colormap,
    pub white_pixel: ::std::os::raw::c_ulong,
    pub black_pixel: ::std::os::raw::c_ulong,
    pub max_maps: ::std::os::raw::c_int,
    pub min_maps: ::std::os::raw::c_int,
    pub backing_store: ::std::os::raw::c_int,
    pub save_unders: ::std::os::raw::c_int,
    pub root_input_mask: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout_Screen() {
    assert_eq!(
        ::std::mem::size_of::<Screen>(),
        128usize,
        concat!("Size of: ", stringify!(Screen))
    );
    assert_eq!(
        ::std::mem::align_of::<Screen>(),
        8usize,
        concat!("Alignment of ", stringify!(Screen))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).ext_data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(ext_data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).display as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).root as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).width as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).height as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).mwidth as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(mwidth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).mheight as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(mheight)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).ndepths as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(ndepths)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).depths as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(depths)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).root_depth as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(root_depth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).root_visual as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(root_visual)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).default_gc as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(default_gc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).cmap as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(cmap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).white_pixel as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(white_pixel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).black_pixel as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(black_pixel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).max_maps as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(max_maps)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).min_maps as *const _ as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(min_maps)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).backing_store as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(backing_store)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).save_unders as *const _ as usize },
        116usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(save_unders)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<Screen>())).root_input_mask as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(Screen),
            "::",
            stringify!(root_input_mask)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ScreenFormat {
    pub ext_data: *mut XExtData,
    pub depth: ::std::os::raw::c_int,
    pub bits_per_pixel: ::std::os::raw::c_int,
    pub scanline_pad: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_ScreenFormat() {
    assert_eq!(
        ::std::mem::size_of::<ScreenFormat>(),
        24usize,
        concat!("Size of: ", stringify!(ScreenFormat))
    );
    assert_eq!(
        ::std::mem::align_of::<ScreenFormat>(),
        8usize,
        concat!("Alignment of ", stringify!(ScreenFormat))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ScreenFormat>())).ext_data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ScreenFormat),
            "::",
            stringify!(ext_data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ScreenFormat>())).depth as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ScreenFormat),
            "::",
            stringify!(depth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ScreenFormat>())).bits_per_pixel as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ScreenFormat),
            "::",
            stringify!(bits_per_pixel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ScreenFormat>())).scanline_pad as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ScreenFormat),
            "::",
            stringify!(scanline_pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XSetWindowAttributes {
    pub background_pixmap: Pixmap,
    pub background_pixel: ::std::os::raw::c_ulong,
    pub border_pixmap: Pixmap,
    pub border_pixel: ::std::os::raw::c_ulong,
    pub bit_gravity: ::std::os::raw::c_int,
    pub win_gravity: ::std::os::raw::c_int,
    pub backing_store: ::std::os::raw::c_int,
    pub backing_planes: ::std::os::raw::c_ulong,
    pub backing_pixel: ::std::os::raw::c_ulong,
    pub save_under: ::std::os::raw::c_int,
    pub event_mask: ::std::os::raw::c_long,
    pub do_not_propagate_mask: ::std::os::raw::c_long,
    pub override_redirect: ::std::os::raw::c_int,
    pub colormap: Colormap,
    pub cursor: Cursor,
}
#[test]
fn bindgen_test_layout_XSetWindowAttributes() {
    assert_eq!(
        ::std::mem::size_of::<XSetWindowAttributes>(),
        112usize,
        concat!("Size of: ", stringify!(XSetWindowAttributes))
    );
    assert_eq!(
        ::std::mem::align_of::<XSetWindowAttributes>(),
        8usize,
        concat!("Alignment of ", stringify!(XSetWindowAttributes))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).background_pixmap as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(background_pixmap)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).background_pixel as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(background_pixel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).border_pixmap as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(border_pixmap)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).border_pixel as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(border_pixel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).bit_gravity as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(bit_gravity)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).win_gravity as *const _ as usize
        },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(win_gravity)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).backing_store as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(backing_store)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).backing_planes as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(backing_planes)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).backing_pixel as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(backing_pixel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSetWindowAttributes>())).save_under as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(save_under)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSetWindowAttributes>())).event_mask as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(event_mask)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).do_not_propagate_mask as *const _
                as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(do_not_propagate_mask)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSetWindowAttributes>())).override_redirect as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(override_redirect)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSetWindowAttributes>())).colormap as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(colormap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSetWindowAttributes>())).cursor as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(XSetWindowAttributes),
            "::",
            stringify!(cursor)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XWindowAttributes {
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub border_width: ::std::os::raw::c_int,
    pub depth: ::std::os::raw::c_int,
    pub visual: *mut Visual,
    pub root: Window,
    pub class: ::std::os::raw::c_int,
    pub bit_gravity: ::std::os::raw::c_int,
    pub win_gravity: ::std::os::raw::c_int,
    pub backing_store: ::std::os::raw::c_int,
    pub backing_planes: ::std::os::raw::c_ulong,
    pub backing_pixel: ::std::os::raw::c_ulong,
    pub save_under: ::std::os::raw::c_int,
    pub colormap: Colormap,
    pub map_installed: ::std::os::raw::c_int,
    pub map_state: ::std::os::raw::c_int,
    pub all_event_masks: ::std::os::raw::c_long,
    pub your_event_mask: ::std::os::raw::c_long,
    pub do_not_propagate_mask: ::std::os::raw::c_long,
    pub override_redirect: ::std::os::raw::c_int,
    pub screen: *mut Screen,
}
#[test]
fn bindgen_test_layout_XWindowAttributes() {
    assert_eq!(
        ::std::mem::size_of::<XWindowAttributes>(),
        136usize,
        concat!("Size of: ", stringify!(XWindowAttributes))
    );
    assert_eq!(
        ::std::mem::align_of::<XWindowAttributes>(),
        8usize,
        concat!("Alignment of ", stringify!(XWindowAttributes))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).x as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).y as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).width as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).height as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).border_width as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(border_width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).depth as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(depth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).visual as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(visual)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).root as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).class as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(class)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).bit_gravity as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(bit_gravity)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).win_gravity as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(win_gravity)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).backing_store as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(backing_store)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XWindowAttributes>())).backing_planes as *const _ as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(backing_planes)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).backing_pixel as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(backing_pixel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).save_under as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(save_under)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).colormap as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(colormap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).map_installed as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(map_installed)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).map_state as *const _ as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(map_state)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XWindowAttributes>())).all_event_masks as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(all_event_masks)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XWindowAttributes>())).your_event_mask as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(your_event_mask)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XWindowAttributes>())).do_not_propagate_mask as *const _ as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(do_not_propagate_mask)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XWindowAttributes>())).override_redirect as *const _ as usize
        },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(override_redirect)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowAttributes>())).screen as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowAttributes),
            "::",
            stringify!(screen)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XHostAddress {
    pub family: ::std::os::raw::c_int,
    pub length: ::std::os::raw::c_int,
    pub address: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_XHostAddress() {
    assert_eq!(
        ::std::mem::size_of::<XHostAddress>(),
        16usize,
        concat!("Size of: ", stringify!(XHostAddress))
    );
    assert_eq!(
        ::std::mem::align_of::<XHostAddress>(),
        8usize,
        concat!("Alignment of ", stringify!(XHostAddress))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XHostAddress>())).family as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XHostAddress),
            "::",
            stringify!(family)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XHostAddress>())).length as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XHostAddress),
            "::",
            stringify!(length)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XHostAddress>())).address as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XHostAddress),
            "::",
            stringify!(address)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XServerInterpretedAddress {
    pub typelength: ::std::os::raw::c_int,
    pub valuelength: ::std::os::raw::c_int,
    pub type_: *mut ::std::os::raw::c_char,
    pub value: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_XServerInterpretedAddress() {
    assert_eq!(
        ::std::mem::size_of::<XServerInterpretedAddress>(),
        24usize,
        concat!("Size of: ", stringify!(XServerInterpretedAddress))
    );
    assert_eq!(
        ::std::mem::align_of::<XServerInterpretedAddress>(),
        8usize,
        concat!("Alignment of ", stringify!(XServerInterpretedAddress))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XServerInterpretedAddress>())).typelength as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XServerInterpretedAddress),
            "::",
            stringify!(typelength)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XServerInterpretedAddress>())).valuelength as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XServerInterpretedAddress),
            "::",
            stringify!(valuelength)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XServerInterpretedAddress>())).type_ as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XServerInterpretedAddress),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XServerInterpretedAddress>())).value as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XServerInterpretedAddress),
            "::",
            stringify!(value)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XImage {
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub xoffset: ::std::os::raw::c_int,
    pub format: ::std::os::raw::c_int,
    pub data: *mut ::std::os::raw::c_char,
    pub byte_order: ::std::os::raw::c_int,
    pub bitmap_unit: ::std::os::raw::c_int,
    pub bitmap_bit_order: ::std::os::raw::c_int,
    pub bitmap_pad: ::std::os::raw::c_int,
    pub depth: ::std::os::raw::c_int,
    pub bytes_per_line: ::std::os::raw::c_int,
    pub bits_per_pixel: ::std::os::raw::c_int,
    pub red_mask: ::std::os::raw::c_ulong,
    pub green_mask: ::std::os::raw::c_ulong,
    pub blue_mask: ::std::os::raw::c_ulong,
    pub obdata: XPointer,
    pub f: _XImage_funcs,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XImage_funcs {
    pub create_image: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut _XDisplay,
            arg2: *mut Visual,
            arg3: ::std::os::raw::c_uint,
            arg4: ::std::os::raw::c_int,
            arg5: ::std::os::raw::c_int,
            arg6: *mut ::std::os::raw::c_char,
            arg7: ::std::os::raw::c_uint,
            arg8: ::std::os::raw::c_uint,
            arg9: ::std::os::raw::c_int,
            arg10: ::std::os::raw::c_int,
        ) -> *mut _XImage,
    >,
    pub destroy_image:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut _XImage) -> ::std::os::raw::c_int>,
    pub get_pixel: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut _XImage,
            arg2: ::std::os::raw::c_int,
            arg3: ::std::os::raw::c_int,
        ) -> ::std::os::raw::c_ulong,
    >,
    pub put_pixel: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut _XImage,
            arg2: ::std::os::raw::c_int,
            arg3: ::std::os::raw::c_int,
            arg4: ::std::os::raw::c_ulong,
        ) -> ::std::os::raw::c_int,
    >,
    pub sub_image: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut _XImage,
            arg2: ::std::os::raw::c_int,
            arg3: ::std::os::raw::c_int,
            arg4: ::std::os::raw::c_uint,
            arg5: ::std::os::raw::c_uint,
        ) -> *mut _XImage,
    >,
    pub add_pixel: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut _XImage,
            arg2: ::std::os::raw::c_long,
        ) -> ::std::os::raw::c_int,
    >,
}
#[test]
fn bindgen_test_layout__XImage_funcs() {
    assert_eq!(
        ::std::mem::size_of::<_XImage_funcs>(),
        48usize,
        concat!("Size of: ", stringify!(_XImage_funcs))
    );
    assert_eq!(
        ::std::mem::align_of::<_XImage_funcs>(),
        8usize,
        concat!("Alignment of ", stringify!(_XImage_funcs))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage_funcs>())).create_image as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage_funcs),
            "::",
            stringify!(create_image)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage_funcs>())).destroy_image as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage_funcs),
            "::",
            stringify!(destroy_image)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage_funcs>())).get_pixel as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage_funcs),
            "::",
            stringify!(get_pixel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage_funcs>())).put_pixel as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage_funcs),
            "::",
            stringify!(put_pixel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage_funcs>())).sub_image as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage_funcs),
            "::",
            stringify!(sub_image)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage_funcs>())).add_pixel as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage_funcs),
            "::",
            stringify!(add_pixel)
        )
    );
}
#[test]
fn bindgen_test_layout__XImage() {
    assert_eq!(
        ::std::mem::size_of::<_XImage>(),
        136usize,
        concat!("Size of: ", stringify!(_XImage))
    );
    assert_eq!(
        ::std::mem::align_of::<_XImage>(),
        8usize,
        concat!("Alignment of ", stringify!(_XImage))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).width as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).height as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).xoffset as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(xoffset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).format as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(format)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).data as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).byte_order as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(byte_order)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).bitmap_unit as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(bitmap_unit)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).bitmap_bit_order as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(bitmap_bit_order)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).bitmap_pad as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(bitmap_pad)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).depth as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(depth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).bytes_per_line as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(bytes_per_line)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).bits_per_pixel as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(bits_per_pixel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).red_mask as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(red_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).green_mask as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(green_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).blue_mask as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(blue_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).obdata as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(obdata)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XImage>())).f as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_XImage),
            "::",
            stringify!(f)
        )
    );
}
pub type XImage = _XImage;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XWindowChanges {
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub border_width: ::std::os::raw::c_int,
    pub sibling: Window,
    pub stack_mode: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XWindowChanges() {
    assert_eq!(
        ::std::mem::size_of::<XWindowChanges>(),
        40usize,
        concat!("Size of: ", stringify!(XWindowChanges))
    );
    assert_eq!(
        ::std::mem::align_of::<XWindowChanges>(),
        8usize,
        concat!("Alignment of ", stringify!(XWindowChanges))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowChanges>())).x as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowChanges),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowChanges>())).y as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowChanges),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowChanges>())).width as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowChanges),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowChanges>())).height as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowChanges),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowChanges>())).border_width as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowChanges),
            "::",
            stringify!(border_width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowChanges>())).sibling as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowChanges),
            "::",
            stringify!(sibling)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWindowChanges>())).stack_mode as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XWindowChanges),
            "::",
            stringify!(stack_mode)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XColor {
    pub pixel: ::std::os::raw::c_ulong,
    pub red: ::std::os::raw::c_ushort,
    pub green: ::std::os::raw::c_ushort,
    pub blue: ::std::os::raw::c_ushort,
    pub flags: ::std::os::raw::c_char,
    pub pad: ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_XColor() {
    assert_eq!(
        ::std::mem::size_of::<XColor>(),
        16usize,
        concat!("Size of: ", stringify!(XColor))
    );
    assert_eq!(
        ::std::mem::align_of::<XColor>(),
        8usize,
        concat!("Alignment of ", stringify!(XColor))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColor>())).pixel as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XColor),
            "::",
            stringify!(pixel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColor>())).red as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XColor),
            "::",
            stringify!(red)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColor>())).green as *const _ as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(XColor),
            "::",
            stringify!(green)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColor>())).blue as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XColor),
            "::",
            stringify!(blue)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColor>())).flags as *const _ as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(XColor),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColor>())).pad as *const _ as usize },
        15usize,
        concat!(
            "Offset of field: ",
            stringify!(XColor),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XSegment {
    pub x1: ::std::os::raw::c_short,
    pub y1: ::std::os::raw::c_short,
    pub x2: ::std::os::raw::c_short,
    pub y2: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_XSegment() {
    assert_eq!(
        ::std::mem::size_of::<XSegment>(),
        8usize,
        concat!("Size of: ", stringify!(XSegment))
    );
    assert_eq!(
        ::std::mem::align_of::<XSegment>(),
        2usize,
        concat!("Alignment of ", stringify!(XSegment))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSegment>())).x1 as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XSegment),
            "::",
            stringify!(x1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSegment>())).y1 as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(XSegment),
            "::",
            stringify!(y1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSegment>())).x2 as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XSegment),
            "::",
            stringify!(x2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSegment>())).y2 as *const _ as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(XSegment),
            "::",
            stringify!(y2)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPoint {
    pub x: ::std::os::raw::c_short,
    pub y: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_XPoint() {
    assert_eq!(
        ::std::mem::size_of::<XPoint>(),
        4usize,
        concat!("Size of: ", stringify!(XPoint))
    );
    assert_eq!(
        ::std::mem::align_of::<XPoint>(),
        2usize,
        concat!("Alignment of ", stringify!(XPoint))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPoint>())).x as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(XPoint), "::", stringify!(x))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPoint>())).y as *const _ as usize },
        2usize,
        concat!("Offset of field: ", stringify!(XPoint), "::", stringify!(y))
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XRectangle {
    pub x: ::std::os::raw::c_short,
    pub y: ::std::os::raw::c_short,
    pub width: ::std::os::raw::c_ushort,
    pub height: ::std::os::raw::c_ushort,
}
#[test]
fn bindgen_test_layout_XRectangle() {
    assert_eq!(
        ::std::mem::size_of::<XRectangle>(),
        8usize,
        concat!("Size of: ", stringify!(XRectangle))
    );
    assert_eq!(
        ::std::mem::align_of::<XRectangle>(),
        2usize,
        concat!("Alignment of ", stringify!(XRectangle))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XRectangle>())).x as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XRectangle),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XRectangle>())).y as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(XRectangle),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XRectangle>())).width as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XRectangle),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XRectangle>())).height as *const _ as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(XRectangle),
            "::",
            stringify!(height)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XArc {
    pub x: ::std::os::raw::c_short,
    pub y: ::std::os::raw::c_short,
    pub width: ::std::os::raw::c_ushort,
    pub height: ::std::os::raw::c_ushort,
    pub angle1: ::std::os::raw::c_short,
    pub angle2: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_XArc() {
    assert_eq!(
        ::std::mem::size_of::<XArc>(),
        12usize,
        concat!("Size of: ", stringify!(XArc))
    );
    assert_eq!(
        ::std::mem::align_of::<XArc>(),
        2usize,
        concat!("Alignment of ", stringify!(XArc))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XArc>())).x as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(XArc), "::", stringify!(x))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XArc>())).y as *const _ as usize },
        2usize,
        concat!("Offset of field: ", stringify!(XArc), "::", stringify!(y))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XArc>())).width as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XArc),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XArc>())).height as *const _ as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(XArc),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XArc>())).angle1 as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XArc),
            "::",
            stringify!(angle1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XArc>())).angle2 as *const _ as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(XArc),
            "::",
            stringify!(angle2)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XKeyboardControl {
    pub key_click_percent: ::std::os::raw::c_int,
    pub bell_percent: ::std::os::raw::c_int,
    pub bell_pitch: ::std::os::raw::c_int,
    pub bell_duration: ::std::os::raw::c_int,
    pub led: ::std::os::raw::c_int,
    pub led_mode: ::std::os::raw::c_int,
    pub key: ::std::os::raw::c_int,
    pub auto_repeat_mode: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XKeyboardControl() {
    assert_eq!(
        ::std::mem::size_of::<XKeyboardControl>(),
        32usize,
        concat!("Size of: ", stringify!(XKeyboardControl))
    );
    assert_eq!(
        ::std::mem::align_of::<XKeyboardControl>(),
        4usize,
        concat!("Alignment of ", stringify!(XKeyboardControl))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XKeyboardControl>())).key_click_percent as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardControl),
            "::",
            stringify!(key_click_percent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardControl>())).bell_percent as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardControl),
            "::",
            stringify!(bell_percent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardControl>())).bell_pitch as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardControl),
            "::",
            stringify!(bell_pitch)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardControl>())).bell_duration as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardControl),
            "::",
            stringify!(bell_duration)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardControl>())).led as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardControl),
            "::",
            stringify!(led)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardControl>())).led_mode as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardControl),
            "::",
            stringify!(led_mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardControl>())).key as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardControl),
            "::",
            stringify!(key)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XKeyboardControl>())).auto_repeat_mode as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardControl),
            "::",
            stringify!(auto_repeat_mode)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XKeyboardState {
    pub key_click_percent: ::std::os::raw::c_int,
    pub bell_percent: ::std::os::raw::c_int,
    pub bell_pitch: ::std::os::raw::c_uint,
    pub bell_duration: ::std::os::raw::c_uint,
    pub led_mask: ::std::os::raw::c_ulong,
    pub global_auto_repeat: ::std::os::raw::c_int,
    pub auto_repeats: [::std::os::raw::c_char; 32usize],
}
#[test]
fn bindgen_test_layout_XKeyboardState() {
    assert_eq!(
        ::std::mem::size_of::<XKeyboardState>(),
        64usize,
        concat!("Size of: ", stringify!(XKeyboardState))
    );
    assert_eq!(
        ::std::mem::align_of::<XKeyboardState>(),
        8usize,
        concat!("Alignment of ", stringify!(XKeyboardState))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XKeyboardState>())).key_click_percent as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardState),
            "::",
            stringify!(key_click_percent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardState>())).bell_percent as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardState),
            "::",
            stringify!(bell_percent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardState>())).bell_pitch as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardState),
            "::",
            stringify!(bell_pitch)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardState>())).bell_duration as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardState),
            "::",
            stringify!(bell_duration)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardState>())).led_mask as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardState),
            "::",
            stringify!(led_mask)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XKeyboardState>())).global_auto_repeat as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardState),
            "::",
            stringify!(global_auto_repeat)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyboardState>())).auto_repeats as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyboardState),
            "::",
            stringify!(auto_repeats)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XTimeCoord {
    pub time: Time,
    pub x: ::std::os::raw::c_short,
    pub y: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_XTimeCoord() {
    assert_eq!(
        ::std::mem::size_of::<XTimeCoord>(),
        16usize,
        concat!("Size of: ", stringify!(XTimeCoord))
    );
    assert_eq!(
        ::std::mem::align_of::<XTimeCoord>(),
        8usize,
        concat!("Alignment of ", stringify!(XTimeCoord))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTimeCoord>())).time as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XTimeCoord),
            "::",
            stringify!(time)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTimeCoord>())).x as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XTimeCoord),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTimeCoord>())).y as *const _ as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(XTimeCoord),
            "::",
            stringify!(y)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XModifierKeymap {
    pub max_keypermod: ::std::os::raw::c_int,
    pub modifiermap: *mut KeyCode,
}
#[test]
fn bindgen_test_layout_XModifierKeymap() {
    assert_eq!(
        ::std::mem::size_of::<XModifierKeymap>(),
        16usize,
        concat!("Size of: ", stringify!(XModifierKeymap))
    );
    assert_eq!(
        ::std::mem::align_of::<XModifierKeymap>(),
        8usize,
        concat!("Alignment of ", stringify!(XModifierKeymap))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XModifierKeymap>())).max_keypermod as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XModifierKeymap),
            "::",
            stringify!(max_keypermod)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XModifierKeymap>())).modifiermap as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XModifierKeymap),
            "::",
            stringify!(modifiermap)
        )
    );
}
pub type Display = _XDisplay;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XPrivate {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XrmHashBucketRec {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _bindgen_ty_1 {
    pub ext_data: *mut XExtData,
    pub private1: *mut _XPrivate,
    pub fd: ::std::os::raw::c_int,
    pub private2: ::std::os::raw::c_int,
    pub proto_major_version: ::std::os::raw::c_int,
    pub proto_minor_version: ::std::os::raw::c_int,
    pub vendor: *mut ::std::os::raw::c_char,
    pub private3: XID,
    pub private4: XID,
    pub private5: XID,
    pub private6: ::std::os::raw::c_int,
    pub resource_alloc: ::std::option::Option<unsafe extern "C" fn(arg1: *mut _XDisplay) -> XID>,
    pub byte_order: ::std::os::raw::c_int,
    pub bitmap_unit: ::std::os::raw::c_int,
    pub bitmap_pad: ::std::os::raw::c_int,
    pub bitmap_bit_order: ::std::os::raw::c_int,
    pub nformats: ::std::os::raw::c_int,
    pub pixmap_format: *mut ScreenFormat,
    pub private8: ::std::os::raw::c_int,
    pub release: ::std::os::raw::c_int,
    pub private9: *mut _XPrivate,
    pub private10: *mut _XPrivate,
    pub qlen: ::std::os::raw::c_int,
    pub last_request_read: ::std::os::raw::c_ulong,
    pub request: ::std::os::raw::c_ulong,
    pub private11: XPointer,
    pub private12: XPointer,
    pub private13: XPointer,
    pub private14: XPointer,
    pub max_request_size: ::std::os::raw::c_uint,
    pub db: *mut _XrmHashBucketRec,
    pub private15:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut _XDisplay) -> ::std::os::raw::c_int>,
    pub display_name: *mut ::std::os::raw::c_char,
    pub default_screen: ::std::os::raw::c_int,
    pub nscreens: ::std::os::raw::c_int,
    pub screens: *mut Screen,
    pub motion_buffer: ::std::os::raw::c_ulong,
    pub private16: ::std::os::raw::c_ulong,
    pub min_keycode: ::std::os::raw::c_int,
    pub max_keycode: ::std::os::raw::c_int,
    pub private17: XPointer,
    pub private18: XPointer,
    pub private19: ::std::os::raw::c_int,
    pub xdefaults: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_bindgen_ty_1>(),
        296usize,
        concat!("Size of: ", stringify!(_bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).ext_data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(ext_data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private1 as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).fd as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(fd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private2 as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_bindgen_ty_1>())).proto_major_version as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(proto_major_version)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_bindgen_ty_1>())).proto_minor_version as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(proto_minor_version)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).vendor as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(vendor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private3 as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private3)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private4 as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private4)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private5 as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private5)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private6 as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private6)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).resource_alloc as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(resource_alloc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).byte_order as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(byte_order)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).bitmap_unit as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(bitmap_unit)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).bitmap_pad as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(bitmap_pad)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).bitmap_bit_order as *const _ as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(bitmap_bit_order)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).nformats as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(nformats)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).pixmap_format as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(pixmap_format)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private8 as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private8)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).release as *const _ as usize },
        116usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(release)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private9 as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private9)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private10 as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private10)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).qlen as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(qlen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).last_request_read as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(last_request_read)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).request as *const _ as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(request)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private11 as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private11)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private12 as *const _ as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private12)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private13 as *const _ as usize },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private13)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private14 as *const _ as usize },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private14)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).max_request_size as *const _ as usize },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(max_request_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).db as *const _ as usize },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(db)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private15 as *const _ as usize },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private15)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).display_name as *const _ as usize },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(display_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).default_screen as *const _ as usize },
        224usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(default_screen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).nscreens as *const _ as usize },
        228usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(nscreens)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).screens as *const _ as usize },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(screens)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).motion_buffer as *const _ as usize },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(motion_buffer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private16 as *const _ as usize },
        248usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private16)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).min_keycode as *const _ as usize },
        256usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(min_keycode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).max_keycode as *const _ as usize },
        260usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(max_keycode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private17 as *const _ as usize },
        264usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private17)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private18 as *const _ as usize },
        272usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private18)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).private19 as *const _ as usize },
        280usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(private19)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_bindgen_ty_1>())).xdefaults as *const _ as usize },
        288usize,
        concat!(
            "Offset of field: ",
            stringify!(_bindgen_ty_1),
            "::",
            stringify!(xdefaults)
        )
    );
}
pub type _XPrivDisplay = *mut _bindgen_ty_1;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XKeyEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub root: Window,
    pub subwindow: Window,
    pub time: Time,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub x_root: ::std::os::raw::c_int,
    pub y_root: ::std::os::raw::c_int,
    pub state: ::std::os::raw::c_uint,
    pub keycode: ::std::os::raw::c_uint,
    pub same_screen: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XKeyEvent() {
    assert_eq!(
        ::std::mem::size_of::<XKeyEvent>(),
        96usize,
        concat!("Size of: ", stringify!(XKeyEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XKeyEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XKeyEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).root as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).subwindow as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(subwindow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).time as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(time)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).x as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).y as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).x_root as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(x_root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).y_root as *const _ as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(y_root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).state as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(state)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).keycode as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(keycode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeyEvent>())).same_screen as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeyEvent),
            "::",
            stringify!(same_screen)
        )
    );
}
pub type XKeyPressedEvent = XKeyEvent;
pub type XKeyReleasedEvent = XKeyEvent;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XButtonEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub root: Window,
    pub subwindow: Window,
    pub time: Time,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub x_root: ::std::os::raw::c_int,
    pub y_root: ::std::os::raw::c_int,
    pub state: ::std::os::raw::c_uint,
    pub button: ::std::os::raw::c_uint,
    pub same_screen: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XButtonEvent() {
    assert_eq!(
        ::std::mem::size_of::<XButtonEvent>(),
        96usize,
        concat!("Size of: ", stringify!(XButtonEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XButtonEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XButtonEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).root as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).subwindow as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(subwindow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).time as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(time)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).x as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).y as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).x_root as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(x_root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).y_root as *const _ as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(y_root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).state as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(state)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).button as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(button)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XButtonEvent>())).same_screen as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(XButtonEvent),
            "::",
            stringify!(same_screen)
        )
    );
}
pub type XButtonPressedEvent = XButtonEvent;
pub type XButtonReleasedEvent = XButtonEvent;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XMotionEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub root: Window,
    pub subwindow: Window,
    pub time: Time,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub x_root: ::std::os::raw::c_int,
    pub y_root: ::std::os::raw::c_int,
    pub state: ::std::os::raw::c_uint,
    pub is_hint: ::std::os::raw::c_char,
    pub same_screen: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XMotionEvent() {
    assert_eq!(
        ::std::mem::size_of::<XMotionEvent>(),
        96usize,
        concat!("Size of: ", stringify!(XMotionEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XMotionEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XMotionEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).root as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).subwindow as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(subwindow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).time as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(time)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).x as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).y as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).x_root as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(x_root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).y_root as *const _ as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(y_root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).state as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(state)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).is_hint as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(is_hint)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMotionEvent>())).same_screen as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(XMotionEvent),
            "::",
            stringify!(same_screen)
        )
    );
}
pub type XPointerMovedEvent = XMotionEvent;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XCrossingEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub root: Window,
    pub subwindow: Window,
    pub time: Time,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub x_root: ::std::os::raw::c_int,
    pub y_root: ::std::os::raw::c_int,
    pub mode: ::std::os::raw::c_int,
    pub detail: ::std::os::raw::c_int,
    pub same_screen: ::std::os::raw::c_int,
    pub focus: ::std::os::raw::c_int,
    pub state: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout_XCrossingEvent() {
    assert_eq!(
        ::std::mem::size_of::<XCrossingEvent>(),
        104usize,
        concat!("Size of: ", stringify!(XCrossingEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XCrossingEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XCrossingEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).root as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).subwindow as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(subwindow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).time as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(time)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).x as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).y as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).x_root as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(x_root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).y_root as *const _ as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(y_root)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).mode as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).detail as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(detail)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).same_screen as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(same_screen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).focus as *const _ as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(focus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCrossingEvent>())).state as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(XCrossingEvent),
            "::",
            stringify!(state)
        )
    );
}
pub type XEnterWindowEvent = XCrossingEvent;
pub type XLeaveWindowEvent = XCrossingEvent;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XFocusChangeEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub mode: ::std::os::raw::c_int,
    pub detail: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XFocusChangeEvent() {
    assert_eq!(
        ::std::mem::size_of::<XFocusChangeEvent>(),
        48usize,
        concat!("Size of: ", stringify!(XFocusChangeEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XFocusChangeEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XFocusChangeEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFocusChangeEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XFocusChangeEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFocusChangeEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XFocusChangeEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFocusChangeEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XFocusChangeEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFocusChangeEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XFocusChangeEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFocusChangeEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XFocusChangeEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFocusChangeEvent>())).mode as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XFocusChangeEvent),
            "::",
            stringify!(mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFocusChangeEvent>())).detail as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(XFocusChangeEvent),
            "::",
            stringify!(detail)
        )
    );
}
pub type XFocusInEvent = XFocusChangeEvent;
pub type XFocusOutEvent = XFocusChangeEvent;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XKeymapEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub key_vector: [::std::os::raw::c_char; 32usize],
}
#[test]
fn bindgen_test_layout_XKeymapEvent() {
    assert_eq!(
        ::std::mem::size_of::<XKeymapEvent>(),
        72usize,
        concat!("Size of: ", stringify!(XKeymapEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XKeymapEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XKeymapEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeymapEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeymapEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeymapEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeymapEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeymapEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeymapEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeymapEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeymapEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeymapEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeymapEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XKeymapEvent>())).key_vector as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XKeymapEvent),
            "::",
            stringify!(key_vector)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XExposeEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub count: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XExposeEvent() {
    assert_eq!(
        ::std::mem::size_of::<XExposeEvent>(),
        64usize,
        concat!("Size of: ", stringify!(XExposeEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XExposeEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XExposeEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExposeEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XExposeEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExposeEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XExposeEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExposeEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XExposeEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExposeEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XExposeEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExposeEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XExposeEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExposeEvent>())).x as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XExposeEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExposeEvent>())).y as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(XExposeEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExposeEvent>())).width as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XExposeEvent),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExposeEvent>())).height as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(XExposeEvent),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XExposeEvent>())).count as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XExposeEvent),
            "::",
            stringify!(count)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XGraphicsExposeEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub drawable: Drawable,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub count: ::std::os::raw::c_int,
    pub major_code: ::std::os::raw::c_int,
    pub minor_code: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XGraphicsExposeEvent() {
    assert_eq!(
        ::std::mem::size_of::<XGraphicsExposeEvent>(),
        72usize,
        concat!("Size of: ", stringify!(XGraphicsExposeEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XGraphicsExposeEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XGraphicsExposeEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).drawable as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(drawable)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).x as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).y as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).width as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).height as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).count as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).major_code as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(major_code)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGraphicsExposeEvent>())).minor_code as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XGraphicsExposeEvent),
            "::",
            stringify!(minor_code)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XNoExposeEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub drawable: Drawable,
    pub major_code: ::std::os::raw::c_int,
    pub minor_code: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XNoExposeEvent() {
    assert_eq!(
        ::std::mem::size_of::<XNoExposeEvent>(),
        48usize,
        concat!("Size of: ", stringify!(XNoExposeEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XNoExposeEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XNoExposeEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XNoExposeEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XNoExposeEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XNoExposeEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XNoExposeEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XNoExposeEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XNoExposeEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XNoExposeEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XNoExposeEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XNoExposeEvent>())).drawable as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XNoExposeEvent),
            "::",
            stringify!(drawable)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XNoExposeEvent>())).major_code as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XNoExposeEvent),
            "::",
            stringify!(major_code)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XNoExposeEvent>())).minor_code as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(XNoExposeEvent),
            "::",
            stringify!(minor_code)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XVisibilityEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub state: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XVisibilityEvent() {
    assert_eq!(
        ::std::mem::size_of::<XVisibilityEvent>(),
        48usize,
        concat!("Size of: ", stringify!(XVisibilityEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XVisibilityEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XVisibilityEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisibilityEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisibilityEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisibilityEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisibilityEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisibilityEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisibilityEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisibilityEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisibilityEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisibilityEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisibilityEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisibilityEvent>())).state as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisibilityEvent),
            "::",
            stringify!(state)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XCreateWindowEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub parent: Window,
    pub window: Window,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub border_width: ::std::os::raw::c_int,
    pub override_redirect: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XCreateWindowEvent() {
    assert_eq!(
        ::std::mem::size_of::<XCreateWindowEvent>(),
        72usize,
        concat!("Size of: ", stringify!(XCreateWindowEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XCreateWindowEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XCreateWindowEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).parent as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).x as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).y as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).width as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).height as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCreateWindowEvent>())).border_width as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(border_width)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XCreateWindowEvent>())).override_redirect as *const _ as usize
        },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(XCreateWindowEvent),
            "::",
            stringify!(override_redirect)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XDestroyWindowEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub event: Window,
    pub window: Window,
}
#[test]
fn bindgen_test_layout_XDestroyWindowEvent() {
    assert_eq!(
        ::std::mem::size_of::<XDestroyWindowEvent>(),
        48usize,
        concat!("Size of: ", stringify!(XDestroyWindowEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XDestroyWindowEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XDestroyWindowEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XDestroyWindowEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XDestroyWindowEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XDestroyWindowEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XDestroyWindowEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XDestroyWindowEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XDestroyWindowEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XDestroyWindowEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XDestroyWindowEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XDestroyWindowEvent>())).event as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XDestroyWindowEvent),
            "::",
            stringify!(event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XDestroyWindowEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XDestroyWindowEvent),
            "::",
            stringify!(window)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XUnmapEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub event: Window,
    pub window: Window,
    pub from_configure: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XUnmapEvent() {
    assert_eq!(
        ::std::mem::size_of::<XUnmapEvent>(),
        56usize,
        concat!("Size of: ", stringify!(XUnmapEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XUnmapEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XUnmapEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XUnmapEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XUnmapEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XUnmapEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XUnmapEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XUnmapEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XUnmapEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XUnmapEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XUnmapEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XUnmapEvent>())).event as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XUnmapEvent),
            "::",
            stringify!(event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XUnmapEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XUnmapEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XUnmapEvent>())).from_configure as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XUnmapEvent),
            "::",
            stringify!(from_configure)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XMapEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub event: Window,
    pub window: Window,
    pub override_redirect: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XMapEvent() {
    assert_eq!(
        ::std::mem::size_of::<XMapEvent>(),
        56usize,
        concat!("Size of: ", stringify!(XMapEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XMapEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XMapEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapEvent>())).event as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapEvent),
            "::",
            stringify!(event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapEvent>())).override_redirect as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapEvent),
            "::",
            stringify!(override_redirect)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XMapRequestEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub parent: Window,
    pub window: Window,
}
#[test]
fn bindgen_test_layout_XMapRequestEvent() {
    assert_eq!(
        ::std::mem::size_of::<XMapRequestEvent>(),
        48usize,
        concat!("Size of: ", stringify!(XMapRequestEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XMapRequestEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XMapRequestEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapRequestEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapRequestEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapRequestEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapRequestEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapRequestEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapRequestEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapRequestEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapRequestEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapRequestEvent>())).parent as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapRequestEvent),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMapRequestEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XMapRequestEvent),
            "::",
            stringify!(window)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XReparentEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub event: Window,
    pub window: Window,
    pub parent: Window,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub override_redirect: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XReparentEvent() {
    assert_eq!(
        ::std::mem::size_of::<XReparentEvent>(),
        72usize,
        concat!("Size of: ", stringify!(XReparentEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XReparentEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XReparentEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XReparentEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XReparentEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XReparentEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XReparentEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XReparentEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XReparentEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XReparentEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XReparentEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XReparentEvent>())).event as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XReparentEvent),
            "::",
            stringify!(event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XReparentEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XReparentEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XReparentEvent>())).parent as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XReparentEvent),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XReparentEvent>())).x as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XReparentEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XReparentEvent>())).y as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(XReparentEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XReparentEvent>())).override_redirect as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XReparentEvent),
            "::",
            stringify!(override_redirect)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XConfigureEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub event: Window,
    pub window: Window,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub border_width: ::std::os::raw::c_int,
    pub above: Window,
    pub override_redirect: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XConfigureEvent() {
    assert_eq!(
        ::std::mem::size_of::<XConfigureEvent>(),
        88usize,
        concat!("Size of: ", stringify!(XConfigureEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XConfigureEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XConfigureEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).event as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).x as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).y as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).width as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).height as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).border_width as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(border_width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureEvent>())).above as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(above)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XConfigureEvent>())).override_redirect as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureEvent),
            "::",
            stringify!(override_redirect)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XGravityEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub event: Window,
    pub window: Window,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XGravityEvent() {
    assert_eq!(
        ::std::mem::size_of::<XGravityEvent>(),
        56usize,
        concat!("Size of: ", stringify!(XGravityEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XGravityEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XGravityEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGravityEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XGravityEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGravityEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XGravityEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGravityEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XGravityEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGravityEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XGravityEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGravityEvent>())).event as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XGravityEvent),
            "::",
            stringify!(event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGravityEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XGravityEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGravityEvent>())).x as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XGravityEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGravityEvent>())).y as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(XGravityEvent),
            "::",
            stringify!(y)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XResizeRequestEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XResizeRequestEvent() {
    assert_eq!(
        ::std::mem::size_of::<XResizeRequestEvent>(),
        48usize,
        concat!("Size of: ", stringify!(XResizeRequestEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XResizeRequestEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XResizeRequestEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XResizeRequestEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XResizeRequestEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XResizeRequestEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XResizeRequestEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XResizeRequestEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XResizeRequestEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XResizeRequestEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XResizeRequestEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XResizeRequestEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XResizeRequestEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XResizeRequestEvent>())).width as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XResizeRequestEvent),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XResizeRequestEvent>())).height as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(XResizeRequestEvent),
            "::",
            stringify!(height)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XConfigureRequestEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub parent: Window,
    pub window: Window,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub border_width: ::std::os::raw::c_int,
    pub above: Window,
    pub detail: ::std::os::raw::c_int,
    pub value_mask: ::std::os::raw::c_ulong,
}
#[test]
fn bindgen_test_layout_XConfigureRequestEvent() {
    assert_eq!(
        ::std::mem::size_of::<XConfigureRequestEvent>(),
        96usize,
        concat!("Size of: ", stringify!(XConfigureRequestEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XConfigureRequestEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XConfigureRequestEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XConfigureRequestEvent>())).send_event as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).parent as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).x as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).y as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).width as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).height as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XConfigureRequestEvent>())).border_width as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(border_width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).above as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(above)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XConfigureRequestEvent>())).detail as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(detail)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XConfigureRequestEvent>())).value_mask as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(XConfigureRequestEvent),
            "::",
            stringify!(value_mask)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XCirculateEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub event: Window,
    pub window: Window,
    pub place: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XCirculateEvent() {
    assert_eq!(
        ::std::mem::size_of::<XCirculateEvent>(),
        56usize,
        concat!("Size of: ", stringify!(XCirculateEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XCirculateEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XCirculateEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateEvent>())).event as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateEvent),
            "::",
            stringify!(event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateEvent>())).place as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateEvent),
            "::",
            stringify!(place)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XCirculateRequestEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub parent: Window,
    pub window: Window,
    pub place: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XCirculateRequestEvent() {
    assert_eq!(
        ::std::mem::size_of::<XCirculateRequestEvent>(),
        56usize,
        concat!("Size of: ", stringify!(XCirculateRequestEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XCirculateRequestEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XCirculateRequestEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateRequestEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateRequestEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateRequestEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateRequestEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XCirculateRequestEvent>())).send_event as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateRequestEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateRequestEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateRequestEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateRequestEvent>())).parent as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateRequestEvent),
            "::",
            stringify!(parent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateRequestEvent>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateRequestEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCirculateRequestEvent>())).place as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XCirculateRequestEvent),
            "::",
            stringify!(place)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XPropertyEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub atom: Atom,
    pub time: Time,
    pub state: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XPropertyEvent() {
    assert_eq!(
        ::std::mem::size_of::<XPropertyEvent>(),
        64usize,
        concat!("Size of: ", stringify!(XPropertyEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XPropertyEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XPropertyEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPropertyEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XPropertyEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPropertyEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XPropertyEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPropertyEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XPropertyEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPropertyEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XPropertyEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPropertyEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XPropertyEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPropertyEvent>())).atom as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XPropertyEvent),
            "::",
            stringify!(atom)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPropertyEvent>())).time as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XPropertyEvent),
            "::",
            stringify!(time)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XPropertyEvent>())).state as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XPropertyEvent),
            "::",
            stringify!(state)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XSelectionClearEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub selection: Atom,
    pub time: Time,
}
#[test]
fn bindgen_test_layout_XSelectionClearEvent() {
    assert_eq!(
        ::std::mem::size_of::<XSelectionClearEvent>(),
        56usize,
        concat!("Size of: ", stringify!(XSelectionClearEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XSelectionClearEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XSelectionClearEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionClearEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionClearEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionClearEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionClearEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionClearEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionClearEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionClearEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionClearEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionClearEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionClearEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionClearEvent>())).selection as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionClearEvent),
            "::",
            stringify!(selection)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionClearEvent>())).time as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionClearEvent),
            "::",
            stringify!(time)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XSelectionRequestEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub owner: Window,
    pub requestor: Window,
    pub selection: Atom,
    pub target: Atom,
    pub property: Atom,
    pub time: Time,
}
#[test]
fn bindgen_test_layout_XSelectionRequestEvent() {
    assert_eq!(
        ::std::mem::size_of::<XSelectionRequestEvent>(),
        80usize,
        concat!("Size of: ", stringify!(XSelectionRequestEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XSelectionRequestEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XSelectionRequestEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionRequestEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionRequestEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionRequestEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionRequestEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSelectionRequestEvent>())).send_event as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionRequestEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionRequestEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionRequestEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionRequestEvent>())).owner as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionRequestEvent),
            "::",
            stringify!(owner)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSelectionRequestEvent>())).requestor as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionRequestEvent),
            "::",
            stringify!(requestor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XSelectionRequestEvent>())).selection as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionRequestEvent),
            "::",
            stringify!(selection)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionRequestEvent>())).target as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionRequestEvent),
            "::",
            stringify!(target)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionRequestEvent>())).property as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionRequestEvent),
            "::",
            stringify!(property)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionRequestEvent>())).time as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionRequestEvent),
            "::",
            stringify!(time)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XSelectionEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub requestor: Window,
    pub selection: Atom,
    pub target: Atom,
    pub property: Atom,
    pub time: Time,
}
#[test]
fn bindgen_test_layout_XSelectionEvent() {
    assert_eq!(
        ::std::mem::size_of::<XSelectionEvent>(),
        72usize,
        concat!("Size of: ", stringify!(XSelectionEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XSelectionEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XSelectionEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionEvent>())).requestor as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionEvent),
            "::",
            stringify!(requestor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionEvent>())).selection as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionEvent),
            "::",
            stringify!(selection)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionEvent>())).target as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionEvent),
            "::",
            stringify!(target)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionEvent>())).property as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionEvent),
            "::",
            stringify!(property)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSelectionEvent>())).time as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XSelectionEvent),
            "::",
            stringify!(time)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XColormapEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub colormap: Colormap,
    pub new: ::std::os::raw::c_int,
    pub state: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XColormapEvent() {
    assert_eq!(
        ::std::mem::size_of::<XColormapEvent>(),
        56usize,
        concat!("Size of: ", stringify!(XColormapEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XColormapEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XColormapEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColormapEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XColormapEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColormapEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XColormapEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColormapEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XColormapEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColormapEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XColormapEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColormapEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XColormapEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColormapEvent>())).colormap as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XColormapEvent),
            "::",
            stringify!(colormap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColormapEvent>())).new as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XColormapEvent),
            "::",
            stringify!(new)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XColormapEvent>())).state as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(XColormapEvent),
            "::",
            stringify!(state)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct XClientMessageEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub message_type: Atom,
    pub format: ::std::os::raw::c_int,
    pub data: XClientMessageEvent__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union XClientMessageEvent__bindgen_ty_1 {
    pub b: [::std::os::raw::c_char; 20usize],
    pub s: [::std::os::raw::c_short; 10usize],
    pub l: [::std::os::raw::c_long; 5usize],
    _bindgen_union_align: [u64; 5usize],
}
#[test]
fn bindgen_test_layout_XClientMessageEvent__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<XClientMessageEvent__bindgen_ty_1>(),
        40usize,
        concat!("Size of: ", stringify!(XClientMessageEvent__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<XClientMessageEvent__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(XClientMessageEvent__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XClientMessageEvent__bindgen_ty_1>())).b as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent__bindgen_ty_1),
            "::",
            stringify!(b)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XClientMessageEvent__bindgen_ty_1>())).s as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent__bindgen_ty_1),
            "::",
            stringify!(s)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XClientMessageEvent__bindgen_ty_1>())).l as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent__bindgen_ty_1),
            "::",
            stringify!(l)
        )
    );
}
#[test]
fn bindgen_test_layout_XClientMessageEvent() {
    assert_eq!(
        ::std::mem::size_of::<XClientMessageEvent>(),
        96usize,
        concat!("Size of: ", stringify!(XClientMessageEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XClientMessageEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XClientMessageEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XClientMessageEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XClientMessageEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XClientMessageEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XClientMessageEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XClientMessageEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XClientMessageEvent>())).message_type as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent),
            "::",
            stringify!(message_type)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XClientMessageEvent>())).format as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent),
            "::",
            stringify!(format)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XClientMessageEvent>())).data as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XClientMessageEvent),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XMappingEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
    pub request: ::std::os::raw::c_int,
    pub first_keycode: ::std::os::raw::c_int,
    pub count: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XMappingEvent() {
    assert_eq!(
        ::std::mem::size_of::<XMappingEvent>(),
        56usize,
        concat!("Size of: ", stringify!(XMappingEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XMappingEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XMappingEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMappingEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XMappingEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMappingEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XMappingEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMappingEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XMappingEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMappingEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XMappingEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMappingEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XMappingEvent),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMappingEvent>())).request as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XMappingEvent),
            "::",
            stringify!(request)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMappingEvent>())).first_keycode as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(XMappingEvent),
            "::",
            stringify!(first_keycode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XMappingEvent>())).count as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XMappingEvent),
            "::",
            stringify!(count)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XErrorEvent {
    pub type_: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub resourceid: XID,
    pub serial: ::std::os::raw::c_ulong,
    pub error_code: ::std::os::raw::c_uchar,
    pub request_code: ::std::os::raw::c_uchar,
    pub minor_code: ::std::os::raw::c_uchar,
}
#[test]
fn bindgen_test_layout_XErrorEvent() {
    assert_eq!(
        ::std::mem::size_of::<XErrorEvent>(),
        40usize,
        concat!("Size of: ", stringify!(XErrorEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XErrorEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XErrorEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XErrorEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XErrorEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XErrorEvent>())).display as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XErrorEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XErrorEvent>())).resourceid as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XErrorEvent),
            "::",
            stringify!(resourceid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XErrorEvent>())).serial as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XErrorEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XErrorEvent>())).error_code as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XErrorEvent),
            "::",
            stringify!(error_code)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XErrorEvent>())).request_code as *const _ as usize },
        33usize,
        concat!(
            "Offset of field: ",
            stringify!(XErrorEvent),
            "::",
            stringify!(request_code)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XErrorEvent>())).minor_code as *const _ as usize },
        34usize,
        concat!(
            "Offset of field: ",
            stringify!(XErrorEvent),
            "::",
            stringify!(minor_code)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XAnyEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub window: Window,
}
#[test]
fn bindgen_test_layout_XAnyEvent() {
    assert_eq!(
        ::std::mem::size_of::<XAnyEvent>(),
        40usize,
        concat!("Size of: ", stringify!(XAnyEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XAnyEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XAnyEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XAnyEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XAnyEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XAnyEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XAnyEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XAnyEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XAnyEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XAnyEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XAnyEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XAnyEvent>())).window as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XAnyEvent),
            "::",
            stringify!(window)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XGenericEvent {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub extension: ::std::os::raw::c_int,
    pub evtype: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XGenericEvent() {
    assert_eq!(
        ::std::mem::size_of::<XGenericEvent>(),
        40usize,
        concat!("Size of: ", stringify!(XGenericEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<XGenericEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(XGenericEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEvent>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEvent>())).extension as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEvent),
            "::",
            stringify!(extension)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEvent>())).evtype as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEvent),
            "::",
            stringify!(evtype)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XGenericEventCookie {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub extension: ::std::os::raw::c_int,
    pub evtype: ::std::os::raw::c_int,
    pub cookie: ::std::os::raw::c_uint,
    pub data: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_XGenericEventCookie() {
    assert_eq!(
        ::std::mem::size_of::<XGenericEventCookie>(),
        56usize,
        concat!("Size of: ", stringify!(XGenericEventCookie))
    );
    assert_eq!(
        ::std::mem::align_of::<XGenericEventCookie>(),
        8usize,
        concat!("Alignment of ", stringify!(XGenericEventCookie))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEventCookie>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEventCookie),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEventCookie>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEventCookie),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEventCookie>())).send_event as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEventCookie),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEventCookie>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEventCookie),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEventCookie>())).extension as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEventCookie),
            "::",
            stringify!(extension)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEventCookie>())).evtype as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEventCookie),
            "::",
            stringify!(evtype)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEventCookie>())).cookie as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEventCookie),
            "::",
            stringify!(cookie)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XGenericEventCookie>())).data as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XGenericEventCookie),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _XEvent {
    pub type_: ::std::os::raw::c_int,
    pub xany: XAnyEvent,
    pub xkey: XKeyEvent,
    pub xbutton: XButtonEvent,
    pub xmotion: XMotionEvent,
    pub xcrossing: XCrossingEvent,
    pub xfocus: XFocusChangeEvent,
    pub xexpose: XExposeEvent,
    pub xgraphicsexpose: XGraphicsExposeEvent,
    pub xnoexpose: XNoExposeEvent,
    pub xvisibility: XVisibilityEvent,
    pub xcreatewindow: XCreateWindowEvent,
    pub xdestroywindow: XDestroyWindowEvent,
    pub xunmap: XUnmapEvent,
    pub xmap: XMapEvent,
    pub xmaprequest: XMapRequestEvent,
    pub xreparent: XReparentEvent,
    pub xconfigure: XConfigureEvent,
    pub xgravity: XGravityEvent,
    pub xresizerequest: XResizeRequestEvent,
    pub xconfigurerequest: XConfigureRequestEvent,
    pub xcirculate: XCirculateEvent,
    pub xcirculaterequest: XCirculateRequestEvent,
    pub xproperty: XPropertyEvent,
    pub xselectionclear: XSelectionClearEvent,
    pub xselectionrequest: XSelectionRequestEvent,
    pub xselection: XSelectionEvent,
    pub xcolormap: XColormapEvent,
    pub xclient: XClientMessageEvent,
    pub xmapping: XMappingEvent,
    pub xerror: XErrorEvent,
    pub xkeymap: XKeymapEvent,
    pub xgeneric: XGenericEvent,
    pub xcookie: XGenericEventCookie,
    pub pad: [::std::os::raw::c_long; 24usize],
    _bindgen_union_align: [u64; 24usize],
}
#[test]
fn bindgen_test_layout__XEvent() {
    assert_eq!(
        ::std::mem::size_of::<_XEvent>(),
        192usize,
        concat!("Size of: ", stringify!(_XEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<_XEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(_XEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xany as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xany)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xkey as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xkey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xbutton as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xbutton)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xmotion as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xmotion)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xcrossing as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xcrossing)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xfocus as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xfocus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xexpose as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xexpose)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xgraphicsexpose as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xgraphicsexpose)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xnoexpose as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xnoexpose)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xvisibility as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xvisibility)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xcreatewindow as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xcreatewindow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xdestroywindow as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xdestroywindow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xunmap as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xunmap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xmap as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xmap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xmaprequest as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xmaprequest)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xreparent as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xreparent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xconfigure as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xconfigure)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xgravity as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xgravity)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xresizerequest as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xresizerequest)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xconfigurerequest as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xconfigurerequest)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xcirculate as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xcirculate)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xcirculaterequest as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xcirculaterequest)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xproperty as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xproperty)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xselectionclear as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xselectionclear)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xselectionrequest as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xselectionrequest)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xselection as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xselection)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xcolormap as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xcolormap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xclient as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xclient)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xmapping as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xmapping)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xerror as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xerror)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xkeymap as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xkeymap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xgeneric as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xgeneric)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).xcookie as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(xcookie)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XEvent>())).pad as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XEvent),
            "::",
            stringify!(pad)
        )
    );
}
pub type XEvent = _XEvent;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XCharStruct {
    pub lbearing: ::std::os::raw::c_short,
    pub rbearing: ::std::os::raw::c_short,
    pub width: ::std::os::raw::c_short,
    pub ascent: ::std::os::raw::c_short,
    pub descent: ::std::os::raw::c_short,
    pub attributes: ::std::os::raw::c_ushort,
}
#[test]
fn bindgen_test_layout_XCharStruct() {
    assert_eq!(
        ::std::mem::size_of::<XCharStruct>(),
        12usize,
        concat!("Size of: ", stringify!(XCharStruct))
    );
    assert_eq!(
        ::std::mem::align_of::<XCharStruct>(),
        2usize,
        concat!("Alignment of ", stringify!(XCharStruct))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCharStruct>())).lbearing as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XCharStruct),
            "::",
            stringify!(lbearing)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCharStruct>())).rbearing as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(XCharStruct),
            "::",
            stringify!(rbearing)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCharStruct>())).width as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XCharStruct),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCharStruct>())).ascent as *const _ as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(XCharStruct),
            "::",
            stringify!(ascent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCharStruct>())).descent as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XCharStruct),
            "::",
            stringify!(descent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XCharStruct>())).attributes as *const _ as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(XCharStruct),
            "::",
            stringify!(attributes)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XFontProp {
    pub name: Atom,
    pub card32: ::std::os::raw::c_ulong,
}
#[test]
fn bindgen_test_layout_XFontProp() {
    assert_eq!(
        ::std::mem::size_of::<XFontProp>(),
        16usize,
        concat!("Size of: ", stringify!(XFontProp))
    );
    assert_eq!(
        ::std::mem::align_of::<XFontProp>(),
        8usize,
        concat!("Alignment of ", stringify!(XFontProp))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontProp>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontProp),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontProp>())).card32 as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontProp),
            "::",
            stringify!(card32)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XFontStruct {
    pub ext_data: *mut XExtData,
    pub fid: Font,
    pub direction: ::std::os::raw::c_uint,
    pub min_char_or_byte2: ::std::os::raw::c_uint,
    pub max_char_or_byte2: ::std::os::raw::c_uint,
    pub min_byte1: ::std::os::raw::c_uint,
    pub max_byte1: ::std::os::raw::c_uint,
    pub all_chars_exist: ::std::os::raw::c_int,
    pub default_char: ::std::os::raw::c_uint,
    pub n_properties: ::std::os::raw::c_int,
    pub properties: *mut XFontProp,
    pub min_bounds: XCharStruct,
    pub max_bounds: XCharStruct,
    pub per_char: *mut XCharStruct,
    pub ascent: ::std::os::raw::c_int,
    pub descent: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XFontStruct() {
    assert_eq!(
        ::std::mem::size_of::<XFontStruct>(),
        96usize,
        concat!("Size of: ", stringify!(XFontStruct))
    );
    assert_eq!(
        ::std::mem::align_of::<XFontStruct>(),
        8usize,
        concat!("Alignment of ", stringify!(XFontStruct))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).ext_data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(ext_data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).fid as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(fid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).direction as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(direction)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).min_char_or_byte2 as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(min_char_or_byte2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).max_char_or_byte2 as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(max_char_or_byte2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).min_byte1 as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(min_byte1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).max_byte1 as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(max_byte1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).all_chars_exist as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(all_chars_exist)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).default_char as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(default_char)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).n_properties as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(n_properties)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).properties as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(properties)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).min_bounds as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(min_bounds)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).max_bounds as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(max_bounds)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).per_char as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(per_char)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).ascent as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(ascent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontStruct>())).descent as *const _ as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontStruct),
            "::",
            stringify!(descent)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XTextItem {
    pub chars: *mut ::std::os::raw::c_char,
    pub nchars: ::std::os::raw::c_int,
    pub delta: ::std::os::raw::c_int,
    pub font: Font,
}
#[test]
fn bindgen_test_layout_XTextItem() {
    assert_eq!(
        ::std::mem::size_of::<XTextItem>(),
        24usize,
        concat!("Size of: ", stringify!(XTextItem))
    );
    assert_eq!(
        ::std::mem::align_of::<XTextItem>(),
        8usize,
        concat!("Alignment of ", stringify!(XTextItem))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextItem>())).chars as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextItem),
            "::",
            stringify!(chars)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextItem>())).nchars as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextItem),
            "::",
            stringify!(nchars)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextItem>())).delta as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextItem),
            "::",
            stringify!(delta)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextItem>())).font as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextItem),
            "::",
            stringify!(font)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XChar2b {
    pub byte1: ::std::os::raw::c_uchar,
    pub byte2: ::std::os::raw::c_uchar,
}
#[test]
fn bindgen_test_layout_XChar2b() {
    assert_eq!(
        ::std::mem::size_of::<XChar2b>(),
        2usize,
        concat!("Size of: ", stringify!(XChar2b))
    );
    assert_eq!(
        ::std::mem::align_of::<XChar2b>(),
        1usize,
        concat!("Alignment of ", stringify!(XChar2b))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XChar2b>())).byte1 as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XChar2b),
            "::",
            stringify!(byte1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XChar2b>())).byte2 as *const _ as usize },
        1usize,
        concat!(
            "Offset of field: ",
            stringify!(XChar2b),
            "::",
            stringify!(byte2)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XTextItem16 {
    pub chars: *mut XChar2b,
    pub nchars: ::std::os::raw::c_int,
    pub delta: ::std::os::raw::c_int,
    pub font: Font,
}
#[test]
fn bindgen_test_layout_XTextItem16() {
    assert_eq!(
        ::std::mem::size_of::<XTextItem16>(),
        24usize,
        concat!("Size of: ", stringify!(XTextItem16))
    );
    assert_eq!(
        ::std::mem::align_of::<XTextItem16>(),
        8usize,
        concat!("Alignment of ", stringify!(XTextItem16))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextItem16>())).chars as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextItem16),
            "::",
            stringify!(chars)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextItem16>())).nchars as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextItem16),
            "::",
            stringify!(nchars)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextItem16>())).delta as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextItem16),
            "::",
            stringify!(delta)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextItem16>())).font as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextItem16),
            "::",
            stringify!(font)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union XEDataObject {
    pub display: *mut Display,
    pub gc: GC,
    pub visual: *mut Visual,
    pub screen: *mut Screen,
    pub pixmap_format: *mut ScreenFormat,
    pub font: *mut XFontStruct,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_XEDataObject() {
    assert_eq!(
        ::std::mem::size_of::<XEDataObject>(),
        8usize,
        concat!("Size of: ", stringify!(XEDataObject))
    );
    assert_eq!(
        ::std::mem::align_of::<XEDataObject>(),
        8usize,
        concat!("Alignment of ", stringify!(XEDataObject))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XEDataObject>())).display as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XEDataObject),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XEDataObject>())).gc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XEDataObject),
            "::",
            stringify!(gc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XEDataObject>())).visual as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XEDataObject),
            "::",
            stringify!(visual)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XEDataObject>())).screen as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XEDataObject),
            "::",
            stringify!(screen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XEDataObject>())).pixmap_format as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XEDataObject),
            "::",
            stringify!(pixmap_format)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XEDataObject>())).font as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XEDataObject),
            "::",
            stringify!(font)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XFontSetExtents {
    pub max_ink_extent: XRectangle,
    pub max_logical_extent: XRectangle,
}
#[test]
fn bindgen_test_layout_XFontSetExtents() {
    assert_eq!(
        ::std::mem::size_of::<XFontSetExtents>(),
        16usize,
        concat!("Size of: ", stringify!(XFontSetExtents))
    );
    assert_eq!(
        ::std::mem::align_of::<XFontSetExtents>(),
        2usize,
        concat!("Alignment of ", stringify!(XFontSetExtents))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XFontSetExtents>())).max_ink_extent as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontSetExtents),
            "::",
            stringify!(max_ink_extent)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<XFontSetExtents>())).max_logical_extent as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XFontSetExtents),
            "::",
            stringify!(max_logical_extent)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XOM {
    _unused: [u8; 0],
}
pub type XOM = *mut _XOM;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XOC {
    _unused: [u8; 0],
}
pub type XOC = *mut _XOC;
pub type XFontSet = *mut _XOC;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XmbTextItem {
    pub chars: *mut ::std::os::raw::c_char,
    pub nchars: ::std::os::raw::c_int,
    pub delta: ::std::os::raw::c_int,
    pub font_set: XFontSet,
}
#[test]
fn bindgen_test_layout_XmbTextItem() {
    assert_eq!(
        ::std::mem::size_of::<XmbTextItem>(),
        24usize,
        concat!("Size of: ", stringify!(XmbTextItem))
    );
    assert_eq!(
        ::std::mem::align_of::<XmbTextItem>(),
        8usize,
        concat!("Alignment of ", stringify!(XmbTextItem))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XmbTextItem>())).chars as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XmbTextItem),
            "::",
            stringify!(chars)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XmbTextItem>())).nchars as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XmbTextItem),
            "::",
            stringify!(nchars)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XmbTextItem>())).delta as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XmbTextItem),
            "::",
            stringify!(delta)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XmbTextItem>())).font_set as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XmbTextItem),
            "::",
            stringify!(font_set)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XwcTextItem {
    pub chars: *mut wchar_t,
    pub nchars: ::std::os::raw::c_int,
    pub delta: ::std::os::raw::c_int,
    pub font_set: XFontSet,
}
#[test]
fn bindgen_test_layout_XwcTextItem() {
    assert_eq!(
        ::std::mem::size_of::<XwcTextItem>(),
        24usize,
        concat!("Size of: ", stringify!(XwcTextItem))
    );
    assert_eq!(
        ::std::mem::align_of::<XwcTextItem>(),
        8usize,
        concat!("Alignment of ", stringify!(XwcTextItem))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XwcTextItem>())).chars as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XwcTextItem),
            "::",
            stringify!(chars)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XwcTextItem>())).nchars as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XwcTextItem),
            "::",
            stringify!(nchars)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XwcTextItem>())).delta as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XwcTextItem),
            "::",
            stringify!(delta)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XwcTextItem>())).font_set as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XwcTextItem),
            "::",
            stringify!(font_set)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XOMCharSetList {
    pub charset_count: ::std::os::raw::c_int,
    pub charset_list: *mut *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_XOMCharSetList() {
    assert_eq!(
        ::std::mem::size_of::<XOMCharSetList>(),
        16usize,
        concat!("Size of: ", stringify!(XOMCharSetList))
    );
    assert_eq!(
        ::std::mem::align_of::<XOMCharSetList>(),
        8usize,
        concat!("Alignment of ", stringify!(XOMCharSetList))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XOMCharSetList>())).charset_count as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XOMCharSetList),
            "::",
            stringify!(charset_count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XOMCharSetList>())).charset_list as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XOMCharSetList),
            "::",
            stringify!(charset_list)
        )
    );
}
pub const XOrientation_XOMOrientation_LTR_TTB: XOrientation = 0;
pub const XOrientation_XOMOrientation_RTL_TTB: XOrientation = 1;
pub const XOrientation_XOMOrientation_TTB_LTR: XOrientation = 2;
pub const XOrientation_XOMOrientation_TTB_RTL: XOrientation = 3;
pub const XOrientation_XOMOrientation_Context: XOrientation = 4;
pub type XOrientation = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XOMOrientation {
    pub num_orientation: ::std::os::raw::c_int,
    pub orientation: *mut XOrientation,
}
#[test]
fn bindgen_test_layout_XOMOrientation() {
    assert_eq!(
        ::std::mem::size_of::<XOMOrientation>(),
        16usize,
        concat!("Size of: ", stringify!(XOMOrientation))
    );
    assert_eq!(
        ::std::mem::align_of::<XOMOrientation>(),
        8usize,
        concat!("Alignment of ", stringify!(XOMOrientation))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XOMOrientation>())).num_orientation as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XOMOrientation),
            "::",
            stringify!(num_orientation)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XOMOrientation>())).orientation as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XOMOrientation),
            "::",
            stringify!(orientation)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XOMFontInfo {
    pub num_font: ::std::os::raw::c_int,
    pub font_struct_list: *mut *mut XFontStruct,
    pub font_name_list: *mut *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_XOMFontInfo() {
    assert_eq!(
        ::std::mem::size_of::<XOMFontInfo>(),
        24usize,
        concat!("Size of: ", stringify!(XOMFontInfo))
    );
    assert_eq!(
        ::std::mem::align_of::<XOMFontInfo>(),
        8usize,
        concat!("Alignment of ", stringify!(XOMFontInfo))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XOMFontInfo>())).num_font as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XOMFontInfo),
            "::",
            stringify!(num_font)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XOMFontInfo>())).font_struct_list as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XOMFontInfo),
            "::",
            stringify!(font_struct_list)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XOMFontInfo>())).font_name_list as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XOMFontInfo),
            "::",
            stringify!(font_name_list)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XIM {
    _unused: [u8; 0],
}
pub type XIM = *mut _XIM;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XIC {
    _unused: [u8; 0],
}
pub type XIC = *mut _XIC;
pub type XIMProc =
    ::std::option::Option<unsafe extern "C" fn(arg1: XIM, arg2: XPointer, arg3: XPointer)>;
pub type XICProc = ::std::option::Option<
    unsafe extern "C" fn(arg1: XIC, arg2: XPointer, arg3: XPointer) -> ::std::os::raw::c_int,
>;
pub type XIDProc =
    ::std::option::Option<unsafe extern "C" fn(arg1: *mut Display, arg2: XPointer, arg3: XPointer)>;
pub type XIMStyle = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XIMStyles {
    pub count_styles: ::std::os::raw::c_ushort,
    pub supported_styles: *mut XIMStyle,
}
#[test]
fn bindgen_test_layout_XIMStyles() {
    assert_eq!(
        ::std::mem::size_of::<XIMStyles>(),
        16usize,
        concat!("Size of: ", stringify!(XIMStyles))
    );
    assert_eq!(
        ::std::mem::align_of::<XIMStyles>(),
        8usize,
        concat!("Alignment of ", stringify!(XIMStyles))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIMStyles>())).count_styles as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XIMStyles),
            "::",
            stringify!(count_styles)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIMStyles>())).supported_styles as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XIMStyles),
            "::",
            stringify!(supported_styles)
        )
    );
}
pub type XVaNestedList = *mut ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XIMCallback {
    pub client_data: XPointer,
    pub callback: XIMProc,
}
#[test]
fn bindgen_test_layout_XIMCallback() {
    assert_eq!(
        ::std::mem::size_of::<XIMCallback>(),
        16usize,
        concat!("Size of: ", stringify!(XIMCallback))
    );
    assert_eq!(
        ::std::mem::align_of::<XIMCallback>(),
        8usize,
        concat!("Alignment of ", stringify!(XIMCallback))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIMCallback>())).client_data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XIMCallback),
            "::",
            stringify!(client_data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIMCallback>())).callback as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XIMCallback),
            "::",
            stringify!(callback)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XICCallback {
    pub client_data: XPointer,
    pub callback: XICProc,
}
#[test]
fn bindgen_test_layout_XICCallback() {
    assert_eq!(
        ::std::mem::size_of::<XICCallback>(),
        16usize,
        concat!("Size of: ", stringify!(XICCallback))
    );
    assert_eq!(
        ::std::mem::align_of::<XICCallback>(),
        8usize,
        concat!("Alignment of ", stringify!(XICCallback))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XICCallback>())).client_data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XICCallback),
            "::",
            stringify!(client_data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XICCallback>())).callback as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XICCallback),
            "::",
            stringify!(callback)
        )
    );
}
pub type XIMFeedback = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _XIMText {
    pub length: ::std::os::raw::c_ushort,
    pub feedback: *mut XIMFeedback,
    pub encoding_is_wchar: ::std::os::raw::c_int,
    pub string: _XIMText__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _XIMText__bindgen_ty_1 {
    pub multi_byte: *mut ::std::os::raw::c_char,
    pub wide_char: *mut wchar_t,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__XIMText__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_XIMText__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(_XIMText__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMText__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_XIMText__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMText__bindgen_ty_1>())).multi_byte as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMText__bindgen_ty_1),
            "::",
            stringify!(multi_byte)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMText__bindgen_ty_1>())).wide_char as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMText__bindgen_ty_1),
            "::",
            stringify!(wide_char)
        )
    );
}
#[test]
fn bindgen_test_layout__XIMText() {
    assert_eq!(
        ::std::mem::size_of::<_XIMText>(),
        32usize,
        concat!("Size of: ", stringify!(_XIMText))
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMText>(),
        8usize,
        concat!("Alignment of ", stringify!(_XIMText))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMText>())).length as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMText),
            "::",
            stringify!(length)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMText>())).feedback as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMText),
            "::",
            stringify!(feedback)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMText>())).encoding_is_wchar as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMText),
            "::",
            stringify!(encoding_is_wchar)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMText>())).string as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMText),
            "::",
            stringify!(string)
        )
    );
}
pub type XIMText = _XIMText;
pub type XIMPreeditState = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XIMPreeditStateNotifyCallbackStruct {
    pub state: XIMPreeditState,
}
#[test]
fn bindgen_test_layout__XIMPreeditStateNotifyCallbackStruct() {
    assert_eq!(
        ::std::mem::size_of::<_XIMPreeditStateNotifyCallbackStruct>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(_XIMPreeditStateNotifyCallbackStruct)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMPreeditStateNotifyCallbackStruct>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(_XIMPreeditStateNotifyCallbackStruct)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMPreeditStateNotifyCallbackStruct>())).state as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMPreeditStateNotifyCallbackStruct),
            "::",
            stringify!(state)
        )
    );
}
pub type XIMPreeditStateNotifyCallbackStruct = _XIMPreeditStateNotifyCallbackStruct;
pub type XIMResetState = ::std::os::raw::c_ulong;
pub type XIMStringConversionFeedback = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _XIMStringConversionText {
    pub length: ::std::os::raw::c_ushort,
    pub feedback: *mut XIMStringConversionFeedback,
    pub encoding_is_wchar: ::std::os::raw::c_int,
    pub string: _XIMStringConversionText__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _XIMStringConversionText__bindgen_ty_1 {
    pub mbs: *mut ::std::os::raw::c_char,
    pub wcs: *mut wchar_t,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__XIMStringConversionText__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_XIMStringConversionText__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(_XIMStringConversionText__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMStringConversionText__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(_XIMStringConversionText__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStringConversionText__bindgen_ty_1>())).mbs as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionText__bindgen_ty_1),
            "::",
            stringify!(mbs)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStringConversionText__bindgen_ty_1>())).wcs as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionText__bindgen_ty_1),
            "::",
            stringify!(wcs)
        )
    );
}
#[test]
fn bindgen_test_layout__XIMStringConversionText() {
    assert_eq!(
        ::std::mem::size_of::<_XIMStringConversionText>(),
        32usize,
        concat!("Size of: ", stringify!(_XIMStringConversionText))
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMStringConversionText>(),
        8usize,
        concat!("Alignment of ", stringify!(_XIMStringConversionText))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMStringConversionText>())).length as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionText),
            "::",
            stringify!(length)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStringConversionText>())).feedback as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionText),
            "::",
            stringify!(feedback)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStringConversionText>())).encoding_is_wchar as *const _
                as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionText),
            "::",
            stringify!(encoding_is_wchar)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMStringConversionText>())).string as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionText),
            "::",
            stringify!(string)
        )
    );
}
pub type XIMStringConversionText = _XIMStringConversionText;
pub type XIMStringConversionPosition = ::std::os::raw::c_ushort;
pub type XIMStringConversionType = ::std::os::raw::c_ushort;
pub type XIMStringConversionOperation = ::std::os::raw::c_ushort;
pub const XIMCaretDirection_XIMForwardChar: XIMCaretDirection = 0;
pub const XIMCaretDirection_XIMBackwardChar: XIMCaretDirection = 1;
pub const XIMCaretDirection_XIMForwardWord: XIMCaretDirection = 2;
pub const XIMCaretDirection_XIMBackwardWord: XIMCaretDirection = 3;
pub const XIMCaretDirection_XIMCaretUp: XIMCaretDirection = 4;
pub const XIMCaretDirection_XIMCaretDown: XIMCaretDirection = 5;
pub const XIMCaretDirection_XIMNextLine: XIMCaretDirection = 6;
pub const XIMCaretDirection_XIMPreviousLine: XIMCaretDirection = 7;
pub const XIMCaretDirection_XIMLineStart: XIMCaretDirection = 8;
pub const XIMCaretDirection_XIMLineEnd: XIMCaretDirection = 9;
pub const XIMCaretDirection_XIMAbsolutePosition: XIMCaretDirection = 10;
pub const XIMCaretDirection_XIMDontChange: XIMCaretDirection = 11;
pub type XIMCaretDirection = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XIMStringConversionCallbackStruct {
    pub position: XIMStringConversionPosition,
    pub direction: XIMCaretDirection,
    pub operation: XIMStringConversionOperation,
    pub factor: ::std::os::raw::c_ushort,
    pub text: *mut XIMStringConversionText,
}
#[test]
fn bindgen_test_layout__XIMStringConversionCallbackStruct() {
    assert_eq!(
        ::std::mem::size_of::<_XIMStringConversionCallbackStruct>(),
        24usize,
        concat!("Size of: ", stringify!(_XIMStringConversionCallbackStruct))
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMStringConversionCallbackStruct>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(_XIMStringConversionCallbackStruct)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStringConversionCallbackStruct>())).position as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionCallbackStruct),
            "::",
            stringify!(position)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStringConversionCallbackStruct>())).direction as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionCallbackStruct),
            "::",
            stringify!(direction)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStringConversionCallbackStruct>())).operation as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionCallbackStruct),
            "::",
            stringify!(operation)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStringConversionCallbackStruct>())).factor as *const _
                as usize
        },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionCallbackStruct),
            "::",
            stringify!(factor)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStringConversionCallbackStruct>())).text as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStringConversionCallbackStruct),
            "::",
            stringify!(text)
        )
    );
}
pub type XIMStringConversionCallbackStruct = _XIMStringConversionCallbackStruct;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XIMPreeditDrawCallbackStruct {
    pub caret: ::std::os::raw::c_int,
    pub chg_first: ::std::os::raw::c_int,
    pub chg_length: ::std::os::raw::c_int,
    pub text: *mut XIMText,
}
#[test]
fn bindgen_test_layout__XIMPreeditDrawCallbackStruct() {
    assert_eq!(
        ::std::mem::size_of::<_XIMPreeditDrawCallbackStruct>(),
        24usize,
        concat!("Size of: ", stringify!(_XIMPreeditDrawCallbackStruct))
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMPreeditDrawCallbackStruct>(),
        8usize,
        concat!("Alignment of ", stringify!(_XIMPreeditDrawCallbackStruct))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMPreeditDrawCallbackStruct>())).caret as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMPreeditDrawCallbackStruct),
            "::",
            stringify!(caret)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMPreeditDrawCallbackStruct>())).chg_first as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMPreeditDrawCallbackStruct),
            "::",
            stringify!(chg_first)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMPreeditDrawCallbackStruct>())).chg_length as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMPreeditDrawCallbackStruct),
            "::",
            stringify!(chg_length)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMPreeditDrawCallbackStruct>())).text as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMPreeditDrawCallbackStruct),
            "::",
            stringify!(text)
        )
    );
}
pub type XIMPreeditDrawCallbackStruct = _XIMPreeditDrawCallbackStruct;
pub const XIMCaretStyle_XIMIsInvisible: XIMCaretStyle = 0;
pub const XIMCaretStyle_XIMIsPrimary: XIMCaretStyle = 1;
pub const XIMCaretStyle_XIMIsSecondary: XIMCaretStyle = 2;
pub type XIMCaretStyle = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XIMPreeditCaretCallbackStruct {
    pub position: ::std::os::raw::c_int,
    pub direction: XIMCaretDirection,
    pub style: XIMCaretStyle,
}
#[test]
fn bindgen_test_layout__XIMPreeditCaretCallbackStruct() {
    assert_eq!(
        ::std::mem::size_of::<_XIMPreeditCaretCallbackStruct>(),
        12usize,
        concat!("Size of: ", stringify!(_XIMPreeditCaretCallbackStruct))
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMPreeditCaretCallbackStruct>(),
        4usize,
        concat!("Alignment of ", stringify!(_XIMPreeditCaretCallbackStruct))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMPreeditCaretCallbackStruct>())).position as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMPreeditCaretCallbackStruct),
            "::",
            stringify!(position)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMPreeditCaretCallbackStruct>())).direction as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMPreeditCaretCallbackStruct),
            "::",
            stringify!(direction)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMPreeditCaretCallbackStruct>())).style as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMPreeditCaretCallbackStruct),
            "::",
            stringify!(style)
        )
    );
}
pub type XIMPreeditCaretCallbackStruct = _XIMPreeditCaretCallbackStruct;
pub const XIMStatusDataType_XIMTextType: XIMStatusDataType = 0;
pub const XIMStatusDataType_XIMBitmapType: XIMStatusDataType = 1;
pub type XIMStatusDataType = u32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _XIMStatusDrawCallbackStruct {
    pub type_: XIMStatusDataType,
    pub data: _XIMStatusDrawCallbackStruct__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _XIMStatusDrawCallbackStruct__bindgen_ty_1 {
    pub text: *mut XIMText,
    pub bitmap: Pixmap,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__XIMStatusDrawCallbackStruct__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_XIMStatusDrawCallbackStruct__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(_XIMStatusDrawCallbackStruct__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMStatusDrawCallbackStruct__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(_XIMStatusDrawCallbackStruct__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStatusDrawCallbackStruct__bindgen_ty_1>())).text as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStatusDrawCallbackStruct__bindgen_ty_1),
            "::",
            stringify!(text)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStatusDrawCallbackStruct__bindgen_ty_1>())).bitmap
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStatusDrawCallbackStruct__bindgen_ty_1),
            "::",
            stringify!(bitmap)
        )
    );
}
#[test]
fn bindgen_test_layout__XIMStatusDrawCallbackStruct() {
    assert_eq!(
        ::std::mem::size_of::<_XIMStatusDrawCallbackStruct>(),
        16usize,
        concat!("Size of: ", stringify!(_XIMStatusDrawCallbackStruct))
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMStatusDrawCallbackStruct>(),
        8usize,
        concat!("Alignment of ", stringify!(_XIMStatusDrawCallbackStruct))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStatusDrawCallbackStruct>())).type_ as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStatusDrawCallbackStruct),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_XIMStatusDrawCallbackStruct>())).data as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMStatusDrawCallbackStruct),
            "::",
            stringify!(data)
        )
    );
}
pub type XIMStatusDrawCallbackStruct = _XIMStatusDrawCallbackStruct;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XIMHotKeyTrigger {
    pub keysym: KeySym,
    pub modifier: ::std::os::raw::c_int,
    pub modifier_mask: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__XIMHotKeyTrigger() {
    assert_eq!(
        ::std::mem::size_of::<_XIMHotKeyTrigger>(),
        16usize,
        concat!("Size of: ", stringify!(_XIMHotKeyTrigger))
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMHotKeyTrigger>(),
        8usize,
        concat!("Alignment of ", stringify!(_XIMHotKeyTrigger))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMHotKeyTrigger>())).keysym as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMHotKeyTrigger),
            "::",
            stringify!(keysym)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMHotKeyTrigger>())).modifier as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMHotKeyTrigger),
            "::",
            stringify!(modifier)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMHotKeyTrigger>())).modifier_mask as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMHotKeyTrigger),
            "::",
            stringify!(modifier_mask)
        )
    );
}
pub type XIMHotKeyTrigger = _XIMHotKeyTrigger;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XIMHotKeyTriggers {
    pub num_hot_key: ::std::os::raw::c_int,
    pub key: *mut XIMHotKeyTrigger,
}
#[test]
fn bindgen_test_layout__XIMHotKeyTriggers() {
    assert_eq!(
        ::std::mem::size_of::<_XIMHotKeyTriggers>(),
        16usize,
        concat!("Size of: ", stringify!(_XIMHotKeyTriggers))
    );
    assert_eq!(
        ::std::mem::align_of::<_XIMHotKeyTriggers>(),
        8usize,
        concat!("Alignment of ", stringify!(_XIMHotKeyTriggers))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMHotKeyTriggers>())).num_hot_key as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMHotKeyTriggers),
            "::",
            stringify!(num_hot_key)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XIMHotKeyTriggers>())).key as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XIMHotKeyTriggers),
            "::",
            stringify!(key)
        )
    );
}
pub type XIMHotKeyTriggers = _XIMHotKeyTriggers;
pub type XIMHotKeyState = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XIMValuesList {
    pub count_values: ::std::os::raw::c_ushort,
    pub supported_values: *mut *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_XIMValuesList() {
    assert_eq!(
        ::std::mem::size_of::<XIMValuesList>(),
        16usize,
        concat!("Size of: ", stringify!(XIMValuesList))
    );
    assert_eq!(
        ::std::mem::align_of::<XIMValuesList>(),
        8usize,
        concat!("Alignment of ", stringify!(XIMValuesList))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIMValuesList>())).count_values as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XIMValuesList),
            "::",
            stringify!(count_values)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIMValuesList>())).supported_values as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XIMValuesList),
            "::",
            stringify!(supported_values)
        )
    );
}
extern "C" {
    pub static mut _Xdebug: ::std::os::raw::c_int;
}
extern "C" {
    pub fn XLoadQueryFont(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
    ) -> *mut XFontStruct;
}
extern "C" {
    pub fn XQueryFont(arg1: *mut Display, arg2: XID) -> *mut XFontStruct;
}
extern "C" {
    pub fn XGetMotionEvents(
        arg1: *mut Display,
        arg2: Window,
        arg3: Time,
        arg4: Time,
        arg5: *mut ::std::os::raw::c_int,
    ) -> *mut XTimeCoord;
}
extern "C" {
    pub fn XDeleteModifiermapEntry(
        arg1: *mut XModifierKeymap,
        arg2: KeyCode,
        arg3: ::std::os::raw::c_int,
    ) -> *mut XModifierKeymap;
}
extern "C" {
    pub fn XGetModifierMapping(arg1: *mut Display) -> *mut XModifierKeymap;
}
extern "C" {
    pub fn XInsertModifiermapEntry(
        arg1: *mut XModifierKeymap,
        arg2: KeyCode,
        arg3: ::std::os::raw::c_int,
    ) -> *mut XModifierKeymap;
}
extern "C" {
    pub fn XNewModifiermap(arg1: ::std::os::raw::c_int) -> *mut XModifierKeymap;
}
extern "C" {
    pub fn XCreateImage(
        arg1: *mut Display,
        arg2: *mut Visual,
        arg3: ::std::os::raw::c_uint,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *mut ::std::os::raw::c_char,
        arg7: ::std::os::raw::c_uint,
        arg8: ::std::os::raw::c_uint,
        arg9: ::std::os::raw::c_int,
        arg10: ::std::os::raw::c_int,
    ) -> *mut XImage;
}
extern "C" {
    pub fn XInitImage(arg1: *mut XImage) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetImage(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_uint,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_ulong,
        arg8: ::std::os::raw::c_int,
    ) -> *mut XImage;
}
extern "C" {
    pub fn XGetSubImage(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_uint,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_ulong,
        arg8: ::std::os::raw::c_int,
        arg9: *mut XImage,
        arg10: ::std::os::raw::c_int,
        arg11: ::std::os::raw::c_int,
    ) -> *mut XImage;
}
extern "C" {
    pub fn XOpenDisplay(arg1: *const ::std::os::raw::c_char) -> *mut Display;
}
extern "C" {
    pub fn XrmInitialize();
}
extern "C" {
    pub fn XFetchBytes(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XFetchBuffer(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XGetAtomName(arg1: *mut Display, arg2: Atom) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XGetAtomNames(
        arg1: *mut Display,
        arg2: *mut Atom,
        arg3: ::std::os::raw::c_int,
        arg4: *mut *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetDefault(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
        arg3: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XDisplayName(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XKeysymToString(arg1: KeySym) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XSynchronize(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
    ) -> ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut Display,
            arg2: ::std::os::raw::c_int,
        ) -> ::std::os::raw::c_int,
    >;
}
extern "C" {
    pub fn XSetAfterFunction(
        arg1: *mut Display,
        arg2: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut Display) -> ::std::os::raw::c_int,
        >,
    ) -> ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut Display,
            arg2: ::std::option::Option<
                unsafe extern "C" fn(arg1: *mut Display) -> ::std::os::raw::c_int,
            >,
        ) -> ::std::os::raw::c_int,
    >;
}
extern "C" {
    pub fn XInternAtom(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
    ) -> Atom;
}
extern "C" {
    pub fn XInternAtoms(
        arg1: *mut Display,
        arg2: *mut *mut ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: *mut Atom,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCopyColormapAndFree(arg1: *mut Display, arg2: Colormap) -> Colormap;
}
extern "C" {
    pub fn XCreateColormap(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut Visual,
        arg4: ::std::os::raw::c_int,
    ) -> Colormap;
}
extern "C" {
    pub fn XCreatePixmapCursor(
        arg1: *mut Display,
        arg2: Pixmap,
        arg3: Pixmap,
        arg4: *mut XColor,
        arg5: *mut XColor,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_uint,
    ) -> Cursor;
}
extern "C" {
    pub fn XCreateGlyphCursor(
        arg1: *mut Display,
        arg2: Font,
        arg3: Font,
        arg4: ::std::os::raw::c_uint,
        arg5: ::std::os::raw::c_uint,
        arg6: *const XColor,
        arg7: *const XColor,
    ) -> Cursor;
}
extern "C" {
    pub fn XCreateFontCursor(arg1: *mut Display, arg2: ::std::os::raw::c_uint) -> Cursor;
}
extern "C" {
    pub fn XLoadFont(arg1: *mut Display, arg2: *const ::std::os::raw::c_char) -> Font;
}
extern "C" {
    pub fn XCreateGC(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: ::std::os::raw::c_ulong,
        arg4: *mut XGCValues,
    ) -> GC;
}
extern "C" {
    pub fn XGContextFromGC(arg1: GC) -> GContext;
}
extern "C" {
    pub fn XFlushGC(arg1: *mut Display, arg2: GC);
}
extern "C" {
    pub fn XCreatePixmap(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: ::std::os::raw::c_uint,
        arg4: ::std::os::raw::c_uint,
        arg5: ::std::os::raw::c_uint,
    ) -> Pixmap;
}
extern "C" {
    pub fn XCreateBitmapFromData(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: *const ::std::os::raw::c_char,
        arg4: ::std::os::raw::c_uint,
        arg5: ::std::os::raw::c_uint,
    ) -> Pixmap;
}
extern "C" {
    pub fn XCreatePixmapFromBitmapData(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: *mut ::std::os::raw::c_char,
        arg4: ::std::os::raw::c_uint,
        arg5: ::std::os::raw::c_uint,
        arg6: ::std::os::raw::c_ulong,
        arg7: ::std::os::raw::c_ulong,
        arg8: ::std::os::raw::c_uint,
    ) -> Pixmap;
}
extern "C" {
    pub fn XCreateSimpleWindow(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_uint,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_uint,
        arg8: ::std::os::raw::c_ulong,
        arg9: ::std::os::raw::c_ulong,
    ) -> Window;
}
extern "C" {
    pub fn XGetSelectionOwner(arg1: *mut Display, arg2: Atom) -> Window;
}
extern "C" {
    pub fn XCreateWindow(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_uint,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_uint,
        arg8: ::std::os::raw::c_int,
        arg9: ::std::os::raw::c_uint,
        arg10: *mut Visual,
        arg11: ::std::os::raw::c_ulong,
        arg12: *mut XSetWindowAttributes,
    ) -> Window;
}
extern "C" {
    pub fn XListInstalledColormaps(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut ::std::os::raw::c_int,
    ) -> *mut Colormap;
}
extern "C" {
    pub fn XListFonts(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_int,
    ) -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XListFontsWithInfo(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_int,
        arg5: *mut *mut XFontStruct,
    ) -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XGetFontPath(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_int,
    ) -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XListExtensions(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_int,
    ) -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XListProperties(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut ::std::os::raw::c_int,
    ) -> *mut Atom;
}
extern "C" {
    pub fn XListHosts(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_int,
    ) -> *mut XHostAddress;
}
extern "C" {
    pub fn XKeycodeToKeysym(
        arg1: *mut Display,
        arg2: KeyCode,
        arg3: ::std::os::raw::c_int,
    ) -> KeySym;
}
extern "C" {
    pub fn XLookupKeysym(arg1: *mut XKeyEvent, arg2: ::std::os::raw::c_int) -> KeySym;
}
extern "C" {
    pub fn XGetKeyboardMapping(
        arg1: *mut Display,
        arg2: KeyCode,
        arg3: ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_int,
    ) -> *mut KeySym;
}
extern "C" {
    pub fn XStringToKeysym(arg1: *const ::std::os::raw::c_char) -> KeySym;
}
extern "C" {
    pub fn XMaxRequestSize(arg1: *mut Display) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn XExtendedMaxRequestSize(arg1: *mut Display) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn XResourceManagerString(arg1: *mut Display) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XScreenResourceString(arg1: *mut Screen) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XDisplayMotionBufferSize(arg1: *mut Display) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn XVisualIDFromVisual(arg1: *mut Visual) -> VisualID;
}
extern "C" {
    pub fn XInitThreads() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XLockDisplay(arg1: *mut Display);
}
extern "C" {
    pub fn XUnlockDisplay(arg1: *mut Display);
}
extern "C" {
    pub fn XInitExtension(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
    ) -> *mut XExtCodes;
}
extern "C" {
    pub fn XAddExtension(arg1: *mut Display) -> *mut XExtCodes;
}
extern "C" {
    pub fn XFindOnExtensionList(
        arg1: *mut *mut XExtData,
        arg2: ::std::os::raw::c_int,
    ) -> *mut XExtData;
}
extern "C" {
    pub fn XEHeadOfExtensionList(arg1: XEDataObject) -> *mut *mut XExtData;
}
extern "C" {
    pub fn XRootWindow(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> Window;
}
extern "C" {
    pub fn XDefaultRootWindow(arg1: *mut Display) -> Window;
}
extern "C" {
    pub fn XRootWindowOfScreen(arg1: *mut Screen) -> Window;
}
extern "C" {
    pub fn XDefaultVisual(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> *mut Visual;
}
extern "C" {
    pub fn XDefaultVisualOfScreen(arg1: *mut Screen) -> *mut Visual;
}
extern "C" {
    pub fn XDefaultGC(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> GC;
}
extern "C" {
    pub fn XDefaultGCOfScreen(arg1: *mut Screen) -> GC;
}
extern "C" {
    pub fn XBlackPixel(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn XWhitePixel(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn XAllPlanes() -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn XBlackPixelOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn XWhitePixelOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn XNextRequest(arg1: *mut Display) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn XLastKnownRequestProcessed(arg1: *mut Display) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn XServerVendor(arg1: *mut Display) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XDisplayString(arg1: *mut Display) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XDefaultColormap(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> Colormap;
}
extern "C" {
    pub fn XDefaultColormapOfScreen(arg1: *mut Screen) -> Colormap;
}
extern "C" {
    pub fn XDisplayOfScreen(arg1: *mut Screen) -> *mut Display;
}
extern "C" {
    pub fn XScreenOfDisplay(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> *mut Screen;
}
extern "C" {
    pub fn XDefaultScreenOfDisplay(arg1: *mut Display) -> *mut Screen;
}
extern "C" {
    pub fn XEventMaskOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn XScreenNumberOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
pub type XErrorHandler = ::std::option::Option<
    unsafe extern "C" fn(arg1: *mut Display, arg2: *mut XErrorEvent) -> ::std::os::raw::c_int,
>;
extern "C" {
    pub fn XSetErrorHandler(arg1: XErrorHandler) -> XErrorHandler;
}
pub type XIOErrorHandler =
    ::std::option::Option<unsafe extern "C" fn(arg1: *mut Display) -> ::std::os::raw::c_int>;
extern "C" {
    pub fn XSetIOErrorHandler(arg1: XIOErrorHandler) -> XIOErrorHandler;
}
extern "C" {
    pub fn XListPixmapFormats(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_int,
    ) -> *mut XPixmapFormatValues;
}
extern "C" {
    pub fn XListDepths(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_int;
}
extern "C" {
    pub fn XReconfigureWMWindow(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_uint,
        arg5: *mut XWindowChanges,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetWMProtocols(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut *mut Atom,
        arg4: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetWMProtocols(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut Atom,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XIconifyWindow(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XWithdrawWindow(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetCommand(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut *mut *mut ::std::os::raw::c_char,
        arg4: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetWMColormapWindows(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut *mut Window,
        arg4: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetWMColormapWindows(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut Window,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeStringList(arg1: *mut *mut ::std::os::raw::c_char);
}
extern "C" {
    pub fn XSetTransientForHint(
        arg1: *mut Display,
        arg2: Window,
        arg3: Window,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XActivateScreenSaver(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAddHost(arg1: *mut Display, arg2: *mut XHostAddress) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAddHosts(
        arg1: *mut Display,
        arg2: *mut XHostAddress,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAddToExtensionList(
        arg1: *mut *mut _XExtData,
        arg2: *mut XExtData,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAddToSaveSet(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAllocColor(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: *mut XColor,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAllocColorCells(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_ulong,
        arg5: ::std::os::raw::c_uint,
        arg6: *mut ::std::os::raw::c_ulong,
        arg7: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAllocColorPlanes(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_ulong,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: ::std::os::raw::c_int,
        arg8: ::std::os::raw::c_int,
        arg9: *mut ::std::os::raw::c_ulong,
        arg10: *mut ::std::os::raw::c_ulong,
        arg11: *mut ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAllocNamedColor(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: *const ::std::os::raw::c_char,
        arg4: *mut XColor,
        arg5: *mut XColor,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAllowEvents(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: Time,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAutoRepeatOff(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XAutoRepeatOn(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XBell(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XBitmapBitOrder(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XBitmapPad(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XBitmapUnit(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCellsOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XChangeActivePointerGrab(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_uint,
        arg3: Cursor,
        arg4: Time,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XChangeGC(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_ulong,
        arg4: *mut XGCValues,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XChangeKeyboardControl(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_ulong,
        arg3: *mut XKeyboardControl,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XChangeKeyboardMapping(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
        arg4: *mut KeySym,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XChangePointerControl(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XChangeProperty(
        arg1: *mut Display,
        arg2: Window,
        arg3: Atom,
        arg4: Atom,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: *const ::std::os::raw::c_uchar,
        arg8: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XChangeSaveSet(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XChangeWindowAttributes(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_ulong,
        arg4: *mut XSetWindowAttributes,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCheckIfEvent(
        arg1: *mut Display,
        arg2: *mut XEvent,
        arg3: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Display,
                arg2: *mut XEvent,
                arg3: XPointer,
            ) -> ::std::os::raw::c_int,
        >,
        arg4: XPointer,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCheckMaskEvent(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_long,
        arg3: *mut XEvent,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCheckTypedEvent(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: *mut XEvent,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCheckTypedWindowEvent(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: *mut XEvent,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCheckWindowEvent(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_long,
        arg4: *mut XEvent,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCirculateSubwindows(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCirculateSubwindowsDown(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCirculateSubwindowsUp(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XClearArea(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_uint,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XClearWindow(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCloseDisplay(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XConfigureWindow(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_uint,
        arg4: *mut XWindowChanges,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XConnectionNumber(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XConvertSelection(
        arg1: *mut Display,
        arg2: Atom,
        arg3: Atom,
        arg4: Atom,
        arg5: Window,
        arg6: Time,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCopyArea(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: Drawable,
        arg4: GC,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: ::std::os::raw::c_uint,
        arg8: ::std::os::raw::c_uint,
        arg9: ::std::os::raw::c_int,
        arg10: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCopyGC(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_ulong,
        arg4: GC,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCopyPlane(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: Drawable,
        arg4: GC,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: ::std::os::raw::c_uint,
        arg8: ::std::os::raw::c_uint,
        arg9: ::std::os::raw::c_int,
        arg10: ::std::os::raw::c_int,
        arg11: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDefaultDepth(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDefaultDepthOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDefaultScreen(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDefineCursor(arg1: *mut Display, arg2: Window, arg3: Cursor) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDeleteProperty(arg1: *mut Display, arg2: Window, arg3: Atom) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDestroyWindow(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDestroySubwindows(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDoesBackingStore(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDoesSaveUnders(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDisableAccessControl(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDisplayCells(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDisplayHeight(arg1: *mut Display, arg2: ::std::os::raw::c_int)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDisplayHeightMM(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDisplayKeycodes(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDisplayPlanes(arg1: *mut Display, arg2: ::std::os::raw::c_int)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDisplayWidth(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDisplayWidthMM(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawArc(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_uint,
        arg8: ::std::os::raw::c_int,
        arg9: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawArcs(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: *mut XArc,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawImageString(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *const ::std::os::raw::c_char,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawImageString16(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *const XChar2b,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawLine(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawLines(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: *mut XPoint,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawPoint(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawPoints(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: *mut XPoint,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawRectangle(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawRectangles(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: *mut XRectangle,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawSegments(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: *mut XSegment,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawString(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *const ::std::os::raw::c_char,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawString16(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *const XChar2b,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawText(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *mut XTextItem,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDrawText16(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *mut XTextItem16,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XEnableAccessControl(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XEventsQueued(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFetchName(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFillArc(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_uint,
        arg8: ::std::os::raw::c_int,
        arg9: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFillArcs(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: *mut XArc,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFillPolygon(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: *mut XPoint,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFillRectangle(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFillRectangles(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: *mut XRectangle,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFlush(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XForceScreenSaver(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFree(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeColormap(arg1: *mut Display, arg2: Colormap) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeColors(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: *mut ::std::os::raw::c_ulong,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeCursor(arg1: *mut Display, arg2: Cursor) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeExtensionList(arg1: *mut *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeFont(arg1: *mut Display, arg2: *mut XFontStruct) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeFontInfo(
        arg1: *mut *mut ::std::os::raw::c_char,
        arg2: *mut XFontStruct,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeFontNames(arg1: *mut *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeFontPath(arg1: *mut *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeGC(arg1: *mut Display, arg2: GC) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeModifiermap(arg1: *mut XModifierKeymap) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreePixmap(arg1: *mut Display, arg2: Pixmap) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGeometry(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: *const ::std::os::raw::c_char,
        arg4: *const ::std::os::raw::c_char,
        arg5: ::std::os::raw::c_uint,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_uint,
        arg8: ::std::os::raw::c_int,
        arg9: ::std::os::raw::c_int,
        arg10: *mut ::std::os::raw::c_int,
        arg11: *mut ::std::os::raw::c_int,
        arg12: *mut ::std::os::raw::c_int,
        arg13: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetErrorDatabaseText(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
        arg3: *const ::std::os::raw::c_char,
        arg4: *const ::std::os::raw::c_char,
        arg5: *mut ::std::os::raw::c_char,
        arg6: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetErrorText(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_char,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetFontProperty(
        arg1: *mut XFontStruct,
        arg2: Atom,
        arg3: *mut ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetGCValues(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_ulong,
        arg4: *mut XGCValues,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetGeometry(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: *mut Window,
        arg4: *mut ::std::os::raw::c_int,
        arg5: *mut ::std::os::raw::c_int,
        arg6: *mut ::std::os::raw::c_uint,
        arg7: *mut ::std::os::raw::c_uint,
        arg8: *mut ::std::os::raw::c_uint,
        arg9: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetIconName(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetInputFocus(
        arg1: *mut Display,
        arg2: *mut Window,
        arg3: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetKeyboardControl(
        arg1: *mut Display,
        arg2: *mut XKeyboardState,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetPointerControl(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetPointerMapping(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_uchar,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetScreenSaver(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_int,
        arg5: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetTransientForHint(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut Window,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetWindowProperty(
        arg1: *mut Display,
        arg2: Window,
        arg3: Atom,
        arg4: ::std::os::raw::c_long,
        arg5: ::std::os::raw::c_long,
        arg6: ::std::os::raw::c_int,
        arg7: Atom,
        arg8: *mut Atom,
        arg9: *mut ::std::os::raw::c_int,
        arg10: *mut ::std::os::raw::c_ulong,
        arg11: *mut ::std::os::raw::c_ulong,
        arg12: *mut *mut ::std::os::raw::c_uchar,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetWindowAttributes(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XWindowAttributes,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGrabButton(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_uint,
        arg3: ::std::os::raw::c_uint,
        arg4: Window,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_int,
        arg8: ::std::os::raw::c_int,
        arg9: Window,
        arg10: Cursor,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGrabKey(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_uint,
        arg4: Window,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGrabKeyboard(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: Time,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGrabPointer(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_uint,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: Window,
        arg8: Cursor,
        arg9: Time,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGrabServer(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XHeightMMOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XHeightOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XIfEvent(
        arg1: *mut Display,
        arg2: *mut XEvent,
        arg3: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Display,
                arg2: *mut XEvent,
                arg3: XPointer,
            ) -> ::std::os::raw::c_int,
        >,
        arg4: XPointer,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XImageByteOrder(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XInstallColormap(arg1: *mut Display, arg2: Colormap) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XKeysymToKeycode(arg1: *mut Display, arg2: KeySym) -> KeyCode;
}
extern "C" {
    pub fn XKillClient(arg1: *mut Display, arg2: XID) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XLookupColor(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: *const ::std::os::raw::c_char,
        arg4: *mut XColor,
        arg5: *mut XColor,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XLowerWindow(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XMapRaised(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XMapSubwindows(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XMapWindow(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XMaskEvent(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_long,
        arg3: *mut XEvent,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XMaxCmapsOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XMinCmapsOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XMoveResizeWindow(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_uint,
        arg6: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XMoveWindow(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XNextEvent(arg1: *mut Display, arg2: *mut XEvent) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XNoOp(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XParseColor(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: *const ::std::os::raw::c_char,
        arg4: *mut XColor,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XParseGeometry(
        arg1: *const ::std::os::raw::c_char,
        arg2: *mut ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_uint,
        arg5: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XPeekEvent(arg1: *mut Display, arg2: *mut XEvent) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XPeekIfEvent(
        arg1: *mut Display,
        arg2: *mut XEvent,
        arg3: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Display,
                arg2: *mut XEvent,
                arg3: XPointer,
            ) -> ::std::os::raw::c_int,
        >,
        arg4: XPointer,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XPending(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XPlanesOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XProtocolRevision(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XProtocolVersion(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XPutBackEvent(arg1: *mut Display, arg2: *mut XEvent) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XPutImage(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: *mut XImage,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: ::std::os::raw::c_int,
        arg8: ::std::os::raw::c_int,
        arg9: ::std::os::raw::c_uint,
        arg10: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQLength(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryBestCursor(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: ::std::os::raw::c_uint,
        arg4: ::std::os::raw::c_uint,
        arg5: *mut ::std::os::raw::c_uint,
        arg6: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryBestSize(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: Drawable,
        arg4: ::std::os::raw::c_uint,
        arg5: ::std::os::raw::c_uint,
        arg6: *mut ::std::os::raw::c_uint,
        arg7: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryBestStipple(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: ::std::os::raw::c_uint,
        arg4: ::std::os::raw::c_uint,
        arg5: *mut ::std::os::raw::c_uint,
        arg6: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryBestTile(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: ::std::os::raw::c_uint,
        arg4: ::std::os::raw::c_uint,
        arg5: *mut ::std::os::raw::c_uint,
        arg6: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryColor(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: *mut XColor,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryColors(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: *mut XColor,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryExtension(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
        arg3: *mut ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_int,
        arg5: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryKeymap(
        arg1: *mut Display,
        arg2: *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryPointer(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut Window,
        arg4: *mut Window,
        arg5: *mut ::std::os::raw::c_int,
        arg6: *mut ::std::os::raw::c_int,
        arg7: *mut ::std::os::raw::c_int,
        arg8: *mut ::std::os::raw::c_int,
        arg9: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryTextExtents(
        arg1: *mut Display,
        arg2: XID,
        arg3: *const ::std::os::raw::c_char,
        arg4: ::std::os::raw::c_int,
        arg5: *mut ::std::os::raw::c_int,
        arg6: *mut ::std::os::raw::c_int,
        arg7: *mut ::std::os::raw::c_int,
        arg8: *mut XCharStruct,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryTextExtents16(
        arg1: *mut Display,
        arg2: XID,
        arg3: *const XChar2b,
        arg4: ::std::os::raw::c_int,
        arg5: *mut ::std::os::raw::c_int,
        arg6: *mut ::std::os::raw::c_int,
        arg7: *mut ::std::os::raw::c_int,
        arg8: *mut XCharStruct,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XQueryTree(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut Window,
        arg4: *mut Window,
        arg5: *mut *mut Window,
        arg6: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRaiseWindow(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XReadBitmapFile(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: *const ::std::os::raw::c_char,
        arg4: *mut ::std::os::raw::c_uint,
        arg5: *mut ::std::os::raw::c_uint,
        arg6: *mut Pixmap,
        arg7: *mut ::std::os::raw::c_int,
        arg8: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XReadBitmapFileData(
        arg1: *const ::std::os::raw::c_char,
        arg2: *mut ::std::os::raw::c_uint,
        arg3: *mut ::std::os::raw::c_uint,
        arg4: *mut *mut ::std::os::raw::c_uchar,
        arg5: *mut ::std::os::raw::c_int,
        arg6: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRebindKeysym(
        arg1: *mut Display,
        arg2: KeySym,
        arg3: *mut KeySym,
        arg4: ::std::os::raw::c_int,
        arg5: *const ::std::os::raw::c_uchar,
        arg6: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRecolorCursor(
        arg1: *mut Display,
        arg2: Cursor,
        arg3: *mut XColor,
        arg4: *mut XColor,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRefreshKeyboardMapping(arg1: *mut XMappingEvent) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRemoveFromSaveSet(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRemoveHost(arg1: *mut Display, arg2: *mut XHostAddress) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRemoveHosts(
        arg1: *mut Display,
        arg2: *mut XHostAddress,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XReparentWindow(
        arg1: *mut Display,
        arg2: Window,
        arg3: Window,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XResetScreenSaver(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XResizeWindow(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_uint,
        arg4: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRestackWindows(
        arg1: *mut Display,
        arg2: *mut Window,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRotateBuffers(arg1: *mut Display, arg2: ::std::os::raw::c_int)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRotateWindowProperties(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut Atom,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XScreenCount(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSelectInput(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSendEvent(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_long,
        arg5: *mut XEvent,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetAccessControl(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetArcMode(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetBackground(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetClipMask(arg1: *mut Display, arg2: GC, arg3: Pixmap) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetClipOrigin(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetClipRectangles(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: *mut XRectangle,
        arg6: ::std::os::raw::c_int,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetCloseDownMode(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetCommand(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut *mut ::std::os::raw::c_char,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetDashes(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_int,
        arg4: *const ::std::os::raw::c_char,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetFillRule(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetFillStyle(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetFont(arg1: *mut Display, arg2: GC, arg3: Font) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetFontPath(
        arg1: *mut Display,
        arg2: *mut *mut ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetForeground(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetFunction(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetGraphicsExposures(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetIconName(
        arg1: *mut Display,
        arg2: Window,
        arg3: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetInputFocus(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_int,
        arg4: Time,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetLineAttributes(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_uint,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetModifierMapping(
        arg1: *mut Display,
        arg2: *mut XModifierKeymap,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetPlaneMask(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetPointerMapping(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_uchar,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetScreenSaver(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetSelectionOwner(
        arg1: *mut Display,
        arg2: Atom,
        arg3: Window,
        arg4: Time,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetState(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_ulong,
        arg4: ::std::os::raw::c_ulong,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetStipple(arg1: *mut Display, arg2: GC, arg3: Pixmap) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetSubwindowMode(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetTSOrigin(
        arg1: *mut Display,
        arg2: GC,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetTile(arg1: *mut Display, arg2: GC, arg3: Pixmap) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetWindowBackground(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetWindowBackgroundPixmap(
        arg1: *mut Display,
        arg2: Window,
        arg3: Pixmap,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetWindowBorder(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetWindowBorderPixmap(
        arg1: *mut Display,
        arg2: Window,
        arg3: Pixmap,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetWindowBorderWidth(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetWindowColormap(
        arg1: *mut Display,
        arg2: Window,
        arg3: Colormap,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XStoreBuffer(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XStoreBytes(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XStoreColor(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: *mut XColor,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XStoreColors(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: *mut XColor,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XStoreName(
        arg1: *mut Display,
        arg2: Window,
        arg3: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XStoreNamedColor(
        arg1: *mut Display,
        arg2: Colormap,
        arg3: *const ::std::os::raw::c_char,
        arg4: ::std::os::raw::c_ulong,
        arg5: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSync(arg1: *mut Display, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XTextExtents(
        arg1: *mut XFontStruct,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_int,
        arg5: *mut ::std::os::raw::c_int,
        arg6: *mut ::std::os::raw::c_int,
        arg7: *mut XCharStruct,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XTextExtents16(
        arg1: *mut XFontStruct,
        arg2: *const XChar2b,
        arg3: ::std::os::raw::c_int,
        arg4: *mut ::std::os::raw::c_int,
        arg5: *mut ::std::os::raw::c_int,
        arg6: *mut ::std::os::raw::c_int,
        arg7: *mut XCharStruct,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XTextWidth(
        arg1: *mut XFontStruct,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XTextWidth16(
        arg1: *mut XFontStruct,
        arg2: *const XChar2b,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XTranslateCoordinates(
        arg1: *mut Display,
        arg2: Window,
        arg3: Window,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *mut ::std::os::raw::c_int,
        arg7: *mut ::std::os::raw::c_int,
        arg8: *mut Window,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUndefineCursor(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUngrabButton(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_uint,
        arg3: ::std::os::raw::c_uint,
        arg4: Window,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUngrabKey(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_uint,
        arg4: Window,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUngrabKeyboard(arg1: *mut Display, arg2: Time) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUngrabPointer(arg1: *mut Display, arg2: Time) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUngrabServer(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUninstallColormap(arg1: *mut Display, arg2: Colormap) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUnloadFont(arg1: *mut Display, arg2: Font) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUnmapSubwindows(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUnmapWindow(arg1: *mut Display, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XVendorRelease(arg1: *mut Display) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XWarpPointer(
        arg1: *mut Display,
        arg2: Window,
        arg3: Window,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_uint,
        arg7: ::std::os::raw::c_uint,
        arg8: ::std::os::raw::c_int,
        arg9: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XWidthMMOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XWidthOfScreen(arg1: *mut Screen) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XWindowEvent(
        arg1: *mut Display,
        arg2: Window,
        arg3: ::std::os::raw::c_long,
        arg4: *mut XEvent,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XWriteBitmapFile(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
        arg3: Pixmap,
        arg4: ::std::os::raw::c_uint,
        arg5: ::std::os::raw::c_uint,
        arg6: ::std::os::raw::c_int,
        arg7: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSupportsLocale() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetLocaleModifiers(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XOpenOM(
        arg1: *mut Display,
        arg2: *mut _XrmHashBucketRec,
        arg3: *const ::std::os::raw::c_char,
        arg4: *const ::std::os::raw::c_char,
    ) -> XOM;
}
extern "C" {
    pub fn XCloseOM(arg1: XOM) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetOMValues(arg1: XOM, ...) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XGetOMValues(arg1: XOM, ...) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XDisplayOfOM(arg1: XOM) -> *mut Display;
}
extern "C" {
    pub fn XLocaleOfOM(arg1: XOM) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XCreateOC(arg1: XOM, ...) -> XOC;
}
extern "C" {
    pub fn XDestroyOC(arg1: XOC);
}
extern "C" {
    pub fn XOMOfOC(arg1: XOC) -> XOM;
}
extern "C" {
    pub fn XSetOCValues(arg1: XOC, ...) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XGetOCValues(arg1: XOC, ...) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XCreateFontSet(
        arg1: *mut Display,
        arg2: *const ::std::os::raw::c_char,
        arg3: *mut *mut *mut ::std::os::raw::c_char,
        arg4: *mut ::std::os::raw::c_int,
        arg5: *mut *mut ::std::os::raw::c_char,
    ) -> XFontSet;
}
extern "C" {
    pub fn XFreeFontSet(arg1: *mut Display, arg2: XFontSet);
}
extern "C" {
    pub fn XFontsOfFontSet(
        arg1: XFontSet,
        arg2: *mut *mut *mut XFontStruct,
        arg3: *mut *mut *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XBaseFontNameListOfFontSet(arg1: XFontSet) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XLocaleOfFontSet(arg1: XFontSet) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XContextDependentDrawing(arg1: XFontSet) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDirectionalDependentDrawing(arg1: XFontSet) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XContextualDrawing(arg1: XFontSet) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XExtentsOfFontSet(arg1: XFontSet) -> *mut XFontSetExtents;
}
extern "C" {
    pub fn XmbTextEscapement(
        arg1: XFontSet,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XwcTextEscapement(
        arg1: XFontSet,
        arg2: *const wchar_t,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn Xutf8TextEscapement(
        arg1: XFontSet,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XmbTextExtents(
        arg1: XFontSet,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
        arg4: *mut XRectangle,
        arg5: *mut XRectangle,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XwcTextExtents(
        arg1: XFontSet,
        arg2: *const wchar_t,
        arg3: ::std::os::raw::c_int,
        arg4: *mut XRectangle,
        arg5: *mut XRectangle,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn Xutf8TextExtents(
        arg1: XFontSet,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
        arg4: *mut XRectangle,
        arg5: *mut XRectangle,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XmbTextPerCharExtents(
        arg1: XFontSet,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
        arg4: *mut XRectangle,
        arg5: *mut XRectangle,
        arg6: ::std::os::raw::c_int,
        arg7: *mut ::std::os::raw::c_int,
        arg8: *mut XRectangle,
        arg9: *mut XRectangle,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XwcTextPerCharExtents(
        arg1: XFontSet,
        arg2: *const wchar_t,
        arg3: ::std::os::raw::c_int,
        arg4: *mut XRectangle,
        arg5: *mut XRectangle,
        arg6: ::std::os::raw::c_int,
        arg7: *mut ::std::os::raw::c_int,
        arg8: *mut XRectangle,
        arg9: *mut XRectangle,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn Xutf8TextPerCharExtents(
        arg1: XFontSet,
        arg2: *const ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
        arg4: *mut XRectangle,
        arg5: *mut XRectangle,
        arg6: ::std::os::raw::c_int,
        arg7: *mut ::std::os::raw::c_int,
        arg8: *mut XRectangle,
        arg9: *mut XRectangle,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XmbDrawText(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *mut XmbTextItem,
        arg7: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn XwcDrawText(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *mut XwcTextItem,
        arg7: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Xutf8DrawText(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: GC,
        arg4: ::std::os::raw::c_int,
        arg5: ::std::os::raw::c_int,
        arg6: *mut XmbTextItem,
        arg7: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn XmbDrawString(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: XFontSet,
        arg4: GC,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: *const ::std::os::raw::c_char,
        arg8: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn XwcDrawString(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: XFontSet,
        arg4: GC,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: *const wchar_t,
        arg8: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Xutf8DrawString(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: XFontSet,
        arg4: GC,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: *const ::std::os::raw::c_char,
        arg8: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn XmbDrawImageString(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: XFontSet,
        arg4: GC,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: *const ::std::os::raw::c_char,
        arg8: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn XwcDrawImageString(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: XFontSet,
        arg4: GC,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: *const wchar_t,
        arg8: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Xutf8DrawImageString(
        arg1: *mut Display,
        arg2: Drawable,
        arg3: XFontSet,
        arg4: GC,
        arg5: ::std::os::raw::c_int,
        arg6: ::std::os::raw::c_int,
        arg7: *const ::std::os::raw::c_char,
        arg8: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn XOpenIM(
        arg1: *mut Display,
        arg2: *mut _XrmHashBucketRec,
        arg3: *mut ::std::os::raw::c_char,
        arg4: *mut ::std::os::raw::c_char,
    ) -> XIM;
}
extern "C" {
    pub fn XCloseIM(arg1: XIM) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetIMValues(arg1: XIM, ...) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XSetIMValues(arg1: XIM, ...) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XDisplayOfIM(arg1: XIM) -> *mut Display;
}
extern "C" {
    pub fn XLocaleOfIM(arg1: XIM) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XCreateIC(arg1: XIM, ...) -> XIC;
}
extern "C" {
    pub fn XDestroyIC(arg1: XIC);
}
extern "C" {
    pub fn XSetICFocus(arg1: XIC);
}
extern "C" {
    pub fn XUnsetICFocus(arg1: XIC);
}
extern "C" {
    pub fn XwcResetIC(arg1: XIC) -> *mut wchar_t;
}
extern "C" {
    pub fn XmbResetIC(arg1: XIC) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn Xutf8ResetIC(arg1: XIC) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XSetICValues(arg1: XIC, ...) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XGetICValues(arg1: XIC, ...) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn XIMOfIC(arg1: XIC) -> XIM;
}
extern "C" {
    pub fn XFilterEvent(arg1: *mut XEvent, arg2: Window) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XmbLookupString(
        arg1: XIC,
        arg2: *mut XKeyPressedEvent,
        arg3: *mut ::std::os::raw::c_char,
        arg4: ::std::os::raw::c_int,
        arg5: *mut KeySym,
        arg6: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XwcLookupString(
        arg1: XIC,
        arg2: *mut XKeyPressedEvent,
        arg3: *mut wchar_t,
        arg4: ::std::os::raw::c_int,
        arg5: *mut KeySym,
        arg6: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn Xutf8LookupString(
        arg1: XIC,
        arg2: *mut XKeyPressedEvent,
        arg3: *mut ::std::os::raw::c_char,
        arg4: ::std::os::raw::c_int,
        arg5: *mut KeySym,
        arg6: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XVaCreateNestedList(arg1: ::std::os::raw::c_int, ...) -> XVaNestedList;
}
extern "C" {
    pub fn XRegisterIMInstantiateCallback(
        arg1: *mut Display,
        arg2: *mut _XrmHashBucketRec,
        arg3: *mut ::std::os::raw::c_char,
        arg4: *mut ::std::os::raw::c_char,
        arg5: XIDProc,
        arg6: XPointer,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUnregisterIMInstantiateCallback(
        arg1: *mut Display,
        arg2: *mut _XrmHashBucketRec,
        arg3: *mut ::std::os::raw::c_char,
        arg4: *mut ::std::os::raw::c_char,
        arg5: XIDProc,
        arg6: XPointer,
    ) -> ::std::os::raw::c_int;
}
pub type XConnectionWatchProc = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut Display,
        arg2: XPointer,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: *mut XPointer,
    ),
>;
extern "C" {
    pub fn XInternalConnectionNumbers(
        arg1: *mut Display,
        arg2: *mut *mut ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XProcessInternalConnection(arg1: *mut Display, arg2: ::std::os::raw::c_int);
}
extern "C" {
    pub fn XAddConnectionWatch(
        arg1: *mut Display,
        arg2: XConnectionWatchProc,
        arg3: XPointer,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XRemoveConnectionWatch(arg1: *mut Display, arg2: XConnectionWatchProc, arg3: XPointer);
}
extern "C" {
    pub fn XSetAuthorization(
        arg1: *mut ::std::os::raw::c_char,
        arg2: ::std::os::raw::c_int,
        arg3: *mut ::std::os::raw::c_char,
        arg4: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn _Xmbtowc(
        arg1: *mut wchar_t,
        arg2: *mut ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _Xwctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetEventData(
        arg1: *mut Display,
        arg2: *mut XGenericEventCookie,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFreeEventData(arg1: *mut Display, arg2: *mut XGenericEventCookie);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XSizeHints {
    pub flags: ::std::os::raw::c_long,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub min_width: ::std::os::raw::c_int,
    pub min_height: ::std::os::raw::c_int,
    pub max_width: ::std::os::raw::c_int,
    pub max_height: ::std::os::raw::c_int,
    pub width_inc: ::std::os::raw::c_int,
    pub height_inc: ::std::os::raw::c_int,
    pub min_aspect: XSizeHints__bindgen_ty_1,
    pub max_aspect: XSizeHints__bindgen_ty_1,
    pub base_width: ::std::os::raw::c_int,
    pub base_height: ::std::os::raw::c_int,
    pub win_gravity: ::std::os::raw::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XSizeHints__bindgen_ty_1 {
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XSizeHints__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<XSizeHints__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(XSizeHints__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<XSizeHints__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(XSizeHints__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints__bindgen_ty_1>())).x as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints__bindgen_ty_1),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints__bindgen_ty_1>())).y as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints__bindgen_ty_1),
            "::",
            stringify!(y)
        )
    );
}
#[test]
fn bindgen_test_layout_XSizeHints() {
    assert_eq!(
        ::std::mem::size_of::<XSizeHints>(),
        80usize,
        concat!("Size of: ", stringify!(XSizeHints))
    );
    assert_eq!(
        ::std::mem::align_of::<XSizeHints>(),
        8usize,
        concat!("Alignment of ", stringify!(XSizeHints))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).x as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).y as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).width as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).height as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).min_width as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(min_width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).min_height as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(min_height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).max_width as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(max_width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).max_height as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(max_height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).width_inc as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(width_inc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).height_inc as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(height_inc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).min_aspect as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(min_aspect)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).max_aspect as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(max_aspect)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).base_width as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(base_width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).base_height as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(base_height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XSizeHints>())).win_gravity as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XSizeHints),
            "::",
            stringify!(win_gravity)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XWMHints {
    pub flags: ::std::os::raw::c_long,
    pub input: ::std::os::raw::c_int,
    pub initial_state: ::std::os::raw::c_int,
    pub icon_pixmap: Pixmap,
    pub icon_window: Window,
    pub icon_x: ::std::os::raw::c_int,
    pub icon_y: ::std::os::raw::c_int,
    pub icon_mask: Pixmap,
    pub window_group: XID,
}
#[test]
fn bindgen_test_layout_XWMHints() {
    assert_eq!(
        ::std::mem::size_of::<XWMHints>(),
        56usize,
        concat!("Size of: ", stringify!(XWMHints))
    );
    assert_eq!(
        ::std::mem::align_of::<XWMHints>(),
        8usize,
        concat!("Alignment of ", stringify!(XWMHints))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWMHints>())).flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XWMHints),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWMHints>())).input as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XWMHints),
            "::",
            stringify!(input)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWMHints>())).initial_state as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XWMHints),
            "::",
            stringify!(initial_state)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWMHints>())).icon_pixmap as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XWMHints),
            "::",
            stringify!(icon_pixmap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWMHints>())).icon_window as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XWMHints),
            "::",
            stringify!(icon_window)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWMHints>())).icon_x as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XWMHints),
            "::",
            stringify!(icon_x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWMHints>())).icon_y as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(XWMHints),
            "::",
            stringify!(icon_y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWMHints>())).icon_mask as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XWMHints),
            "::",
            stringify!(icon_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XWMHints>())).window_group as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XWMHints),
            "::",
            stringify!(window_group)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XTextProperty {
    pub value: *mut ::std::os::raw::c_uchar,
    pub encoding: Atom,
    pub format: ::std::os::raw::c_int,
    pub nitems: ::std::os::raw::c_ulong,
}
#[test]
fn bindgen_test_layout_XTextProperty() {
    assert_eq!(
        ::std::mem::size_of::<XTextProperty>(),
        32usize,
        concat!("Size of: ", stringify!(XTextProperty))
    );
    assert_eq!(
        ::std::mem::align_of::<XTextProperty>(),
        8usize,
        concat!("Alignment of ", stringify!(XTextProperty))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextProperty>())).value as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextProperty),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextProperty>())).encoding as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextProperty),
            "::",
            stringify!(encoding)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextProperty>())).format as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextProperty),
            "::",
            stringify!(format)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XTextProperty>())).nitems as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XTextProperty),
            "::",
            stringify!(nitems)
        )
    );
}
pub const XICCEncodingStyle_XStringStyle: XICCEncodingStyle = 0;
pub const XICCEncodingStyle_XCompoundTextStyle: XICCEncodingStyle = 1;
pub const XICCEncodingStyle_XTextStyle: XICCEncodingStyle = 2;
pub const XICCEncodingStyle_XStdICCTextStyle: XICCEncodingStyle = 3;
pub const XICCEncodingStyle_XUTF8StringStyle: XICCEncodingStyle = 4;
pub type XICCEncodingStyle = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XIconSize {
    pub min_width: ::std::os::raw::c_int,
    pub min_height: ::std::os::raw::c_int,
    pub max_width: ::std::os::raw::c_int,
    pub max_height: ::std::os::raw::c_int,
    pub width_inc: ::std::os::raw::c_int,
    pub height_inc: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XIconSize() {
    assert_eq!(
        ::std::mem::size_of::<XIconSize>(),
        24usize,
        concat!("Size of: ", stringify!(XIconSize))
    );
    assert_eq!(
        ::std::mem::align_of::<XIconSize>(),
        4usize,
        concat!("Alignment of ", stringify!(XIconSize))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIconSize>())).min_width as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XIconSize),
            "::",
            stringify!(min_width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIconSize>())).min_height as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(XIconSize),
            "::",
            stringify!(min_height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIconSize>())).max_width as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XIconSize),
            "::",
            stringify!(max_width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIconSize>())).max_height as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(XIconSize),
            "::",
            stringify!(max_height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIconSize>())).width_inc as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XIconSize),
            "::",
            stringify!(width_inc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XIconSize>())).height_inc as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(XIconSize),
            "::",
            stringify!(height_inc)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XClassHint {
    pub res_name: *mut ::std::os::raw::c_char,
    pub res_class: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_XClassHint() {
    assert_eq!(
        ::std::mem::size_of::<XClassHint>(),
        16usize,
        concat!("Size of: ", stringify!(XClassHint))
    );
    assert_eq!(
        ::std::mem::align_of::<XClassHint>(),
        8usize,
        concat!("Alignment of ", stringify!(XClassHint))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XClassHint>())).res_name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XClassHint),
            "::",
            stringify!(res_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XClassHint>())).res_class as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XClassHint),
            "::",
            stringify!(res_class)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XComposeStatus {
    pub compose_ptr: XPointer,
    pub chars_matched: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__XComposeStatus() {
    assert_eq!(
        ::std::mem::size_of::<_XComposeStatus>(),
        16usize,
        concat!("Size of: ", stringify!(_XComposeStatus))
    );
    assert_eq!(
        ::std::mem::align_of::<_XComposeStatus>(),
        8usize,
        concat!("Alignment of ", stringify!(_XComposeStatus))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XComposeStatus>())).compose_ptr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_XComposeStatus),
            "::",
            stringify!(compose_ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_XComposeStatus>())).chars_matched as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_XComposeStatus),
            "::",
            stringify!(chars_matched)
        )
    );
}
pub type XComposeStatus = _XComposeStatus;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _XRegion {
    _unused: [u8; 0],
}
pub type Region = *mut _XRegion;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XVisualInfo {
    pub visual: *mut Visual,
    pub visualid: VisualID,
    pub screen: ::std::os::raw::c_int,
    pub depth: ::std::os::raw::c_int,
    pub class: ::std::os::raw::c_int,
    pub red_mask: ::std::os::raw::c_ulong,
    pub green_mask: ::std::os::raw::c_ulong,
    pub blue_mask: ::std::os::raw::c_ulong,
    pub colormap_size: ::std::os::raw::c_int,
    pub bits_per_rgb: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_XVisualInfo() {
    assert_eq!(
        ::std::mem::size_of::<XVisualInfo>(),
        64usize,
        concat!("Size of: ", stringify!(XVisualInfo))
    );
    assert_eq!(
        ::std::mem::align_of::<XVisualInfo>(),
        8usize,
        concat!("Alignment of ", stringify!(XVisualInfo))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisualInfo>())).visual as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisualInfo),
            "::",
            stringify!(visual)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisualInfo>())).visualid as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisualInfo),
            "::",
            stringify!(visualid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisualInfo>())).screen as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisualInfo),
            "::",
            stringify!(screen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisualInfo>())).depth as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisualInfo),
            "::",
            stringify!(depth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisualInfo>())).class as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisualInfo),
            "::",
            stringify!(class)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisualInfo>())).red_mask as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisualInfo),
            "::",
            stringify!(red_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisualInfo>())).green_mask as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisualInfo),
            "::",
            stringify!(green_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisualInfo>())).blue_mask as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisualInfo),
            "::",
            stringify!(blue_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisualInfo>())).colormap_size as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisualInfo),
            "::",
            stringify!(colormap_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XVisualInfo>())).bits_per_rgb as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(XVisualInfo),
            "::",
            stringify!(bits_per_rgb)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct XStandardColormap {
    pub colormap: Colormap,
    pub red_max: ::std::os::raw::c_ulong,
    pub red_mult: ::std::os::raw::c_ulong,
    pub green_max: ::std::os::raw::c_ulong,
    pub green_mult: ::std::os::raw::c_ulong,
    pub blue_max: ::std::os::raw::c_ulong,
    pub blue_mult: ::std::os::raw::c_ulong,
    pub base_pixel: ::std::os::raw::c_ulong,
    pub visualid: VisualID,
    pub killid: XID,
}
#[test]
fn bindgen_test_layout_XStandardColormap() {
    assert_eq!(
        ::std::mem::size_of::<XStandardColormap>(),
        80usize,
        concat!("Size of: ", stringify!(XStandardColormap))
    );
    assert_eq!(
        ::std::mem::align_of::<XStandardColormap>(),
        8usize,
        concat!("Alignment of ", stringify!(XStandardColormap))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XStandardColormap>())).colormap as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(XStandardColormap),
            "::",
            stringify!(colormap)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XStandardColormap>())).red_max as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(XStandardColormap),
            "::",
            stringify!(red_max)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XStandardColormap>())).red_mult as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(XStandardColormap),
            "::",
            stringify!(red_mult)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XStandardColormap>())).green_max as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(XStandardColormap),
            "::",
            stringify!(green_max)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XStandardColormap>())).green_mult as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(XStandardColormap),
            "::",
            stringify!(green_mult)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XStandardColormap>())).blue_max as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(XStandardColormap),
            "::",
            stringify!(blue_max)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XStandardColormap>())).blue_mult as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(XStandardColormap),
            "::",
            stringify!(blue_mult)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XStandardColormap>())).base_pixel as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(XStandardColormap),
            "::",
            stringify!(base_pixel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XStandardColormap>())).visualid as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(XStandardColormap),
            "::",
            stringify!(visualid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<XStandardColormap>())).killid as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(XStandardColormap),
            "::",
            stringify!(killid)
        )
    );
}
pub type XContext = ::std::os::raw::c_int;
extern "C" {
    pub fn XAllocClassHint() -> *mut XClassHint;
}
extern "C" {
    pub fn XAllocIconSize() -> *mut XIconSize;
}
extern "C" {
    pub fn XAllocSizeHints() -> *mut XSizeHints;
}
extern "C" {
    pub fn XAllocStandardColormap() -> *mut XStandardColormap;
}
extern "C" {
    pub fn XAllocWMHints() -> *mut XWMHints;
}
extern "C" {
    pub fn XClipBox(arg1: Region, arg2: *mut XRectangle) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XCreateRegion() -> Region;
}
extern "C" {
    pub fn XDefaultString() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn XDeleteContext(arg1: *mut Display, arg2: XID, arg3: XContext) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XDestroyRegion(arg1: Region) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XEmptyRegion(arg1: Region) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XEqualRegion(arg1: Region, arg2: Region) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XFindContext(
        arg1: *mut Display,
        arg2: XID,
        arg3: XContext,
        arg4: *mut XPointer,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetClassHint(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XClassHint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetIconSizes(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut *mut XIconSize,
        arg4: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetNormalHints(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XSizeHints,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetRGBColormaps(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut *mut XStandardColormap,
        arg4: *mut ::std::os::raw::c_int,
        arg5: Atom,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetSizeHints(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XSizeHints,
        arg4: Atom,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetStandardColormap(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XStandardColormap,
        arg4: Atom,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetTextProperty(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XTextProperty,
        arg4: Atom,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetVisualInfo(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_long,
        arg3: *mut XVisualInfo,
        arg4: *mut ::std::os::raw::c_int,
    ) -> *mut XVisualInfo;
}
extern "C" {
    pub fn XGetWMClientMachine(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XTextProperty,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetWMHints(arg1: *mut Display, arg2: Window) -> *mut XWMHints;
}
extern "C" {
    pub fn XGetWMIconName(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XTextProperty,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetWMName(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XTextProperty,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetWMNormalHints(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XSizeHints,
        arg4: *mut ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetWMSizeHints(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XSizeHints,
        arg4: *mut ::std::os::raw::c_long,
        arg5: Atom,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XGetZoomHints(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XSizeHints,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XIntersectRegion(arg1: Region, arg2: Region, arg3: Region) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XConvertCase(arg1: KeySym, arg2: *mut KeySym, arg3: *mut KeySym);
}
extern "C" {
    pub fn XLookupString(
        arg1: *mut XKeyEvent,
        arg2: *mut ::std::os::raw::c_char,
        arg3: ::std::os::raw::c_int,
        arg4: *mut KeySym,
        arg5: *mut XComposeStatus,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XMatchVisualInfo(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
        arg5: *mut XVisualInfo,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XOffsetRegion(
        arg1: Region,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XPointInRegion(
        arg1: Region,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XPolygonRegion(
        arg1: *mut XPoint,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
    ) -> Region;
}
extern "C" {
    pub fn XRectInRegion(
        arg1: Region,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_uint,
        arg5: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSaveContext(
        arg1: *mut Display,
        arg2: XID,
        arg3: XContext,
        arg4: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetClassHint(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XClassHint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetIconSizes(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XIconSize,
        arg4: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetNormalHints(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XSizeHints,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetRGBColormaps(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XStandardColormap,
        arg4: ::std::os::raw::c_int,
        arg5: Atom,
    );
}
extern "C" {
    pub fn XSetSizeHints(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XSizeHints,
        arg4: Atom,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetStandardProperties(
        arg1: *mut Display,
        arg2: Window,
        arg3: *const ::std::os::raw::c_char,
        arg4: *const ::std::os::raw::c_char,
        arg5: Pixmap,
        arg6: *mut *mut ::std::os::raw::c_char,
        arg7: ::std::os::raw::c_int,
        arg8: *mut XSizeHints,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetTextProperty(arg1: *mut Display, arg2: Window, arg3: *mut XTextProperty, arg4: Atom);
}
extern "C" {
    pub fn XSetWMClientMachine(arg1: *mut Display, arg2: Window, arg3: *mut XTextProperty);
}
extern "C" {
    pub fn XSetWMHints(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XWMHints,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetWMIconName(arg1: *mut Display, arg2: Window, arg3: *mut XTextProperty);
}
extern "C" {
    pub fn XSetWMName(arg1: *mut Display, arg2: Window, arg3: *mut XTextProperty);
}
extern "C" {
    pub fn XSetWMNormalHints(arg1: *mut Display, arg2: Window, arg3: *mut XSizeHints);
}
extern "C" {
    pub fn XSetWMProperties(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XTextProperty,
        arg4: *mut XTextProperty,
        arg5: *mut *mut ::std::os::raw::c_char,
        arg6: ::std::os::raw::c_int,
        arg7: *mut XSizeHints,
        arg8: *mut XWMHints,
        arg9: *mut XClassHint,
    );
}
extern "C" {
    pub fn XmbSetWMProperties(
        arg1: *mut Display,
        arg2: Window,
        arg3: *const ::std::os::raw::c_char,
        arg4: *const ::std::os::raw::c_char,
        arg5: *mut *mut ::std::os::raw::c_char,
        arg6: ::std::os::raw::c_int,
        arg7: *mut XSizeHints,
        arg8: *mut XWMHints,
        arg9: *mut XClassHint,
    );
}
extern "C" {
    pub fn Xutf8SetWMProperties(
        arg1: *mut Display,
        arg2: Window,
        arg3: *const ::std::os::raw::c_char,
        arg4: *const ::std::os::raw::c_char,
        arg5: *mut *mut ::std::os::raw::c_char,
        arg6: ::std::os::raw::c_int,
        arg7: *mut XSizeHints,
        arg8: *mut XWMHints,
        arg9: *mut XClassHint,
    );
}
extern "C" {
    pub fn XSetWMSizeHints(arg1: *mut Display, arg2: Window, arg3: *mut XSizeHints, arg4: Atom);
}
extern "C" {
    pub fn XSetRegion(arg1: *mut Display, arg2: GC, arg3: Region) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSetStandardColormap(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XStandardColormap,
        arg4: Atom,
    );
}
extern "C" {
    pub fn XSetZoomHints(
        arg1: *mut Display,
        arg2: Window,
        arg3: *mut XSizeHints,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XShrinkRegion(
        arg1: Region,
        arg2: ::std::os::raw::c_int,
        arg3: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XStringListToTextProperty(
        arg1: *mut *mut ::std::os::raw::c_char,
        arg2: ::std::os::raw::c_int,
        arg3: *mut XTextProperty,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XSubtractRegion(arg1: Region, arg2: Region, arg3: Region) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XmbTextListToTextProperty(
        display: *mut Display,
        list: *mut *mut ::std::os::raw::c_char,
        count: ::std::os::raw::c_int,
        style: XICCEncodingStyle,
        text_prop_return: *mut XTextProperty,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XwcTextListToTextProperty(
        display: *mut Display,
        list: *mut *mut wchar_t,
        count: ::std::os::raw::c_int,
        style: XICCEncodingStyle,
        text_prop_return: *mut XTextProperty,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn Xutf8TextListToTextProperty(
        display: *mut Display,
        list: *mut *mut ::std::os::raw::c_char,
        count: ::std::os::raw::c_int,
        style: XICCEncodingStyle,
        text_prop_return: *mut XTextProperty,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XwcFreeStringList(list: *mut *mut wchar_t);
}
extern "C" {
    pub fn XTextPropertyToStringList(
        arg1: *mut XTextProperty,
        arg2: *mut *mut *mut ::std::os::raw::c_char,
        arg3: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XmbTextPropertyToTextList(
        display: *mut Display,
        text_prop: *const XTextProperty,
        list_return: *mut *mut *mut ::std::os::raw::c_char,
        count_return: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XwcTextPropertyToTextList(
        display: *mut Display,
        text_prop: *const XTextProperty,
        list_return: *mut *mut *mut wchar_t,
        count_return: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn Xutf8TextPropertyToTextList(
        display: *mut Display,
        text_prop: *const XTextProperty,
        list_return: *mut *mut *mut ::std::os::raw::c_char,
        count_return: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUnionRectWithRegion(
        arg1: *mut XRectangle,
        arg2: Region,
        arg3: Region,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XUnionRegion(arg1: Region, arg2: Region, arg3: Region) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XWMGeometry(
        arg1: *mut Display,
        arg2: ::std::os::raw::c_int,
        arg3: *const ::std::os::raw::c_char,
        arg4: *const ::std::os::raw::c_char,
        arg5: ::std::os::raw::c_uint,
        arg6: *mut XSizeHints,
        arg7: *mut ::std::os::raw::c_int,
        arg8: *mut ::std::os::raw::c_int,
        arg9: *mut ::std::os::raw::c_int,
        arg10: *mut ::std::os::raw::c_int,
        arg11: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn XXorRegion(arg1: Region, arg2: Region, arg3: Region) -> ::std::os::raw::c_int;
}
pub type GLenum = ::std::os::raw::c_uint;
pub type GLboolean = ::std::os::raw::c_uchar;
pub type GLbitfield = ::std::os::raw::c_uint;
pub type GLvoid = ::std::os::raw::c_void;
pub type GLbyte = ::std::os::raw::c_schar;
pub type GLshort = ::std::os::raw::c_short;
pub type GLint = ::std::os::raw::c_int;
pub type GLubyte = ::std::os::raw::c_uchar;
pub type GLushort = ::std::os::raw::c_ushort;
pub type GLuint = ::std::os::raw::c_uint;
pub type GLsizei = ::std::os::raw::c_int;
pub type GLfloat = f32;
pub type GLclampf = f32;
pub type GLdouble = f64;
pub type GLclampd = f64;
extern "C" {
    pub fn glClearIndex(c: GLfloat);
}
extern "C" {
    pub fn glClearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf);
}
extern "C" {
    pub fn glClear(mask: GLbitfield);
}
extern "C" {
    pub fn glIndexMask(mask: GLuint);
}
extern "C" {
    pub fn glColorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean);
}
extern "C" {
    pub fn glAlphaFunc(func: GLenum, ref_: GLclampf);
}
extern "C" {
    pub fn glBlendFunc(sfactor: GLenum, dfactor: GLenum);
}
extern "C" {
    pub fn glLogicOp(opcode: GLenum);
}
extern "C" {
    pub fn glCullFace(mode: GLenum);
}
extern "C" {
    pub fn glFrontFace(mode: GLenum);
}
extern "C" {
    pub fn glPointSize(size: GLfloat);
}
extern "C" {
    pub fn glLineWidth(width: GLfloat);
}
extern "C" {
    pub fn glLineStipple(factor: GLint, pattern: GLushort);
}
extern "C" {
    pub fn glPolygonMode(face: GLenum, mode: GLenum);
}
extern "C" {
    pub fn glPolygonOffset(factor: GLfloat, units: GLfloat);
}
extern "C" {
    pub fn glPolygonStipple(mask: *const GLubyte);
}
extern "C" {
    pub fn glGetPolygonStipple(mask: *mut GLubyte);
}
extern "C" {
    pub fn glEdgeFlag(flag: GLboolean);
}
extern "C" {
    pub fn glEdgeFlagv(flag: *const GLboolean);
}
extern "C" {
    pub fn glScissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei);
}
extern "C" {
    pub fn glClipPlane(plane: GLenum, equation: *const GLdouble);
}
extern "C" {
    pub fn glGetClipPlane(plane: GLenum, equation: *mut GLdouble);
}
extern "C" {
    pub fn glDrawBuffer(mode: GLenum);
}
extern "C" {
    pub fn glReadBuffer(mode: GLenum);
}
extern "C" {
    pub fn glEnable(cap: GLenum);
}
extern "C" {
    pub fn glDisable(cap: GLenum);
}
extern "C" {
    pub fn glIsEnabled(cap: GLenum) -> GLboolean;
}
extern "C" {
    pub fn glEnableClientState(cap: GLenum);
}
extern "C" {
    pub fn glDisableClientState(cap: GLenum);
}
extern "C" {
    pub fn glGetBooleanv(pname: GLenum, params: *mut GLboolean);
}
extern "C" {
    pub fn glGetDoublev(pname: GLenum, params: *mut GLdouble);
}
extern "C" {
    pub fn glGetFloatv(pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetIntegerv(pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glPushAttrib(mask: GLbitfield);
}
extern "C" {
    pub fn glPopAttrib();
}
extern "C" {
    pub fn glPushClientAttrib(mask: GLbitfield);
}
extern "C" {
    pub fn glPopClientAttrib();
}
extern "C" {
    pub fn glRenderMode(mode: GLenum) -> GLint;
}
extern "C" {
    pub fn glGetError() -> GLenum;
}
extern "C" {
    pub fn glGetString(name: GLenum) -> *const GLubyte;
}
extern "C" {
    pub fn glFinish();
}
extern "C" {
    pub fn glFlush();
}
extern "C" {
    pub fn glHint(target: GLenum, mode: GLenum);
}
extern "C" {
    pub fn glClearDepth(depth: GLclampd);
}
extern "C" {
    pub fn glDepthFunc(func: GLenum);
}
extern "C" {
    pub fn glDepthMask(flag: GLboolean);
}
extern "C" {
    pub fn glDepthRange(near_val: GLclampd, far_val: GLclampd);
}
extern "C" {
    pub fn glClearAccum(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat);
}
extern "C" {
    pub fn glAccum(op: GLenum, value: GLfloat);
}
extern "C" {
    pub fn glMatrixMode(mode: GLenum);
}
extern "C" {
    pub fn glOrtho(
        left: GLdouble,
        right: GLdouble,
        bottom: GLdouble,
        top: GLdouble,
        near_val: GLdouble,
        far_val: GLdouble,
    );
}
extern "C" {
    pub fn glFrustum(
        left: GLdouble,
        right: GLdouble,
        bottom: GLdouble,
        top: GLdouble,
        near_val: GLdouble,
        far_val: GLdouble,
    );
}
extern "C" {
    pub fn glViewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei);
}
extern "C" {
    pub fn glPushMatrix();
}
extern "C" {
    pub fn glPopMatrix();
}
extern "C" {
    pub fn glLoadIdentity();
}
extern "C" {
    pub fn glLoadMatrixd(m: *const GLdouble);
}
extern "C" {
    pub fn glLoadMatrixf(m: *const GLfloat);
}
extern "C" {
    pub fn glMultMatrixd(m: *const GLdouble);
}
extern "C" {
    pub fn glMultMatrixf(m: *const GLfloat);
}
extern "C" {
    pub fn glRotated(angle: GLdouble, x: GLdouble, y: GLdouble, z: GLdouble);
}
extern "C" {
    pub fn glRotatef(angle: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat);
}
extern "C" {
    pub fn glScaled(x: GLdouble, y: GLdouble, z: GLdouble);
}
extern "C" {
    pub fn glScalef(x: GLfloat, y: GLfloat, z: GLfloat);
}
extern "C" {
    pub fn glTranslated(x: GLdouble, y: GLdouble, z: GLdouble);
}
extern "C" {
    pub fn glTranslatef(x: GLfloat, y: GLfloat, z: GLfloat);
}
extern "C" {
    pub fn glIsList(list: GLuint) -> GLboolean;
}
extern "C" {
    pub fn glDeleteLists(list: GLuint, range: GLsizei);
}
extern "C" {
    pub fn glGenLists(range: GLsizei) -> GLuint;
}
extern "C" {
    pub fn glNewList(list: GLuint, mode: GLenum);
}
extern "C" {
    pub fn glEndList();
}
extern "C" {
    pub fn glCallList(list: GLuint);
}
extern "C" {
    pub fn glCallLists(n: GLsizei, type_: GLenum, lists: *const GLvoid);
}
extern "C" {
    pub fn glListBase(base: GLuint);
}
extern "C" {
    pub fn glBegin(mode: GLenum);
}
extern "C" {
    pub fn glEnd();
}
extern "C" {
    pub fn glVertex2d(x: GLdouble, y: GLdouble);
}
extern "C" {
    pub fn glVertex2f(x: GLfloat, y: GLfloat);
}
extern "C" {
    pub fn glVertex2i(x: GLint, y: GLint);
}
extern "C" {
    pub fn glVertex2s(x: GLshort, y: GLshort);
}
extern "C" {
    pub fn glVertex3d(x: GLdouble, y: GLdouble, z: GLdouble);
}
extern "C" {
    pub fn glVertex3f(x: GLfloat, y: GLfloat, z: GLfloat);
}
extern "C" {
    pub fn glVertex3i(x: GLint, y: GLint, z: GLint);
}
extern "C" {
    pub fn glVertex3s(x: GLshort, y: GLshort, z: GLshort);
}
extern "C" {
    pub fn glVertex4d(x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble);
}
extern "C" {
    pub fn glVertex4f(x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat);
}
extern "C" {
    pub fn glVertex4i(x: GLint, y: GLint, z: GLint, w: GLint);
}
extern "C" {
    pub fn glVertex4s(x: GLshort, y: GLshort, z: GLshort, w: GLshort);
}
extern "C" {
    pub fn glVertex2dv(v: *const GLdouble);
}
extern "C" {
    pub fn glVertex2fv(v: *const GLfloat);
}
extern "C" {
    pub fn glVertex2iv(v: *const GLint);
}
extern "C" {
    pub fn glVertex2sv(v: *const GLshort);
}
extern "C" {
    pub fn glVertex3dv(v: *const GLdouble);
}
extern "C" {
    pub fn glVertex3fv(v: *const GLfloat);
}
extern "C" {
    pub fn glVertex3iv(v: *const GLint);
}
extern "C" {
    pub fn glVertex3sv(v: *const GLshort);
}
extern "C" {
    pub fn glVertex4dv(v: *const GLdouble);
}
extern "C" {
    pub fn glVertex4fv(v: *const GLfloat);
}
extern "C" {
    pub fn glVertex4iv(v: *const GLint);
}
extern "C" {
    pub fn glVertex4sv(v: *const GLshort);
}
extern "C" {
    pub fn glNormal3b(nx: GLbyte, ny: GLbyte, nz: GLbyte);
}
extern "C" {
    pub fn glNormal3d(nx: GLdouble, ny: GLdouble, nz: GLdouble);
}
extern "C" {
    pub fn glNormal3f(nx: GLfloat, ny: GLfloat, nz: GLfloat);
}
extern "C" {
    pub fn glNormal3i(nx: GLint, ny: GLint, nz: GLint);
}
extern "C" {
    pub fn glNormal3s(nx: GLshort, ny: GLshort, nz: GLshort);
}
extern "C" {
    pub fn glNormal3bv(v: *const GLbyte);
}
extern "C" {
    pub fn glNormal3dv(v: *const GLdouble);
}
extern "C" {
    pub fn glNormal3fv(v: *const GLfloat);
}
extern "C" {
    pub fn glNormal3iv(v: *const GLint);
}
extern "C" {
    pub fn glNormal3sv(v: *const GLshort);
}
extern "C" {
    pub fn glIndexd(c: GLdouble);
}
extern "C" {
    pub fn glIndexf(c: GLfloat);
}
extern "C" {
    pub fn glIndexi(c: GLint);
}
extern "C" {
    pub fn glIndexs(c: GLshort);
}
extern "C" {
    pub fn glIndexub(c: GLubyte);
}
extern "C" {
    pub fn glIndexdv(c: *const GLdouble);
}
extern "C" {
    pub fn glIndexfv(c: *const GLfloat);
}
extern "C" {
    pub fn glIndexiv(c: *const GLint);
}
extern "C" {
    pub fn glIndexsv(c: *const GLshort);
}
extern "C" {
    pub fn glIndexubv(c: *const GLubyte);
}
extern "C" {
    pub fn glColor3b(red: GLbyte, green: GLbyte, blue: GLbyte);
}
extern "C" {
    pub fn glColor3d(red: GLdouble, green: GLdouble, blue: GLdouble);
}
extern "C" {
    pub fn glColor3f(red: GLfloat, green: GLfloat, blue: GLfloat);
}
extern "C" {
    pub fn glColor3i(red: GLint, green: GLint, blue: GLint);
}
extern "C" {
    pub fn glColor3s(red: GLshort, green: GLshort, blue: GLshort);
}
extern "C" {
    pub fn glColor3ub(red: GLubyte, green: GLubyte, blue: GLubyte);
}
extern "C" {
    pub fn glColor3ui(red: GLuint, green: GLuint, blue: GLuint);
}
extern "C" {
    pub fn glColor3us(red: GLushort, green: GLushort, blue: GLushort);
}
extern "C" {
    pub fn glColor4b(red: GLbyte, green: GLbyte, blue: GLbyte, alpha: GLbyte);
}
extern "C" {
    pub fn glColor4d(red: GLdouble, green: GLdouble, blue: GLdouble, alpha: GLdouble);
}
extern "C" {
    pub fn glColor4f(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat);
}
extern "C" {
    pub fn glColor4i(red: GLint, green: GLint, blue: GLint, alpha: GLint);
}
extern "C" {
    pub fn glColor4s(red: GLshort, green: GLshort, blue: GLshort, alpha: GLshort);
}
extern "C" {
    pub fn glColor4ub(red: GLubyte, green: GLubyte, blue: GLubyte, alpha: GLubyte);
}
extern "C" {
    pub fn glColor4ui(red: GLuint, green: GLuint, blue: GLuint, alpha: GLuint);
}
extern "C" {
    pub fn glColor4us(red: GLushort, green: GLushort, blue: GLushort, alpha: GLushort);
}
extern "C" {
    pub fn glColor3bv(v: *const GLbyte);
}
extern "C" {
    pub fn glColor3dv(v: *const GLdouble);
}
extern "C" {
    pub fn glColor3fv(v: *const GLfloat);
}
extern "C" {
    pub fn glColor3iv(v: *const GLint);
}
extern "C" {
    pub fn glColor3sv(v: *const GLshort);
}
extern "C" {
    pub fn glColor3ubv(v: *const GLubyte);
}
extern "C" {
    pub fn glColor3uiv(v: *const GLuint);
}
extern "C" {
    pub fn glColor3usv(v: *const GLushort);
}
extern "C" {
    pub fn glColor4bv(v: *const GLbyte);
}
extern "C" {
    pub fn glColor4dv(v: *const GLdouble);
}
extern "C" {
    pub fn glColor4fv(v: *const GLfloat);
}
extern "C" {
    pub fn glColor4iv(v: *const GLint);
}
extern "C" {
    pub fn glColor4sv(v: *const GLshort);
}
extern "C" {
    pub fn glColor4ubv(v: *const GLubyte);
}
extern "C" {
    pub fn glColor4uiv(v: *const GLuint);
}
extern "C" {
    pub fn glColor4usv(v: *const GLushort);
}
extern "C" {
    pub fn glTexCoord1d(s: GLdouble);
}
extern "C" {
    pub fn glTexCoord1f(s: GLfloat);
}
extern "C" {
    pub fn glTexCoord1i(s: GLint);
}
extern "C" {
    pub fn glTexCoord1s(s: GLshort);
}
extern "C" {
    pub fn glTexCoord2d(s: GLdouble, t: GLdouble);
}
extern "C" {
    pub fn glTexCoord2f(s: GLfloat, t: GLfloat);
}
extern "C" {
    pub fn glTexCoord2i(s: GLint, t: GLint);
}
extern "C" {
    pub fn glTexCoord2s(s: GLshort, t: GLshort);
}
extern "C" {
    pub fn glTexCoord3d(s: GLdouble, t: GLdouble, r: GLdouble);
}
extern "C" {
    pub fn glTexCoord3f(s: GLfloat, t: GLfloat, r: GLfloat);
}
extern "C" {
    pub fn glTexCoord3i(s: GLint, t: GLint, r: GLint);
}
extern "C" {
    pub fn glTexCoord3s(s: GLshort, t: GLshort, r: GLshort);
}
extern "C" {
    pub fn glTexCoord4d(s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble);
}
extern "C" {
    pub fn glTexCoord4f(s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat);
}
extern "C" {
    pub fn glTexCoord4i(s: GLint, t: GLint, r: GLint, q: GLint);
}
extern "C" {
    pub fn glTexCoord4s(s: GLshort, t: GLshort, r: GLshort, q: GLshort);
}
extern "C" {
    pub fn glTexCoord1dv(v: *const GLdouble);
}
extern "C" {
    pub fn glTexCoord1fv(v: *const GLfloat);
}
extern "C" {
    pub fn glTexCoord1iv(v: *const GLint);
}
extern "C" {
    pub fn glTexCoord1sv(v: *const GLshort);
}
extern "C" {
    pub fn glTexCoord2dv(v: *const GLdouble);
}
extern "C" {
    pub fn glTexCoord2fv(v: *const GLfloat);
}
extern "C" {
    pub fn glTexCoord2iv(v: *const GLint);
}
extern "C" {
    pub fn glTexCoord2sv(v: *const GLshort);
}
extern "C" {
    pub fn glTexCoord3dv(v: *const GLdouble);
}
extern "C" {
    pub fn glTexCoord3fv(v: *const GLfloat);
}
extern "C" {
    pub fn glTexCoord3iv(v: *const GLint);
}
extern "C" {
    pub fn glTexCoord3sv(v: *const GLshort);
}
extern "C" {
    pub fn glTexCoord4dv(v: *const GLdouble);
}
extern "C" {
    pub fn glTexCoord4fv(v: *const GLfloat);
}
extern "C" {
    pub fn glTexCoord4iv(v: *const GLint);
}
extern "C" {
    pub fn glTexCoord4sv(v: *const GLshort);
}
extern "C" {
    pub fn glRasterPos2d(x: GLdouble, y: GLdouble);
}
extern "C" {
    pub fn glRasterPos2f(x: GLfloat, y: GLfloat);
}
extern "C" {
    pub fn glRasterPos2i(x: GLint, y: GLint);
}
extern "C" {
    pub fn glRasterPos2s(x: GLshort, y: GLshort);
}
extern "C" {
    pub fn glRasterPos3d(x: GLdouble, y: GLdouble, z: GLdouble);
}
extern "C" {
    pub fn glRasterPos3f(x: GLfloat, y: GLfloat, z: GLfloat);
}
extern "C" {
    pub fn glRasterPos3i(x: GLint, y: GLint, z: GLint);
}
extern "C" {
    pub fn glRasterPos3s(x: GLshort, y: GLshort, z: GLshort);
}
extern "C" {
    pub fn glRasterPos4d(x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble);
}
extern "C" {
    pub fn glRasterPos4f(x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat);
}
extern "C" {
    pub fn glRasterPos4i(x: GLint, y: GLint, z: GLint, w: GLint);
}
extern "C" {
    pub fn glRasterPos4s(x: GLshort, y: GLshort, z: GLshort, w: GLshort);
}
extern "C" {
    pub fn glRasterPos2dv(v: *const GLdouble);
}
extern "C" {
    pub fn glRasterPos2fv(v: *const GLfloat);
}
extern "C" {
    pub fn glRasterPos2iv(v: *const GLint);
}
extern "C" {
    pub fn glRasterPos2sv(v: *const GLshort);
}
extern "C" {
    pub fn glRasterPos3dv(v: *const GLdouble);
}
extern "C" {
    pub fn glRasterPos3fv(v: *const GLfloat);
}
extern "C" {
    pub fn glRasterPos3iv(v: *const GLint);
}
extern "C" {
    pub fn glRasterPos3sv(v: *const GLshort);
}
extern "C" {
    pub fn glRasterPos4dv(v: *const GLdouble);
}
extern "C" {
    pub fn glRasterPos4fv(v: *const GLfloat);
}
extern "C" {
    pub fn glRasterPos4iv(v: *const GLint);
}
extern "C" {
    pub fn glRasterPos4sv(v: *const GLshort);
}
extern "C" {
    pub fn glRectd(x1: GLdouble, y1: GLdouble, x2: GLdouble, y2: GLdouble);
}
extern "C" {
    pub fn glRectf(x1: GLfloat, y1: GLfloat, x2: GLfloat, y2: GLfloat);
}
extern "C" {
    pub fn glRecti(x1: GLint, y1: GLint, x2: GLint, y2: GLint);
}
extern "C" {
    pub fn glRects(x1: GLshort, y1: GLshort, x2: GLshort, y2: GLshort);
}
extern "C" {
    pub fn glRectdv(v1: *const GLdouble, v2: *const GLdouble);
}
extern "C" {
    pub fn glRectfv(v1: *const GLfloat, v2: *const GLfloat);
}
extern "C" {
    pub fn glRectiv(v1: *const GLint, v2: *const GLint);
}
extern "C" {
    pub fn glRectsv(v1: *const GLshort, v2: *const GLshort);
}
extern "C" {
    pub fn glVertexPointer(size: GLint, type_: GLenum, stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glNormalPointer(type_: GLenum, stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glColorPointer(size: GLint, type_: GLenum, stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glIndexPointer(type_: GLenum, stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glTexCoordPointer(size: GLint, type_: GLenum, stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glEdgeFlagPointer(stride: GLsizei, ptr: *const GLvoid);
}
extern "C" {
    pub fn glGetPointerv(pname: GLenum, params: *mut *mut GLvoid);
}
extern "C" {
    pub fn glArrayElement(i: GLint);
}
extern "C" {
    pub fn glDrawArrays(mode: GLenum, first: GLint, count: GLsizei);
}
extern "C" {
    pub fn glDrawElements(mode: GLenum, count: GLsizei, type_: GLenum, indices: *const GLvoid);
}
extern "C" {
    pub fn glInterleavedArrays(format: GLenum, stride: GLsizei, pointer: *const GLvoid);
}
extern "C" {
    pub fn glShadeModel(mode: GLenum);
}
extern "C" {
    pub fn glLightf(light: GLenum, pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glLighti(light: GLenum, pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glLightfv(light: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glLightiv(light: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glGetLightfv(light: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetLightiv(light: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glLightModelf(pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glLightModeli(pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glLightModelfv(pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glLightModeliv(pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glMaterialf(face: GLenum, pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glMateriali(face: GLenum, pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glMaterialfv(face: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glMaterialiv(face: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glGetMaterialfv(face: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetMaterialiv(face: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glColorMaterial(face: GLenum, mode: GLenum);
}
extern "C" {
    pub fn glPixelZoom(xfactor: GLfloat, yfactor: GLfloat);
}
extern "C" {
    pub fn glPixelStoref(pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glPixelStorei(pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glPixelTransferf(pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glPixelTransferi(pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glPixelMapfv(map: GLenum, mapsize: GLsizei, values: *const GLfloat);
}
extern "C" {
    pub fn glPixelMapuiv(map: GLenum, mapsize: GLsizei, values: *const GLuint);
}
extern "C" {
    pub fn glPixelMapusv(map: GLenum, mapsize: GLsizei, values: *const GLushort);
}
extern "C" {
    pub fn glGetPixelMapfv(map: GLenum, values: *mut GLfloat);
}
extern "C" {
    pub fn glGetPixelMapuiv(map: GLenum, values: *mut GLuint);
}
extern "C" {
    pub fn glGetPixelMapusv(map: GLenum, values: *mut GLushort);
}
extern "C" {
    pub fn glBitmap(
        width: GLsizei,
        height: GLsizei,
        xorig: GLfloat,
        yorig: GLfloat,
        xmove: GLfloat,
        ymove: GLfloat,
        bitmap: *const GLubyte,
    );
}
extern "C" {
    pub fn glReadPixels(
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *mut GLvoid,
    );
}
extern "C" {
    pub fn glDrawPixels(
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glCopyPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, type_: GLenum);
}
extern "C" {
    pub fn glStencilFunc(func: GLenum, ref_: GLint, mask: GLuint);
}
extern "C" {
    pub fn glStencilMask(mask: GLuint);
}
extern "C" {
    pub fn glStencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum);
}
extern "C" {
    pub fn glClearStencil(s: GLint);
}
extern "C" {
    pub fn glTexGend(coord: GLenum, pname: GLenum, param: GLdouble);
}
extern "C" {
    pub fn glTexGenf(coord: GLenum, pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glTexGeni(coord: GLenum, pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glTexGendv(coord: GLenum, pname: GLenum, params: *const GLdouble);
}
extern "C" {
    pub fn glTexGenfv(coord: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glTexGeniv(coord: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glGetTexGendv(coord: GLenum, pname: GLenum, params: *mut GLdouble);
}
extern "C" {
    pub fn glGetTexGenfv(coord: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetTexGeniv(coord: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glTexEnvf(target: GLenum, pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glTexEnvi(target: GLenum, pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glTexEnvfv(target: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glTexEnviv(target: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glGetTexEnvfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetTexEnviv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glTexParameterf(target: GLenum, pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glTexParameteri(target: GLenum, pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glTexParameterfv(target: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glTexParameteriv(target: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glGetTexParameterfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetTexParameteriv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glGetTexLevelParameterfv(
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLfloat,
    );
}
extern "C" {
    pub fn glGetTexLevelParameteriv(
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLint,
    );
}
extern "C" {
    pub fn glTexImage1D(
        target: GLenum,
        level: GLint,
        internalFormat: GLint,
        width: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glTexImage2D(
        target: GLenum,
        level: GLint,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glGetTexImage(
        target: GLenum,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *mut GLvoid,
    );
}
extern "C" {
    pub fn glGenTextures(n: GLsizei, textures: *mut GLuint);
}
extern "C" {
    pub fn glDeleteTextures(n: GLsizei, textures: *const GLuint);
}
extern "C" {
    pub fn glBindTexture(target: GLenum, texture: GLuint);
}
extern "C" {
    pub fn glPrioritizeTextures(n: GLsizei, textures: *const GLuint, priorities: *const GLclampf);
}
extern "C" {
    pub fn glAreTexturesResident(
        n: GLsizei,
        textures: *const GLuint,
        residences: *mut GLboolean,
    ) -> GLboolean;
}
extern "C" {
    pub fn glIsTexture(texture: GLuint) -> GLboolean;
}
extern "C" {
    pub fn glTexSubImage1D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glTexSubImage2D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glCopyTexImage1D(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        border: GLint,
    );
}
extern "C" {
    pub fn glCopyTexImage2D(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
    );
}
extern "C" {
    pub fn glCopyTexSubImage1D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
    );
}
extern "C" {
    pub fn glCopyTexSubImage2D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    );
}
extern "C" {
    pub fn glMap1d(
        target: GLenum,
        u1: GLdouble,
        u2: GLdouble,
        stride: GLint,
        order: GLint,
        points: *const GLdouble,
    );
}
extern "C" {
    pub fn glMap1f(
        target: GLenum,
        u1: GLfloat,
        u2: GLfloat,
        stride: GLint,
        order: GLint,
        points: *const GLfloat,
    );
}
extern "C" {
    pub fn glMap2d(
        target: GLenum,
        u1: GLdouble,
        u2: GLdouble,
        ustride: GLint,
        uorder: GLint,
        v1: GLdouble,
        v2: GLdouble,
        vstride: GLint,
        vorder: GLint,
        points: *const GLdouble,
    );
}
extern "C" {
    pub fn glMap2f(
        target: GLenum,
        u1: GLfloat,
        u2: GLfloat,
        ustride: GLint,
        uorder: GLint,
        v1: GLfloat,
        v2: GLfloat,
        vstride: GLint,
        vorder: GLint,
        points: *const GLfloat,
    );
}
extern "C" {
    pub fn glGetMapdv(target: GLenum, query: GLenum, v: *mut GLdouble);
}
extern "C" {
    pub fn glGetMapfv(target: GLenum, query: GLenum, v: *mut GLfloat);
}
extern "C" {
    pub fn glGetMapiv(target: GLenum, query: GLenum, v: *mut GLint);
}
extern "C" {
    pub fn glEvalCoord1d(u: GLdouble);
}
extern "C" {
    pub fn glEvalCoord1f(u: GLfloat);
}
extern "C" {
    pub fn glEvalCoord1dv(u: *const GLdouble);
}
extern "C" {
    pub fn glEvalCoord1fv(u: *const GLfloat);
}
extern "C" {
    pub fn glEvalCoord2d(u: GLdouble, v: GLdouble);
}
extern "C" {
    pub fn glEvalCoord2f(u: GLfloat, v: GLfloat);
}
extern "C" {
    pub fn glEvalCoord2dv(u: *const GLdouble);
}
extern "C" {
    pub fn glEvalCoord2fv(u: *const GLfloat);
}
extern "C" {
    pub fn glMapGrid1d(un: GLint, u1: GLdouble, u2: GLdouble);
}
extern "C" {
    pub fn glMapGrid1f(un: GLint, u1: GLfloat, u2: GLfloat);
}
extern "C" {
    pub fn glMapGrid2d(
        un: GLint,
        u1: GLdouble,
        u2: GLdouble,
        vn: GLint,
        v1: GLdouble,
        v2: GLdouble,
    );
}
extern "C" {
    pub fn glMapGrid2f(un: GLint, u1: GLfloat, u2: GLfloat, vn: GLint, v1: GLfloat, v2: GLfloat);
}
extern "C" {
    pub fn glEvalPoint1(i: GLint);
}
extern "C" {
    pub fn glEvalPoint2(i: GLint, j: GLint);
}
extern "C" {
    pub fn glEvalMesh1(mode: GLenum, i1: GLint, i2: GLint);
}
extern "C" {
    pub fn glEvalMesh2(mode: GLenum, i1: GLint, i2: GLint, j1: GLint, j2: GLint);
}
extern "C" {
    pub fn glFogf(pname: GLenum, param: GLfloat);
}
extern "C" {
    pub fn glFogi(pname: GLenum, param: GLint);
}
extern "C" {
    pub fn glFogfv(pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glFogiv(pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glFeedbackBuffer(size: GLsizei, type_: GLenum, buffer: *mut GLfloat);
}
extern "C" {
    pub fn glPassThrough(token: GLfloat);
}
extern "C" {
    pub fn glSelectBuffer(size: GLsizei, buffer: *mut GLuint);
}
extern "C" {
    pub fn glInitNames();
}
extern "C" {
    pub fn glLoadName(name: GLuint);
}
extern "C" {
    pub fn glPushName(name: GLuint);
}
extern "C" {
    pub fn glPopName();
}
extern "C" {
    pub fn glDrawRangeElements(
        mode: GLenum,
        start: GLuint,
        end: GLuint,
        count: GLsizei,
        type_: GLenum,
        indices: *const GLvoid,
    );
}
extern "C" {
    pub fn glTexImage3D(
        target: GLenum,
        level: GLint,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glTexSubImage3D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    );
}
extern "C" {
    pub fn glCopyTexSubImage3D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    );
}
pub type PFNGLDRAWRANGEELEMENTSPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        start: GLuint,
        end: GLuint,
        count: GLsizei,
        type_: GLenum,
        indices: *const GLvoid,
    ),
>;
pub type PFNGLTEXIMAGE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    ),
>;
pub type PFNGLTEXSUBIMAGE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const GLvoid,
    ),
>;
pub type PFNGLCOPYTEXSUBIMAGE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
extern "C" {
    pub fn glColorTable(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        table: *const GLvoid,
    );
}
extern "C" {
    pub fn glColorSubTable(
        target: GLenum,
        start: GLsizei,
        count: GLsizei,
        format: GLenum,
        type_: GLenum,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glColorTableParameteriv(target: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glColorTableParameterfv(target: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glCopyColorSubTable(target: GLenum, start: GLsizei, x: GLint, y: GLint, width: GLsizei);
}
extern "C" {
    pub fn glCopyColorTable(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
    );
}
extern "C" {
    pub fn glGetColorTable(target: GLenum, format: GLenum, type_: GLenum, table: *mut GLvoid);
}
extern "C" {
    pub fn glGetColorTableParameterfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetColorTableParameteriv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glBlendEquation(mode: GLenum);
}
extern "C" {
    pub fn glBlendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf);
}
extern "C" {
    pub fn glHistogram(target: GLenum, width: GLsizei, internalformat: GLenum, sink: GLboolean);
}
extern "C" {
    pub fn glResetHistogram(target: GLenum);
}
extern "C" {
    pub fn glGetHistogram(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        values: *mut GLvoid,
    );
}
extern "C" {
    pub fn glGetHistogramParameterfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetHistogramParameteriv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glMinmax(target: GLenum, internalformat: GLenum, sink: GLboolean);
}
extern "C" {
    pub fn glResetMinmax(target: GLenum);
}
extern "C" {
    pub fn glGetMinmax(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        types: GLenum,
        values: *mut GLvoid,
    );
}
extern "C" {
    pub fn glGetMinmaxParameterfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetMinmaxParameteriv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glConvolutionFilter1D(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        image: *const GLvoid,
    );
}
extern "C" {
    pub fn glConvolutionFilter2D(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        image: *const GLvoid,
    );
}
extern "C" {
    pub fn glConvolutionParameterf(target: GLenum, pname: GLenum, params: GLfloat);
}
extern "C" {
    pub fn glConvolutionParameterfv(target: GLenum, pname: GLenum, params: *const GLfloat);
}
extern "C" {
    pub fn glConvolutionParameteri(target: GLenum, pname: GLenum, params: GLint);
}
extern "C" {
    pub fn glConvolutionParameteriv(target: GLenum, pname: GLenum, params: *const GLint);
}
extern "C" {
    pub fn glCopyConvolutionFilter1D(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
    );
}
extern "C" {
    pub fn glCopyConvolutionFilter2D(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    );
}
extern "C" {
    pub fn glGetConvolutionFilter(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        image: *mut GLvoid,
    );
}
extern "C" {
    pub fn glGetConvolutionParameterfv(target: GLenum, pname: GLenum, params: *mut GLfloat);
}
extern "C" {
    pub fn glGetConvolutionParameteriv(target: GLenum, pname: GLenum, params: *mut GLint);
}
extern "C" {
    pub fn glSeparableFilter2D(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        row: *const GLvoid,
        column: *const GLvoid,
    );
}
extern "C" {
    pub fn glGetSeparableFilter(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        row: *mut GLvoid,
        column: *mut GLvoid,
        span: *mut GLvoid,
    );
}
extern "C" {
    pub fn glActiveTexture(texture: GLenum);
}
extern "C" {
    pub fn glClientActiveTexture(texture: GLenum);
}
extern "C" {
    pub fn glCompressedTexImage1D(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glCompressedTexImage2D(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glCompressedTexImage3D(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glCompressedTexSubImage1D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glCompressedTexSubImage2D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glCompressedTexSubImage3D(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    );
}
extern "C" {
    pub fn glGetCompressedTexImage(target: GLenum, lod: GLint, img: *mut GLvoid);
}
extern "C" {
    pub fn glMultiTexCoord1d(target: GLenum, s: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord1dv(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord1f(target: GLenum, s: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord1fv(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord1i(target: GLenum, s: GLint);
}
extern "C" {
    pub fn glMultiTexCoord1iv(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord1s(target: GLenum, s: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord1sv(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord2d(target: GLenum, s: GLdouble, t: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord2dv(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord2f(target: GLenum, s: GLfloat, t: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord2fv(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord2i(target: GLenum, s: GLint, t: GLint);
}
extern "C" {
    pub fn glMultiTexCoord2iv(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord2s(target: GLenum, s: GLshort, t: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord2sv(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord3d(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord3dv(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord3f(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord3fv(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord3i(target: GLenum, s: GLint, t: GLint, r: GLint);
}
extern "C" {
    pub fn glMultiTexCoord3iv(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord3s(target: GLenum, s: GLshort, t: GLshort, r: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord3sv(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord4d(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord4dv(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord4f(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord4fv(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord4i(target: GLenum, s: GLint, t: GLint, r: GLint, q: GLint);
}
extern "C" {
    pub fn glMultiTexCoord4iv(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord4s(target: GLenum, s: GLshort, t: GLshort, r: GLshort, q: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord4sv(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glLoadTransposeMatrixd(m: *const GLdouble);
}
extern "C" {
    pub fn glLoadTransposeMatrixf(m: *const GLfloat);
}
extern "C" {
    pub fn glMultTransposeMatrixd(m: *const GLdouble);
}
extern "C" {
    pub fn glMultTransposeMatrixf(m: *const GLfloat);
}
extern "C" {
    pub fn glSampleCoverage(value: GLclampf, invert: GLboolean);
}
pub type PFNGLACTIVETEXTUREPROC = ::std::option::Option<unsafe extern "C" fn(texture: GLenum)>;
pub type PFNGLSAMPLECOVERAGEPROC =
    ::std::option::Option<unsafe extern "C" fn(value: GLclampf, invert: GLboolean)>;
pub type PFNGLCOMPRESSEDTEXIMAGE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLCOMPRESSEDTEXIMAGE2DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLCOMPRESSEDTEXIMAGE1DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const GLvoid,
    ),
>;
pub type PFNGLGETCOMPRESSEDTEXIMAGEPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, level: GLint, img: *mut GLvoid)>;
extern "C" {
    pub fn glActiveTextureARB(texture: GLenum);
}
extern "C" {
    pub fn glClientActiveTextureARB(texture: GLenum);
}
extern "C" {
    pub fn glMultiTexCoord1dARB(target: GLenum, s: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord1dvARB(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord1fARB(target: GLenum, s: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord1fvARB(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord1iARB(target: GLenum, s: GLint);
}
extern "C" {
    pub fn glMultiTexCoord1ivARB(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord1sARB(target: GLenum, s: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord1svARB(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord2dARB(target: GLenum, s: GLdouble, t: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord2dvARB(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord2fARB(target: GLenum, s: GLfloat, t: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord2fvARB(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord2iARB(target: GLenum, s: GLint, t: GLint);
}
extern "C" {
    pub fn glMultiTexCoord2ivARB(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord2sARB(target: GLenum, s: GLshort, t: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord2svARB(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord3dARB(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord3dvARB(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord3fARB(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord3fvARB(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord3iARB(target: GLenum, s: GLint, t: GLint, r: GLint);
}
extern "C" {
    pub fn glMultiTexCoord3ivARB(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord3sARB(target: GLenum, s: GLshort, t: GLshort, r: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord3svARB(target: GLenum, v: *const GLshort);
}
extern "C" {
    pub fn glMultiTexCoord4dARB(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord4dvARB(target: GLenum, v: *const GLdouble);
}
extern "C" {
    pub fn glMultiTexCoord4fARB(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord4fvARB(target: GLenum, v: *const GLfloat);
}
extern "C" {
    pub fn glMultiTexCoord4iARB(target: GLenum, s: GLint, t: GLint, r: GLint, q: GLint);
}
extern "C" {
    pub fn glMultiTexCoord4ivARB(target: GLenum, v: *const GLint);
}
extern "C" {
    pub fn glMultiTexCoord4sARB(target: GLenum, s: GLshort, t: GLshort, r: GLshort, q: GLshort);
}
extern "C" {
    pub fn glMultiTexCoord4svARB(target: GLenum, v: *const GLshort);
}
pub type PFNGLACTIVETEXTUREARBPROC = ::std::option::Option<unsafe extern "C" fn(texture: GLenum)>;
pub type PFNGLCLIENTACTIVETEXTUREARBPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum)>;
pub type PFNGLMULTITEXCOORD1DARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLdouble)>;
pub type PFNGLMULTITEXCOORD1DVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
pub type PFNGLMULTITEXCOORD1FARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLfloat)>;
pub type PFNGLMULTITEXCOORD1FVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
pub type PFNGLMULTITEXCOORD1IARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint)>;
pub type PFNGLMULTITEXCOORD1IVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
pub type PFNGLMULTITEXCOORD1SARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLshort)>;
pub type PFNGLMULTITEXCOORD1SVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
pub type PFNGLMULTITEXCOORD2DARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble)>;
pub type PFNGLMULTITEXCOORD2DVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
pub type PFNGLMULTITEXCOORD2FARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat)>;
pub type PFNGLMULTITEXCOORD2FVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
pub type PFNGLMULTITEXCOORD2IARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint)>;
pub type PFNGLMULTITEXCOORD2IVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
pub type PFNGLMULTITEXCOORD2SARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort)>;
pub type PFNGLMULTITEXCOORD2SVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
pub type PFNGLMULTITEXCOORD3DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble),
>;
pub type PFNGLMULTITEXCOORD3DVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
pub type PFNGLMULTITEXCOORD3FARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat)>;
pub type PFNGLMULTITEXCOORD3FVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
pub type PFNGLMULTITEXCOORD3IARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint, r: GLint)>;
pub type PFNGLMULTITEXCOORD3IVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
pub type PFNGLMULTITEXCOORD3SARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort, r: GLshort)>;
pub type PFNGLMULTITEXCOORD3SVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
pub type PFNGLMULTITEXCOORD4DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLdouble, t: GLdouble, r: GLdouble, q: GLdouble),
>;
pub type PFNGLMULTITEXCOORD4DVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLdouble)>;
pub type PFNGLMULTITEXCOORD4FARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLfloat, t: GLfloat, r: GLfloat, q: GLfloat),
>;
pub type PFNGLMULTITEXCOORD4FVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLfloat)>;
pub type PFNGLMULTITEXCOORD4IARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLint, t: GLint, r: GLint, q: GLint),
>;
pub type PFNGLMULTITEXCOORD4IVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLint)>;
pub type PFNGLMULTITEXCOORD4SARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLshort, t: GLshort, r: GLshort, q: GLshort),
>;
pub type PFNGLMULTITEXCOORD4SVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLshort)>;
pub type PFNGLBLENDFUNCSEPARATEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        sfactorRGB: GLenum,
        dfactorRGB: GLenum,
        sfactorAlpha: GLenum,
        dfactorAlpha: GLenum,
    ),
>;
pub type PFNGLMULTIDRAWARRAYSPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        first: *const GLint,
        count: *const GLsizei,
        drawcount: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: *const GLsizei,
        type_: GLenum,
        indices: *const *const ::std::os::raw::c_void,
        drawcount: GLsizei,
    ),
>;
pub type PFNGLPOINTPARAMETERFPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLPOINTPARAMETERFVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLPOINTPARAMETERIPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLPOINTPARAMETERIVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLFOGCOORDFPROC = ::std::option::Option<unsafe extern "C" fn(coord: GLfloat)>;
pub type PFNGLFOGCOORDFVPROC = ::std::option::Option<unsafe extern "C" fn(coord: *const GLfloat)>;
pub type PFNGLFOGCOORDDPROC = ::std::option::Option<unsafe extern "C" fn(coord: GLdouble)>;
pub type PFNGLFOGCOORDDVPROC = ::std::option::Option<unsafe extern "C" fn(coord: *const GLdouble)>;
pub type PFNGLFOGCOORDPOINTERPROC = ::std::option::Option<
    unsafe extern "C" fn(type_: GLenum, stride: GLsizei, pointer: *const ::std::os::raw::c_void),
>;
pub type PFNGLSECONDARYCOLOR3BPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLbyte, green: GLbyte, blue: GLbyte)>;
pub type PFNGLSECONDARYCOLOR3BVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
pub type PFNGLSECONDARYCOLOR3DPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLdouble, green: GLdouble, blue: GLdouble)>;
pub type PFNGLSECONDARYCOLOR3DVPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLSECONDARYCOLOR3FPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat)>;
pub type PFNGLSECONDARYCOLOR3FVPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLSECONDARYCOLOR3IPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint)>;
pub type PFNGLSECONDARYCOLOR3IVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLSECONDARYCOLOR3SPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLshort, green: GLshort, blue: GLshort)>;
pub type PFNGLSECONDARYCOLOR3SVPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLSECONDARYCOLOR3UBPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLubyte, green: GLubyte, blue: GLubyte)>;
pub type PFNGLSECONDARYCOLOR3UBVPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLubyte)>;
pub type PFNGLSECONDARYCOLOR3UIPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint)>;
pub type PFNGLSECONDARYCOLOR3UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLuint)>;
pub type PFNGLSECONDARYCOLOR3USPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLushort, green: GLushort, blue: GLushort)>;
pub type PFNGLSECONDARYCOLOR3USVPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLushort)>;
pub type PFNGLSECONDARYCOLORPOINTERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLWINDOWPOS2DPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
pub type PFNGLWINDOWPOS2DVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS2FPROC = ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
pub type PFNGLWINDOWPOS2FVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS2IPROC = ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
pub type PFNGLWINDOWPOS2IVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS2SPROC = ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
pub type PFNGLWINDOWPOS2SVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLWINDOWPOS3DPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
pub type PFNGLWINDOWPOS3DVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS3FPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLWINDOWPOS3FVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS3IPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
pub type PFNGLWINDOWPOS3IVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS3SPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLWINDOWPOS3SVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLBLENDCOLORPROC = ::std::option::Option<
    unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
>;
pub type PFNGLBLENDEQUATIONPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type int_least8_t = __int_least8_t;
pub type int_least16_t = __int_least16_t;
pub type int_least32_t = __int_least32_t;
pub type int_least64_t = __int_least64_t;
pub type uint_least8_t = __uint_least8_t;
pub type uint_least16_t = __uint_least16_t;
pub type uint_least32_t = __uint_least32_t;
pub type uint_least64_t = __uint_least64_t;
pub type int_fast8_t = ::std::os::raw::c_schar;
pub type int_fast16_t = ::std::os::raw::c_long;
pub type int_fast32_t = ::std::os::raw::c_long;
pub type int_fast64_t = ::std::os::raw::c_long;
pub type uint_fast8_t = ::std::os::raw::c_uchar;
pub type uint_fast16_t = ::std::os::raw::c_ulong;
pub type uint_fast32_t = ::std::os::raw::c_ulong;
pub type uint_fast64_t = ::std::os::raw::c_ulong;
pub type intmax_t = __intmax_t;
pub type uintmax_t = __uintmax_t;
pub type khronos_int32_t = i32;
pub type khronos_uint32_t = u32;
pub type khronos_int64_t = i64;
pub type khronos_uint64_t = u64;
pub type khronos_int8_t = ::std::os::raw::c_schar;
pub type khronos_uint8_t = ::std::os::raw::c_uchar;
pub type khronos_int16_t = ::std::os::raw::c_short;
pub type khronos_uint16_t = ::std::os::raw::c_ushort;
pub type khronos_intptr_t = ::std::os::raw::c_long;
pub type khronos_uintptr_t = ::std::os::raw::c_ulong;
pub type khronos_ssize_t = ::std::os::raw::c_long;
pub type khronos_usize_t = ::std::os::raw::c_ulong;
pub type khronos_float_t = f32;
pub type khronos_utime_nanoseconds_t = khronos_uint64_t;
pub type khronos_stime_nanoseconds_t = khronos_int64_t;
pub const khronos_boolean_enum_t_KHRONOS_FALSE: khronos_boolean_enum_t = 0;
pub const khronos_boolean_enum_t_KHRONOS_TRUE: khronos_boolean_enum_t = 1;
pub const khronos_boolean_enum_t_KHRONOS_BOOLEAN_ENUM_FORCE_SIZE: khronos_boolean_enum_t =
    2147483647;
pub type khronos_boolean_enum_t = u32;
pub type GLsizeiptr = khronos_ssize_t;
pub type GLintptr = khronos_intptr_t;
pub type PFNGLGENQUERIESPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLDELETEQUERIESPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
pub type PFNGLISQUERYPROC = ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLBEGINQUERYPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
pub type PFNGLENDQUERYPROC = ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLGETQUERYIVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETQUERYOBJECTIVPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETQUERYOBJECTUIVPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLBINDBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, buffer: GLuint)>;
pub type PFNGLDELETEBUFFERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *const GLuint)>;
pub type PFNGLGENBUFFERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *mut GLuint)>;
pub type PFNGLISBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLBUFFERDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
        usage: GLenum,
    ),
>;
pub type PFNGLBUFFERSUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETBUFFERSUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMAPBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, access: GLenum) -> *mut ::std::os::raw::c_void,
>;
pub type PFNGLUNMAPBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLboolean>;
pub type PFNGLGETBUFFERPARAMETERIVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETBUFFERPOINTERVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut *mut ::std::os::raw::c_void),
>;
pub type GLchar = ::std::os::raw::c_char;
pub type PFNGLBLENDEQUATIONSEPARATEPROC =
    ::std::option::Option<unsafe extern "C" fn(modeRGB: GLenum, modeAlpha: GLenum)>;
pub type PFNGLDRAWBUFFERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
pub type PFNGLSTENCILOPSEPARATEPROC = ::std::option::Option<
    unsafe extern "C" fn(face: GLenum, sfail: GLenum, dpfail: GLenum, dppass: GLenum),
>;
pub type PFNGLSTENCILFUNCSEPARATEPROC = ::std::option::Option<
    unsafe extern "C" fn(face: GLenum, func: GLenum, ref_: GLint, mask: GLuint),
>;
pub type PFNGLSTENCILMASKSEPARATEPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, mask: GLuint)>;
pub type PFNGLATTACHSHADERPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, shader: GLuint)>;
pub type PFNGLBINDATTRIBLOCATIONPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, index: GLuint, name: *const GLchar),
>;
pub type PFNGLCOMPILESHADERPROC = ::std::option::Option<unsafe extern "C" fn(shader: GLuint)>;
pub type PFNGLCREATEPROGRAMPROC = ::std::option::Option<unsafe extern "C" fn() -> GLuint>;
pub type PFNGLCREATESHADERPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum) -> GLuint>;
pub type PFNGLDELETEPROGRAMPROC = ::std::option::Option<unsafe extern "C" fn(program: GLuint)>;
pub type PFNGLDELETESHADERPROC = ::std::option::Option<unsafe extern "C" fn(shader: GLuint)>;
pub type PFNGLDETACHSHADERPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, shader: GLuint)>;
pub type PFNGLDISABLEVERTEXATTRIBARRAYPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLENABLEVERTEXATTRIBARRAYPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLGETACTIVEATTRIBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        size: *mut GLint,
        type_: *mut GLenum,
        name: *mut GLchar,
    ),
>;
pub type PFNGLGETACTIVEUNIFORMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        size: *mut GLint,
        type_: *mut GLenum,
        name: *mut GLchar,
    ),
>;
pub type PFNGLGETATTACHEDSHADERSPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        maxCount: GLsizei,
        count: *mut GLsizei,
        shaders: *mut GLuint,
    ),
>;
pub type PFNGLGETATTRIBLOCATIONPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLGETPROGRAMIVPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETPROGRAMINFOLOGPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        infoLog: *mut GLchar,
    ),
>;
pub type PFNGLGETSHADERIVPROC =
    ::std::option::Option<unsafe extern "C" fn(shader: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETSHADERINFOLOGPROC = ::std::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        infoLog: *mut GLchar,
    ),
>;
pub type PFNGLGETSHADERSOURCEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        source: *mut GLchar,
    ),
>;
pub type PFNGLGETUNIFORMLOCATIONPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLGETUNIFORMFVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLfloat),
>;
pub type PFNGLGETUNIFORMIVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLint),
>;
pub type PFNGLGETVERTEXATTRIBDVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLGETVERTEXATTRIBFVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETVERTEXATTRIBIVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETVERTEXATTRIBPOINTERVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, pointer: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLISPROGRAMPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint) -> GLboolean>;
pub type PFNGLISSHADERPROC =
    ::std::option::Option<unsafe extern "C" fn(shader: GLuint) -> GLboolean>;
pub type PFNGLLINKPROGRAMPROC = ::std::option::Option<unsafe extern "C" fn(program: GLuint)>;
pub type PFNGLSHADERSOURCEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        count: GLsizei,
        string: *const *const GLchar,
        length: *const GLint,
    ),
>;
pub type PFNGLUSEPROGRAMPROC = ::std::option::Option<unsafe extern "C" fn(program: GLuint)>;
pub type PFNGLUNIFORM1FPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat)>;
pub type PFNGLUNIFORM2FPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat)>;
pub type PFNGLUNIFORM3FPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
>;
pub type PFNGLUNIFORM4FPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat, v3: GLfloat),
>;
pub type PFNGLUNIFORM1IPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint)>;
pub type PFNGLUNIFORM2IPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint)>;
pub type PFNGLUNIFORM3IPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint)>;
pub type PFNGLUNIFORM4IPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint, v3: GLint),
>;
pub type PFNGLUNIFORM1FVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM2FVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM3FVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM4FVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM1IVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM2IVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM3IVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM4IVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORMMATRIX2FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX3FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX4FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLVALIDATEPROGRAMPROC = ::std::option::Option<unsafe extern "C" fn(program: GLuint)>;
pub type PFNGLVERTEXATTRIB1DPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
pub type PFNGLVERTEXATTRIB1DVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB1FPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat)>;
pub type PFNGLVERTEXATTRIB1FVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB1SPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort)>;
pub type PFNGLVERTEXATTRIB1SVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB2DPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXATTRIB2DVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB2FPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat)>;
pub type PFNGLVERTEXATTRIB2FVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB2SPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort)>;
pub type PFNGLVERTEXATTRIB2SVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB3DPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXATTRIB3DVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB3FPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLVERTEXATTRIB3FVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB3SPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLVERTEXATTRIB3SVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4NBVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIB4NIVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIB4NSVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4NUBPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLubyte, y: GLubyte, z: GLubyte, w: GLubyte),
>;
pub type PFNGLVERTEXATTRIB4NUBVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIB4NUIVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIB4NUSVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLVERTEXATTRIB4BVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIB4DPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXATTRIB4DVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB4FPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
>;
pub type PFNGLVERTEXATTRIB4FVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB4IVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIB4SPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
>;
pub type PFNGLVERTEXATTRIB4SVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4UBVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIB4UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIB4USVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLVERTEXATTRIBPOINTERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLUNIFORMMATRIX2X3FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX3X2FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX2X4FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX4X2FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX3X4FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX4X3FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type GLhalf = ::std::os::raw::c_ushort;
pub type PFNGLCOLORMASKIPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean),
>;
pub type PFNGLGETBOOLEANI_VPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLboolean),
>;
pub type PFNGLGETINTEGERI_VPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLint)>;
pub type PFNGLENABLEIPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
pub type PFNGLDISABLEIPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
pub type PFNGLISENABLEDIPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint) -> GLboolean>;
pub type PFNGLBEGINTRANSFORMFEEDBACKPROC =
    ::std::option::Option<unsafe extern "C" fn(primitiveMode: GLenum)>;
pub type PFNGLENDTRANSFORMFEEDBACKPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLBINDBUFFERRANGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLBINDBUFFERBASEPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint)>;
pub type PFNGLTRANSFORMFEEDBACKVARYINGSPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        count: GLsizei,
        varyings: *const *const GLchar,
        bufferMode: GLenum,
    ),
>;
pub type PFNGLGETTRANSFORMFEEDBACKVARYINGPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        size: *mut GLsizei,
        type_: *mut GLenum,
        name: *mut GLchar,
    ),
>;
pub type PFNGLCLAMPCOLORPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, clamp: GLenum)>;
pub type PFNGLBEGINCONDITIONALRENDERPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, mode: GLenum)>;
pub type PFNGLENDCONDITIONALRENDERPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLVERTEXATTRIBIPOINTERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETVERTEXATTRIBIIVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETVERTEXATTRIBIUIVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLVERTEXATTRIBI1IPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint)>;
pub type PFNGLVERTEXATTRIBI2IPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint)>;
pub type PFNGLVERTEXATTRIBI3IPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint)>;
pub type PFNGLVERTEXATTRIBI4IPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
>;
pub type PFNGLVERTEXATTRIBI1UIPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint)>;
pub type PFNGLVERTEXATTRIBI2UIPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint)>;
pub type PFNGLVERTEXATTRIBI3UIPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint)>;
pub type PFNGLVERTEXATTRIBI4UIPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
>;
pub type PFNGLVERTEXATTRIBI1IVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI2IVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI3IVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI4IVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI1UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI2UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI3UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI4UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI4BVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIBI4SVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBI4UBVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIBI4USVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLGETUNIFORMUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint),
>;
pub type PFNGLBINDFRAGDATALOCATIONPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, color: GLuint, name: *const GLchar),
>;
pub type PFNGLGETFRAGDATALOCATIONPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLUNIFORM1UIPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint)>;
pub type PFNGLUNIFORM2UIPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint)>;
pub type PFNGLUNIFORM3UIPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
>;
pub type PFNGLUNIFORM4UIPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint),
>;
pub type PFNGLUNIFORM1UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM2UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM3UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM4UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLTEXPARAMETERIIVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLTEXPARAMETERIUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLuint),
>;
pub type PFNGLGETTEXPARAMETERIIVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETTEXPARAMETERIUIVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLCLEARBUFFERIVPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLint),
>;
pub type PFNGLCLEARBUFFERUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLuint),
>;
pub type PFNGLCLEARBUFFERFVPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, value: *const GLfloat),
>;
pub type PFNGLCLEARBUFFERFIPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint),
>;
pub type PFNGLGETSTRINGIPROC =
    ::std::option::Option<unsafe extern "C" fn(name: GLenum, index: GLuint) -> *const GLubyte>;
pub type PFNGLISRENDERBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(renderbuffer: GLuint) -> GLboolean>;
pub type PFNGLBINDRENDERBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, renderbuffer: GLuint)>;
pub type PFNGLDELETERENDERBUFFERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *const GLuint)>;
pub type PFNGLGENRENDERBUFFERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *mut GLuint)>;
pub type PFNGLRENDERBUFFERSTORAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei),
>;
pub type PFNGLGETRENDERBUFFERPARAMETERIVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLISFRAMEBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint) -> GLboolean>;
pub type PFNGLBINDFRAMEBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, framebuffer: GLuint)>;
pub type PFNGLDELETEFRAMEBUFFERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *const GLuint)>;
pub type PFNGLGENFRAMEBUFFERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *mut GLuint)>;
pub type PFNGLCHECKFRAMEBUFFERSTATUSPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLenum>;
pub type PFNGLFRAMEBUFFERTEXTURE1DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURE2DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
        zoffset: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERRENDERBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        renderbuffertarget: GLenum,
        renderbuffer: GLuint,
    ),
>;
pub type PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, attachment: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGENERATEMIPMAPPROC = ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLBLITFRAMEBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        srcX0: GLint,
        srcY0: GLint,
        srcX1: GLint,
        srcY1: GLint,
        dstX0: GLint,
        dstY0: GLint,
        dstX1: GLint,
        dstY1: GLint,
        mask: GLbitfield,
        filter: GLenum,
    ),
>;
pub type PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURELAYERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        layer: GLint,
    ),
>;
pub type PFNGLMAPBUFFERRANGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptr,
        length: GLsizeiptr,
        access: GLbitfield,
    ) -> *mut ::std::os::raw::c_void,
>;
pub type PFNGLFLUSHMAPPEDBUFFERRANGEPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, offset: GLintptr, length: GLsizeiptr),
>;
pub type PFNGLBINDVERTEXARRAYPROC = ::std::option::Option<unsafe extern "C" fn(array: GLuint)>;
pub type PFNGLDELETEVERTEXARRAYSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *const GLuint)>;
pub type PFNGLGENVERTEXARRAYSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *mut GLuint)>;
pub type PFNGLISVERTEXARRAYPROC =
    ::std::option::Option<unsafe extern "C" fn(array: GLuint) -> GLboolean>;
pub type PFNGLDRAWARRAYSINSTANCEDPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, instancecount: GLsizei),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const ::std::os::raw::c_void,
        instancecount: GLsizei,
    ),
>;
pub type PFNGLTEXBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLPRIMITIVERESTARTINDEXPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLCOPYBUFFERSUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        readTarget: GLenum,
        writeTarget: GLenum,
        readOffset: GLintptr,
        writeOffset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLGETUNIFORMINDICESPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        uniformCount: GLsizei,
        uniformNames: *const *const GLchar,
        uniformIndices: *mut GLuint,
    ),
>;
pub type PFNGLGETACTIVEUNIFORMSIVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        uniformCount: GLsizei,
        uniformIndices: *const GLuint,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETACTIVEUNIFORMNAMEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        uniformIndex: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        uniformName: *mut GLchar,
    ),
>;
pub type PFNGLGETUNIFORMBLOCKINDEXPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, uniformBlockName: *const GLchar) -> GLuint,
>;
pub type PFNGLGETACTIVEUNIFORMBLOCKIVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        uniformBlockIndex: GLuint,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        uniformBlockIndex: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        uniformBlockName: *mut GLchar,
    ),
>;
pub type PFNGLUNIFORMBLOCKBINDINGPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __GLsync {
    _unused: [u8; 0],
}
pub type GLsync = *mut __GLsync;
pub type __gwchar_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct imaxdiv_t {
    pub quot: ::std::os::raw::c_long,
    pub rem: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout_imaxdiv_t() {
    assert_eq!(
        ::std::mem::size_of::<imaxdiv_t>(),
        16usize,
        concat!("Size of: ", stringify!(imaxdiv_t))
    );
    assert_eq!(
        ::std::mem::align_of::<imaxdiv_t>(),
        8usize,
        concat!("Alignment of ", stringify!(imaxdiv_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(imaxdiv_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).rem as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(imaxdiv_t),
            "::",
            stringify!(rem)
        )
    );
}
extern "C" {
    pub fn imaxabs(__n: intmax_t) -> intmax_t;
}
extern "C" {
    pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
}
extern "C" {
    pub fn strtoimax(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> intmax_t;
}
extern "C" {
    pub fn strtoumax(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> uintmax_t;
}
extern "C" {
    pub fn wcstoimax(
        __nptr: *const __gwchar_t,
        __endptr: *mut *mut __gwchar_t,
        __base: ::std::os::raw::c_int,
    ) -> intmax_t;
}
extern "C" {
    pub fn wcstoumax(
        __nptr: *const __gwchar_t,
        __endptr: *mut *mut __gwchar_t,
        __base: ::std::os::raw::c_int,
    ) -> uintmax_t;
}
pub type GLuint64 = u64;
pub type GLint64 = i64;
pub type PFNGLDRAWELEMENTSBASEVERTEXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const ::std::os::raw::c_void,
        basevertex: GLint,
    ),
>;
pub type PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        start: GLuint,
        end: GLuint,
        count: GLsizei,
        type_: GLenum,
        indices: *const ::std::os::raw::c_void,
        basevertex: GLint,
    ),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const ::std::os::raw::c_void,
        instancecount: GLsizei,
        basevertex: GLint,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: *const GLsizei,
        type_: GLenum,
        indices: *const *const ::std::os::raw::c_void,
        drawcount: GLsizei,
        basevertex: *const GLint,
    ),
>;
pub type PFNGLPROVOKINGVERTEXPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLFENCESYNCPROC =
    ::std::option::Option<unsafe extern "C" fn(condition: GLenum, flags: GLbitfield) -> GLsync>;
pub type PFNGLISSYNCPROC = ::std::option::Option<unsafe extern "C" fn(sync: GLsync) -> GLboolean>;
pub type PFNGLDELETESYNCPROC = ::std::option::Option<unsafe extern "C" fn(sync: GLsync)>;
pub type PFNGLCLIENTWAITSYNCPROC = ::std::option::Option<
    unsafe extern "C" fn(sync: GLsync, flags: GLbitfield, timeout: GLuint64) -> GLenum,
>;
pub type PFNGLWAITSYNCPROC =
    ::std::option::Option<unsafe extern "C" fn(sync: GLsync, flags: GLbitfield, timeout: GLuint64)>;
pub type PFNGLGETINTEGER64VPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, data: *mut GLint64)>;
pub type PFNGLGETSYNCIVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        sync: GLsync,
        pname: GLenum,
        bufSize: GLsizei,
        length: *mut GLsizei,
        values: *mut GLint,
    ),
>;
pub type PFNGLGETINTEGER64I_VPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLint64)>;
pub type PFNGLGETBUFFERPARAMETERI64VPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint64),
>;
pub type PFNGLFRAMEBUFFERTEXTUREPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
>;
pub type PFNGLTEXIMAGE2DMULTISAMPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXIMAGE3DMULTISAMPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLGETMULTISAMPLEFVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, index: GLuint, val: *mut GLfloat)>;
pub type PFNGLSAMPLEMASKIPROC =
    ::std::option::Option<unsafe extern "C" fn(maskNumber: GLuint, mask: GLbitfield)>;
pub type PFNGLBINDFRAGDATALOCATIONINDEXEDPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, colorNumber: GLuint, index: GLuint, name: *const GLchar),
>;
pub type PFNGLGETFRAGDATAINDEXPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLGENSAMPLERSPROC =
    ::std::option::Option<unsafe extern "C" fn(count: GLsizei, samplers: *mut GLuint)>;
pub type PFNGLDELETESAMPLERSPROC =
    ::std::option::Option<unsafe extern "C" fn(count: GLsizei, samplers: *const GLuint)>;
pub type PFNGLISSAMPLERPROC =
    ::std::option::Option<unsafe extern "C" fn(sampler: GLuint) -> GLboolean>;
pub type PFNGLBINDSAMPLERPROC =
    ::std::option::Option<unsafe extern "C" fn(unit: GLuint, sampler: GLuint)>;
pub type PFNGLSAMPLERPARAMETERIPROC =
    ::std::option::Option<unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLSAMPLERPARAMETERIVPROC = ::std::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLint),
>;
pub type PFNGLSAMPLERPARAMETERFPROC =
    ::std::option::Option<unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: GLfloat)>;
pub type PFNGLSAMPLERPARAMETERFVPROC = ::std::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLfloat),
>;
pub type PFNGLSAMPLERPARAMETERIIVPROC = ::std::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLint),
>;
pub type PFNGLSAMPLERPARAMETERIUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, param: *const GLuint),
>;
pub type PFNGLGETSAMPLERPARAMETERIVPROC =
    ::std::option::Option<unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETSAMPLERPARAMETERIIVPROC =
    ::std::option::Option<unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETSAMPLERPARAMETERFVPROC = ::std::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETSAMPLERPARAMETERIUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(sampler: GLuint, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLQUERYCOUNTERPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, target: GLenum)>;
pub type PFNGLGETQUERYOBJECTI64VPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint64)>;
pub type PFNGLGETQUERYOBJECTUI64VPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint64)>;
pub type PFNGLVERTEXATTRIBDIVISORPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, divisor: GLuint)>;
pub type PFNGLVERTEXATTRIBP1UIPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
>;
pub type PFNGLVERTEXATTRIBP1UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
>;
pub type PFNGLVERTEXATTRIBP2UIPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
>;
pub type PFNGLVERTEXATTRIBP2UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
>;
pub type PFNGLVERTEXATTRIBP3UIPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
>;
pub type PFNGLVERTEXATTRIBP3UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
>;
pub type PFNGLVERTEXATTRIBP4UIPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: GLuint),
>;
pub type PFNGLVERTEXATTRIBP4UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, type_: GLenum, normalized: GLboolean, value: *const GLuint),
>;
pub type PFNGLVERTEXP2UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: GLuint)>;
pub type PFNGLVERTEXP2UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: *const GLuint)>;
pub type PFNGLVERTEXP3UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: GLuint)>;
pub type PFNGLVERTEXP3UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: *const GLuint)>;
pub type PFNGLVERTEXP4UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: GLuint)>;
pub type PFNGLVERTEXP4UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, value: *const GLuint)>;
pub type PFNGLTEXCOORDP1UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
pub type PFNGLTEXCOORDP1UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
pub type PFNGLTEXCOORDP2UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
pub type PFNGLTEXCOORDP2UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
pub type PFNGLTEXCOORDP3UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
pub type PFNGLTEXCOORDP3UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
pub type PFNGLTEXCOORDP4UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
pub type PFNGLTEXCOORDP4UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
pub type PFNGLMULTITEXCOORDP1UIPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
pub type PFNGLMULTITEXCOORDP1UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
>;
pub type PFNGLMULTITEXCOORDP2UIPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
pub type PFNGLMULTITEXCOORDP2UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
>;
pub type PFNGLMULTITEXCOORDP3UIPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
pub type PFNGLMULTITEXCOORDP3UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
>;
pub type PFNGLMULTITEXCOORDP4UIPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: GLuint)>;
pub type PFNGLMULTITEXCOORDP4UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLenum, type_: GLenum, coords: *const GLuint),
>;
pub type PFNGLNORMALP3UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: GLuint)>;
pub type PFNGLNORMALP3UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, coords: *const GLuint)>;
pub type PFNGLCOLORP3UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: GLuint)>;
pub type PFNGLCOLORP3UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: *const GLuint)>;
pub type PFNGLCOLORP4UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: GLuint)>;
pub type PFNGLCOLORP4UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: *const GLuint)>;
pub type PFNGLSECONDARYCOLORP3UIPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: GLuint)>;
pub type PFNGLSECONDARYCOLORP3UIVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, color: *const GLuint)>;
pub type PFNGLMINSAMPLESHADINGPROC = ::std::option::Option<unsafe extern "C" fn(value: GLfloat)>;
pub type PFNGLBLENDEQUATIONIPROC =
    ::std::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
pub type PFNGLBLENDEQUATIONSEPARATEIPROC =
    ::std::option::Option<unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum)>;
pub type PFNGLBLENDFUNCIPROC =
    ::std::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
pub type PFNGLBLENDFUNCSEPARATEIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buf: GLuint,
        srcRGB: GLenum,
        dstRGB: GLenum,
        srcAlpha: GLenum,
        dstAlpha: GLenum,
    ),
>;
pub type PFNGLDRAWARRAYSINDIRECTPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, indirect: *const ::std::os::raw::c_void),
>;
pub type PFNGLDRAWELEMENTSINDIRECTPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, type_: GLenum, indirect: *const ::std::os::raw::c_void),
>;
pub type PFNGLUNIFORM1DPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLdouble)>;
pub type PFNGLUNIFORM2DPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLdouble, y: GLdouble)>;
pub type PFNGLUNIFORM3DPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLUNIFORM4DPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLUNIFORM1DVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLUNIFORM2DVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLUNIFORM3DVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLUNIFORM4DVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLUNIFORMMATRIX2DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX3DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX4DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX2X3DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX2X4DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX3X2DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX3X4DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX4X2DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLUNIFORMMATRIX4X3DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLGETUNIFORMDVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLdouble),
>;
pub type PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, shadertype: GLenum, name: *const GLchar) -> GLint,
>;
pub type PFNGLGETSUBROUTINEINDEXPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, shadertype: GLenum, name: *const GLchar) -> GLuint,
>;
pub type PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        shadertype: GLenum,
        index: GLuint,
        pname: GLenum,
        values: *mut GLint,
    ),
>;
pub type PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        shadertype: GLenum,
        index: GLuint,
        bufsize: GLsizei,
        length: *mut GLsizei,
        name: *mut GLchar,
    ),
>;
pub type PFNGLGETACTIVESUBROUTINENAMEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        shadertype: GLenum,
        index: GLuint,
        bufsize: GLsizei,
        length: *mut GLsizei,
        name: *mut GLchar,
    ),
>;
pub type PFNGLUNIFORMSUBROUTINESUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(shadertype: GLenum, count: GLsizei, indices: *const GLuint),
>;
pub type PFNGLGETUNIFORMSUBROUTINEUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(shadertype: GLenum, location: GLint, params: *mut GLuint),
>;
pub type PFNGLGETPROGRAMSTAGEIVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, shadertype: GLenum, pname: GLenum, values: *mut GLint),
>;
pub type PFNGLPATCHPARAMETERIPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLint)>;
pub type PFNGLPATCHPARAMETERFVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, values: *const GLfloat)>;
pub type PFNGLBINDTRANSFORMFEEDBACKPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
pub type PFNGLDELETETRANSFORMFEEDBACKSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
pub type PFNGLGENTRANSFORMFEEDBACKSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLISTRANSFORMFEEDBACKPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLPAUSETRANSFORMFEEDBACKPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLRESUMETRANSFORMFEEDBACKPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLDRAWTRANSFORMFEEDBACKPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint)>;
pub type PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint, stream: GLuint)>;
pub type PFNGLBEGINQUERYINDEXEDPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, id: GLuint)>;
pub type PFNGLENDQUERYINDEXEDPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
pub type PFNGLGETQUERYINDEXEDIVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLRELEASESHADERCOMPILERPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSHADERBINARYPROC = ::std::option::Option<
    unsafe extern "C" fn(
        count: GLsizei,
        shaders: *const GLuint,
        binaryformat: GLenum,
        binary: *const ::std::os::raw::c_void,
        length: GLsizei,
    ),
>;
pub type PFNGLGETSHADERPRECISIONFORMATPROC = ::std::option::Option<
    unsafe extern "C" fn(
        shadertype: GLenum,
        precisiontype: GLenum,
        range: *mut GLint,
        precision: *mut GLint,
    ),
>;
pub type PFNGLDEPTHRANGEFPROC = ::std::option::Option<unsafe extern "C" fn(n: GLfloat, f: GLfloat)>;
pub type PFNGLCLEARDEPTHFPROC = ::std::option::Option<unsafe extern "C" fn(d: GLfloat)>;
pub type PFNGLGETPROGRAMBINARYPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        binaryFormat: *mut GLenum,
        binary: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLPROGRAMBINARYPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        binaryFormat: GLenum,
        binary: *const ::std::os::raw::c_void,
        length: GLsizei,
    ),
>;
pub type PFNGLPROGRAMPARAMETERIPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, value: GLint)>;
pub type PFNGLUSEPROGRAMSTAGESPROC = ::std::option::Option<
    unsafe extern "C" fn(pipeline: GLuint, stages: GLbitfield, program: GLuint),
>;
pub type PFNGLACTIVESHADERPROGRAMPROC =
    ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint, program: GLuint)>;
pub type PFNGLCREATESHADERPROGRAMVPROC = ::std::option::Option<
    unsafe extern "C" fn(type_: GLenum, count: GLsizei, strings: *const *const GLchar) -> GLuint,
>;
pub type PFNGLBINDPROGRAMPIPELINEPROC =
    ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint)>;
pub type PFNGLDELETEPROGRAMPIPELINESPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *const GLuint)>;
pub type PFNGLGENPROGRAMPIPELINESPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *mut GLuint)>;
pub type PFNGLISPROGRAMPIPELINEPROC =
    ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint) -> GLboolean>;
pub type PFNGLGETPROGRAMPIPELINEIVPROC = ::std::option::Option<
    unsafe extern "C" fn(pipeline: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLPROGRAMUNIFORM1IPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint)>;
pub type PFNGLPROGRAMUNIFORM1IVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM1FPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat)>;
pub type PFNGLPROGRAMUNIFORM1FVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM1DPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLdouble)>;
pub type PFNGLPROGRAMUNIFORM1DVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM1UIPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint)>;
pub type PFNGLPROGRAMUNIFORM1UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM2IPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint),
>;
pub type PFNGLPROGRAMUNIFORM2IVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM2FPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat, v1: GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM2FVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM2DPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLdouble, v1: GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM2DVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM2UIPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint),
>;
pub type PFNGLPROGRAMUNIFORM2UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM3IPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint, v2: GLint),
>;
pub type PFNGLPROGRAMUNIFORM3IVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM3FPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM3FVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLdouble,
        v1: GLdouble,
        v2: GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORM3DVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM3UIPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
>;
pub type PFNGLPROGRAMUNIFORM3UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM4IPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLint,
        v1: GLint,
        v2: GLint,
        v3: GLint,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4IVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM4FPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLfloat,
        v1: GLfloat,
        v2: GLfloat,
        v3: GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4FVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM4DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLdouble,
        v1: GLdouble,
        v2: GLdouble,
        v3: GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4DVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM4UIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLuint,
        v1: GLuint,
        v2: GLuint,
        v3: GLuint,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4UIVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLVALIDATEPROGRAMPIPELINEPROC =
    ::std::option::Option<unsafe extern "C" fn(pipeline: GLuint)>;
pub type PFNGLGETPROGRAMPIPELINEINFOLOGPROC = ::std::option::Option<
    unsafe extern "C" fn(
        pipeline: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        infoLog: *mut GLchar,
    ),
>;
pub type PFNGLVERTEXATTRIBL1DPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
pub type PFNGLVERTEXATTRIBL2DPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXATTRIBL3DPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXATTRIBL4DPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXATTRIBL1DVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL2DVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL3DVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL4DVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBLPOINTERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETVERTEXATTRIBLDVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLVIEWPORTARRAYVPROC =
    ::std::option::Option<unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLfloat)>;
pub type PFNGLVIEWPORTINDEXEDFPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, w: GLfloat, h: GLfloat),
>;
pub type PFNGLVIEWPORTINDEXEDFVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLSCISSORARRAYVPROC =
    ::std::option::Option<unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLint)>;
pub type PFNGLSCISSORINDEXEDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        left: GLint,
        bottom: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLSCISSORINDEXEDVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLDEPTHRANGEARRAYVPROC =
    ::std::option::Option<unsafe extern "C" fn(first: GLuint, count: GLsizei, v: *const GLdouble)>;
pub type PFNGLDEPTHRANGEINDEXEDPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLdouble, f: GLdouble)>;
pub type PFNGLGETFLOATI_VPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLfloat)>;
pub type PFNGLGETDOUBLEI_VPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLdouble)>;
pub type PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        first: GLint,
        count: GLsizei,
        instancecount: GLsizei,
        baseinstance: GLuint,
    ),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const ::std::os::raw::c_void,
        instancecount: GLsizei,
        baseinstance: GLuint,
    ),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const ::std::os::raw::c_void,
        instancecount: GLsizei,
        basevertex: GLint,
        baseinstance: GLuint,
    ),
>;
pub type PFNGLGETINTERNALFORMATIVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        pname: GLenum,
        bufSize: GLsizei,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, bufferIndex: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLBINDIMAGETEXTUREPROC = ::std::option::Option<
    unsafe extern "C" fn(
        unit: GLuint,
        texture: GLuint,
        level: GLint,
        layered: GLboolean,
        layer: GLint,
        access: GLenum,
        format: GLenum,
    ),
>;
pub type PFNGLMEMORYBARRIERPROC = ::std::option::Option<unsafe extern "C" fn(barriers: GLbitfield)>;
pub type PFNGLTEXSTORAGE1DPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei),
>;
pub type PFNGLTEXSTORAGE2DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLTEXSTORAGE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint, instancecount: GLsizei)>;
pub type PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, id: GLuint, stream: GLuint, instancecount: GLsizei),
>;
pub type GLDEBUGPROC = ::std::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        id: GLuint,
        severity: GLenum,
        length: GLsizei,
        message: *const GLchar,
        userParam: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCLEARBUFFERDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        format: GLenum,
        type_: GLenum,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCLEARBUFFERSUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        offset: GLintptr,
        size: GLsizeiptr,
        format: GLenum,
        type_: GLenum,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLDISPATCHCOMPUTEPROC = ::std::option::Option<
    unsafe extern "C" fn(num_groups_x: GLuint, num_groups_y: GLuint, num_groups_z: GLuint),
>;
pub type PFNGLDISPATCHCOMPUTEINDIRECTPROC =
    ::std::option::Option<unsafe extern "C" fn(indirect: GLintptr)>;
pub type PFNGLCOPYIMAGESUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        srcName: GLuint,
        srcTarget: GLenum,
        srcLevel: GLint,
        srcX: GLint,
        srcY: GLint,
        srcZ: GLint,
        dstName: GLuint,
        dstTarget: GLenum,
        dstLevel: GLint,
        dstX: GLint,
        dstY: GLint,
        dstZ: GLint,
        srcWidth: GLsizei,
        srcHeight: GLsizei,
        srcDepth: GLsizei,
    ),
>;
pub type PFNGLFRAMEBUFFERPARAMETERIPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLGETFRAMEBUFFERPARAMETERIVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETINTERNALFORMATI64VPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        pname: GLenum,
        bufSize: GLsizei,
        params: *mut GLint64,
    ),
>;
pub type PFNGLINVALIDATETEXSUBIMAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLINVALIDATETEXIMAGEPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint, level: GLint)>;
pub type PFNGLINVALIDATEBUFFERSUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, length: GLsizeiptr),
>;
pub type PFNGLINVALIDATEBUFFERDATAPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
pub type PFNGLINVALIDATEFRAMEBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, numAttachments: GLsizei, attachments: *const GLenum),
>;
pub type PFNGLINVALIDATESUBFRAMEBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        numAttachments: GLsizei,
        attachments: *const GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWARRAYSINDIRECTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const ::std::os::raw::c_void,
        drawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const ::std::os::raw::c_void,
        drawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLGETPROGRAMINTERFACEIVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        programInterface: GLenum,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETPROGRAMRESOURCEINDEXPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, programInterface: GLenum, name: *const GLchar) -> GLuint,
>;
pub type PFNGLGETPROGRAMRESOURCENAMEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        programInterface: GLenum,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        name: *mut GLchar,
    ),
>;
pub type PFNGLGETPROGRAMRESOURCEIVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        programInterface: GLenum,
        index: GLuint,
        propCount: GLsizei,
        props: *const GLenum,
        bufSize: GLsizei,
        length: *mut GLsizei,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETPROGRAMRESOURCELOCATIONPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, programInterface: GLenum, name: *const GLchar) -> GLint,
>;
pub type PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, programInterface: GLenum, name: *const GLchar) -> GLint,
>;
pub type PFNGLSHADERSTORAGEBLOCKBINDINGPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, storageBlockIndex: GLuint, storageBlockBinding: GLuint),
>;
pub type PFNGLTEXBUFFERRANGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLTEXSTORAGE2DMULTISAMPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXSTORAGE3DMULTISAMPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXTUREVIEWPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        origtexture: GLuint,
        internalformat: GLenum,
        minlevel: GLuint,
        numlevels: GLuint,
        minlayer: GLuint,
        numlayers: GLuint,
    ),
>;
pub type PFNGLBINDVERTEXBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(bindingindex: GLuint, buffer: GLuint, offset: GLintptr, stride: GLsizei),
>;
pub type PFNGLVERTEXATTRIBFORMATPROC = ::std::option::Option<
    unsafe extern "C" fn(
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXATTRIBIFORMATPROC = ::std::option::Option<
    unsafe extern "C" fn(attribindex: GLuint, size: GLint, type_: GLenum, relativeoffset: GLuint),
>;
pub type PFNGLVERTEXATTRIBLFORMATPROC = ::std::option::Option<
    unsafe extern "C" fn(attribindex: GLuint, size: GLint, type_: GLenum, relativeoffset: GLuint),
>;
pub type PFNGLVERTEXATTRIBBINDINGPROC =
    ::std::option::Option<unsafe extern "C" fn(attribindex: GLuint, bindingindex: GLuint)>;
pub type PFNGLVERTEXBINDINGDIVISORPROC =
    ::std::option::Option<unsafe extern "C" fn(bindingindex: GLuint, divisor: GLuint)>;
pub type PFNGLDEBUGMESSAGECONTROLPROC = ::std::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        severity: GLenum,
        count: GLsizei,
        ids: *const GLuint,
        enabled: GLboolean,
    ),
>;
pub type PFNGLDEBUGMESSAGEINSERTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        id: GLuint,
        severity: GLenum,
        length: GLsizei,
        buf: *const GLchar,
    ),
>;
pub type PFNGLDEBUGMESSAGECALLBACKPROC = ::std::option::Option<
    unsafe extern "C" fn(callback: GLDEBUGPROC, userParam: *const ::std::os::raw::c_void),
>;
pub type PFNGLGETDEBUGMESSAGELOGPROC = ::std::option::Option<
    unsafe extern "C" fn(
        count: GLuint,
        bufSize: GLsizei,
        sources: *mut GLenum,
        types: *mut GLenum,
        ids: *mut GLuint,
        severities: *mut GLenum,
        lengths: *mut GLsizei,
        messageLog: *mut GLchar,
    ) -> GLuint,
>;
pub type PFNGLPUSHDEBUGGROUPPROC = ::std::option::Option<
    unsafe extern "C" fn(source: GLenum, id: GLuint, length: GLsizei, message: *const GLchar),
>;
pub type PFNGLPOPDEBUGGROUPPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLOBJECTLABELPROC = ::std::option::Option<
    unsafe extern "C" fn(identifier: GLenum, name: GLuint, length: GLsizei, label: *const GLchar),
>;
pub type PFNGLGETOBJECTLABELPROC = ::std::option::Option<
    unsafe extern "C" fn(
        identifier: GLenum,
        name: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        label: *mut GLchar,
    ),
>;
pub type PFNGLOBJECTPTRLABELPROC = ::std::option::Option<
    unsafe extern "C" fn(ptr: *const ::std::os::raw::c_void, length: GLsizei, label: *const GLchar),
>;
pub type PFNGLGETOBJECTPTRLABELPROC = ::std::option::Option<
    unsafe extern "C" fn(
        ptr: *const ::std::os::raw::c_void,
        bufSize: GLsizei,
        length: *mut GLsizei,
        label: *mut GLchar,
    ),
>;
pub type PFNGLBUFFERSTORAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
        flags: GLbitfield,
    ),
>;
pub type PFNGLCLEARTEXIMAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCLEARTEXSUBIMAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLBINDBUFFERSBASEPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, first: GLuint, count: GLsizei, buffers: *const GLuint),
>;
pub type PFNGLBINDBUFFERSRANGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        first: GLuint,
        count: GLsizei,
        buffers: *const GLuint,
        offsets: *const GLintptr,
        sizes: *const GLsizeiptr,
    ),
>;
pub type PFNGLBINDTEXTURESPROC = ::std::option::Option<
    unsafe extern "C" fn(first: GLuint, count: GLsizei, textures: *const GLuint),
>;
pub type PFNGLBINDSAMPLERSPROC = ::std::option::Option<
    unsafe extern "C" fn(first: GLuint, count: GLsizei, samplers: *const GLuint),
>;
pub type PFNGLBINDIMAGETEXTURESPROC = ::std::option::Option<
    unsafe extern "C" fn(first: GLuint, count: GLsizei, textures: *const GLuint),
>;
pub type PFNGLBINDVERTEXBUFFERSPROC = ::std::option::Option<
    unsafe extern "C" fn(
        first: GLuint,
        count: GLsizei,
        buffers: *const GLuint,
        offsets: *const GLintptr,
        strides: *const GLsizei,
    ),
>;
pub type PFNGLCLIPCONTROLPROC =
    ::std::option::Option<unsafe extern "C" fn(origin: GLenum, depth: GLenum)>;
pub type PFNGLCREATETRANSFORMFEEDBACKSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC =
    ::std::option::Option<unsafe extern "C" fn(xfb: GLuint, index: GLuint, buffer: GLuint)>;
pub type PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        xfb: GLuint,
        index: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLGETTRANSFORMFEEDBACKIVPROC =
    ::std::option::Option<unsafe extern "C" fn(xfb: GLuint, pname: GLenum, param: *mut GLint)>;
pub type PFNGLGETTRANSFORMFEEDBACKI_VPROC = ::std::option::Option<
    unsafe extern "C" fn(xfb: GLuint, pname: GLenum, index: GLuint, param: *mut GLint),
>;
pub type PFNGLGETTRANSFORMFEEDBACKI64_VPROC = ::std::option::Option<
    unsafe extern "C" fn(xfb: GLuint, pname: GLenum, index: GLuint, param: *mut GLint64),
>;
pub type PFNGLCREATEBUFFERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *mut GLuint)>;
pub type PFNGLNAMEDBUFFERSTORAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
        flags: GLbitfield,
    ),
>;
pub type PFNGLNAMEDBUFFERDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
        usage: GLenum,
    ),
>;
pub type PFNGLNAMEDBUFFERSUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOPYNAMEDBUFFERSUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        readBuffer: GLuint,
        writeBuffer: GLuint,
        readOffset: GLintptr,
        writeOffset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLCLEARNAMEDBUFFERDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        internalformat: GLenum,
        format: GLenum,
        type_: GLenum,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCLEARNAMEDBUFFERSUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        internalformat: GLenum,
        offset: GLintptr,
        size: GLsizeiptr,
        format: GLenum,
        type_: GLenum,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMAPNAMEDBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, access: GLenum) -> *mut ::std::os::raw::c_void,
>;
pub type PFNGLMAPNAMEDBUFFERRANGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        length: GLsizeiptr,
        access: GLbitfield,
    ) -> *mut ::std::os::raw::c_void,
>;
pub type PFNGLUNMAPNAMEDBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, length: GLsizeiptr),
>;
pub type PFNGLGETNAMEDBUFFERPARAMETERIVPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETNAMEDBUFFERPARAMETERI64VPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint64),
>;
pub type PFNGLGETNAMEDBUFFERPOINTERVPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLGETNAMEDBUFFERSUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCREATEFRAMEBUFFERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *mut GLuint)>;
pub type PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        renderbuffertarget: GLenum,
        renderbuffer: GLuint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC =
    ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTUREPROC = ::std::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, attachment: GLenum, texture: GLuint, level: GLint),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        layer: GLint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, buf: GLenum)>;
pub type PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC = ::std::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, n: GLsizei, bufs: *const GLenum),
>;
pub type PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, src: GLenum)>;
pub type PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, numAttachments: GLsizei, attachments: *const GLenum),
>;
pub type PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        numAttachments: GLsizei,
        attachments: *const GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLCLEARNAMEDFRAMEBUFFERIVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        buffer: GLenum,
        drawbuffer: GLint,
        value: *const GLint,
    ),
>;
pub type PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        buffer: GLenum,
        drawbuffer: GLint,
        value: *const GLuint,
    ),
>;
pub type PFNGLCLEARNAMEDFRAMEBUFFERFVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        buffer: GLenum,
        drawbuffer: GLint,
        value: *const GLfloat,
    ),
>;
pub type PFNGLCLEARNAMEDFRAMEBUFFERFIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        buffer: GLenum,
        drawbuffer: GLint,
        depth: GLfloat,
        stencil: GLint,
    ),
>;
pub type PFNGLBLITNAMEDFRAMEBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        readFramebuffer: GLuint,
        drawFramebuffer: GLuint,
        srcX0: GLint,
        srcY0: GLint,
        srcX1: GLint,
        srcY1: GLint,
        dstX0: GLint,
        dstY0: GLint,
        dstX1: GLint,
        dstY1: GLint,
        mask: GLbitfield,
        filter: GLenum,
    ),
>;
pub type PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC =
    ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, target: GLenum) -> GLenum>;
pub type PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC = ::std::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, param: *mut GLint),
>;
pub type PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLCREATERENDERBUFFERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *mut GLuint)>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC = ::std::option::Option<
    unsafe extern "C" fn(renderbuffer: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLCREATETEXTURESPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, n: GLsizei, textures: *mut GLuint)>;
pub type PFNGLTEXTUREBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLTEXTUREBUFFERRANGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        internalformat: GLenum,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLTEXTURESTORAGE1DPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, levels: GLsizei, internalformat: GLenum, width: GLsizei),
>;
pub type PFNGLTEXTURESTORAGE2DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLTEXTURESTORAGE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE1DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE2DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE1DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE2DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE3DPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLTEXTUREPARAMETERFPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: GLfloat)>;
pub type PFNGLTEXTUREPARAMETERFVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: *const GLfloat),
>;
pub type PFNGLTEXTUREPARAMETERIPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLTEXTUREPARAMETERIIVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *const GLint),
>;
pub type PFNGLTEXTUREPARAMETERIUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *const GLuint),
>;
pub type PFNGLTEXTUREPARAMETERIVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, param: *const GLint),
>;
pub type PFNGLGENERATETEXTUREMIPMAPPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint)>;
pub type PFNGLBINDTEXTUREUNITPROC =
    ::std::option::Option<unsafe extern "C" fn(unit: GLuint, texture: GLuint)>;
pub type PFNGLGETTEXTUREIMAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        pixels: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        bufSize: GLsizei,
        pixels: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETTEXTURELEVELPARAMETERFVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, level: GLint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETTEXTURELEVELPARAMETERIVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, level: GLint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETTEXTUREPARAMETERFVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETTEXTUREPARAMETERIIVPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETTEXTUREPARAMETERIUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLGETTEXTUREPARAMETERIVPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLCREATEVERTEXARRAYSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *mut GLuint)>;
pub type PFNGLDISABLEVERTEXARRAYATTRIBPROC =
    ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
pub type PFNGLENABLEVERTEXARRAYATTRIBPROC =
    ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
pub type PFNGLVERTEXARRAYELEMENTBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, buffer: GLuint)>;
pub type PFNGLVERTEXARRAYVERTEXBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        bindingindex: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        stride: GLsizei,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXBUFFERSPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        first: GLuint,
        count: GLsizei,
        buffers: *const GLuint,
        offsets: *const GLintptr,
        strides: *const GLsizei,
    ),
>;
pub type PFNGLVERTEXARRAYATTRIBBINDINGPROC = ::std::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, attribindex: GLuint, bindingindex: GLuint),
>;
pub type PFNGLVERTEXARRAYATTRIBFORMATPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYATTRIBIFORMATPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYATTRIBLFORMATPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYBINDINGDIVISORPROC = ::std::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, bindingindex: GLuint, divisor: GLuint),
>;
pub type PFNGLGETVERTEXARRAYIVPROC =
    ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, pname: GLenum, param: *mut GLint)>;
pub type PFNGLGETVERTEXARRAYINDEXEDIVPROC = ::std::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, index: GLuint, pname: GLenum, param: *mut GLint),
>;
pub type PFNGLGETVERTEXARRAYINDEXED64IVPROC = ::std::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, index: GLuint, pname: GLenum, param: *mut GLint64),
>;
pub type PFNGLCREATESAMPLERSPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, samplers: *mut GLuint)>;
pub type PFNGLCREATEPROGRAMPIPELINESPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, pipelines: *mut GLuint)>;
pub type PFNGLCREATEQUERIESPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLGETQUERYBUFFEROBJECTI64VPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
>;
pub type PFNGLGETQUERYBUFFEROBJECTIVPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
>;
pub type PFNGLGETQUERYBUFFEROBJECTUI64VPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
>;
pub type PFNGLGETQUERYBUFFEROBJECTUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, buffer: GLuint, pname: GLenum, offset: GLintptr),
>;
pub type PFNGLMEMORYBARRIERBYREGIONPROC =
    ::std::option::Option<unsafe extern "C" fn(barriers: GLbitfield)>;
pub type PFNGLGETTEXTURESUBIMAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        pixels: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        bufSize: GLsizei,
        pixels: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETGRAPHICSRESETSTATUSPROC = ::std::option::Option<unsafe extern "C" fn() -> GLenum>;
pub type PFNGLGETNCOMPRESSEDTEXIMAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        lod: GLint,
        bufSize: GLsizei,
        pixels: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNTEXIMAGEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        pixels: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNUNIFORMDVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLdouble),
>;
pub type PFNGLGETNUNIFORMFVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLfloat),
>;
pub type PFNGLGETNUNIFORMIVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLint),
>;
pub type PFNGLGETNUNIFORMUIVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLuint),
>;
pub type PFNGLREADNPIXELSPROC = ::std::option::Option<
    unsafe extern "C" fn(
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        data: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNMAPDVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLdouble),
>;
pub type PFNGLGETNMAPFVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLfloat),
>;
pub type PFNGLGETNMAPIVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLint),
>;
pub type PFNGLGETNPIXELMAPFVPROC = ::std::option::Option<
    unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLfloat),
>;
pub type PFNGLGETNPIXELMAPUIVPROC =
    ::std::option::Option<unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLuint)>;
pub type PFNGLGETNPIXELMAPUSVPROC = ::std::option::Option<
    unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLushort),
>;
pub type PFNGLGETNPOLYGONSTIPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(bufSize: GLsizei, pattern: *mut GLubyte)>;
pub type PFNGLGETNCOLORTABLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        table: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNCONVOLUTIONFILTERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        image: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNSEPARABLEFILTERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        rowBufSize: GLsizei,
        row: *mut ::std::os::raw::c_void,
        columnBufSize: GLsizei,
        column: *mut ::std::os::raw::c_void,
        span: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNHISTOGRAMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        values: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNMINMAXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        values: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXTUREBARRIERPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSPECIALIZESHADERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        pEntryPoint: *const GLchar,
        numSpecializationConstants: GLuint,
        pConstantIndex: *const GLuint,
        pConstantValue: *const GLuint,
    ),
>;
pub type PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const ::std::os::raw::c_void,
        drawcount: GLintptr,
        maxdrawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const ::std::os::raw::c_void,
        drawcount: GLintptr,
        maxdrawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLPOLYGONOFFSETCLAMPPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLfloat, units: GLfloat, clamp: GLfloat)>;
pub type PFNGLPRIMITIVEBOUNDINGBOXARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        minX: GLfloat,
        minY: GLfloat,
        minZ: GLfloat,
        minW: GLfloat,
        maxX: GLfloat,
        maxY: GLfloat,
        maxZ: GLfloat,
        maxW: GLfloat,
    ),
>;
pub type GLuint64EXT = u64;
pub type PFNGLGETTEXTUREHANDLEARBPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLuint64>;
pub type PFNGLGETTEXTURESAMPLERHANDLEARBPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint, sampler: GLuint) -> GLuint64>;
pub type PFNGLMAKETEXTUREHANDLERESIDENTARBPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLGETIMAGEHANDLEARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        layered: GLboolean,
        layer: GLint,
        format: GLenum,
    ) -> GLuint64,
>;
pub type PFNGLMAKEIMAGEHANDLERESIDENTARBPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64, access: GLenum)>;
pub type PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLUNIFORMHANDLEUI64ARBPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, value: GLuint64)>;
pub type PFNGLUNIFORMHANDLEUI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, value: GLuint64)>;
pub type PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, values: *const GLuint64),
>;
pub type PFNGLISTEXTUREHANDLERESIDENTARBPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
pub type PFNGLISIMAGEHANDLERESIDENTARBPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
pub type PFNGLVERTEXATTRIBL1UI64ARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL1UI64VARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
pub type PFNGLGETVERTEXATTRIBLUI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint64EXT),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cl_context {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _cl_event {
    _unused: [u8; 0],
}
pub type PFNGLCREATESYNCFROMCLEVENTARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut _cl_context,
        event: *mut _cl_event,
        flags: GLbitfield,
    ) -> GLsync,
>;
pub type PFNGLCLAMPCOLORARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, clamp: GLenum)>;
pub type PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        num_groups_x: GLuint,
        num_groups_y: GLuint,
        num_groups_z: GLuint,
        group_size_x: GLuint,
        group_size_y: GLuint,
        group_size_z: GLuint,
    ),
>;
pub type GLDEBUGPROCARB = ::std::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        id: GLuint,
        severity: GLenum,
        length: GLsizei,
        message: *const GLchar,
        userParam: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLDEBUGMESSAGECONTROLARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        severity: GLenum,
        count: GLsizei,
        ids: *const GLuint,
        enabled: GLboolean,
    ),
>;
pub type PFNGLDEBUGMESSAGEINSERTARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        source: GLenum,
        type_: GLenum,
        id: GLuint,
        severity: GLenum,
        length: GLsizei,
        buf: *const GLchar,
    ),
>;
pub type PFNGLDEBUGMESSAGECALLBACKARBPROC = ::std::option::Option<
    unsafe extern "C" fn(callback: GLDEBUGPROCARB, userParam: *const ::std::os::raw::c_void),
>;
pub type PFNGLGETDEBUGMESSAGELOGARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        count: GLuint,
        bufSize: GLsizei,
        sources: *mut GLenum,
        types: *mut GLenum,
        ids: *mut GLuint,
        severities: *mut GLenum,
        lengths: *mut GLsizei,
        messageLog: *mut GLchar,
    ) -> GLuint,
>;
pub type PFNGLDRAWBUFFERSARBPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
pub type PFNGLBLENDEQUATIONIARBPROC =
    ::std::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
pub type PFNGLBLENDEQUATIONSEPARATEIARBPROC =
    ::std::option::Option<unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum)>;
pub type PFNGLBLENDFUNCIARBPROC =
    ::std::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
pub type PFNGLBLENDFUNCSEPARATEIARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buf: GLuint,
        srcRGB: GLenum,
        dstRGB: GLenum,
        srcAlpha: GLenum,
        dstAlpha: GLenum,
    ),
>;
pub type PFNGLDRAWARRAYSINSTANCEDARBPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const ::std::os::raw::c_void,
        primcount: GLsizei,
    ),
>;
pub type PFNGLPROGRAMSTRINGARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        len: GLsizei,
        string: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLBINDPROGRAMARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, program: GLuint)>;
pub type PFNGLDELETEPROGRAMSARBPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *const GLuint)>;
pub type PFNGLGENPROGRAMSARBPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *mut GLuint)>;
pub type PFNGLPROGRAMENVPARAMETER4DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLPROGRAMENVPARAMETER4DVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLdouble),
>;
pub type PFNGLPROGRAMENVPARAMETER4FARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLPROGRAMENVPARAMETER4FVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLfloat),
>;
pub type PFNGLPROGRAMLOCALPARAMETER4DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLPROGRAMLOCALPARAMETER4DVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLdouble),
>;
pub type PFNGLPROGRAMLOCALPARAMETER4FARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLPROGRAMLOCALPARAMETER4FVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLfloat),
>;
pub type PFNGLGETPROGRAMENVPARAMETERDVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLdouble),
>;
pub type PFNGLGETPROGRAMENVPARAMETERFVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLfloat),
>;
pub type PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLdouble),
>;
pub type PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLfloat),
>;
pub type PFNGLGETPROGRAMIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETPROGRAMSTRINGARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, string: *mut ::std::os::raw::c_void),
>;
pub type PFNGLISPROGRAMARBPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint) -> GLboolean>;
pub type PFNGLPROGRAMPARAMETERIARBPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, value: GLint)>;
pub type PFNGLFRAMEBUFFERTEXTUREARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
>;
pub type PFNGLFRAMEBUFFERTEXTURELAYERARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        layer: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTUREFACEARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        face: GLenum,
    ),
>;
pub type PFNGLSPECIALIZESHADERARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        pEntryPoint: *const GLchar,
        numSpecializationConstants: GLuint,
        pConstantIndex: *const GLuint,
        pConstantValue: *const GLuint,
    ),
>;
pub type PFNGLUNIFORM1I64ARBPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64)>;
pub type PFNGLUNIFORM2I64ARBPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64, y: GLint64)>;
pub type PFNGLUNIFORM3I64ARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLint64, y: GLint64, z: GLint64),
>;
pub type PFNGLUNIFORM4I64ARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLint64, y: GLint64, z: GLint64, w: GLint64),
>;
pub type PFNGLUNIFORM1I64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLUNIFORM2I64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLUNIFORM3I64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLUNIFORM4I64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLUNIFORM1UI64ARBPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64)>;
pub type PFNGLUNIFORM2UI64ARBPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64, y: GLuint64)>;
pub type PFNGLUNIFORM3UI64ARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLuint64, y: GLuint64, z: GLuint64),
>;
pub type PFNGLUNIFORM4UI64ARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLuint64, y: GLuint64, z: GLuint64, w: GLuint64),
>;
pub type PFNGLUNIFORM1UI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLUNIFORM2UI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLUNIFORM3UI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLUNIFORM4UI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLGETUNIFORMI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLint64),
>;
pub type PFNGLGETUNIFORMUI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint64),
>;
pub type PFNGLGETNUNIFORMI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLint64),
>;
pub type PFNGLGETNUNIFORMUI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM1I64ARBPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64)>;
pub type PFNGLPROGRAMUNIFORM2I64ARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64, y: GLint64),
>;
pub type PFNGLPROGRAMUNIFORM3I64ARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64, y: GLint64, z: GLint64),
>;
pub type PFNGLPROGRAMUNIFORM4I64ARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLint64,
        y: GLint64,
        z: GLint64,
        w: GLint64,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1I64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLPROGRAMUNIFORM2I64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLPROGRAMUNIFORM3I64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLPROGRAMUNIFORM4I64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint64),
>;
pub type PFNGLPROGRAMUNIFORM1UI64ARBPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64)>;
pub type PFNGLPROGRAMUNIFORM2UI64ARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64, y: GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM3UI64ARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64, y: GLuint64, z: GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM4UI64ARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLuint64,
        y: GLuint64,
        z: GLuint64,
        w: GLuint64,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1UI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM2UI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM3UI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLPROGRAMUNIFORM4UI64VARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type GLhalfARB = ::std::os::raw::c_ushort;
pub type PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const ::std::os::raw::c_void,
        drawcount: GLintptr,
        maxdrawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const ::std::os::raw::c_void,
        drawcount: GLintptr,
        maxdrawcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLVERTEXATTRIBDIVISORARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, divisor: GLuint)>;
pub type PFNGLCURRENTPALETTEMATRIXARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLint)>;
pub type PFNGLMATRIXINDEXUBVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, indices: *const GLubyte)>;
pub type PFNGLMATRIXINDEXUSVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, indices: *const GLushort)>;
pub type PFNGLMATRIXINDEXUIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, indices: *const GLuint)>;
pub type PFNGLMATRIXINDEXPOINTERARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLSAMPLECOVERAGEARBPROC =
    ::std::option::Option<unsafe extern "C" fn(value: GLfloat, invert: GLboolean)>;
pub type PFNGLGENQUERIESARBPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLDELETEQUERIESARBPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
pub type PFNGLISQUERYARBPROC = ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLBEGINQUERYARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
pub type PFNGLENDQUERYARBPROC = ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLGETQUERYIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETQUERYOBJECTIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETQUERYOBJECTUIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLMAXSHADERCOMPILERTHREADSARBPROC =
    ::std::option::Option<unsafe extern "C" fn(count: GLuint)>;
pub type PFNGLPOINTPARAMETERFARBPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLPOINTPARAMETERFVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLGETGRAPHICSRESETSTATUSARBPROC =
    ::std::option::Option<unsafe extern "C" fn() -> GLenum>;
pub type PFNGLGETNTEXIMAGEARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        img: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLREADNPIXELSARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        data: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNCOMPRESSEDTEXIMAGEARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        lod: GLint,
        bufSize: GLsizei,
        img: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNUNIFORMFVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLfloat),
>;
pub type PFNGLGETNUNIFORMIVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLint),
>;
pub type PFNGLGETNUNIFORMUIVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLuint),
>;
pub type PFNGLGETNUNIFORMDVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, bufSize: GLsizei, params: *mut GLdouble),
>;
pub type PFNGLGETNMAPDVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLdouble),
>;
pub type PFNGLGETNMAPFVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLfloat),
>;
pub type PFNGLGETNMAPIVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, query: GLenum, bufSize: GLsizei, v: *mut GLint),
>;
pub type PFNGLGETNPIXELMAPFVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLfloat),
>;
pub type PFNGLGETNPIXELMAPUIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLuint)>;
pub type PFNGLGETNPIXELMAPUSVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(map: GLenum, bufSize: GLsizei, values: *mut GLushort),
>;
pub type PFNGLGETNPOLYGONSTIPPLEARBPROC =
    ::std::option::Option<unsafe extern "C" fn(bufSize: GLsizei, pattern: *mut GLubyte)>;
pub type PFNGLGETNCOLORTABLEARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        table: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNCONVOLUTIONFILTERARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        image: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNSEPARABLEFILTERARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        rowBufSize: GLsizei,
        row: *mut ::std::os::raw::c_void,
        columnBufSize: GLsizei,
        column: *mut ::std::os::raw::c_void,
        span: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNHISTOGRAMARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        values: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETNMINMAXARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        bufSize: GLsizei,
        values: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, start: GLuint, count: GLsizei, v: *const GLfloat),
>;
pub type PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, start: GLuint, count: GLsizei, v: *const GLfloat),
>;
pub type PFNGLEVALUATEDEPTHVALUESARBPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLMINSAMPLESHADINGARBPROC = ::std::option::Option<unsafe extern "C" fn(value: GLfloat)>;
pub type GLhandleARB = ::std::os::raw::c_uint;
pub type GLcharARB = ::std::os::raw::c_char;
pub type PFNGLDELETEOBJECTARBPROC = ::std::option::Option<unsafe extern "C" fn(obj: GLhandleARB)>;
pub type PFNGLGETHANDLEARBPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum) -> GLhandleARB>;
pub type PFNGLDETACHOBJECTARBPROC = ::std::option::Option<
    unsafe extern "C" fn(containerObj: GLhandleARB, attachedObj: GLhandleARB),
>;
pub type PFNGLCREATESHADEROBJECTARBPROC =
    ::std::option::Option<unsafe extern "C" fn(shaderType: GLenum) -> GLhandleARB>;
pub type PFNGLSHADERSOURCEARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        shaderObj: GLhandleARB,
        count: GLsizei,
        string: *mut *const GLcharARB,
        length: *const GLint,
    ),
>;
pub type PFNGLCOMPILESHADERARBPROC =
    ::std::option::Option<unsafe extern "C" fn(shaderObj: GLhandleARB)>;
pub type PFNGLCREATEPROGRAMOBJECTARBPROC =
    ::std::option::Option<unsafe extern "C" fn() -> GLhandleARB>;
pub type PFNGLATTACHOBJECTARBPROC =
    ::std::option::Option<unsafe extern "C" fn(containerObj: GLhandleARB, obj: GLhandleARB)>;
pub type PFNGLLINKPROGRAMARBPROC =
    ::std::option::Option<unsafe extern "C" fn(programObj: GLhandleARB)>;
pub type PFNGLUSEPROGRAMOBJECTARBPROC =
    ::std::option::Option<unsafe extern "C" fn(programObj: GLhandleARB)>;
pub type PFNGLVALIDATEPROGRAMARBPROC =
    ::std::option::Option<unsafe extern "C" fn(programObj: GLhandleARB)>;
pub type PFNGLUNIFORM1FARBPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat)>;
pub type PFNGLUNIFORM2FARBPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat)>;
pub type PFNGLUNIFORM3FARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
>;
pub type PFNGLUNIFORM4FARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat, v3: GLfloat),
>;
pub type PFNGLUNIFORM1IARBPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint)>;
pub type PFNGLUNIFORM2IARBPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint)>;
pub type PFNGLUNIFORM3IARBPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint)>;
pub type PFNGLUNIFORM4IARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLint, v1: GLint, v2: GLint, v3: GLint),
>;
pub type PFNGLUNIFORM1FVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM2FVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM3FVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM4FVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLUNIFORM1IVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM2IVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM3IVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORM4IVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLUNIFORMMATRIX2FVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX3FVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLUNIFORMMATRIX4FVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLGETOBJECTPARAMETERFVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(obj: GLhandleARB, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETOBJECTPARAMETERIVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(obj: GLhandleARB, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETINFOLOGARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        obj: GLhandleARB,
        maxLength: GLsizei,
        length: *mut GLsizei,
        infoLog: *mut GLcharARB,
    ),
>;
pub type PFNGLGETATTACHEDOBJECTSARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        containerObj: GLhandleARB,
        maxCount: GLsizei,
        count: *mut GLsizei,
        obj: *mut GLhandleARB,
    ),
>;
pub type PFNGLGETUNIFORMLOCATIONARBPROC = ::std::option::Option<
    unsafe extern "C" fn(programObj: GLhandleARB, name: *const GLcharARB) -> GLint,
>;
pub type PFNGLGETACTIVEUNIFORMARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        programObj: GLhandleARB,
        index: GLuint,
        maxLength: GLsizei,
        length: *mut GLsizei,
        size: *mut GLint,
        type_: *mut GLenum,
        name: *mut GLcharARB,
    ),
>;
pub type PFNGLGETUNIFORMFVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(programObj: GLhandleARB, location: GLint, params: *mut GLfloat),
>;
pub type PFNGLGETUNIFORMIVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(programObj: GLhandleARB, location: GLint, params: *mut GLint),
>;
pub type PFNGLGETSHADERSOURCEARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        obj: GLhandleARB,
        maxLength: GLsizei,
        length: *mut GLsizei,
        source: *mut GLcharARB,
    ),
>;
pub type PFNGLNAMEDSTRINGARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        namelen: GLint,
        name: *const GLchar,
        stringlen: GLint,
        string: *const GLchar,
    ),
>;
pub type PFNGLDELETENAMEDSTRINGARBPROC =
    ::std::option::Option<unsafe extern "C" fn(namelen: GLint, name: *const GLchar)>;
pub type PFNGLCOMPILESHADERINCLUDEARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        shader: GLuint,
        count: GLsizei,
        path: *const *const GLchar,
        length: *const GLint,
    ),
>;
pub type PFNGLISNAMEDSTRINGARBPROC =
    ::std::option::Option<unsafe extern "C" fn(namelen: GLint, name: *const GLchar) -> GLboolean>;
pub type PFNGLGETNAMEDSTRINGARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        namelen: GLint,
        name: *const GLchar,
        bufSize: GLsizei,
        stringlen: *mut GLint,
        string: *mut GLchar,
    ),
>;
pub type PFNGLGETNAMEDSTRINGIVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(namelen: GLint, name: *const GLchar, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLBUFFERPAGECOMMITMENTARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, offset: GLintptr, size: GLsizeiptr, commit: GLboolean),
>;
pub type PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, size: GLsizeiptr, commit: GLboolean),
>;
pub type PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, size: GLsizeiptr, commit: GLboolean),
>;
pub type PFNGLTEXPAGECOMMITMENTARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        commit: GLboolean,
    ),
>;
pub type PFNGLTEXBUFFERARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLCOMPRESSEDTEXIMAGE3DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXIMAGE2DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXIMAGE1DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETCOMPRESSEDTEXIMAGEARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, level: GLint, img: *mut ::std::os::raw::c_void),
>;
pub type PFNGLLOADTRANSPOSEMATRIXFARBPROC =
    ::std::option::Option<unsafe extern "C" fn(m: *const GLfloat)>;
pub type PFNGLLOADTRANSPOSEMATRIXDARBPROC =
    ::std::option::Option<unsafe extern "C" fn(m: *const GLdouble)>;
pub type PFNGLMULTTRANSPOSEMATRIXFARBPROC =
    ::std::option::Option<unsafe extern "C" fn(m: *const GLfloat)>;
pub type PFNGLMULTTRANSPOSEMATRIXDARBPROC =
    ::std::option::Option<unsafe extern "C" fn(m: *const GLdouble)>;
pub type PFNGLWEIGHTBVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLbyte)>;
pub type PFNGLWEIGHTSVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLshort)>;
pub type PFNGLWEIGHTIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLint)>;
pub type PFNGLWEIGHTFVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLfloat)>;
pub type PFNGLWEIGHTDVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLdouble)>;
pub type PFNGLWEIGHTUBVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLubyte)>;
pub type PFNGLWEIGHTUSVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLushort)>;
pub type PFNGLWEIGHTUIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, weights: *const GLuint)>;
pub type PFNGLWEIGHTPOINTERARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLVERTEXBLENDARBPROC = ::std::option::Option<unsafe extern "C" fn(count: GLint)>;
pub type GLsizeiptrARB = isize;
pub type GLintptrARB = isize;
pub type PFNGLBINDBUFFERARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, buffer: GLuint)>;
pub type PFNGLDELETEBUFFERSARBPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *const GLuint)>;
pub type PFNGLGENBUFFERSARBPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, buffers: *mut GLuint)>;
pub type PFNGLISBUFFERARBPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLBUFFERDATAARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        size: GLsizeiptrARB,
        data: *const ::std::os::raw::c_void,
        usage: GLenum,
    ),
>;
pub type PFNGLBUFFERSUBDATAARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptrARB,
        size: GLsizeiptrARB,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETBUFFERSUBDATAARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptrARB,
        size: GLsizeiptrARB,
        data: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMAPBUFFERARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, access: GLenum) -> *mut ::std::os::raw::c_void,
>;
pub type PFNGLUNMAPBUFFERARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLboolean>;
pub type PFNGLGETBUFFERPARAMETERIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETBUFFERPOINTERVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLVERTEXATTRIB1DARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
pub type PFNGLVERTEXATTRIB1DVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB1FARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat)>;
pub type PFNGLVERTEXATTRIB1FVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB1SARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort)>;
pub type PFNGLVERTEXATTRIB1SVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB2DARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXATTRIB2DVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB2FARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat)>;
pub type PFNGLVERTEXATTRIB2FVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB2SARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort)>;
pub type PFNGLVERTEXATTRIB2SVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB3DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXATTRIB3DVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB3FARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLVERTEXATTRIB3FVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB3SARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLVERTEXATTRIB3SVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4NBVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIB4NIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIB4NSVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4NUBARBPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLubyte, y: GLubyte, z: GLubyte, w: GLubyte),
>;
pub type PFNGLVERTEXATTRIB4NUBVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIB4NUIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIB4NUSVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLVERTEXATTRIB4BVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIB4DARBPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXATTRIB4DVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB4FARBPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
>;
pub type PFNGLVERTEXATTRIB4FVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB4IVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIB4SARBPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
>;
pub type PFNGLVERTEXATTRIB4SVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4UBVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIB4UIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIB4USVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLVERTEXATTRIBPOINTERARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLENABLEVERTEXATTRIBARRAYARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLDISABLEVERTEXATTRIBARRAYARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLGETVERTEXATTRIBDVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLGETVERTEXATTRIBFVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETVERTEXATTRIBIVARBPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETVERTEXATTRIBPOINTERVARBPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, pointer: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLBINDATTRIBLOCATIONARBPROC = ::std::option::Option<
    unsafe extern "C" fn(programObj: GLhandleARB, index: GLuint, name: *const GLcharARB),
>;
pub type PFNGLGETACTIVEATTRIBARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        programObj: GLhandleARB,
        index: GLuint,
        maxLength: GLsizei,
        length: *mut GLsizei,
        size: *mut GLint,
        type_: *mut GLenum,
        name: *mut GLcharARB,
    ),
>;
pub type PFNGLGETATTRIBLOCATIONARBPROC = ::std::option::Option<
    unsafe extern "C" fn(programObj: GLhandleARB, name: *const GLcharARB) -> GLint,
>;
pub type PFNGLWINDOWPOS2DARBPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
pub type PFNGLWINDOWPOS2DVARBPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS2FARBPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
pub type PFNGLWINDOWPOS2FVARBPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS2IARBPROC = ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
pub type PFNGLWINDOWPOS2IVARBPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS2SARBPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
pub type PFNGLWINDOWPOS2SVARBPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLWINDOWPOS3DARBPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
pub type PFNGLWINDOWPOS3DVARBPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS3FARBPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLWINDOWPOS3FVARBPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS3IARBPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
pub type PFNGLWINDOWPOS3IVARBPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS3SARBPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLWINDOWPOS3SVARBPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLBLENDBARRIERKHRPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLMAXSHADERCOMPILERTHREADSKHRPROC =
    ::std::option::Option<unsafe extern "C" fn(count: GLuint)>;
pub type PFNGLMULTITEXCOORD1BOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLbyte)>;
pub type PFNGLMULTITEXCOORD1BVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
pub type PFNGLMULTITEXCOORD2BOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLbyte, t: GLbyte)>;
pub type PFNGLMULTITEXCOORD2BVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
pub type PFNGLMULTITEXCOORD3BOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLbyte, t: GLbyte, r: GLbyte)>;
pub type PFNGLMULTITEXCOORD3BVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
pub type PFNGLMULTITEXCOORD4BOESPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLenum, s: GLbyte, t: GLbyte, r: GLbyte, q: GLbyte),
>;
pub type PFNGLMULTITEXCOORD4BVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLbyte)>;
pub type PFNGLTEXCOORD1BOESPROC = ::std::option::Option<unsafe extern "C" fn(s: GLbyte)>;
pub type PFNGLTEXCOORD1BVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLTEXCOORD2BOESPROC = ::std::option::Option<unsafe extern "C" fn(s: GLbyte, t: GLbyte)>;
pub type PFNGLTEXCOORD2BVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLTEXCOORD3BOESPROC =
    ::std::option::Option<unsafe extern "C" fn(s: GLbyte, t: GLbyte, r: GLbyte)>;
pub type PFNGLTEXCOORD3BVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLTEXCOORD4BOESPROC =
    ::std::option::Option<unsafe extern "C" fn(s: GLbyte, t: GLbyte, r: GLbyte, q: GLbyte)>;
pub type PFNGLTEXCOORD4BVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLVERTEX2BOESPROC = ::std::option::Option<unsafe extern "C" fn(x: GLbyte, y: GLbyte)>;
pub type PFNGLVERTEX2BVOESPROC = ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLVERTEX3BOESPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLbyte, y: GLbyte, z: GLbyte)>;
pub type PFNGLVERTEX3BVOESPROC = ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type PFNGLVERTEX4BOESPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLbyte, y: GLbyte, z: GLbyte, w: GLbyte)>;
pub type PFNGLVERTEX4BVOESPROC = ::std::option::Option<unsafe extern "C" fn(coords: *const GLbyte)>;
pub type GLfixed = GLint;
pub type PFNGLALPHAFUNCXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLfixed)>;
pub type PFNGLCLEARCOLORXOESPROC = ::std::option::Option<
    unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
>;
pub type PFNGLCLEARDEPTHXOESPROC = ::std::option::Option<unsafe extern "C" fn(depth: GLfixed)>;
pub type PFNGLCLIPPLANEXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *const GLfixed)>;
pub type PFNGLCOLOR4XOESPROC = ::std::option::Option<
    unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
>;
pub type PFNGLDEPTHRANGEXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLfixed, f: GLfixed)>;
pub type PFNGLFOGXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
pub type PFNGLFOGXVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfixed)>;
pub type PFNGLFRUSTUMXOESPROC = ::std::option::Option<
    unsafe extern "C" fn(l: GLfixed, r: GLfixed, b: GLfixed, t: GLfixed, n: GLfixed, f: GLfixed),
>;
pub type PFNGLGETCLIPPLANEXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *mut GLfixed)>;
pub type PFNGLGETFIXEDVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLfixed)>;
pub type PFNGLGETTEXENVXVOESPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
>;
pub type PFNGLGETTEXPARAMETERXVOESPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
>;
pub type PFNGLLIGHTMODELXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
pub type PFNGLLIGHTMODELXVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfixed)>;
pub type PFNGLLIGHTXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLLIGHTXVOESPROC = ::std::option::Option<
    unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLfixed),
>;
pub type PFNGLLINEWIDTHXOESPROC = ::std::option::Option<unsafe extern "C" fn(width: GLfixed)>;
pub type PFNGLLOADMATRIXXOESPROC = ::std::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
pub type PFNGLMATERIALXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLMATERIALXVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: *const GLfixed)>;
pub type PFNGLMULTMATRIXXOESPROC = ::std::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
pub type PFNGLMULTITEXCOORD4XOESPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLenum, s: GLfixed, t: GLfixed, r: GLfixed, q: GLfixed),
>;
pub type PFNGLNORMAL3XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(nx: GLfixed, ny: GLfixed, nz: GLfixed)>;
pub type PFNGLORTHOXOESPROC = ::std::option::Option<
    unsafe extern "C" fn(l: GLfixed, r: GLfixed, b: GLfixed, t: GLfixed, n: GLfixed, f: GLfixed),
>;
pub type PFNGLPOINTPARAMETERXVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfixed)>;
pub type PFNGLPOINTSIZEXOESPROC = ::std::option::Option<unsafe extern "C" fn(size: GLfixed)>;
pub type PFNGLPOLYGONOFFSETXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLfixed, units: GLfixed)>;
pub type PFNGLROTATEXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(angle: GLfixed, x: GLfixed, y: GLfixed, z: GLfixed)>;
pub type PFNGLSCALEXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
pub type PFNGLTEXENVXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLTEXENVXVOESPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
>;
pub type PFNGLTEXPARAMETERXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLTEXPARAMETERXVOESPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
>;
pub type PFNGLTRANSLATEXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
pub type PFNGLACCUMXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(op: GLenum, value: GLfixed)>;
pub type PFNGLBITMAPXOESPROC = ::std::option::Option<
    unsafe extern "C" fn(
        width: GLsizei,
        height: GLsizei,
        xorig: GLfixed,
        yorig: GLfixed,
        xmove: GLfixed,
        ymove: GLfixed,
        bitmap: *const GLubyte,
    ),
>;
pub type PFNGLBLENDCOLORXOESPROC = ::std::option::Option<
    unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
>;
pub type PFNGLCLEARACCUMXOESPROC = ::std::option::Option<
    unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed, alpha: GLfixed),
>;
pub type PFNGLCOLOR3XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLfixed, green: GLfixed, blue: GLfixed)>;
pub type PFNGLCOLOR3XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(components: *const GLfixed)>;
pub type PFNGLCOLOR4XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(components: *const GLfixed)>;
pub type PFNGLCONVOLUTIONPARAMETERXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLCONVOLUTIONPARAMETERXVOESPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfixed),
>;
pub type PFNGLEVALCOORD1XOESPROC = ::std::option::Option<unsafe extern "C" fn(u: GLfixed)>;
pub type PFNGLEVALCOORD1XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLEVALCOORD2XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(u: GLfixed, v: GLfixed)>;
pub type PFNGLEVALCOORD2XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLFEEDBACKBUFFERXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, type_: GLenum, buffer: *const GLfixed)>;
pub type PFNGLGETCONVOLUTIONPARAMETERXVOESPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
>;
pub type PFNGLGETHISTOGRAMPARAMETERXVOESPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfixed),
>;
pub type PFNGLGETLIGHTXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLfixed)>;
pub type PFNGLGETMAPXVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, query: GLenum, v: *mut GLfixed)>;
pub type PFNGLGETMATERIALXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLGETPIXELMAPXVPROC =
    ::std::option::Option<unsafe extern "C" fn(map: GLenum, size: GLint, values: *mut GLfixed)>;
pub type PFNGLGETTEXGENXVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *mut GLfixed)>;
pub type PFNGLGETTEXLEVELPARAMETERXVOESPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, level: GLint, pname: GLenum, params: *mut GLfixed),
>;
pub type PFNGLINDEXXOESPROC = ::std::option::Option<unsafe extern "C" fn(component: GLfixed)>;
pub type PFNGLINDEXXVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(component: *const GLfixed)>;
pub type PFNGLLOADTRANSPOSEMATRIXXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
pub type PFNGLMAP1XOESPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        u1: GLfixed,
        u2: GLfixed,
        stride: GLint,
        order: GLint,
        points: GLfixed,
    ),
>;
pub type PFNGLMAP2XOESPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        u1: GLfixed,
        u2: GLfixed,
        ustride: GLint,
        uorder: GLint,
        v1: GLfixed,
        v2: GLfixed,
        vstride: GLint,
        vorder: GLint,
        points: GLfixed,
    ),
>;
pub type PFNGLMAPGRID1XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLint, u1: GLfixed, u2: GLfixed)>;
pub type PFNGLMAPGRID2XOESPROC = ::std::option::Option<
    unsafe extern "C" fn(n: GLint, u1: GLfixed, u2: GLfixed, v1: GLfixed, v2: GLfixed),
>;
pub type PFNGLMULTTRANSPOSEMATRIXXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(m: *const GLfixed)>;
pub type PFNGLMULTITEXCOORD1XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLfixed)>;
pub type PFNGLMULTITEXCOORD1XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
pub type PFNGLMULTITEXCOORD2XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, s: GLfixed, t: GLfixed)>;
pub type PFNGLMULTITEXCOORD2XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
pub type PFNGLMULTITEXCOORD3XOESPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLenum, s: GLfixed, t: GLfixed, r: GLfixed),
>;
pub type PFNGLMULTITEXCOORD3XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
pub type PFNGLMULTITEXCOORD4XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLenum, coords: *const GLfixed)>;
pub type PFNGLNORMAL3XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLPASSTHROUGHXOESPROC = ::std::option::Option<unsafe extern "C" fn(token: GLfixed)>;
pub type PFNGLPIXELMAPXPROC =
    ::std::option::Option<unsafe extern "C" fn(map: GLenum, size: GLint, values: *const GLfixed)>;
pub type PFNGLPIXELSTOREXPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
pub type PFNGLPIXELTRANSFERXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfixed)>;
pub type PFNGLPIXELZOOMXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(xfactor: GLfixed, yfactor: GLfixed)>;
pub type PFNGLPRIORITIZETEXTURESXOESPROC = ::std::option::Option<
    unsafe extern "C" fn(n: GLsizei, textures: *const GLuint, priorities: *const GLfixed),
>;
pub type PFNGLRASTERPOS2XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed)>;
pub type PFNGLRASTERPOS2XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLRASTERPOS3XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
pub type PFNGLRASTERPOS3XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLRASTERPOS4XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed, w: GLfixed)>;
pub type PFNGLRASTERPOS4XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLRECTXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(x1: GLfixed, y1: GLfixed, x2: GLfixed, y2: GLfixed)>;
pub type PFNGLRECTXVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(v1: *const GLfixed, v2: *const GLfixed)>;
pub type PFNGLTEXCOORD1XOESPROC = ::std::option::Option<unsafe extern "C" fn(s: GLfixed)>;
pub type PFNGLTEXCOORD1XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLTEXCOORD2XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(s: GLfixed, t: GLfixed)>;
pub type PFNGLTEXCOORD2XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLTEXCOORD3XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(s: GLfixed, t: GLfixed, r: GLfixed)>;
pub type PFNGLTEXCOORD3XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLTEXCOORD4XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(s: GLfixed, t: GLfixed, r: GLfixed, q: GLfixed)>;
pub type PFNGLTEXCOORD4XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLTEXGENXOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coord: GLenum, pname: GLenum, param: GLfixed)>;
pub type PFNGLTEXGENXVOESPROC = ::std::option::Option<
    unsafe extern "C" fn(coord: GLenum, pname: GLenum, params: *const GLfixed),
>;
pub type PFNGLVERTEX2XOESPROC = ::std::option::Option<unsafe extern "C" fn(x: GLfixed)>;
pub type PFNGLVERTEX2XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLVERTEX3XOESPROC = ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed)>;
pub type PFNGLVERTEX3XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLVERTEX4XOESPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfixed, y: GLfixed, z: GLfixed)>;
pub type PFNGLVERTEX4XVOESPROC =
    ::std::option::Option<unsafe extern "C" fn(coords: *const GLfixed)>;
pub type PFNGLQUERYMATRIXXOESPROC = ::std::option::Option<
    unsafe extern "C" fn(mantissa: *mut GLfixed, exponent: *mut GLint) -> GLbitfield,
>;
pub type PFNGLCLEARDEPTHFOESPROC = ::std::option::Option<unsafe extern "C" fn(depth: GLclampf)>;
pub type PFNGLCLIPPLANEFOESPROC =
    ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *const GLfloat)>;
pub type PFNGLDEPTHRANGEFOESPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLclampf, f: GLclampf)>;
pub type PFNGLFRUSTUMFOESPROC = ::std::option::Option<
    unsafe extern "C" fn(l: GLfloat, r: GLfloat, b: GLfloat, t: GLfloat, n: GLfloat, f: GLfloat),
>;
pub type PFNGLGETCLIPPLANEFOESPROC =
    ::std::option::Option<unsafe extern "C" fn(plane: GLenum, equation: *mut GLfloat)>;
pub type PFNGLORTHOFOESPROC = ::std::option::Option<
    unsafe extern "C" fn(l: GLfloat, r: GLfloat, b: GLfloat, t: GLfloat, n: GLfloat, f: GLfloat),
>;
pub type PFNGLTBUFFERMASK3DFXPROC = ::std::option::Option<unsafe extern "C" fn(mask: GLuint)>;
pub type GLDEBUGPROCAMD = ::std::option::Option<
    unsafe extern "C" fn(
        id: GLuint,
        category: GLenum,
        severity: GLenum,
        length: GLsizei,
        message: *const GLchar,
        userParam: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLDEBUGMESSAGEENABLEAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        category: GLenum,
        severity: GLenum,
        count: GLsizei,
        ids: *const GLuint,
        enabled: GLboolean,
    ),
>;
pub type PFNGLDEBUGMESSAGEINSERTAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        category: GLenum,
        severity: GLenum,
        id: GLuint,
        length: GLsizei,
        buf: *const GLchar,
    ),
>;
pub type PFNGLDEBUGMESSAGECALLBACKAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(callback: GLDEBUGPROCAMD, userParam: *mut ::std::os::raw::c_void),
>;
pub type PFNGLGETDEBUGMESSAGELOGAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        count: GLuint,
        bufsize: GLsizei,
        categories: *mut GLenum,
        severities: *mut GLuint,
        ids: *mut GLuint,
        lengths: *mut GLsizei,
        message: *mut GLchar,
    ) -> GLuint,
>;
pub type PFNGLBLENDFUNCINDEXEDAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(buf: GLuint, src: GLenum, dst: GLenum)>;
pub type PFNGLBLENDFUNCSEPARATEINDEXEDAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buf: GLuint,
        srcRGB: GLenum,
        dstRGB: GLenum,
        srcAlpha: GLenum,
        dstAlpha: GLenum,
    ),
>;
pub type PFNGLBLENDEQUATIONINDEXEDAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(buf: GLuint, mode: GLenum)>;
pub type PFNGLBLENDEQUATIONSEPARATEINDEXEDAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(buf: GLuint, modeRGB: GLenum, modeAlpha: GLenum)>;
pub type PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        storageSamples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        samples: GLsizei,
        storageSamples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        numsamples: GLuint,
        pixelindex: GLuint,
        values: *const GLfloat,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        numsamples: GLuint,
        pixelindex: GLuint,
        values: *const GLfloat,
    ),
>;
pub type PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        pname: GLenum,
        numsamples: GLuint,
        pixelindex: GLuint,
        size: GLsizei,
        values: *mut GLfloat,
    ),
>;
pub type PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        pname: GLenum,
        numsamples: GLuint,
        pixelindex: GLuint,
        size: GLsizei,
        values: *mut GLfloat,
    ),
>;
pub type GLint64EXT = i64;
pub type PFNGLUNIFORM1I64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64EXT)>;
pub type PFNGLUNIFORM2I64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLint64EXT, y: GLint64EXT)>;
pub type PFNGLUNIFORM3I64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLint64EXT, y: GLint64EXT, z: GLint64EXT),
>;
pub type PFNGLUNIFORM4I64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        x: GLint64EXT,
        y: GLint64EXT,
        z: GLint64EXT,
        w: GLint64EXT,
    ),
>;
pub type PFNGLUNIFORM1I64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
>;
pub type PFNGLUNIFORM2I64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
>;
pub type PFNGLUNIFORM3I64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
>;
pub type PFNGLUNIFORM4I64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLint64EXT),
>;
pub type PFNGLUNIFORM1UI64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64EXT)>;
pub type PFNGLUNIFORM2UI64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, x: GLuint64EXT, y: GLuint64EXT)>;
pub type PFNGLUNIFORM3UI64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, x: GLuint64EXT, y: GLuint64EXT, z: GLuint64EXT),
>;
pub type PFNGLUNIFORM4UI64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        location: GLint,
        x: GLuint64EXT,
        y: GLuint64EXT,
        z: GLuint64EXT,
        w: GLuint64EXT,
    ),
>;
pub type PFNGLUNIFORM1UI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
>;
pub type PFNGLUNIFORM2UI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
>;
pub type PFNGLUNIFORM3UI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
>;
pub type PFNGLUNIFORM4UI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
>;
pub type PFNGLGETUNIFORMI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLint64EXT),
>;
pub type PFNGLGETUNIFORMUI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint64EXT),
>;
pub type PFNGLPROGRAMUNIFORM1I64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64EXT)>;
pub type PFNGLPROGRAMUNIFORM2I64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLint64EXT, y: GLint64EXT),
>;
pub type PFNGLPROGRAMUNIFORM3I64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLint64EXT,
        y: GLint64EXT,
        z: GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4I64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLint64EXT,
        y: GLint64EXT,
        z: GLint64EXT,
        w: GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1I64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM2I64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM3I64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4I64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1UI64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64EXT)>;
pub type PFNGLPROGRAMUNIFORM2UI64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLuint64EXT, y: GLuint64EXT),
>;
pub type PFNGLPROGRAMUNIFORM3UI64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLuint64EXT,
        y: GLuint64EXT,
        z: GLuint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4UI64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLuint64EXT,
        y: GLuint64EXT,
        z: GLuint64EXT,
        w: GLuint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1UI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLuint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM2UI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLuint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM3UI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLuint64EXT,
    ),
>;
pub type PFNGLPROGRAMUNIFORM4UI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLuint64EXT,
    ),
>;
pub type PFNGLVERTEXATTRIBPARAMETERIAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const ::std::os::raw::c_void,
        primcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const ::std::os::raw::c_void,
        primcount: GLsizei,
        stride: GLsizei,
    ),
>;
pub type PFNGLGENNAMESAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(identifier: GLenum, num: GLuint, names: *mut GLuint),
>;
pub type PFNGLDELETENAMESAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(identifier: GLenum, num: GLuint, names: *const GLuint),
>;
pub type PFNGLISNAMEAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(identifier: GLenum, name: GLuint) -> GLboolean>;
pub type PFNGLQUERYOBJECTPARAMETERUIAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, id: GLuint, pname: GLenum, param: GLuint),
>;
pub type PFNGLGETPERFMONITORGROUPSAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(numGroups: *mut GLint, groupsSize: GLsizei, groups: *mut GLuint),
>;
pub type PFNGLGETPERFMONITORCOUNTERSAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        group: GLuint,
        numCounters: *mut GLint,
        maxActiveCounters: *mut GLint,
        counterSize: GLsizei,
        counters: *mut GLuint,
    ),
>;
pub type PFNGLGETPERFMONITORGROUPSTRINGAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        group: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        groupString: *mut GLchar,
    ),
>;
pub type PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        group: GLuint,
        counter: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        counterString: *mut GLchar,
    ),
>;
pub type PFNGLGETPERFMONITORCOUNTERINFOAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        group: GLuint,
        counter: GLuint,
        pname: GLenum,
        data: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGENPERFMONITORSAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, monitors: *mut GLuint)>;
pub type PFNGLDELETEPERFMONITORSAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, monitors: *mut GLuint)>;
pub type PFNGLSELECTPERFMONITORCOUNTERSAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        monitor: GLuint,
        enable: GLboolean,
        group: GLuint,
        numCounters: GLint,
        counterList: *mut GLuint,
    ),
>;
pub type PFNGLBEGINPERFMONITORAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(monitor: GLuint)>;
pub type PFNGLENDPERFMONITORAMDPROC = ::std::option::Option<unsafe extern "C" fn(monitor: GLuint)>;
pub type PFNGLGETPERFMONITORCOUNTERDATAAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        monitor: GLuint,
        pname: GLenum,
        dataSize: GLsizei,
        data: *mut GLuint,
        bytesWritten: *mut GLint,
    ),
>;
pub type PFNGLSETMULTISAMPLEFVAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, index: GLuint, val: *const GLfloat)>;
pub type PFNGLTEXSTORAGESPARSEAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        layers: GLsizei,
        flags: GLbitfield,
    ),
>;
pub type PFNGLTEXTURESTORAGESPARSEAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        layers: GLsizei,
        flags: GLbitfield,
    ),
>;
pub type PFNGLSTENCILOPVALUEAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, value: GLuint)>;
pub type PFNGLTESSELLATIONFACTORAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLfloat)>;
pub type PFNGLTESSELLATIONMODEAMDPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLELEMENTPOINTERAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(type_: GLenum, pointer: *const ::std::os::raw::c_void),
>;
pub type PFNGLDRAWELEMENTARRAYAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei)>;
pub type PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, start: GLuint, end: GLuint, first: GLint, count: GLsizei),
>;
pub type PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        first: *const GLint,
        count: *const GLsizei,
        primcount: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        start: GLuint,
        end: GLuint,
        first: *const GLint,
        count: *const GLsizei,
        primcount: GLsizei,
    ),
>;
pub type PFNGLGENFENCESAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *mut GLuint)>;
pub type PFNGLDELETEFENCESAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *const GLuint)>;
pub type PFNGLSETFENCEAPPLEPROC = ::std::option::Option<unsafe extern "C" fn(fence: GLuint)>;
pub type PFNGLISFENCEAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
pub type PFNGLTESTFENCEAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
pub type PFNGLFINISHFENCEAPPLEPROC = ::std::option::Option<unsafe extern "C" fn(fence: GLuint)>;
pub type PFNGLTESTOBJECTAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(object: GLenum, name: GLuint) -> GLboolean>;
pub type PFNGLFINISHOBJECTAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(object: GLenum, name: GLint)>;
pub type PFNGLBUFFERPARAMETERIAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, offset: GLintptr, size: GLsizeiptr)>;
pub type PFNGLOBJECTPURGEABLEAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(objectType: GLenum, name: GLuint, option: GLenum) -> GLenum,
>;
pub type PFNGLOBJECTUNPURGEABLEAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(objectType: GLenum, name: GLuint, option: GLenum) -> GLenum,
>;
pub type PFNGLGETOBJECTPARAMETERIVAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(objectType: GLenum, name: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLTEXTURERANGEAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, length: GLsizei, pointer: *const ::std::os::raw::c_void),
>;
pub type PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLBINDVERTEXARRAYAPPLEPROC = ::std::option::Option<unsafe extern "C" fn(array: GLuint)>;
pub type PFNGLDELETEVERTEXARRAYSAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *const GLuint)>;
pub type PFNGLGENVERTEXARRAYSAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, arrays: *mut GLuint)>;
pub type PFNGLISVERTEXARRAYAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(array: GLuint) -> GLboolean>;
pub type PFNGLVERTEXARRAYRANGEAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(length: GLsizei, pointer: *mut ::std::os::raw::c_void),
>;
pub type PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(length: GLsizei, pointer: *mut ::std::os::raw::c_void),
>;
pub type PFNGLVERTEXARRAYPARAMETERIAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLENABLEVERTEXATTRIBAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum)>;
pub type PFNGLDISABLEVERTEXATTRIBAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum)>;
pub type PFNGLISVERTEXATTRIBENABLEDAPPLEPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum) -> GLboolean>;
pub type PFNGLMAPVERTEXATTRIB1DAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLuint,
        u1: GLdouble,
        u2: GLdouble,
        stride: GLint,
        order: GLint,
        points: *const GLdouble,
    ),
>;
pub type PFNGLMAPVERTEXATTRIB1FAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLuint,
        u1: GLfloat,
        u2: GLfloat,
        stride: GLint,
        order: GLint,
        points: *const GLfloat,
    ),
>;
pub type PFNGLMAPVERTEXATTRIB2DAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLuint,
        u1: GLdouble,
        u2: GLdouble,
        ustride: GLint,
        uorder: GLint,
        v1: GLdouble,
        v2: GLdouble,
        vstride: GLint,
        vorder: GLint,
        points: *const GLdouble,
    ),
>;
pub type PFNGLMAPVERTEXATTRIB2FAPPLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLuint,
        u1: GLfloat,
        u2: GLfloat,
        ustride: GLint,
        uorder: GLint,
        v1: GLfloat,
        v2: GLfloat,
        vstride: GLint,
        vorder: GLint,
        points: *const GLfloat,
    ),
>;
pub type PFNGLDRAWBUFFERSATIPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, bufs: *const GLenum)>;
pub type PFNGLELEMENTPOINTERATIPROC = ::std::option::Option<
    unsafe extern "C" fn(type_: GLenum, pointer: *const ::std::os::raw::c_void),
>;
pub type PFNGLDRAWELEMENTARRAYATIPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, count: GLsizei)>;
pub type PFNGLDRAWRANGEELEMENTARRAYATIPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei),
>;
pub type PFNGLTEXBUMPPARAMETERIVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLint)>;
pub type PFNGLTEXBUMPPARAMETERFVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *const GLfloat)>;
pub type PFNGLGETTEXBUMPPARAMETERIVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *mut GLint)>;
pub type PFNGLGETTEXBUMPPARAMETERFVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: *mut GLfloat)>;
pub type PFNGLGENFRAGMENTSHADERSATIPROC =
    ::std::option::Option<unsafe extern "C" fn(range: GLuint) -> GLuint>;
pub type PFNGLBINDFRAGMENTSHADERATIPROC = ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLDELETEFRAGMENTSHADERATIPROC = ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLBEGINFRAGMENTSHADERATIPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLENDFRAGMENTSHADERATIPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLPASSTEXCOORDATIPROC =
    ::std::option::Option<unsafe extern "C" fn(dst: GLuint, coord: GLuint, swizzle: GLenum)>;
pub type PFNGLSAMPLEMAPATIPROC =
    ::std::option::Option<unsafe extern "C" fn(dst: GLuint, interp: GLuint, swizzle: GLenum)>;
pub type PFNGLCOLORFRAGMENTOP1ATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMask: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
    ),
>;
pub type PFNGLCOLORFRAGMENTOP2ATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMask: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
        arg2: GLuint,
        arg2Rep: GLuint,
        arg2Mod: GLuint,
    ),
>;
pub type PFNGLCOLORFRAGMENTOP3ATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMask: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
        arg2: GLuint,
        arg2Rep: GLuint,
        arg2Mod: GLuint,
        arg3: GLuint,
        arg3Rep: GLuint,
        arg3Mod: GLuint,
    ),
>;
pub type PFNGLALPHAFRAGMENTOP1ATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
    ),
>;
pub type PFNGLALPHAFRAGMENTOP2ATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
        arg2: GLuint,
        arg2Rep: GLuint,
        arg2Mod: GLuint,
    ),
>;
pub type PFNGLALPHAFRAGMENTOP3ATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        op: GLenum,
        dst: GLuint,
        dstMod: GLuint,
        arg1: GLuint,
        arg1Rep: GLuint,
        arg1Mod: GLuint,
        arg2: GLuint,
        arg2Rep: GLuint,
        arg2Mod: GLuint,
        arg3: GLuint,
        arg3Rep: GLuint,
        arg3Mod: GLuint,
    ),
>;
pub type PFNGLSETFRAGMENTSHADERCONSTANTATIPROC =
    ::std::option::Option<unsafe extern "C" fn(dst: GLuint, value: *const GLfloat)>;
pub type PFNGLMAPOBJECTBUFFERATIPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> *mut ::std::os::raw::c_void>;
pub type PFNGLUNMAPOBJECTBUFFERATIPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
pub type PFNGLPNTRIANGLESIATIPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLPNTRIANGLESFATIPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLSTENCILOPSEPARATEATIPROC = ::std::option::Option<
    unsafe extern "C" fn(face: GLenum, sfail: GLenum, dpfail: GLenum, dppass: GLenum),
>;
pub type PFNGLSTENCILFUNCSEPARATEATIPROC = ::std::option::Option<
    unsafe extern "C" fn(frontfunc: GLenum, backfunc: GLenum, ref_: GLint, mask: GLuint),
>;
pub type PFNGLNEWOBJECTBUFFERATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLsizei,
        pointer: *const ::std::os::raw::c_void,
        usage: GLenum,
    ) -> GLuint,
>;
pub type PFNGLISOBJECTBUFFERATIPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLUPDATEOBJECTBUFFERATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLuint,
        size: GLsizei,
        pointer: *const ::std::os::raw::c_void,
        preserve: GLenum,
    ),
>;
pub type PFNGLGETOBJECTBUFFERFVATIPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETOBJECTBUFFERIVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLFREEOBJECTBUFFERATIPROC = ::std::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
pub type PFNGLARRAYOBJECTATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        array: GLenum,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        buffer: GLuint,
        offset: GLuint,
    ),
>;
pub type PFNGLGETARRAYOBJECTFVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(array: GLenum, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETARRAYOBJECTIVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(array: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLVARIANTARRAYOBJECTATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        id: GLuint,
        type_: GLenum,
        stride: GLsizei,
        buffer: GLuint,
        offset: GLuint,
    ),
>;
pub type PFNGLGETVARIANTARRAYOBJECTFVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETVARIANTARRAYOBJECTIVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLVERTEXATTRIBARRAYOBJECTATIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        stride: GLsizei,
        buffer: GLuint,
        offset: GLuint,
    ),
>;
pub type PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLVERTEXSTREAM1SATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLshort)>;
pub type PFNGLVERTEXSTREAM1SVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
pub type PFNGLVERTEXSTREAM1IATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLint)>;
pub type PFNGLVERTEXSTREAM1IVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
pub type PFNGLVERTEXSTREAM1FATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLfloat)>;
pub type PFNGLVERTEXSTREAM1FVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
pub type PFNGLVERTEXSTREAM1DATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLdouble)>;
pub type PFNGLVERTEXSTREAM1DVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
pub type PFNGLVERTEXSTREAM2SATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLshort, y: GLshort)>;
pub type PFNGLVERTEXSTREAM2SVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
pub type PFNGLVERTEXSTREAM2IATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLint, y: GLint)>;
pub type PFNGLVERTEXSTREAM2IVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
pub type PFNGLVERTEXSTREAM2FATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLfloat, y: GLfloat)>;
pub type PFNGLVERTEXSTREAM2FVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
pub type PFNGLVERTEXSTREAM2DATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXSTREAM2DVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
pub type PFNGLVERTEXSTREAM3SATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLVERTEXSTREAM3SVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
pub type PFNGLVERTEXSTREAM3IATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLint, y: GLint, z: GLint)>;
pub type PFNGLVERTEXSTREAM3IVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
pub type PFNGLVERTEXSTREAM3FATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLVERTEXSTREAM3FVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
pub type PFNGLVERTEXSTREAM3DATIPROC = ::std::option::Option<
    unsafe extern "C" fn(stream: GLenum, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXSTREAM3DVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
pub type PFNGLVERTEXSTREAM4SATIPROC = ::std::option::Option<
    unsafe extern "C" fn(stream: GLenum, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
>;
pub type PFNGLVERTEXSTREAM4SVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
pub type PFNGLVERTEXSTREAM4IATIPROC = ::std::option::Option<
    unsafe extern "C" fn(stream: GLenum, x: GLint, y: GLint, z: GLint, w: GLint),
>;
pub type PFNGLVERTEXSTREAM4IVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
pub type PFNGLVERTEXSTREAM4FATIPROC = ::std::option::Option<
    unsafe extern "C" fn(stream: GLenum, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
>;
pub type PFNGLVERTEXSTREAM4FVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
pub type PFNGLVERTEXSTREAM4DATIPROC = ::std::option::Option<
    unsafe extern "C" fn(stream: GLenum, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXSTREAM4DVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
pub type PFNGLNORMALSTREAM3BATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, nx: GLbyte, ny: GLbyte, nz: GLbyte)>;
pub type PFNGLNORMALSTREAM3BVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLbyte)>;
pub type PFNGLNORMALSTREAM3SATIPROC = ::std::option::Option<
    unsafe extern "C" fn(stream: GLenum, nx: GLshort, ny: GLshort, nz: GLshort),
>;
pub type PFNGLNORMALSTREAM3SVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLshort)>;
pub type PFNGLNORMALSTREAM3IATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, nx: GLint, ny: GLint, nz: GLint)>;
pub type PFNGLNORMALSTREAM3IVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLint)>;
pub type PFNGLNORMALSTREAM3FATIPROC = ::std::option::Option<
    unsafe extern "C" fn(stream: GLenum, nx: GLfloat, ny: GLfloat, nz: GLfloat),
>;
pub type PFNGLNORMALSTREAM3FVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLfloat)>;
pub type PFNGLNORMALSTREAM3DATIPROC = ::std::option::Option<
    unsafe extern "C" fn(stream: GLenum, nx: GLdouble, ny: GLdouble, nz: GLdouble),
>;
pub type PFNGLNORMALSTREAM3DVATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum, coords: *const GLdouble)>;
pub type PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC =
    ::std::option::Option<unsafe extern "C" fn(stream: GLenum)>;
pub type PFNGLVERTEXBLENDENVIATIPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLVERTEXBLENDENVFATIPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type GLeglImageOES = *mut ::std::os::raw::c_void;
pub type PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, image: GLeglImageOES, attrib_list: *const GLint),
>;
pub type PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, image: GLeglImageOES, attrib_list: *const GLint),
>;
pub type PFNGLUNIFORMBUFFEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, buffer: GLuint)>;
pub type PFNGLGETUNIFORMBUFFERSIZEEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint) -> GLint>;
pub type PFNGLGETUNIFORMOFFSETEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint) -> GLintptr>;
pub type PFNGLBLENDCOLOREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat, alpha: GLfloat),
>;
pub type PFNGLBLENDEQUATIONSEPARATEEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(modeRGB: GLenum, modeAlpha: GLenum)>;
pub type PFNGLBLENDFUNCSEPARATEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        sfactorRGB: GLenum,
        dfactorRGB: GLenum,
        sfactorAlpha: GLenum,
        dfactorAlpha: GLenum,
    ),
>;
pub type PFNGLBLENDEQUATIONEXTPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLCOLORSUBTABLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        start: GLsizei,
        count: GLsizei,
        format: GLenum,
        type_: GLenum,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOPYCOLORSUBTABLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, start: GLsizei, x: GLint, y: GLint, width: GLsizei),
>;
pub type PFNGLLOCKARRAYSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(first: GLint, count: GLsizei)>;
pub type PFNGLUNLOCKARRAYSEXTPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLCONVOLUTIONFILTER1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        image: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCONVOLUTIONFILTER2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        image: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCONVOLUTIONPARAMETERFEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: GLfloat)>;
pub type PFNGLCONVOLUTIONPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLCONVOLUTIONPARAMETERIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: GLint)>;
pub type PFNGLCONVOLUTIONPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLGETCONVOLUTIONFILTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        image: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETSEPARABLEFILTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        row: *mut ::std::os::raw::c_void,
        column: *mut ::std::os::raw::c_void,
        span: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLSEPARABLEFILTER2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        row: *const ::std::os::raw::c_void,
        column: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTANGENT3BEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(tx: GLbyte, ty: GLbyte, tz: GLbyte)>;
pub type PFNGLTANGENT3BVEXTPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
pub type PFNGLTANGENT3DEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(tx: GLdouble, ty: GLdouble, tz: GLdouble)>;
pub type PFNGLTANGENT3DVEXTPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLTANGENT3FEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(tx: GLfloat, ty: GLfloat, tz: GLfloat)>;
pub type PFNGLTANGENT3FVEXTPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLTANGENT3IEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(tx: GLint, ty: GLint, tz: GLint)>;
pub type PFNGLTANGENT3IVEXTPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLTANGENT3SEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(tx: GLshort, ty: GLshort, tz: GLshort)>;
pub type PFNGLTANGENT3SVEXTPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLBINORMAL3BEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(bx: GLbyte, by: GLbyte, bz: GLbyte)>;
pub type PFNGLBINORMAL3BVEXTPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
pub type PFNGLBINORMAL3DEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(bx: GLdouble, by: GLdouble, bz: GLdouble)>;
pub type PFNGLBINORMAL3DVEXTPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLBINORMAL3FEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(bx: GLfloat, by: GLfloat, bz: GLfloat)>;
pub type PFNGLBINORMAL3FVEXTPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLBINORMAL3IEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(bx: GLint, by: GLint, bz: GLint)>;
pub type PFNGLBINORMAL3IVEXTPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLBINORMAL3SEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(bx: GLshort, by: GLshort, bz: GLshort)>;
pub type PFNGLBINORMAL3SVEXTPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLTANGENTPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(type_: GLenum, stride: GLsizei, pointer: *const ::std::os::raw::c_void),
>;
pub type PFNGLBINORMALPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(type_: GLenum, stride: GLsizei, pointer: *const ::std::os::raw::c_void),
>;
pub type PFNGLCOPYTEXIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYTEXIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYTEXSUBIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLCOPYTEXSUBIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLCOPYTEXSUBIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLCULLPARAMETERDVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLdouble)>;
pub type PFNGLCULLPARAMETERFVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLLABELOBJECTEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(type_: GLenum, object: GLuint, length: GLsizei, label: *const GLchar),
>;
pub type PFNGLGETOBJECTLABELEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        object: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        label: *mut GLchar,
    ),
>;
pub type PFNGLINSERTEVENTMARKEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(length: GLsizei, marker: *const GLchar)>;
pub type PFNGLPUSHGROUPMARKEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(length: GLsizei, marker: *const GLchar)>;
pub type PFNGLPOPGROUPMARKEREXTPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLDEPTHBOUNDSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(zmin: GLclampd, zmax: GLclampd)>;
pub type PFNGLMATRIXLOADFEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXLOADDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
pub type PFNGLMATRIXMULTFEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXMULTDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
pub type PFNGLMATRIXLOADIDENTITYEXTPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLMATRIXROTATEFEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, angle: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
>;
pub type PFNGLMATRIXROTATEDEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, angle: GLdouble, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLMATRIXSCALEFEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLMATRIXSCALEDEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLMATRIXTRANSLATEFEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLMATRIXTRANSLATEDEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLMATRIXFRUSTUMEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        left: GLdouble,
        right: GLdouble,
        bottom: GLdouble,
        top: GLdouble,
        zNear: GLdouble,
        zFar: GLdouble,
    ),
>;
pub type PFNGLMATRIXORTHOEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        left: GLdouble,
        right: GLdouble,
        bottom: GLdouble,
        top: GLdouble,
        zNear: GLdouble,
        zFar: GLdouble,
    ),
>;
pub type PFNGLMATRIXPOPEXTPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLMATRIXPUSHEXTPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLCLIENTATTRIBDEFAULTEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
pub type PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
pub type PFNGLTEXTUREPARAMETERFEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, param: GLfloat),
>;
pub type PFNGLTEXTUREPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLTEXTUREPARAMETERIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, param: GLint),
>;
pub type PFNGLTEXTUREPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLTEXTUREIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXTUREIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOPYTEXTUREIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYTEXTUREIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLGETTEXTUREIMAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETTEXTUREPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETTEXTUREPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLfloat,
    ),
>;
pub type PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLTEXTUREIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXTURESUBIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLBINDMULTITEXTUREEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(texunit: GLenum, target: GLenum, texture: GLuint)>;
pub type PFNGLMULTITEXCOORDPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMULTITEXENVFEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLfloat),
>;
pub type PFNGLMULTITEXENVFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLMULTITEXENVIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLint),
>;
pub type PFNGLMULTITEXENVIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLMULTITEXGENDEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, param: GLdouble),
>;
pub type PFNGLMULTITEXGENDVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *const GLdouble),
>;
pub type PFNGLMULTITEXGENFEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, param: GLfloat),
>;
pub type PFNGLMULTITEXGENFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLMULTITEXGENIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, param: GLint),
>;
pub type PFNGLMULTITEXGENIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLGETMULTITEXENVFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETMULTITEXENVIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETMULTITEXGENDVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLGETMULTITEXGENFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETMULTITEXGENIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, coord: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLMULTITEXPARAMETERIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLint),
>;
pub type PFNGLMULTITEXPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLMULTITEXPARAMETERFEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, param: GLfloat),
>;
pub type PFNGLMULTITEXPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLMULTITEXIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMULTITEXIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMULTITEXSUBIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMULTITEXSUBIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOPYMULTITEXIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYMULTITEXIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
    ),
>;
pub type PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLGETMULTITEXIMAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETMULTITEXPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETMULTITEXPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLfloat,
    ),
>;
pub type PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLMULTITEXIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMULTITEXSUBIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        x: GLint,
        y: GLint,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLENABLECLIENTSTATEINDEXEDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
pub type PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
pub type PFNGLGETFLOATINDEXEDVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLfloat)>;
pub type PFNGLGETDOUBLEINDEXEDVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLdouble)>;
pub type PFNGLGETPOINTERINDEXEDVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLENABLEINDEXEDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
pub type PFNGLDISABLEINDEXEDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint)>;
pub type PFNGLISENABLEDINDEXEDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint) -> GLboolean>;
pub type PFNGLGETINTEGERINDEXEDVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLint)>;
pub type PFNGLGETBOOLEANINDEXEDVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLboolean),
>;
pub type PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        lod: GLint,
        img: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        border: GLint,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        imageSize: GLsizei,
        bits: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texunit: GLenum,
        target: GLenum,
        lod: GLint,
        img: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMATRIXLOADTRANSPOSEFEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXLOADTRANSPOSEDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
pub type PFNGLMATRIXMULTTRANSPOSEFEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXMULTTRANSPOSEDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, m: *const GLdouble)>;
pub type PFNGLNAMEDBUFFERDATAEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
        usage: GLenum,
    ),
>;
pub type PFNGLNAMEDBUFFERSUBDATAEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMAPNAMEDBUFFEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, access: GLenum) -> *mut ::std::os::raw::c_void,
>;
pub type PFNGLUNMAPNAMEDBUFFEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETNAMEDBUFFERPOINTERVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLGETNAMEDBUFFERSUBDATAEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1FEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat)>;
pub type PFNGLPROGRAMUNIFORM2FEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat, v1: GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM3FEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLfloat, v1: GLfloat, v2: GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM4FEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLfloat,
        v1: GLfloat,
        v2: GLfloat,
        v3: GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1IEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint)>;
pub type PFNGLPROGRAMUNIFORM2IEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint),
>;
pub type PFNGLPROGRAMUNIFORM3IEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLint, v1: GLint, v2: GLint),
>;
pub type PFNGLPROGRAMUNIFORM4IEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLint,
        v1: GLint,
        v2: GLint,
        v3: GLint,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM2FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM3FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM4FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLfloat),
>;
pub type PFNGLPROGRAMUNIFORM1IVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM2IVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM3IVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORM4IVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLint),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLfloat,
    ),
>;
pub type PFNGLTEXTUREBUFFEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLMULTITEXBUFFEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLTEXTUREPARAMETERIIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLTEXTUREPARAMETERIUIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *const GLuint),
>;
pub type PFNGLGETTEXTUREPARAMETERIIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETTEXTUREPARAMETERIUIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLMULTITEXPARAMETERIIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLMULTITEXPARAMETERIUIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *const GLuint),
>;
pub type PFNGLGETMULTITEXPARAMETERIIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETMULTITEXPARAMETERIUIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLPROGRAMUNIFORM1UIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint)>;
pub type PFNGLPROGRAMUNIFORM2UIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint),
>;
pub type PFNGLPROGRAMUNIFORM3UIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
>;
pub type PFNGLPROGRAMUNIFORM4UIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        v0: GLuint,
        v1: GLuint,
        v2: GLuint,
        v3: GLuint,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1UIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM2UIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM3UIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLPROGRAMUNIFORM4UIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        count: GLsizei,
        params: *const GLfloat,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        x: GLint,
        y: GLint,
        z: GLint,
        w: GLint,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *const GLint),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        count: GLsizei,
        params: *const GLint,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        x: GLuint,
        y: GLuint,
        z: GLuint,
        w: GLuint,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *const GLuint),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        count: GLsizei,
        params: *const GLuint,
    ),
>;
pub type PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLint),
>;
pub type PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLuint),
>;
pub type PFNGLENABLECLIENTSTATEIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
pub type PFNGLDISABLECLIENTSTATEIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(array: GLenum, index: GLuint)>;
pub type PFNGLGETFLOATI_VEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, index: GLuint, params: *mut GLfloat)>;
pub type PFNGLGETDOUBLEI_VEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(pname: GLenum, index: GLuint, params: *mut GLdouble),
>;
pub type PFNGLGETPOINTERI_VEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(pname: GLenum, index: GLuint, params: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLNAMEDPROGRAMSTRINGEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        format: GLenum,
        len: GLsizei,
        string: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *const GLdouble),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        index: GLuint,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *const GLfloat),
>;
pub type PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLdouble),
>;
pub type PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, index: GLuint, params: *mut GLfloat),
>;
pub type PFNGLGETNAMEDPROGRAMIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, target: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETNAMEDPROGRAMSTRINGEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        target: GLenum,
        pname: GLenum,
        string: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(renderbuffer: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        renderbuffer: GLuint,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, target: GLenum) -> GLenum>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
        zoffset: GLint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        renderbuffertarget: GLenum,
        renderbuffer: GLuint,
    ),
>;
pub type PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGENERATETEXTUREMIPMAPEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint, target: GLenum)>;
pub type PFNGLGENERATEMULTITEXMIPMAPEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(texunit: GLenum, target: GLenum)>;
pub type PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, mode: GLenum)>;
pub type PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, n: GLsizei, bufs: *const GLenum),
>;
pub type PFNGLFRAMEBUFFERREADBUFFEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, mode: GLenum)>;
pub type PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLNAMEDCOPYBUFFERSUBDATAEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        readBuffer: GLuint,
        writeBuffer: GLuint,
        readOffset: GLintptr,
        writeOffset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, attachment: GLenum, texture: GLuint, level: GLint),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        layer: GLint,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        framebuffer: GLuint,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        face: GLenum,
    ),
>;
pub type PFNGLTEXTURERENDERBUFFEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texture: GLuint, target: GLenum, renderbuffer: GLuint),
>;
pub type PFNGLMULTITEXRENDERBUFFEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(texunit: GLenum, target: GLenum, renderbuffer: GLuint),
>;
pub type PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYCOLOROFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYEDGEFLAGOFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, buffer: GLuint, stride: GLsizei, offset: GLintptr),
>;
pub type PFNGLVERTEXARRAYINDEXOFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYNORMALOFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        texunit: GLenum,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYFOGCOORDOFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        index: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLENABLEVERTEXARRAYEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, array: GLenum)>;
pub type PFNGLDISABLEVERTEXARRAYEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, array: GLenum)>;
pub type PFNGLENABLEVERTEXARRAYATTRIBEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
pub type PFNGLDISABLEVERTEXARRAYATTRIBEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint)>;
pub type PFNGLGETVERTEXARRAYINTEGERVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, pname: GLenum, param: *mut GLint)>;
pub type PFNGLGETVERTEXARRAYPOINTERVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, pname: GLenum, param: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLGETVERTEXARRAYINTEGERI_VEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, index: GLuint, pname: GLenum, param: *mut GLint),
>;
pub type PFNGLGETVERTEXARRAYPOINTERI_VEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        index: GLuint,
        pname: GLenum,
        param: *mut *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMAPNAMEDBUFFERRANGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        length: GLsizeiptr,
        access: GLbitfield,
    ) -> *mut ::std::os::raw::c_void,
>;
pub type PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, offset: GLintptr, length: GLsizeiptr),
>;
pub type PFNGLNAMEDBUFFERSTORAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
        flags: GLbitfield,
    ),
>;
pub type PFNGLCLEARNAMEDBUFFERDATAEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        internalformat: GLenum,
        format: GLenum,
        type_: GLenum,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        internalformat: GLenum,
        offset: GLsizeiptr,
        size: GLsizeiptr,
        format: GLenum,
        type_: GLenum,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLPROGRAMUNIFORM1DEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, x: GLdouble)>;
pub type PFNGLPROGRAMUNIFORM2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLdouble, y: GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM4DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORM1DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM2DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM3DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORM4DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, value: *const GLdouble),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X3DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX2X4DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X2DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX3X4DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X2DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLPROGRAMUNIFORMMATRIX4X3DVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        transpose: GLboolean,
        value: *const GLdouble,
    ),
>;
pub type PFNGLTEXTUREBUFFERRANGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        internalformat: GLenum,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLTEXTURESTORAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
    ),
>;
pub type PFNGLTEXTURESTORAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLTEXTURESTORAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        levels: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedsamplelocations: GLboolean,
    ),
>;
pub type PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        bindingindex: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        stride: GLsizei,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        attribindex: GLuint,
        size: GLint,
        type_: GLenum,
        relativeoffset: GLuint,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, attribindex: GLuint, bindingindex: GLuint),
>;
pub type PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(vaobj: GLuint, bindingindex: GLuint, divisor: GLuint),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vaobj: GLuint,
        buffer: GLuint,
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        offset: GLintptr,
    ),
>;
pub type PFNGLTEXTUREPAGECOMMITMENTEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        commit: GLboolean,
    ),
>;
pub type PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(vaobj: GLuint, index: GLuint, divisor: GLuint)>;
pub type PFNGLCOLORMASKINDEXEDEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, r: GLboolean, g: GLboolean, b: GLboolean, a: GLboolean),
>;
pub type PFNGLDRAWARRAYSINSTANCEDEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, start: GLint, count: GLsizei, primcount: GLsizei),
>;
pub type PFNGLDRAWELEMENTSINSTANCEDEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: GLsizei,
        type_: GLenum,
        indices: *const ::std::os::raw::c_void,
        primcount: GLsizei,
    ),
>;
pub type PFNGLDRAWRANGEELEMENTSEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        start: GLuint,
        end: GLuint,
        count: GLsizei,
        type_: GLenum,
        indices: *const ::std::os::raw::c_void,
    ),
>;
pub type GLeglClientBufferEXT = *mut ::std::os::raw::c_void;
pub type PFNGLBUFFERSTORAGEEXTERNALEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        offset: GLintptr,
        size: GLsizeiptr,
        clientBuffer: GLeglClientBufferEXT,
        flags: GLbitfield,
    ),
>;
pub type PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        clientBuffer: GLeglClientBufferEXT,
        flags: GLbitfield,
    ),
>;
pub type PFNGLFOGCOORDFEXTPROC = ::std::option::Option<unsafe extern "C" fn(coord: GLfloat)>;
pub type PFNGLFOGCOORDFVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(coord: *const GLfloat)>;
pub type PFNGLFOGCOORDDEXTPROC = ::std::option::Option<unsafe extern "C" fn(coord: GLdouble)>;
pub type PFNGLFOGCOORDDVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(coord: *const GLdouble)>;
pub type PFNGLFOGCOORDPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(type_: GLenum, stride: GLsizei, pointer: *const ::std::os::raw::c_void),
>;
pub type PFNGLBLITFRAMEBUFFEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        srcX0: GLint,
        srcY0: GLint,
        srcX1: GLint,
        srcY1: GLint,
        dstX0: GLint,
        dstY0: GLint,
        dstX1: GLint,
        dstY1: GLint,
        mask: GLbitfield,
        filter: GLenum,
    ),
>;
pub type PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLISRENDERBUFFEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(renderbuffer: GLuint) -> GLboolean>;
pub type PFNGLBINDRENDERBUFFEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, renderbuffer: GLuint)>;
pub type PFNGLDELETERENDERBUFFERSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *const GLuint)>;
pub type PFNGLGENRENDERBUFFERSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, renderbuffers: *mut GLuint)>;
pub type PFNGLRENDERBUFFERSTORAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei),
>;
pub type PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLISFRAMEBUFFEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(framebuffer: GLuint) -> GLboolean>;
pub type PFNGLBINDFRAMEBUFFEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, framebuffer: GLuint)>;
pub type PFNGLDELETEFRAMEBUFFERSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *const GLuint)>;
pub type PFNGLGENFRAMEBUFFERSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, framebuffers: *mut GLuint)>;
pub type PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLenum>;
pub type PFNGLFRAMEBUFFERTEXTURE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        textarget: GLenum,
        texture: GLuint,
        level: GLint,
        zoffset: GLint,
    ),
>;
pub type PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        renderbuffertarget: GLenum,
        renderbuffer: GLuint,
    ),
>;
pub type PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, attachment: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGENERATEMIPMAPEXTPROC = ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLPROGRAMPARAMETERIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, pname: GLenum, value: GLint)>;
pub type PFNGLPROGRAMENVPARAMETERS4FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLfloat),
>;
pub type PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLfloat),
>;
pub type PFNGLGETUNIFORMUIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, params: *mut GLuint),
>;
pub type PFNGLBINDFRAGDATALOCATIONEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, color: GLuint, name: *const GLchar),
>;
pub type PFNGLGETFRAGDATALOCATIONEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLUNIFORM1UIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint)>;
pub type PFNGLUNIFORM2UIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint)>;
pub type PFNGLUNIFORM3UIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint),
>;
pub type PFNGLUNIFORM4UIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint),
>;
pub type PFNGLUNIFORM1UIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM2UIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM3UIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLUNIFORM4UIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint),
>;
pub type PFNGLGETHISTOGRAMEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        values: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETHISTOGRAMPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETHISTOGRAMPARAMETERIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETMINMAXEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        reset: GLboolean,
        format: GLenum,
        type_: GLenum,
        values: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETMINMAXPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETMINMAXPARAMETERIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLHISTOGRAMEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, width: GLsizei, internalformat: GLenum, sink: GLboolean),
>;
pub type PFNGLMINMAXEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, sink: GLboolean),
>;
pub type PFNGLRESETHISTOGRAMEXTPROC = ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLRESETMINMAXEXTPROC = ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLINDEXFUNCEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLclampf)>;
pub type PFNGLINDEXMATERIALEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
pub type PFNGLAPPLYTEXTUREEXTPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLTEXTURELIGHTEXTPROC = ::std::option::Option<unsafe extern "C" fn(pname: GLenum)>;
pub type PFNGLTEXTUREMATERIALEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
pub type PFNGLGETUNSIGNEDBYTEVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, data: *mut GLubyte)>;
pub type PFNGLGETUNSIGNEDBYTEI_VEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, data: *mut GLubyte)>;
pub type PFNGLDELETEMEMORYOBJECTSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, memoryObjects: *const GLuint)>;
pub type PFNGLISMEMORYOBJECTEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(memoryObject: GLuint) -> GLboolean>;
pub type PFNGLCREATEMEMORYOBJECTSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, memoryObjects: *mut GLuint)>;
pub type PFNGLMEMORYOBJECTPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(memoryObject: GLuint, pname: GLenum, params: *const GLint),
>;
pub type PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(memoryObject: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLTEXSTORAGEMEM2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedSampleLocations: GLboolean,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXSTORAGEMEM3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        samples: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedSampleLocations: GLboolean,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLBUFFERSTORAGEMEMEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, size: GLsizeiptr, memory: GLuint, offset: GLuint64),
>;
pub type PFNGLTEXTURESTORAGEMEM2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        samples: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        fixedSampleLocations: GLboolean,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXTURESTORAGEMEM3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        samples: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedSampleLocations: GLboolean,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, size: GLsizeiptr, memory: GLuint, offset: GLuint64),
>;
pub type PFNGLTEXSTORAGEMEM1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLTEXTURESTORAGEMEM1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        levels: GLsizei,
        internalFormat: GLenum,
        width: GLsizei,
        memory: GLuint,
        offset: GLuint64,
    ),
>;
pub type PFNGLIMPORTMEMORYFDEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(memory: GLuint, size: GLuint64, handleType: GLenum, fd: GLint),
>;
pub type PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        memory: GLuint,
        size: GLuint64,
        handleType: GLenum,
        handle: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLIMPORTMEMORYWIN32NAMEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        memory: GLuint,
        size: GLuint64,
        handleType: GLenum,
        name: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMULTIDRAWARRAYSEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        first: *const GLint,
        count: *const GLsizei,
        primcount: GLsizei,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        count: *const GLsizei,
        type_: GLenum,
        indices: *const *const ::std::os::raw::c_void,
        primcount: GLsizei,
    ),
>;
pub type PFNGLSAMPLEMASKEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(value: GLclampf, invert: GLboolean)>;
pub type PFNGLSAMPLEPATTERNEXTPROC = ::std::option::Option<unsafe extern "C" fn(pattern: GLenum)>;
pub type PFNGLCOLORTABLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalFormat: GLenum,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        table: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETCOLORTABLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        data: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETCOLORTABLEPARAMETERIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETCOLORTABLEPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLPIXELTRANSFORMPARAMETERIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLPIXELTRANSFORMPARAMETERFEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfloat)>;
pub type PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLGETPIXELTRANSFORMPARAMETERIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETPIXELTRANSFORMPARAMETERFVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLPOINTPARAMETERFEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLPOINTPARAMETERFVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLPOLYGONOFFSETEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLfloat, bias: GLfloat)>;
pub type PFNGLPOLYGONOFFSETCLAMPEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLfloat, units: GLfloat, clamp: GLfloat)>;
pub type PFNGLPROVOKINGVERTEXEXTPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLRASTERSAMPLESEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(samples: GLuint, fixedsamplelocations: GLboolean)>;
pub type PFNGLSECONDARYCOLOR3BEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLbyte, green: GLbyte, blue: GLbyte)>;
pub type PFNGLSECONDARYCOLOR3BVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLbyte)>;
pub type PFNGLSECONDARYCOLOR3DEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLdouble, green: GLdouble, blue: GLdouble)>;
pub type PFNGLSECONDARYCOLOR3DVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLSECONDARYCOLOR3FEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLfloat, green: GLfloat, blue: GLfloat)>;
pub type PFNGLSECONDARYCOLOR3FVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLSECONDARYCOLOR3IEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint)>;
pub type PFNGLSECONDARYCOLOR3IVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLSECONDARYCOLOR3SEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLshort, green: GLshort, blue: GLshort)>;
pub type PFNGLSECONDARYCOLOR3SVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLSECONDARYCOLOR3UBEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLubyte, green: GLubyte, blue: GLubyte)>;
pub type PFNGLSECONDARYCOLOR3UBVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLubyte)>;
pub type PFNGLSECONDARYCOLOR3UIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint)>;
pub type PFNGLSECONDARYCOLOR3UIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLuint)>;
pub type PFNGLSECONDARYCOLOR3USEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLushort, green: GLushort, blue: GLushort)>;
pub type PFNGLSECONDARYCOLOR3USVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLushort)>;
pub type PFNGLSECONDARYCOLORPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGENSEMAPHORESEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, semaphores: *mut GLuint)>;
pub type PFNGLDELETESEMAPHORESEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, semaphores: *const GLuint)>;
pub type PFNGLISSEMAPHOREEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(semaphore: GLuint) -> GLboolean>;
pub type PFNGLSEMAPHOREPARAMETERUI64VEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(semaphore: GLuint, pname: GLenum, params: *const GLuint64),
>;
pub type PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(semaphore: GLuint, pname: GLenum, params: *mut GLuint64),
>;
pub type PFNGLWAITSEMAPHOREEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        semaphore: GLuint,
        numBufferBarriers: GLuint,
        buffers: *const GLuint,
        numTextureBarriers: GLuint,
        textures: *const GLuint,
        srcLayouts: *const GLenum,
    ),
>;
pub type PFNGLSIGNALSEMAPHOREEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        semaphore: GLuint,
        numBufferBarriers: GLuint,
        buffers: *const GLuint,
        numTextureBarriers: GLuint,
        textures: *const GLuint,
        dstLayouts: *const GLenum,
    ),
>;
pub type PFNGLIMPORTSEMAPHOREFDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(semaphore: GLuint, handleType: GLenum, fd: GLint)>;
pub type PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        semaphore: GLuint,
        handleType: GLenum,
        handle: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        semaphore: GLuint,
        handleType: GLenum,
        name: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLUSESHADERPROGRAMEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, program: GLuint)>;
pub type PFNGLACTIVEPROGRAMEXTPROC = ::std::option::Option<unsafe extern "C" fn(program: GLuint)>;
pub type PFNGLCREATESHADERPROGRAMEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, string: *const GLchar) -> GLuint>;
pub type PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLBINDIMAGETEXTUREEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        texture: GLuint,
        level: GLint,
        layered: GLboolean,
        layer: GLint,
        access: GLenum,
        format: GLint,
    ),
>;
pub type PFNGLMEMORYBARRIEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(barriers: GLbitfield)>;
pub type PFNGLSTENCILCLEARTAGEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(stencilTagBits: GLsizei, stencilClearTag: GLuint)>;
pub type PFNGLACTIVESTENCILFACEEXTPROC = ::std::option::Option<unsafe extern "C" fn(face: GLenum)>;
pub type PFNGLTEXSUBIMAGE1DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXSUBIMAGE2DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXSUBIMAGE3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        layer: GLint,
    ),
>;
pub type PFNGLTEXBUFFEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, internalformat: GLenum, buffer: GLuint),
>;
pub type PFNGLTEXPARAMETERIIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLTEXPARAMETERIUIVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLuint),
>;
pub type PFNGLGETTEXPARAMETERIIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETTEXPARAMETERIUIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLCLEARCOLORIIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(red: GLint, green: GLint, blue: GLint, alpha: GLint),
>;
pub type PFNGLCLEARCOLORIUIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(red: GLuint, green: GLuint, blue: GLuint, alpha: GLuint),
>;
pub type PFNGLARETEXTURESRESIDENTEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        n: GLsizei,
        textures: *const GLuint,
        residences: *mut GLboolean,
    ) -> GLboolean,
>;
pub type PFNGLBINDTEXTUREEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, texture: GLuint)>;
pub type PFNGLDELETETEXTURESEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, textures: *const GLuint)>;
pub type PFNGLGENTEXTURESEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, textures: *mut GLuint)>;
pub type PFNGLISTEXTUREEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLboolean>;
pub type PFNGLPRIORITIZETEXTURESEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(n: GLsizei, textures: *const GLuint, priorities: *const GLclampf),
>;
pub type PFNGLTEXTURENORMALEXTPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLGETQUERYOBJECTI64VEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint64)>;
pub type PFNGLGETQUERYOBJECTUI64VEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint64)>;
pub type PFNGLBEGINTRANSFORMFEEDBACKEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(primitiveMode: GLenum)>;
pub type PFNGLENDTRANSFORMFEEDBACKEXTPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLBINDBUFFERRANGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLBINDBUFFEROFFSETEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint, offset: GLintptr),
>;
pub type PFNGLBINDBUFFERBASEEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint)>;
pub type PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        count: GLsizei,
        varyings: *const *const GLchar,
        bufferMode: GLenum,
    ),
>;
pub type PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        size: *mut GLsizei,
        type_: *mut GLenum,
        name: *mut GLchar,
    ),
>;
pub type PFNGLARRAYELEMENTEXTPROC = ::std::option::Option<unsafe extern "C" fn(i: GLint)>;
pub type PFNGLCOLORPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        count: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLDRAWARRAYSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei)>;
pub type PFNGLEDGEFLAGPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(stride: GLsizei, count: GLsizei, pointer: *const GLboolean),
>;
pub type PFNGLGETPOINTERVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(pname: GLenum, params: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLINDEXPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLsizei,
        count: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLNORMALPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLsizei,
        count: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXCOORDPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        count: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLVERTEXPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        count: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLVERTEXATTRIBL1DEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
pub type PFNGLVERTEXATTRIBL2DEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXATTRIBL3DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXATTRIBL4DEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXATTRIBL1DVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL2DVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL3DVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBL4DVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBLPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETVERTEXATTRIBLDVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLBEGINVERTEXSHADEREXTPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLENDVERTEXSHADEREXTPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLBINDVERTEXSHADEREXTPROC = ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLGENVERTEXSHADERSEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(range: GLuint) -> GLuint>;
pub type PFNGLDELETEVERTEXSHADEREXTPROC = ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLSHADEROP1EXTPROC =
    ::std::option::Option<unsafe extern "C" fn(op: GLenum, res: GLuint, arg1: GLuint)>;
pub type PFNGLSHADEROP2EXTPROC = ::std::option::Option<
    unsafe extern "C" fn(op: GLenum, res: GLuint, arg1: GLuint, arg2: GLuint),
>;
pub type PFNGLSHADEROP3EXTPROC = ::std::option::Option<
    unsafe extern "C" fn(op: GLenum, res: GLuint, arg1: GLuint, arg2: GLuint, arg3: GLuint),
>;
pub type PFNGLSWIZZLEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        res: GLuint,
        in_: GLuint,
        outX: GLenum,
        outY: GLenum,
        outZ: GLenum,
        outW: GLenum,
    ),
>;
pub type PFNGLWRITEMASKEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        res: GLuint,
        in_: GLuint,
        outX: GLenum,
        outY: GLenum,
        outZ: GLenum,
        outW: GLenum,
    ),
>;
pub type PFNGLINSERTCOMPONENTEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(res: GLuint, src: GLuint, num: GLuint)>;
pub type PFNGLEXTRACTCOMPONENTEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(res: GLuint, src: GLuint, num: GLuint)>;
pub type PFNGLGENSYMBOLSEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        datatype: GLenum,
        storagetype: GLenum,
        range: GLenum,
        components: GLuint,
    ) -> GLuint,
>;
pub type PFNGLSETINVARIANTEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, type_: GLenum, addr: *const ::std::os::raw::c_void),
>;
pub type PFNGLSETLOCALCONSTANTEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, type_: GLenum, addr: *const ::std::os::raw::c_void),
>;
pub type PFNGLVARIANTBVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLbyte)>;
pub type PFNGLVARIANTSVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLshort)>;
pub type PFNGLVARIANTIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLint)>;
pub type PFNGLVARIANTFVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLfloat)>;
pub type PFNGLVARIANTDVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLdouble)>;
pub type PFNGLVARIANTUBVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLubyte)>;
pub type PFNGLVARIANTUSVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLushort)>;
pub type PFNGLVARIANTUIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, addr: *const GLuint)>;
pub type PFNGLVARIANTPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        id: GLuint,
        type_: GLenum,
        stride: GLuint,
        addr: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLENABLEVARIANTCLIENTSTATEEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLBINDLIGHTPARAMETEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(light: GLenum, value: GLenum) -> GLuint>;
pub type PFNGLBINDMATERIALPARAMETEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, value: GLenum) -> GLuint>;
pub type PFNGLBINDTEXGENPARAMETEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(unit: GLenum, coord: GLenum, value: GLenum) -> GLuint,
>;
pub type PFNGLBINDTEXTUREUNITPARAMETEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(unit: GLenum, value: GLenum) -> GLuint>;
pub type PFNGLBINDPARAMETEREXTPROC =
    ::std::option::Option<unsafe extern "C" fn(value: GLenum) -> GLuint>;
pub type PFNGLISVARIANTENABLEDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, cap: GLenum) -> GLboolean>;
pub type PFNGLGETVARIANTBOOLEANVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLboolean)>;
pub type PFNGLGETVARIANTINTEGERVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLint)>;
pub type PFNGLGETVARIANTFLOATVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLfloat)>;
pub type PFNGLGETVARIANTPOINTERVEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLGETINVARIANTBOOLEANVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLboolean)>;
pub type PFNGLGETINVARIANTINTEGERVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLint)>;
pub type PFNGLGETINVARIANTFLOATVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLfloat)>;
pub type PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLboolean)>;
pub type PFNGLGETLOCALCONSTANTINTEGERVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLint)>;
pub type PFNGLGETLOCALCONSTANTFLOATVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, value: GLenum, data: *mut GLfloat)>;
pub type PFNGLVERTEXWEIGHTFEXTPROC = ::std::option::Option<unsafe extern "C" fn(weight: GLfloat)>;
pub type PFNGLVERTEXWEIGHTFVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(weight: *const GLfloat)>;
pub type PFNGLVERTEXWEIGHTPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC = ::std::option::Option<
    unsafe extern "C" fn(memory: GLuint, key: GLuint64, timeout: GLuint) -> GLboolean,
>;
pub type PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC =
    ::std::option::Option<unsafe extern "C" fn(memory: GLuint, key: GLuint64) -> GLboolean>;
pub type PFNGLWINDOWRECTANGLESEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, count: GLsizei, box_: *const GLint)>;
pub type PFNGLIMPORTSYNCEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        external_sync_type: GLenum,
        external_sync: GLintptr,
        flags: GLbitfield,
    ) -> GLsync,
>;
pub type PFNGLFRAMETERMINATORGREMEDYPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSTRINGMARKERGREMEDYPROC = ::std::option::Option<
    unsafe extern "C" fn(len: GLsizei, string: *const ::std::os::raw::c_void),
>;
pub type PFNGLIMAGETRANSFORMPARAMETERIHPPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLIMAGETRANSFORMPARAMETERFHPPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, param: GLfloat)>;
pub type PFNGLIMAGETRANSFORMPARAMETERIVHPPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLIMAGETRANSFORMPARAMETERFVHPPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLMULTIMODEDRAWARRAYSIBMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: *const GLenum,
        first: *const GLint,
        count: *const GLsizei,
        primcount: GLsizei,
        modestride: GLint,
    ),
>;
pub type PFNGLMULTIMODEDRAWELEMENTSIBMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: *const GLenum,
        count: *const GLsizei,
        type_: GLenum,
        indices: *const *const ::std::os::raw::c_void,
        primcount: GLsizei,
        modestride: GLint,
    ),
>;
pub type PFNGLFLUSHSTATICDATAIBMPROC = ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLCOLORPOINTERLISTIBMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const ::std::os::raw::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLSECONDARYCOLORPOINTERLISTIBMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const ::std::os::raw::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLEDGEFLAGPOINTERLISTIBMPROC = ::std::option::Option<
    unsafe extern "C" fn(stride: GLint, pointer: *mut *const GLboolean, ptrstride: GLint),
>;
pub type PFNGLFOGCOORDPOINTERLISTIBMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const ::std::os::raw::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLINDEXPOINTERLISTIBMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const ::std::os::raw::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLNORMALPOINTERLISTIBMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const ::std::os::raw::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLTEXCOORDPOINTERLISTIBMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const ::std::os::raw::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLVERTEXPOINTERLISTIBMPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLint,
        type_: GLenum,
        stride: GLint,
        pointer: *mut *const ::std::os::raw::c_void,
        ptrstride: GLint,
    ),
>;
pub type PFNGLBLENDFUNCSEPARATEINGRPROC = ::std::option::Option<
    unsafe extern "C" fn(
        sfactorRGB: GLenum,
        dfactorRGB: GLenum,
        sfactorAlpha: GLenum,
        dfactorAlpha: GLenum,
    ),
>;
pub type PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC =
    ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSYNCTEXTUREINTELPROC = ::std::option::Option<unsafe extern "C" fn(texture: GLuint)>;
pub type PFNGLUNMAPTEXTURE2DINTELPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint, level: GLint)>;
pub type PFNGLMAPTEXTURE2DINTELPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        access: GLbitfield,
        stride: *mut GLint,
        layout: *mut GLenum,
    ) -> *mut ::std::os::raw::c_void,
>;
pub type PFNGLVERTEXPOINTERVINTELPROC = ::std::option::Option<
    unsafe extern "C" fn(size: GLint, type_: GLenum, pointer: *mut *const ::std::os::raw::c_void),
>;
pub type PFNGLNORMALPOINTERVINTELPROC = ::std::option::Option<
    unsafe extern "C" fn(type_: GLenum, pointer: *mut *const ::std::os::raw::c_void),
>;
pub type PFNGLCOLORPOINTERVINTELPROC = ::std::option::Option<
    unsafe extern "C" fn(size: GLint, type_: GLenum, pointer: *mut *const ::std::os::raw::c_void),
>;
pub type PFNGLTEXCOORDPOINTERVINTELPROC = ::std::option::Option<
    unsafe extern "C" fn(size: GLint, type_: GLenum, pointer: *mut *const ::std::os::raw::c_void),
>;
pub type PFNGLBEGINPERFQUERYINTELPROC =
    ::std::option::Option<unsafe extern "C" fn(queryHandle: GLuint)>;
pub type PFNGLCREATEPERFQUERYINTELPROC =
    ::std::option::Option<unsafe extern "C" fn(queryId: GLuint, queryHandle: *mut GLuint)>;
pub type PFNGLDELETEPERFQUERYINTELPROC =
    ::std::option::Option<unsafe extern "C" fn(queryHandle: GLuint)>;
pub type PFNGLENDPERFQUERYINTELPROC =
    ::std::option::Option<unsafe extern "C" fn(queryHandle: GLuint)>;
pub type PFNGLGETFIRSTPERFQUERYIDINTELPROC =
    ::std::option::Option<unsafe extern "C" fn(queryId: *mut GLuint)>;
pub type PFNGLGETNEXTPERFQUERYIDINTELPROC =
    ::std::option::Option<unsafe extern "C" fn(queryId: GLuint, nextQueryId: *mut GLuint)>;
pub type PFNGLGETPERFCOUNTERINFOINTELPROC = ::std::option::Option<
    unsafe extern "C" fn(
        queryId: GLuint,
        counterId: GLuint,
        counterNameLength: GLuint,
        counterName: *mut GLchar,
        counterDescLength: GLuint,
        counterDesc: *mut GLchar,
        counterOffset: *mut GLuint,
        counterDataSize: *mut GLuint,
        counterTypeEnum: *mut GLuint,
        counterDataTypeEnum: *mut GLuint,
        rawCounterMaxValue: *mut GLuint64,
    ),
>;
pub type PFNGLGETPERFQUERYDATAINTELPROC = ::std::option::Option<
    unsafe extern "C" fn(
        queryHandle: GLuint,
        flags: GLuint,
        dataSize: GLsizei,
        data: *mut ::std::os::raw::c_void,
        bytesWritten: *mut GLuint,
    ),
>;
pub type PFNGLGETPERFQUERYIDBYNAMEINTELPROC =
    ::std::option::Option<unsafe extern "C" fn(queryName: *mut GLchar, queryId: *mut GLuint)>;
pub type PFNGLGETPERFQUERYINFOINTELPROC = ::std::option::Option<
    unsafe extern "C" fn(
        queryId: GLuint,
        queryNameLength: GLuint,
        queryName: *mut GLchar,
        dataSize: *mut GLuint,
        noCounters: *mut GLuint,
        noInstances: *mut GLuint,
        capsMask: *mut GLuint,
    ),
>;
pub type PFNGLRESIZEBUFFERSMESAPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLWINDOWPOS2DMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble)>;
pub type PFNGLWINDOWPOS2DVMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS2FMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat)>;
pub type PFNGLWINDOWPOS2FVMESAPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS2IMESAPROC = ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint)>;
pub type PFNGLWINDOWPOS2IVMESAPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS2SMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort)>;
pub type PFNGLWINDOWPOS2SVMESAPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLWINDOWPOS3DMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble)>;
pub type PFNGLWINDOWPOS3DVMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS3FMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLWINDOWPOS3FVMESAPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS3IMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint)>;
pub type PFNGLWINDOWPOS3IVMESAPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS3SMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLWINDOWPOS3SVMESAPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLWINDOWPOS4DMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble)>;
pub type PFNGLWINDOWPOS4DVMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLdouble)>;
pub type PFNGLWINDOWPOS4FMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat)>;
pub type PFNGLWINDOWPOS4FVMESAPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLfloat)>;
pub type PFNGLWINDOWPOS4IMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLint, y: GLint, z: GLint, w: GLint)>;
pub type PFNGLWINDOWPOS4IVMESAPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLint)>;
pub type PFNGLWINDOWPOS4SMESAPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLshort, y: GLshort, z: GLshort, w: GLshort)>;
pub type PFNGLWINDOWPOS4SVMESAPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLshort)>;
pub type PFNGLBEGINCONDITIONALRENDERNVXPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLENDCONDITIONALRENDERNVXPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        gpuMask: GLbitfield,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLLGPUCOPYIMAGESUBDATANVXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        sourceGpu: GLuint,
        destinationGpuMask: GLbitfield,
        srcName: GLuint,
        srcTarget: GLenum,
        srcLevel: GLint,
        srcX: GLint,
        srxY: GLint,
        srcZ: GLint,
        dstName: GLuint,
        dstTarget: GLenum,
        dstLevel: GLint,
        dstX: GLint,
        dstY: GLint,
        dstZ: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLLGPUINTERLOCKNVXPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLALPHATOCOVERAGEDITHERCONTROLNVPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const ::std::os::raw::c_void,
        drawCount: GLsizei,
        stride: GLsizei,
        vertexBufferCount: GLint,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const ::std::os::raw::c_void,
        drawCount: GLsizei,
        stride: GLsizei,
        vertexBufferCount: GLint,
    ),
>;
pub type PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        indirect: *const ::std::os::raw::c_void,
        drawCount: GLsizei,
        maxDrawCount: GLsizei,
        stride: GLsizei,
        vertexBufferCount: GLint,
    ),
>;
pub type PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        mode: GLenum,
        type_: GLenum,
        indirect: *const ::std::os::raw::c_void,
        drawCount: GLsizei,
        maxDrawCount: GLsizei,
        stride: GLsizei,
        vertexBufferCount: GLint,
    ),
>;
pub type PFNGLGETTEXTUREHANDLENVPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint) -> GLuint64>;
pub type PFNGLGETTEXTURESAMPLERHANDLENVPROC =
    ::std::option::Option<unsafe extern "C" fn(texture: GLuint, sampler: GLuint) -> GLuint64>;
pub type PFNGLMAKETEXTUREHANDLERESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLGETIMAGEHANDLENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        level: GLint,
        layered: GLboolean,
        layer: GLint,
        format: GLenum,
    ) -> GLuint64,
>;
pub type PFNGLMAKEIMAGEHANDLERESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64, access: GLenum)>;
pub type PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64)>;
pub type PFNGLUNIFORMHANDLEUI64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, value: GLuint64)>;
pub type PFNGLUNIFORMHANDLEUI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64),
>;
pub type PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, location: GLint, value: GLuint64)>;
pub type PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, count: GLsizei, values: *const GLuint64),
>;
pub type PFNGLISTEXTUREHANDLERESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
pub type PFNGLISIMAGEHANDLERESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(handle: GLuint64) -> GLboolean>;
pub type PFNGLBLENDPARAMETERINVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLint)>;
pub type PFNGLBLENDBARRIERNVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLVIEWPORTPOSITIONWSCALENVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, xcoeff: GLfloat, ycoeff: GLfloat)>;
pub type PFNGLCREATESTATESNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, states: *mut GLuint)>;
pub type PFNGLDELETESTATESNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, states: *const GLuint)>;
pub type PFNGLISSTATENVPROC =
    ::std::option::Option<unsafe extern "C" fn(state: GLuint) -> GLboolean>;
pub type PFNGLSTATECAPTURENVPROC =
    ::std::option::Option<unsafe extern "C" fn(state: GLuint, mode: GLenum)>;
pub type PFNGLGETCOMMANDHEADERNVPROC =
    ::std::option::Option<unsafe extern "C" fn(tokenID: GLenum, size: GLuint) -> GLuint>;
pub type PFNGLGETSTAGEINDEXNVPROC =
    ::std::option::Option<unsafe extern "C" fn(shadertype: GLenum) -> GLushort>;
pub type PFNGLDRAWCOMMANDSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        primitiveMode: GLenum,
        buffer: GLuint,
        indirects: *const GLintptr,
        sizes: *const GLsizei,
        count: GLuint,
    ),
>;
pub type PFNGLDRAWCOMMANDSADDRESSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        primitiveMode: GLenum,
        indirects: *const GLuint64,
        sizes: *const GLsizei,
        count: GLuint,
    ),
>;
pub type PFNGLDRAWCOMMANDSSTATESNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        buffer: GLuint,
        indirects: *const GLintptr,
        sizes: *const GLsizei,
        states: *const GLuint,
        fbos: *const GLuint,
        count: GLuint,
    ),
>;
pub type PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        indirects: *const GLuint64,
        sizes: *const GLsizei,
        states: *const GLuint,
        fbos: *const GLuint,
        count: GLuint,
    ),
>;
pub type PFNGLCREATECOMMANDLISTSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, lists: *mut GLuint)>;
pub type PFNGLDELETECOMMANDLISTSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, lists: *const GLuint)>;
pub type PFNGLISCOMMANDLISTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(list: GLuint) -> GLboolean>;
pub type PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        list: GLuint,
        segment: GLuint,
        indirects: *mut *const ::std::os::raw::c_void,
        sizes: *const GLsizei,
        states: *const GLuint,
        fbos: *const GLuint,
        count: GLuint,
    ),
>;
pub type PFNGLCOMMANDLISTSEGMENTSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(list: GLuint, segments: GLuint)>;
pub type PFNGLCOMPILECOMMANDLISTNVPROC = ::std::option::Option<unsafe extern "C" fn(list: GLuint)>;
pub type PFNGLCALLCOMMANDLISTNVPROC = ::std::option::Option<unsafe extern "C" fn(list: GLuint)>;
pub type PFNGLBEGINCONDITIONALRENDERNVPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, mode: GLenum)>;
pub type PFNGLENDCONDITIONALRENDERNVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSUBPIXELPRECISIONBIASNVPROC =
    ::std::option::Option<unsafe extern "C" fn(xbits: GLuint, ybits: GLuint)>;
pub type PFNGLCONSERVATIVERASTERPARAMETERFNVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, value: GLfloat)>;
pub type PFNGLCONSERVATIVERASTERPARAMETERINVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLCOPYIMAGESUBDATANVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        srcName: GLuint,
        srcTarget: GLenum,
        srcLevel: GLint,
        srcX: GLint,
        srcY: GLint,
        srcZ: GLint,
        dstName: GLuint,
        dstTarget: GLenum,
        dstLevel: GLint,
        dstX: GLint,
        dstY: GLint,
        dstZ: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLDEPTHRANGEDNVPROC =
    ::std::option::Option<unsafe extern "C" fn(zNear: GLdouble, zFar: GLdouble)>;
pub type PFNGLCLEARDEPTHDNVPROC = ::std::option::Option<unsafe extern "C" fn(depth: GLdouble)>;
pub type PFNGLDEPTHBOUNDSDNVPROC =
    ::std::option::Option<unsafe extern "C" fn(zmin: GLdouble, zmax: GLdouble)>;
pub type PFNGLDRAWTEXTURENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        sampler: GLuint,
        x0: GLfloat,
        y0: GLfloat,
        x1: GLfloat,
        y1: GLfloat,
        z: GLfloat,
        s0: GLfloat,
        t0: GLfloat,
        s1: GLfloat,
        t1: GLfloat,
    ),
>;
pub type GLVULKANPROCNV = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLDRAWVKIMAGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vkImage: GLuint64,
        sampler: GLuint,
        x0: GLfloat,
        y0: GLfloat,
        x1: GLfloat,
        y1: GLfloat,
        z: GLfloat,
        s0: GLfloat,
        t0: GLfloat,
        s1: GLfloat,
        t1: GLfloat,
    ),
>;
pub type PFNGLGETVKPROCADDRNVPROC =
    ::std::option::Option<unsafe extern "C" fn(name: *const GLchar) -> GLVULKANPROCNV>;
pub type PFNGLWAITVKSEMAPHORENVPROC =
    ::std::option::Option<unsafe extern "C" fn(vkSemaphore: GLuint64)>;
pub type PFNGLSIGNALVKSEMAPHORENVPROC =
    ::std::option::Option<unsafe extern "C" fn(vkSemaphore: GLuint64)>;
pub type PFNGLSIGNALVKFENCENVPROC = ::std::option::Option<unsafe extern "C" fn(vkFence: GLuint64)>;
pub type PFNGLMAPCONTROLPOINTSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        type_: GLenum,
        ustride: GLsizei,
        vstride: GLsizei,
        uorder: GLint,
        vorder: GLint,
        packed: GLboolean,
        points: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMAPPARAMETERIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLMAPPARAMETERFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLGETMAPCONTROLPOINTSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        type_: GLenum,
        ustride: GLsizei,
        vstride: GLsizei,
        packed: GLboolean,
        points: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETMAPPARAMETERIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETMAPPARAMETERFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETMAPATTRIBPARAMETERIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETMAPATTRIBPARAMETERFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLEVALMAPSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, mode: GLenum)>;
pub type PFNGLGETMULTISAMPLEFVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, index: GLuint, val: *mut GLfloat)>;
pub type PFNGLSAMPLEMASKINDEXEDNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, mask: GLbitfield)>;
pub type PFNGLTEXRENDERBUFFERNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, renderbuffer: GLuint)>;
pub type PFNGLDELETEFENCESNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *const GLuint)>;
pub type PFNGLGENFENCESNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, fences: *mut GLuint)>;
pub type PFNGLISFENCENVPROC =
    ::std::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
pub type PFNGLTESTFENCENVPROC =
    ::std::option::Option<unsafe extern "C" fn(fence: GLuint) -> GLboolean>;
pub type PFNGLGETFENCEIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(fence: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLFINISHFENCENVPROC = ::std::option::Option<unsafe extern "C" fn(fence: GLuint)>;
pub type PFNGLSETFENCENVPROC =
    ::std::option::Option<unsafe extern "C" fn(fence: GLuint, condition: GLenum)>;
pub type PFNGLFRAGMENTCOVERAGECOLORNVPROC =
    ::std::option::Option<unsafe extern "C" fn(color: GLuint)>;
pub type PFNGLPROGRAMNAMEDPARAMETER4FNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        id: GLuint,
        len: GLsizei,
        name: *const GLubyte,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, v: *const GLfloat),
>;
pub type PFNGLPROGRAMNAMEDPARAMETER4DNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        id: GLuint,
        len: GLsizei,
        name: *const GLubyte,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, v: *const GLdouble),
>;
pub type PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, params: *mut GLfloat),
>;
pub type PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(id: GLuint, len: GLsizei, name: *const GLubyte, params: *mut GLdouble),
>;
pub type PFNGLCOVERAGEMODULATIONTABLENVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, v: *const GLfloat)>;
pub type PFNGLGETCOVERAGEMODULATIONTABLENVPROC =
    ::std::option::Option<unsafe extern "C" fn(bufsize: GLsizei, v: *mut GLfloat)>;
pub type PFNGLCOVERAGEMODULATIONNVPROC =
    ::std::option::Option<unsafe extern "C" fn(components: GLenum)>;
pub type PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
    ),
>;
pub type PFNGLPROGRAMVERTEXLIMITNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, limit: GLint)>;
pub type PFNGLFRAMEBUFFERTEXTUREEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, attachment: GLenum, texture: GLuint, level: GLint),
>;
pub type PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        face: GLenum,
    ),
>;
pub type PFNGLRENDERGPUMASKNVPROC = ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
pub type PFNGLMULTICASTBUFFERSUBDATANVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        gpuMask: GLbitfield,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
        data: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        readGpu: GLuint,
        writeGpuMask: GLbitfield,
        readBuffer: GLuint,
        writeBuffer: GLuint,
        readOffset: GLintptr,
        writeOffset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLMULTICASTCOPYIMAGESUBDATANVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        srcGpu: GLuint,
        dstGpuMask: GLbitfield,
        srcName: GLuint,
        srcTarget: GLenum,
        srcLevel: GLint,
        srcX: GLint,
        srcY: GLint,
        srcZ: GLint,
        dstName: GLuint,
        dstTarget: GLenum,
        dstLevel: GLint,
        dstX: GLint,
        dstY: GLint,
        dstZ: GLint,
        srcWidth: GLsizei,
        srcHeight: GLsizei,
        srcDepth: GLsizei,
    ),
>;
pub type PFNGLMULTICASTBLITFRAMEBUFFERNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        srcGpu: GLuint,
        dstGpu: GLuint,
        srcX0: GLint,
        srcY0: GLint,
        srcX1: GLint,
        srcY1: GLint,
        dstX0: GLint,
        dstY0: GLint,
        dstX1: GLint,
        dstY1: GLint,
        mask: GLbitfield,
        filter: GLenum,
    ),
>;
pub type PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        gpu: GLuint,
        framebuffer: GLuint,
        start: GLuint,
        count: GLsizei,
        v: *const GLfloat,
    ),
>;
pub type PFNGLMULTICASTBARRIERNVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLMULTICASTWAITSYNCNVPROC =
    ::std::option::Option<unsafe extern "C" fn(signalGpu: GLuint, waitGpuMask: GLbitfield)>;
pub type PFNGLMULTICASTGETQUERYOBJECTIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(gpu: GLuint, id: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(gpu: GLuint, id: GLuint, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(gpu: GLuint, id: GLuint, pname: GLenum, params: *mut GLint64),
>;
pub type PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(gpu: GLuint, id: GLuint, pname: GLenum, params: *mut GLuint64),
>;
pub type PFNGLPROGRAMLOCALPARAMETERI4INVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
>;
pub type PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLint),
>;
pub type PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLint),
>;
pub type PFNGLPROGRAMLOCALPARAMETERI4UINVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
>;
pub type PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLuint),
>;
pub type PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLuint),
>;
pub type PFNGLPROGRAMENVPARAMETERI4INVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
>;
pub type PFNGLPROGRAMENVPARAMETERI4IVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLint),
>;
pub type PFNGLPROGRAMENVPARAMETERSI4IVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLint),
>;
pub type PFNGLPROGRAMENVPARAMETERI4UINVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
>;
pub type PFNGLPROGRAMENVPARAMETERI4UIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, params: *const GLuint),
>;
pub type PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, params: *const GLuint),
>;
pub type PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLint)>;
pub type PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLuint)>;
pub type PFNGLGETPROGRAMENVPARAMETERIIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLint)>;
pub type PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, params: *mut GLuint)>;
pub type PFNGLPROGRAMSUBROUTINEPARAMETERSUIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, count: GLsizei, params: *const GLuint),
>;
pub type PFNGLGETPROGRAMSUBROUTINEPARAMETERUIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, param: *mut GLuint)>;
pub type GLhalfNV = ::std::os::raw::c_ushort;
pub type PFNGLVERTEX2HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLhalfNV, y: GLhalfNV)>;
pub type PFNGLVERTEX2HVNVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLVERTEX3HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLhalfNV, y: GLhalfNV, z: GLhalfNV)>;
pub type PFNGLVERTEX3HVNVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLVERTEX4HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(x: GLhalfNV, y: GLhalfNV, z: GLhalfNV, w: GLhalfNV)>;
pub type PFNGLVERTEX4HVNVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLNORMAL3HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(nx: GLhalfNV, ny: GLhalfNV, nz: GLhalfNV)>;
pub type PFNGLNORMAL3HVNVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLCOLOR3HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLhalfNV, green: GLhalfNV, blue: GLhalfNV)>;
pub type PFNGLCOLOR3HVNVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLCOLOR4HNVPROC = ::std::option::Option<
    unsafe extern "C" fn(red: GLhalfNV, green: GLhalfNV, blue: GLhalfNV, alpha: GLhalfNV),
>;
pub type PFNGLCOLOR4HVNVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLTEXCOORD1HNVPROC = ::std::option::Option<unsafe extern "C" fn(s: GLhalfNV)>;
pub type PFNGLTEXCOORD1HVNVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLTEXCOORD2HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(s: GLhalfNV, t: GLhalfNV)>;
pub type PFNGLTEXCOORD2HVNVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLTEXCOORD3HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(s: GLhalfNV, t: GLhalfNV, r: GLhalfNV)>;
pub type PFNGLTEXCOORD3HVNVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLTEXCOORD4HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(s: GLhalfNV, t: GLhalfNV, r: GLhalfNV, q: GLhalfNV)>;
pub type PFNGLTEXCOORD4HVNVPROC = ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLMULTITEXCOORD1HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLhalfNV)>;
pub type PFNGLMULTITEXCOORD1HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
pub type PFNGLMULTITEXCOORD2HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, s: GLhalfNV, t: GLhalfNV)>;
pub type PFNGLMULTITEXCOORD2HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
pub type PFNGLMULTITEXCOORD3HNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLhalfNV, t: GLhalfNV, r: GLhalfNV),
>;
pub type PFNGLMULTITEXCOORD3HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
pub type PFNGLMULTITEXCOORD4HNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, s: GLhalfNV, t: GLhalfNV, r: GLhalfNV, q: GLhalfNV),
>;
pub type PFNGLMULTITEXCOORD4HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, v: *const GLhalfNV)>;
pub type PFNGLFOGCOORDHNVPROC = ::std::option::Option<unsafe extern "C" fn(fog: GLhalfNV)>;
pub type PFNGLFOGCOORDHVNVPROC = ::std::option::Option<unsafe extern "C" fn(fog: *const GLhalfNV)>;
pub type PFNGLSECONDARYCOLOR3HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(red: GLhalfNV, green: GLhalfNV, blue: GLhalfNV)>;
pub type PFNGLSECONDARYCOLOR3HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(v: *const GLhalfNV)>;
pub type PFNGLVERTEXWEIGHTHNVPROC = ::std::option::Option<unsafe extern "C" fn(weight: GLhalfNV)>;
pub type PFNGLVERTEXWEIGHTHVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(weight: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIB1HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLhalfNV)>;
pub type PFNGLVERTEXATTRIB1HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIB2HNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLhalfNV, y: GLhalfNV)>;
pub type PFNGLVERTEXATTRIB2HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIB3HNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLhalfNV, y: GLhalfNV, z: GLhalfNV),
>;
pub type PFNGLVERTEXATTRIB3HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIB4HNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLhalfNV, y: GLhalfNV, z: GLhalfNV, w: GLhalfNV),
>;
pub type PFNGLVERTEXATTRIB4HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIBS1HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIBS2HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIBS3HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
pub type PFNGLVERTEXATTRIBS4HVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, n: GLsizei, v: *const GLhalfNV)>;
pub type PFNGLGETINTERNALFORMATSAMPLEIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        samples: GLsizei,
        pname: GLenum,
        bufSize: GLsizei,
        params: *mut GLint,
    ),
>;
pub type PFNGLGENOCCLUSIONQUERIESNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLDELETEOCCLUSIONQUERIESNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
pub type PFNGLISOCCLUSIONQUERYNVPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLBEGINOCCLUSIONQUERYNVPROC = ::std::option::Option<unsafe extern "C" fn(id: GLuint)>;
pub type PFNGLENDOCCLUSIONQUERYNVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLGETOCCLUSIONQUERYIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETOCCLUSIONQUERYUIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        bindingIndex: GLuint,
        wordIndex: GLuint,
        count: GLsizei,
        params: *const GLfloat,
    ),
>;
pub type PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        bindingIndex: GLuint,
        wordIndex: GLuint,
        count: GLsizei,
        params: *const GLint,
    ),
>;
pub type PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        bindingIndex: GLuint,
        wordIndex: GLuint,
        count: GLsizei,
        params: *const GLuint,
    ),
>;
pub type PFNGLGENPATHSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(range: GLsizei) -> GLuint>;
pub type PFNGLDELETEPATHSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, range: GLsizei)>;
pub type PFNGLISPATHNVPROC = ::std::option::Option<unsafe extern "C" fn(path: GLuint) -> GLboolean>;
pub type PFNGLPATHCOMMANDSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        numCommands: GLsizei,
        commands: *const GLubyte,
        numCoords: GLsizei,
        coordType: GLenum,
        coords: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLPATHCOORDSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        numCoords: GLsizei,
        coordType: GLenum,
        coords: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLPATHSUBCOMMANDSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        commandStart: GLsizei,
        commandsToDelete: GLsizei,
        numCommands: GLsizei,
        commands: *const GLubyte,
        numCoords: GLsizei,
        coordType: GLenum,
        coords: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLPATHSUBCOORDSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        coordStart: GLsizei,
        numCoords: GLsizei,
        coordType: GLenum,
        coords: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLPATHSTRINGNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        format: GLenum,
        length: GLsizei,
        pathString: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLPATHGLYPHSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        firstPathName: GLuint,
        fontTarget: GLenum,
        fontName: *const ::std::os::raw::c_void,
        fontStyle: GLbitfield,
        numGlyphs: GLsizei,
        type_: GLenum,
        charcodes: *const ::std::os::raw::c_void,
        handleMissingGlyphs: GLenum,
        pathParameterTemplate: GLuint,
        emScale: GLfloat,
    ),
>;
pub type PFNGLPATHGLYPHRANGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        firstPathName: GLuint,
        fontTarget: GLenum,
        fontName: *const ::std::os::raw::c_void,
        fontStyle: GLbitfield,
        firstGlyph: GLuint,
        numGlyphs: GLsizei,
        handleMissingGlyphs: GLenum,
        pathParameterTemplate: GLuint,
        emScale: GLfloat,
    ),
>;
pub type PFNGLWEIGHTPATHSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        resultPath: GLuint,
        numPaths: GLsizei,
        paths: *const GLuint,
        weights: *const GLfloat,
    ),
>;
pub type PFNGLCOPYPATHNVPROC =
    ::std::option::Option<unsafe extern "C" fn(resultPath: GLuint, srcPath: GLuint)>;
pub type PFNGLINTERPOLATEPATHSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(resultPath: GLuint, pathA: GLuint, pathB: GLuint, weight: GLfloat),
>;
pub type PFNGLTRANSFORMPATHNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        resultPath: GLuint,
        srcPath: GLuint,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLPATHPARAMETERIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *const GLint)>;
pub type PFNGLPATHPARAMETERINVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: GLint)>;
pub type PFNGLPATHPARAMETERFVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *const GLfloat)>;
pub type PFNGLPATHPARAMETERFNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: GLfloat)>;
pub type PFNGLPATHDASHARRAYNVPROC = ::std::option::Option<
    unsafe extern "C" fn(path: GLuint, dashCount: GLsizei, dashArray: *const GLfloat),
>;
pub type PFNGLPATHSTENCILFUNCNVPROC =
    ::std::option::Option<unsafe extern "C" fn(func: GLenum, ref_: GLint, mask: GLuint)>;
pub type PFNGLPATHSTENCILDEPTHOFFSETNVPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLfloat, units: GLfloat)>;
pub type PFNGLSTENCILFILLPATHNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, fillMode: GLenum, mask: GLuint)>;
pub type PFNGLSTENCILSTROKEPATHNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, reference: GLint, mask: GLuint)>;
pub type PFNGLSTENCILFILLPATHINSTANCEDNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const ::std::os::raw::c_void,
        pathBase: GLuint,
        fillMode: GLenum,
        mask: GLuint,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const ::std::os::raw::c_void,
        pathBase: GLuint,
        reference: GLint,
        mask: GLuint,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLPATHCOVERDEPTHFUNCNVPROC = ::std::option::Option<unsafe extern "C" fn(func: GLenum)>;
pub type PFNGLCOVERFILLPATHNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, coverMode: GLenum)>;
pub type PFNGLCOVERSTROKEPATHNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, coverMode: GLenum)>;
pub type PFNGLCOVERFILLPATHINSTANCEDNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const ::std::os::raw::c_void,
        pathBase: GLuint,
        coverMode: GLenum,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLCOVERSTROKEPATHINSTANCEDNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const ::std::os::raw::c_void,
        pathBase: GLuint,
        coverMode: GLenum,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLGETPATHPARAMETERIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *mut GLint)>;
pub type PFNGLGETPATHPARAMETERFVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, pname: GLenum, value: *mut GLfloat)>;
pub type PFNGLGETPATHCOMMANDSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, commands: *mut GLubyte)>;
pub type PFNGLGETPATHCOORDSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, coords: *mut GLfloat)>;
pub type PFNGLGETPATHDASHARRAYNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, dashArray: *mut GLfloat)>;
pub type PFNGLGETPATHMETRICSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        metricQueryMask: GLbitfield,
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const ::std::os::raw::c_void,
        pathBase: GLuint,
        stride: GLsizei,
        metrics: *mut GLfloat,
    ),
>;
pub type PFNGLGETPATHMETRICRANGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        metricQueryMask: GLbitfield,
        firstPathName: GLuint,
        numPaths: GLsizei,
        stride: GLsizei,
        metrics: *mut GLfloat,
    ),
>;
pub type PFNGLGETPATHSPACINGNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        pathListMode: GLenum,
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const ::std::os::raw::c_void,
        pathBase: GLuint,
        advanceScale: GLfloat,
        kerningScale: GLfloat,
        transformType: GLenum,
        returnedSpacing: *mut GLfloat,
    ),
>;
pub type PFNGLISPOINTINFILLPATHNVPROC = ::std::option::Option<
    unsafe extern "C" fn(path: GLuint, mask: GLuint, x: GLfloat, y: GLfloat) -> GLboolean,
>;
pub type PFNGLISPOINTINSTROKEPATHNVPROC =
    ::std::option::Option<unsafe extern "C" fn(path: GLuint, x: GLfloat, y: GLfloat) -> GLboolean>;
pub type PFNGLGETPATHLENGTHNVPROC = ::std::option::Option<
    unsafe extern "C" fn(path: GLuint, startSegment: GLsizei, numSegments: GLsizei) -> GLfloat,
>;
pub type PFNGLPOINTALONGPATHNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        path: GLuint,
        startSegment: GLsizei,
        numSegments: GLsizei,
        distance: GLfloat,
        x: *mut GLfloat,
        y: *mut GLfloat,
        tangentX: *mut GLfloat,
        tangentY: *mut GLfloat,
    ) -> GLboolean,
>;
pub type PFNGLMATRIXLOAD3X2FNVPROC =
    ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXLOAD3X3FNVPROC =
    ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC =
    ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXMULT3X2FNVPROC =
    ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXMULT3X3FNVPROC =
    ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC =
    ::std::option::Option<unsafe extern "C" fn(matrixMode: GLenum, m: *const GLfloat)>;
pub type PFNGLSTENCILTHENCOVERFILLPATHNVPROC = ::std::option::Option<
    unsafe extern "C" fn(path: GLuint, fillMode: GLenum, mask: GLuint, coverMode: GLenum),
>;
pub type PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC = ::std::option::Option<
    unsafe extern "C" fn(path: GLuint, reference: GLint, mask: GLuint, coverMode: GLenum),
>;
pub type PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const ::std::os::raw::c_void,
        pathBase: GLuint,
        fillMode: GLenum,
        mask: GLuint,
        coverMode: GLenum,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        numPaths: GLsizei,
        pathNameType: GLenum,
        paths: *const ::std::os::raw::c_void,
        pathBase: GLuint,
        reference: GLint,
        mask: GLuint,
        coverMode: GLenum,
        transformType: GLenum,
        transformValues: *const GLfloat,
    ),
>;
pub type PFNGLPATHGLYPHINDEXRANGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        fontTarget: GLenum,
        fontName: *const ::std::os::raw::c_void,
        fontStyle: GLbitfield,
        pathParameterTemplate: GLuint,
        emScale: GLfloat,
        baseAndCount: *mut GLuint,
    ) -> GLenum,
>;
pub type PFNGLPATHGLYPHINDEXARRAYNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        firstPathName: GLuint,
        fontTarget: GLenum,
        fontName: *const ::std::os::raw::c_void,
        fontStyle: GLbitfield,
        firstGlyphIndex: GLuint,
        numGlyphs: GLsizei,
        pathParameterTemplate: GLuint,
        emScale: GLfloat,
    ) -> GLenum,
>;
pub type PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        firstPathName: GLuint,
        fontTarget: GLenum,
        fontSize: GLsizeiptr,
        fontData: *const ::std::os::raw::c_void,
        faceIndex: GLsizei,
        firstGlyphIndex: GLuint,
        numGlyphs: GLsizei,
        pathParameterTemplate: GLuint,
        emScale: GLfloat,
    ) -> GLenum,
>;
pub type PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        genMode: GLenum,
        components: GLint,
        coeffs: *const GLfloat,
    ),
>;
pub type PFNGLGETPROGRAMRESOURCEFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        programInterface: GLenum,
        index: GLuint,
        propCount: GLsizei,
        props: *const GLenum,
        bufSize: GLsizei,
        length: *mut GLsizei,
        params: *mut GLfloat,
    ),
>;
pub type PFNGLPATHCOLORGENNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        color: GLenum,
        genMode: GLenum,
        colorFormat: GLenum,
        coeffs: *const GLfloat,
    ),
>;
pub type PFNGLPATHTEXGENNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texCoordSet: GLenum,
        genMode: GLenum,
        components: GLint,
        coeffs: *const GLfloat,
    ),
>;
pub type PFNGLPATHFOGGENNVPROC = ::std::option::Option<unsafe extern "C" fn(genMode: GLenum)>;
pub type PFNGLGETPATHCOLORGENIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(color: GLenum, pname: GLenum, value: *mut GLint)>;
pub type PFNGLGETPATHCOLORGENFVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(color: GLenum, pname: GLenum, value: *mut GLfloat)>;
pub type PFNGLGETPATHTEXGENIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(texCoordSet: GLenum, pname: GLenum, value: *mut GLint),
>;
pub type PFNGLGETPATHTEXGENFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(texCoordSet: GLenum, pname: GLenum, value: *mut GLfloat),
>;
pub type PFNGLPIXELDATARANGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, length: GLsizei, pointer: *const ::std::os::raw::c_void),
>;
pub type PFNGLFLUSHPIXELDATARANGENVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLPOINTPARAMETERINVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLPOINTPARAMETERIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLPRESENTFRAMEKEYEDNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_slot: GLuint,
        minPresentTime: GLuint64EXT,
        beginPresentTimeId: GLuint,
        presentDurationId: GLuint,
        type_: GLenum,
        target0: GLenum,
        fill0: GLuint,
        key0: GLuint,
        target1: GLenum,
        fill1: GLuint,
        key1: GLuint,
    ),
>;
pub type PFNGLPRESENTFRAMEDUALFILLNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_slot: GLuint,
        minPresentTime: GLuint64EXT,
        beginPresentTimeId: GLuint,
        presentDurationId: GLuint,
        type_: GLenum,
        target0: GLenum,
        fill0: GLuint,
        target1: GLenum,
        fill1: GLuint,
        target2: GLenum,
        fill2: GLuint,
        target3: GLenum,
        fill3: GLuint,
    ),
>;
pub type PFNGLGETVIDEOIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETVIDEOUIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLuint),
>;
pub type PFNGLGETVIDEOI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLint64EXT),
>;
pub type PFNGLGETVIDEOUI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(video_slot: GLuint, pname: GLenum, params: *mut GLuint64EXT),
>;
pub type PFNGLPRIMITIVERESTARTNVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLPRIMITIVERESTARTINDEXNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint)>;
pub type PFNGLQUERYRESOURCENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        queryType: GLenum,
        tagId: GLint,
        bufSize: GLuint,
        buffer: *mut GLint,
    ) -> GLint,
>;
pub type PFNGLGENQUERYRESOURCETAGNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, tagIds: *mut GLint)>;
pub type PFNGLDELETEQUERYRESOURCETAGNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, tagIds: *const GLint)>;
pub type PFNGLQUERYRESOURCETAGNVPROC =
    ::std::option::Option<unsafe extern "C" fn(tagId: GLint, tagString: *const GLchar)>;
pub type PFNGLCOMBINERPARAMETERFVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLCOMBINERPARAMETERFNVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLCOMBINERPARAMETERIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLCOMBINERPARAMETERINVPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLCOMBINERINPUTNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        stage: GLenum,
        portion: GLenum,
        variable: GLenum,
        input: GLenum,
        mapping: GLenum,
        componentUsage: GLenum,
    ),
>;
pub type PFNGLCOMBINEROUTPUTNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        stage: GLenum,
        portion: GLenum,
        abOutput: GLenum,
        cdOutput: GLenum,
        sumOutput: GLenum,
        scale: GLenum,
        bias: GLenum,
        abDotProduct: GLboolean,
        cdDotProduct: GLboolean,
        muxSum: GLboolean,
    ),
>;
pub type PFNGLFINALCOMBINERINPUTNVPROC = ::std::option::Option<
    unsafe extern "C" fn(variable: GLenum, input: GLenum, mapping: GLenum, componentUsage: GLenum),
>;
pub type PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        stage: GLenum,
        portion: GLenum,
        variable: GLenum,
        pname: GLenum,
        params: *mut GLfloat,
    ),
>;
pub type PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        stage: GLenum,
        portion: GLenum,
        variable: GLenum,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(stage: GLenum, portion: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(stage: GLenum, portion: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(variable: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(variable: GLenum, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLCOMBINERSTAGEPARAMETERFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(stage: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(stage: GLenum, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, start: GLuint, count: GLsizei, v: *const GLfloat),
>;
pub type PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(framebuffer: GLuint, start: GLuint, count: GLsizei, v: *const GLfloat),
>;
pub type PFNGLRESOLVEDEPTHVALUESNVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLMAKEBUFFERRESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, access: GLenum)>;
pub type PFNGLMAKEBUFFERNONRESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum)>;
pub type PFNGLISBUFFERRESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum) -> GLboolean>;
pub type PFNGLMAKENAMEDBUFFERRESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint, access: GLenum)>;
pub type PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint)>;
pub type PFNGLISNAMEDBUFFERRESIDENTNVPROC =
    ::std::option::Option<unsafe extern "C" fn(buffer: GLuint) -> GLboolean>;
pub type PFNGLGETBUFFERPARAMETERUI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLuint64EXT),
>;
pub type PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(buffer: GLuint, pname: GLenum, params: *mut GLuint64EXT),
>;
pub type PFNGLGETINTEGERUI64VNVPROC =
    ::std::option::Option<unsafe extern "C" fn(value: GLenum, result: *mut GLuint64EXT)>;
pub type PFNGLUNIFORMUI64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(location: GLint, value: GLuint64EXT)>;
pub type PFNGLUNIFORMUI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(location: GLint, count: GLsizei, value: *const GLuint64EXT),
>;
pub type PFNGLPROGRAMUNIFORMUI64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, location: GLint, value: GLuint64EXT),
>;
pub type PFNGLPROGRAMUNIFORMUI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        location: GLint,
        count: GLsizei,
        value: *const GLuint64EXT,
    ),
>;
pub type PFNGLTEXTUREBARRIERNVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLTEXIMAGE2DMULTISAMPLECOVERAGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLTEXIMAGE3DMULTISAMPLECOVERAGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLTEXTUREIMAGE2DMULTISAMPLENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        samples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLTEXTUREIMAGE3DMULTISAMPLENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        samples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLTEXTUREIMAGE2DMULTISAMPLECOVERAGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        texture: GLuint,
        target: GLenum,
        coverageSamples: GLsizei,
        colorSamples: GLsizei,
        internalFormat: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        fixedSampleLocations: GLboolean,
    ),
>;
pub type PFNGLBEGINTRANSFORMFEEDBACKNVPROC =
    ::std::option::Option<unsafe extern "C" fn(primitiveMode: GLenum)>;
pub type PFNGLENDTRANSFORMFEEDBACKNVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(count: GLsizei, attribs: *const GLint, bufferMode: GLenum),
>;
pub type PFNGLBINDBUFFERRANGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        buffer: GLuint,
        offset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLBINDBUFFEROFFSETNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint, offset: GLintptr),
>;
pub type PFNGLBINDBUFFERBASENVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, buffer: GLuint)>;
pub type PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        count: GLsizei,
        locations: *const GLint,
        bufferMode: GLenum,
    ),
>;
pub type PFNGLACTIVEVARYINGNVPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar)>;
pub type PFNGLGETVARYINGLOCATIONNVPROC =
    ::std::option::Option<unsafe extern "C" fn(program: GLuint, name: *const GLchar) -> GLint>;
pub type PFNGLGETACTIVEVARYINGNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        program: GLuint,
        index: GLuint,
        bufSize: GLsizei,
        length: *mut GLsizei,
        size: *mut GLsizei,
        type_: *mut GLenum,
        name: *mut GLchar,
    ),
>;
pub type PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC = ::std::option::Option<
    unsafe extern "C" fn(program: GLuint, index: GLuint, location: *mut GLint),
>;
pub type PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        count: GLsizei,
        attribs: *const GLint,
        nbuffers: GLsizei,
        bufstreams: *const GLint,
        bufferMode: GLenum,
    ),
>;
pub type PFNGLBINDTRANSFORMFEEDBACKNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
pub type PFNGLDELETETRANSFORMFEEDBACKSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *const GLuint)>;
pub type PFNGLGENTRANSFORMFEEDBACKSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, ids: *mut GLuint)>;
pub type PFNGLISTRANSFORMFEEDBACKNVPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLPAUSETRANSFORMFEEDBACKNVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLRESUMETRANSFORMFEEDBACKNVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLDRAWTRANSFORMFEEDBACKNVPROC =
    ::std::option::Option<unsafe extern "C" fn(mode: GLenum, id: GLuint)>;
pub type GLvdpauSurfaceNV = GLintptr;
pub type PFNGLVDPAUINITNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vdpDevice: *const ::std::os::raw::c_void,
        getProcAddress: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLVDPAUFININVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLVDPAUREGISTERVIDEOSURFACENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vdpSurface: *const ::std::os::raw::c_void,
        target: GLenum,
        numTextureNames: GLsizei,
        textureNames: *const GLuint,
    ) -> GLvdpauSurfaceNV,
>;
pub type PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        vdpSurface: *const ::std::os::raw::c_void,
        target: GLenum,
        numTextureNames: GLsizei,
        textureNames: *const GLuint,
    ) -> GLvdpauSurfaceNV,
>;
pub type PFNGLVDPAUISSURFACENVPROC =
    ::std::option::Option<unsafe extern "C" fn(surface: GLvdpauSurfaceNV) -> GLboolean>;
pub type PFNGLVDPAUUNREGISTERSURFACENVPROC =
    ::std::option::Option<unsafe extern "C" fn(surface: GLvdpauSurfaceNV)>;
pub type PFNGLVDPAUGETSURFACEIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        surface: GLvdpauSurfaceNV,
        pname: GLenum,
        bufSize: GLsizei,
        length: *mut GLsizei,
        values: *mut GLint,
    ),
>;
pub type PFNGLVDPAUSURFACEACCESSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(surface: GLvdpauSurfaceNV, access: GLenum)>;
pub type PFNGLVDPAUMAPSURFACESNVPROC = ::std::option::Option<
    unsafe extern "C" fn(numSurfaces: GLsizei, surfaces: *const GLvdpauSurfaceNV),
>;
pub type PFNGLVDPAUUNMAPSURFACESNVPROC = ::std::option::Option<
    unsafe extern "C" fn(numSurface: GLsizei, surfaces: *const GLvdpauSurfaceNV),
>;
pub type PFNGLFLUSHVERTEXARRAYRANGENVPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLVERTEXARRAYRANGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(length: GLsizei, pointer: *const ::std::os::raw::c_void),
>;
pub type PFNGLVERTEXATTRIBL1I64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL2I64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint64EXT, y: GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL3I64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLint64EXT, y: GLint64EXT, z: GLint64EXT),
>;
pub type PFNGLVERTEXATTRIBL4I64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLint64EXT, y: GLint64EXT, z: GLint64EXT, w: GLint64EXT),
>;
pub type PFNGLVERTEXATTRIBL1I64VNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL2I64VNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL3I64VNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL4I64VNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint64EXT)>;
pub type PFNGLVERTEXATTRIBL1UI64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL2UI64NVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint64EXT, y: GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL3UI64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLuint64EXT, y: GLuint64EXT, z: GLuint64EXT),
>;
pub type PFNGLVERTEXATTRIBL4UI64NVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        x: GLuint64EXT,
        y: GLuint64EXT,
        z: GLuint64EXT,
        w: GLuint64EXT,
    ),
>;
pub type PFNGLVERTEXATTRIBL1UI64VNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL2UI64VNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL3UI64VNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
pub type PFNGLVERTEXATTRIBL4UI64VNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint64EXT)>;
pub type PFNGLGETVERTEXATTRIBLI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint64EXT),
>;
pub type PFNGLGETVERTEXATTRIBLUI64VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint64EXT),
>;
pub type PFNGLVERTEXATTRIBLFORMATNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, size: GLint, type_: GLenum, stride: GLsizei),
>;
pub type PFNGLBUFFERADDRESSRANGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(pname: GLenum, index: GLuint, address: GLuint64EXT, length: GLsizeiptr),
>;
pub type PFNGLVERTEXFORMATNVPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
pub type PFNGLNORMALFORMATNVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, stride: GLsizei)>;
pub type PFNGLCOLORFORMATNVPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
pub type PFNGLINDEXFORMATNVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, stride: GLsizei)>;
pub type PFNGLTEXCOORDFORMATNVPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
pub type PFNGLEDGEFLAGFORMATNVPROC = ::std::option::Option<unsafe extern "C" fn(stride: GLsizei)>;
pub type PFNGLSECONDARYCOLORFORMATNVPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLint, type_: GLenum, stride: GLsizei)>;
pub type PFNGLFOGCOORDFORMATNVPROC =
    ::std::option::Option<unsafe extern "C" fn(type_: GLenum, stride: GLsizei)>;
pub type PFNGLVERTEXATTRIBFORMATNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        normalized: GLboolean,
        stride: GLsizei,
    ),
>;
pub type PFNGLVERTEXATTRIBIFORMATNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, size: GLint, type_: GLenum, stride: GLsizei),
>;
pub type PFNGLGETINTEGERUI64I_VNVPROC = ::std::option::Option<
    unsafe extern "C" fn(value: GLenum, index: GLuint, result: *mut GLuint64EXT),
>;
pub type PFNGLAREPROGRAMSRESIDENTNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        n: GLsizei,
        programs: *const GLuint,
        residences: *mut GLboolean,
    ) -> GLboolean,
>;
pub type PFNGLBINDPROGRAMNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint)>;
pub type PFNGLDELETEPROGRAMSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *const GLuint)>;
pub type PFNGLEXECUTEPROGRAMNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, id: GLuint, params: *const GLfloat)>;
pub type PFNGLGENPROGRAMSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *mut GLuint)>;
pub type PFNGLGETPROGRAMPARAMETERDVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLGETPROGRAMPARAMETERFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETPROGRAMIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETPROGRAMSTRINGNVPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint, pname: GLenum, program: *mut GLubyte)>;
pub type PFNGLGETTRACKMATRIXIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, address: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETVERTEXATTRIBDVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLdouble),
>;
pub type PFNGLGETVERTEXATTRIBFVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETVERTEXATTRIBIVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETVERTEXATTRIBPOINTERVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, pname: GLenum, pointer: *mut *mut ::std::os::raw::c_void),
>;
pub type PFNGLISPROGRAMNVPROC =
    ::std::option::Option<unsafe extern "C" fn(id: GLuint) -> GLboolean>;
pub type PFNGLLOADPROGRAMNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, id: GLuint, len: GLsizei, program: *const GLubyte),
>;
pub type PFNGLPROGRAMPARAMETER4DNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLdouble,
        y: GLdouble,
        z: GLdouble,
        w: GLdouble,
    ),
>;
pub type PFNGLPROGRAMPARAMETER4DVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, v: *const GLdouble)>;
pub type PFNGLPROGRAMPARAMETER4FNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        index: GLuint,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLPROGRAMPARAMETER4FVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, index: GLuint, v: *const GLfloat)>;
pub type PFNGLPROGRAMPARAMETERS4DVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, v: *const GLdouble),
>;
pub type PFNGLPROGRAMPARAMETERS4FVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, index: GLuint, count: GLsizei, v: *const GLfloat),
>;
pub type PFNGLREQUESTRESIDENTPROGRAMSNVPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, programs: *const GLuint)>;
pub type PFNGLTRACKMATRIXNVPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, address: GLuint, matrix: GLenum, transform: GLenum),
>;
pub type PFNGLVERTEXATTRIBPOINTERNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        fsize: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLVERTEXATTRIB1DNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble)>;
pub type PFNGLVERTEXATTRIB1DVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB1FNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat)>;
pub type PFNGLVERTEXATTRIB1FVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB1SNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort)>;
pub type PFNGLVERTEXATTRIB1SVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB2DNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble)>;
pub type PFNGLVERTEXATTRIB2DVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB2FNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat)>;
pub type PFNGLVERTEXATTRIB2FVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB2SNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort)>;
pub type PFNGLVERTEXATTRIB2SVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB3DNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble),
>;
pub type PFNGLVERTEXATTRIB3DVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB3FNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLVERTEXATTRIB3FVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB3SNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort)>;
pub type PFNGLVERTEXATTRIB3SVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4DNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLdouble, y: GLdouble, z: GLdouble, w: GLdouble),
>;
pub type PFNGLVERTEXATTRIB4DVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIB4FNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat),
>;
pub type PFNGLVERTEXATTRIB4FVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIB4SNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLshort, y: GLshort, z: GLshort, w: GLshort),
>;
pub type PFNGLVERTEXATTRIB4SVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIB4UBNVPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLubyte, y: GLubyte, z: GLubyte, w: GLubyte),
>;
pub type PFNGLVERTEXATTRIB4UBVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIBS1DVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBS1FVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIBS1SVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBS2DVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBS2FVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIBS2SVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBS3DVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBS3FVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIBS3SVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBS4DVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLdouble)>;
pub type PFNGLVERTEXATTRIBS4FVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLfloat)>;
pub type PFNGLVERTEXATTRIBS4SVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBS4UBVNVPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, count: GLsizei, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIBI1IEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint)>;
pub type PFNGLVERTEXATTRIBI2IEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint)>;
pub type PFNGLVERTEXATTRIBI3IEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint)>;
pub type PFNGLVERTEXATTRIBI4IEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint),
>;
pub type PFNGLVERTEXATTRIBI1UIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint)>;
pub type PFNGLVERTEXATTRIBI2UIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint)>;
pub type PFNGLVERTEXATTRIBI3UIEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint)>;
pub type PFNGLVERTEXATTRIBI4UIEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint),
>;
pub type PFNGLVERTEXATTRIBI1IVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI2IVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI3IVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI4IVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLint)>;
pub type PFNGLVERTEXATTRIBI1UIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI2UIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI3UIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI4UIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLuint)>;
pub type PFNGLVERTEXATTRIBI4BVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLbyte)>;
pub type PFNGLVERTEXATTRIBI4SVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLshort)>;
pub type PFNGLVERTEXATTRIBI4UBVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLubyte)>;
pub type PFNGLVERTEXATTRIBI4USVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, v: *const GLushort)>;
pub type PFNGLVERTEXATTRIBIPOINTEREXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        size: GLint,
        type_: GLenum,
        stride: GLsizei,
        pointer: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETVERTEXATTRIBIIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETVERTEXATTRIBIUIVEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(index: GLuint, pname: GLenum, params: *mut GLuint)>;
pub type PFNGLBEGINVIDEOCAPTURENVPROC =
    ::std::option::Option<unsafe extern "C" fn(video_capture_slot: GLuint)>;
pub type PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        frame_region: GLenum,
        offset: GLintptrARB,
    ),
>;
pub type PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        frame_region: GLenum,
        target: GLenum,
        texture: GLuint,
    ),
>;
pub type PFNGLENDVIDEOCAPTURENVPROC =
    ::std::option::Option<unsafe extern "C" fn(video_capture_slot: GLuint)>;
pub type PFNGLGETVIDEOCAPTUREIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(video_capture_slot: GLuint, pname: GLenum, params: *mut GLint),
>;
pub type PFNGLGETVIDEOCAPTURESTREAMIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *mut GLint,
    ),
>;
pub type PFNGLGETVIDEOCAPTURESTREAMFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *mut GLfloat,
    ),
>;
pub type PFNGLGETVIDEOCAPTURESTREAMDVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *mut GLdouble,
    ),
>;
pub type PFNGLVIDEOCAPTURENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        sequence_num: *mut GLuint,
        capture_time: *mut GLuint64EXT,
    ) -> GLenum,
>;
pub type PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *const GLint,
    ),
>;
pub type PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *const GLfloat,
    ),
>;
pub type PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        video_capture_slot: GLuint,
        stream: GLuint,
        pname: GLenum,
        params: *const GLdouble,
    ),
>;
pub type PFNGLVIEWPORTSWIZZLENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        index: GLuint,
        swizzlex: GLenum,
        swizzley: GLenum,
        swizzlez: GLenum,
        swizzlew: GLenum,
    ),
>;
pub type PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        attachment: GLenum,
        texture: GLuint,
        level: GLint,
        baseViewIndex: GLint,
        numViews: GLsizei,
    ),
>;
pub type PFNGLHINTPGIPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, mode: GLint)>;
pub type PFNGLDETAILTEXFUNCSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, n: GLsizei, points: *const GLfloat)>;
pub type PFNGLGETDETAILTEXFUNCSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, points: *mut GLfloat)>;
pub type PFNGLFOGFUNCSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(n: GLsizei, points: *const GLfloat)>;
pub type PFNGLGETFOGFUNCSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(points: *mut GLfloat)>;
pub type PFNGLSAMPLEMASKSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(value: GLclampf, invert: GLboolean)>;
pub type PFNGLSAMPLEPATTERNSGISPROC = ::std::option::Option<unsafe extern "C" fn(pattern: GLenum)>;
pub type PFNGLPIXELTEXGENPARAMETERISGISPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLPIXELTEXGENPARAMETERIVSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLPIXELTEXGENPARAMETERFSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLPIXELTEXGENPARAMETERFVSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLPOINTPARAMETERFSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLPOINTPARAMETERFVSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLSHARPENTEXFUNCSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, n: GLsizei, points: *const GLfloat)>;
pub type PFNGLGETSHARPENTEXFUNCSGISPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, points: *mut GLfloat)>;
pub type PFNGLTEXIMAGE4DSGISPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        internalformat: GLenum,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        size4d: GLsizei,
        border: GLint,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXSUBIMAGE4DSGISPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        level: GLint,
        xoffset: GLint,
        yoffset: GLint,
        zoffset: GLint,
        woffset: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
        size4d: GLsizei,
        format: GLenum,
        type_: GLenum,
        pixels: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLTEXTURECOLORMASKSGISPROC = ::std::option::Option<
    unsafe extern "C" fn(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean),
>;
pub type PFNGLGETTEXFILTERFUNCSGISPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, filter: GLenum, weights: *mut GLfloat),
>;
pub type PFNGLTEXFILTERFUNCSGISPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, filter: GLenum, n: GLsizei, weights: *const GLfloat),
>;
pub type PFNGLASYNCMARKERSGIXPROC = ::std::option::Option<unsafe extern "C" fn(marker: GLuint)>;
pub type PFNGLFINISHASYNCSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(markerp: *mut GLuint) -> GLint>;
pub type PFNGLPOLLASYNCSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(markerp: *mut GLuint) -> GLint>;
pub type PFNGLGENASYNCMARKERSSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(range: GLsizei) -> GLuint>;
pub type PFNGLDELETEASYNCMARKERSSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(marker: GLuint, range: GLsizei)>;
pub type PFNGLISASYNCMARKERSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(marker: GLuint) -> GLboolean>;
pub type PFNGLFLUSHRASTERSGIXPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLFRAGMENTCOLORMATERIALSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, mode: GLenum)>;
pub type PFNGLFRAGMENTLIGHTFSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLfloat)>;
pub type PFNGLFRAGMENTLIGHTFVSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLFRAGMENTLIGHTISGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLFRAGMENTLIGHTIVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *const GLint)>;
pub type PFNGLFRAGMENTLIGHTMODELFSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLFRAGMENTLIGHTMODELFVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLFRAGMENTLIGHTMODELISGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLFRAGMENTLIGHTMODELIVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLFRAGMENTMATERIALFSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLfloat)>;
pub type PFNGLFRAGMENTMATERIALFVSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLFRAGMENTMATERIALISGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, param: GLint)>;
pub type PFNGLFRAGMENTMATERIALIVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *const GLint)>;
pub type PFNGLGETFRAGMENTLIGHTFVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETFRAGMENTLIGHTIVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(light: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLGETFRAGMENTMATERIALFVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETFRAGMENTMATERIALIVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(face: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLLIGHTENVISGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLFRAMEZOOMSGIXPROC = ::std::option::Option<unsafe extern "C" fn(factor: GLint)>;
pub type PFNGLIGLOOINTERFACESGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(pname: GLenum, params: *const ::std::os::raw::c_void),
>;
pub type PFNGLGETINSTRUMENTSSGIXPROC = ::std::option::Option<unsafe extern "C" fn() -> GLint>;
pub type PFNGLINSTRUMENTSBUFFERSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(size: GLsizei, buffer: *mut GLint)>;
pub type PFNGLPOLLINSTRUMENTSSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(marker_p: *mut GLint) -> GLint>;
pub type PFNGLREADINSTRUMENTSSGIXPROC = ::std::option::Option<unsafe extern "C" fn(marker: GLint)>;
pub type PFNGLSTARTINSTRUMENTSSGIXPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLSTOPINSTRUMENTSSGIXPROC = ::std::option::Option<unsafe extern "C" fn(marker: GLint)>;
pub type PFNGLGETLISTPARAMETERFVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *mut GLfloat)>;
pub type PFNGLGETLISTPARAMETERIVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *mut GLint)>;
pub type PFNGLLISTPARAMETERFSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, param: GLfloat)>;
pub type PFNGLLISTPARAMETERFVSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLLISTPARAMETERISGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, param: GLint)>;
pub type PFNGLLISTPARAMETERIVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(list: GLuint, pname: GLenum, params: *const GLint)>;
pub type PFNGLPIXELTEXGENSGIXPROC = ::std::option::Option<unsafe extern "C" fn(mode: GLenum)>;
pub type PFNGLDEFORMATIONMAP3DSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        u1: GLdouble,
        u2: GLdouble,
        ustride: GLint,
        uorder: GLint,
        v1: GLdouble,
        v2: GLdouble,
        vstride: GLint,
        vorder: GLint,
        w1: GLdouble,
        w2: GLdouble,
        wstride: GLint,
        worder: GLint,
        points: *const GLdouble,
    ),
>;
pub type PFNGLDEFORMATIONMAP3FSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        u1: GLfloat,
        u2: GLfloat,
        ustride: GLint,
        uorder: GLint,
        v1: GLfloat,
        v2: GLfloat,
        vstride: GLint,
        vorder: GLint,
        w1: GLfloat,
        w2: GLfloat,
        wstride: GLint,
        worder: GLint,
        points: *const GLfloat,
    ),
>;
pub type PFNGLDEFORMSGIXPROC = ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
pub type PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(mask: GLbitfield)>;
pub type PFNGLREFERENCEPLANESGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(equation: *const GLdouble)>;
pub type PFNGLSPRITEPARAMETERFSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLfloat)>;
pub type PFNGLSPRITEPARAMETERFVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLfloat)>;
pub type PFNGLSPRITEPARAMETERISGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, param: GLint)>;
pub type PFNGLSPRITEPARAMETERIVSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(pname: GLenum, params: *const GLint)>;
pub type PFNGLTAGSAMPLEBUFFERSGIXPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLCOLORTABLESGIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        width: GLsizei,
        format: GLenum,
        type_: GLenum,
        table: *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOLORTABLEPARAMETERFVSGIPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLfloat),
>;
pub type PFNGLCOLORTABLEPARAMETERIVSGIPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *const GLint),
>;
pub type PFNGLCOPYCOLORTABLESGIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        internalformat: GLenum,
        x: GLint,
        y: GLint,
        width: GLsizei,
    ),
>;
pub type PFNGLGETCOLORTABLESGIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        target: GLenum,
        format: GLenum,
        type_: GLenum,
        table: *mut ::std::os::raw::c_void,
    ),
>;
pub type PFNGLGETCOLORTABLEPARAMETERFVSGIPROC = ::std::option::Option<
    unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLfloat),
>;
pub type PFNGLGETCOLORTABLEPARAMETERIVSGIPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, pname: GLenum, params: *mut GLint)>;
pub type PFNGLFINISHTEXTURESUNXPROC = ::std::option::Option<unsafe extern "C" fn()>;
pub type PFNGLGLOBALALPHAFACTORBSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLbyte)>;
pub type PFNGLGLOBALALPHAFACTORSSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLshort)>;
pub type PFNGLGLOBALALPHAFACTORISUNPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLint)>;
pub type PFNGLGLOBALALPHAFACTORFSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLfloat)>;
pub type PFNGLGLOBALALPHAFACTORDSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLdouble)>;
pub type PFNGLGLOBALALPHAFACTORUBSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLubyte)>;
pub type PFNGLGLOBALALPHAFACTORUSSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLushort)>;
pub type PFNGLGLOBALALPHAFACTORUISUNPROC =
    ::std::option::Option<unsafe extern "C" fn(factor: GLuint)>;
pub type PFNGLDRAWMESHARRAYSSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: GLenum, first: GLint, count: GLsizei, width: GLsizei),
>;
pub type PFNGLREPLACEMENTCODEUISUNPROC = ::std::option::Option<unsafe extern "C" fn(code: GLuint)>;
pub type PFNGLREPLACEMENTCODEUSSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(code: GLushort)>;
pub type PFNGLREPLACEMENTCODEUBSUNPROC = ::std::option::Option<unsafe extern "C" fn(code: GLubyte)>;
pub type PFNGLREPLACEMENTCODEUIVSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(code: *const GLuint)>;
pub type PFNGLREPLACEMENTCODEUSVSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(code: *const GLushort)>;
pub type PFNGLREPLACEMENTCODEUBVSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(code: *const GLubyte)>;
pub type PFNGLREPLACEMENTCODEPOINTERSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        type_: GLenum,
        stride: GLsizei,
        pointer: *mut *const ::std::os::raw::c_void,
    ),
>;
pub type PFNGLCOLOR4UBVERTEX2FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(r: GLubyte, g: GLubyte, b: GLubyte, a: GLubyte, x: GLfloat, y: GLfloat),
>;
pub type PFNGLCOLOR4UBVERTEX2FVSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(c: *const GLubyte, v: *const GLfloat)>;
pub type PFNGLCOLOR4UBVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        r: GLubyte,
        g: GLubyte,
        b: GLubyte,
        a: GLubyte,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLCOLOR4UBVERTEX3FVSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(c: *const GLubyte, v: *const GLfloat)>;
pub type PFNGLCOLOR3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(r: GLfloat, g: GLfloat, b: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
>;
pub type PFNGLCOLOR3FVERTEX3FVSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(c: *const GLfloat, v: *const GLfloat)>;
pub type PFNGLNORMAL3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(nx: GLfloat, ny: GLfloat, nz: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
>;
pub type PFNGLNORMAL3FVERTEX3FVSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(n: *const GLfloat, v: *const GLfloat)>;
pub type PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        a: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(c: *const GLfloat, n: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLTEXCOORD2FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(s: GLfloat, t: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
>;
pub type PFNGLTEXCOORD2FVERTEX3FVSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(tc: *const GLfloat, v: *const GLfloat)>;
pub type PFNGLTEXCOORD4FVERTEX4FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        p: GLfloat,
        q: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD4FVERTEX4FVSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(tc: *const GLfloat, v: *const GLfloat)>;
pub type PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        r: GLubyte,
        g: GLubyte,
        b: GLubyte,
        a: GLubyte,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(tc: *const GLfloat, c: *const GLubyte, v: *const GLfloat),
>;
pub type PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(tc: *const GLfloat, c: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(tc: *const GLfloat, n: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        a: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        tc: *const GLfloat,
        c: *const GLfloat,
        n: *const GLfloat,
        v: *const GLfloat,
    ),
>;
pub type PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        s: GLfloat,
        t: GLfloat,
        p: GLfloat,
        q: GLfloat,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        a: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
        w: GLfloat,
    ),
>;
pub type PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        tc: *const GLfloat,
        c: *const GLfloat,
        n: *const GLfloat,
        v: *const GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(rc: GLuint, x: GLfloat, y: GLfloat, z: GLfloat)>;
pub type PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC =
    ::std::option::Option<unsafe extern "C" fn(rc: *const GLuint, v: *const GLfloat)>;
pub type PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        r: GLubyte,
        g: GLubyte,
        b: GLubyte,
        a: GLubyte,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(rc: *const GLuint, c: *const GLubyte, v: *const GLfloat),
>;
pub type PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(rc: *const GLuint, c: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(rc: *const GLuint, n: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        a: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        rc: *const GLuint,
        c: *const GLfloat,
        n: *const GLfloat,
        v: *const GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(rc: GLuint, s: GLfloat, t: GLfloat, x: GLfloat, y: GLfloat, z: GLfloat),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(rc: *const GLuint, tc: *const GLfloat, v: *const GLfloat),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        s: GLfloat,
        t: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        rc: *const GLuint,
        tc: *const GLfloat,
        n: *const GLfloat,
        v: *const GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        rc: GLuint,
        s: GLfloat,
        t: GLfloat,
        r: GLfloat,
        g: GLfloat,
        b: GLfloat,
        a: GLfloat,
        nx: GLfloat,
        ny: GLfloat,
        nz: GLfloat,
        x: GLfloat,
        y: GLfloat,
        z: GLfloat,
    ),
>;
pub type PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        rc: *const GLuint,
        tc: *const GLfloat,
        c: *const GLfloat,
        n: *const GLfloat,
        v: *const GLfloat,
    ),
>;
extern "C" {
    pub fn glBlendEquationSeparateATI(modeRGB: GLenum, modeA: GLenum);
}
pub type PFNGLBLENDEQUATIONSEPARATEATIPROC =
    ::std::option::Option<unsafe extern "C" fn(modeRGB: GLenum, modeA: GLenum)>;
pub type PFNGLEGLIMAGETARGETTEXTURE2DOESPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, image: GLeglImageOES)>;
pub type PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC =
    ::std::option::Option<unsafe extern "C" fn(target: GLenum, image: GLeglImageOES)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __GLXcontextRec {
    _unused: [u8; 0],
}
pub type GLXContext = *mut __GLXcontextRec;
pub type GLXPixmap = XID;
pub type GLXDrawable = XID;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __GLXFBConfigRec {
    _unused: [u8; 0],
}
pub type GLXFBConfig = *mut __GLXFBConfigRec;
pub type GLXFBConfigID = XID;
pub type GLXContextID = XID;
pub type GLXWindow = XID;
pub type GLXPbuffer = XID;
extern "C" {
    pub fn glXChooseVisual(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        attribList: *mut ::std::os::raw::c_int,
    ) -> *mut XVisualInfo;
}
extern "C" {
    pub fn glXCreateContext(
        dpy: *mut Display,
        vis: *mut XVisualInfo,
        shareList: GLXContext,
        direct: ::std::os::raw::c_int,
    ) -> GLXContext;
}
extern "C" {
    pub fn glXDestroyContext(dpy: *mut Display, ctx: GLXContext);
}
extern "C" {
    pub fn glXMakeCurrent(
        dpy: *mut Display,
        drawable: GLXDrawable,
        ctx: GLXContext,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXCopyContext(
        dpy: *mut Display,
        src: GLXContext,
        dst: GLXContext,
        mask: ::std::os::raw::c_ulong,
    );
}
extern "C" {
    pub fn glXSwapBuffers(dpy: *mut Display, drawable: GLXDrawable);
}
extern "C" {
    pub fn glXCreateGLXPixmap(
        dpy: *mut Display,
        visual: *mut XVisualInfo,
        pixmap: Pixmap,
    ) -> GLXPixmap;
}
extern "C" {
    pub fn glXDestroyGLXPixmap(dpy: *mut Display, pixmap: GLXPixmap);
}
extern "C" {
    pub fn glXQueryExtension(
        dpy: *mut Display,
        errorb: *mut ::std::os::raw::c_int,
        event: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXQueryVersion(
        dpy: *mut Display,
        maj: *mut ::std::os::raw::c_int,
        min: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXIsDirect(dpy: *mut Display, ctx: GLXContext) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXGetConfig(
        dpy: *mut Display,
        visual: *mut XVisualInfo,
        attrib: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXGetCurrentContext() -> GLXContext;
}
extern "C" {
    pub fn glXGetCurrentDrawable() -> GLXDrawable;
}
extern "C" {
    pub fn glXWaitGL();
}
extern "C" {
    pub fn glXWaitX();
}
extern "C" {
    pub fn glXUseXFont(
        font: Font,
        first: ::std::os::raw::c_int,
        count: ::std::os::raw::c_int,
        list: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn glXQueryExtensionsString(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn glXQueryServerString(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        name: ::std::os::raw::c_int,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn glXGetClientString(
        dpy: *mut Display,
        name: ::std::os::raw::c_int,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn glXGetCurrentDisplay() -> *mut Display;
}
extern "C" {
    pub fn glXChooseFBConfig(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        attribList: *const ::std::os::raw::c_int,
        nitems: *mut ::std::os::raw::c_int,
    ) -> *mut GLXFBConfig;
}
extern "C" {
    pub fn glXGetFBConfigAttrib(
        dpy: *mut Display,
        config: GLXFBConfig,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXGetFBConfigs(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        nelements: *mut ::std::os::raw::c_int,
    ) -> *mut GLXFBConfig;
}
extern "C" {
    pub fn glXGetVisualFromFBConfig(dpy: *mut Display, config: GLXFBConfig) -> *mut XVisualInfo;
}
extern "C" {
    pub fn glXCreateWindow(
        dpy: *mut Display,
        config: GLXFBConfig,
        win: Window,
        attribList: *const ::std::os::raw::c_int,
    ) -> GLXWindow;
}
extern "C" {
    pub fn glXDestroyWindow(dpy: *mut Display, window: GLXWindow);
}
extern "C" {
    pub fn glXCreatePixmap(
        dpy: *mut Display,
        config: GLXFBConfig,
        pixmap: Pixmap,
        attribList: *const ::std::os::raw::c_int,
    ) -> GLXPixmap;
}
extern "C" {
    pub fn glXDestroyPixmap(dpy: *mut Display, pixmap: GLXPixmap);
}
extern "C" {
    pub fn glXCreatePbuffer(
        dpy: *mut Display,
        config: GLXFBConfig,
        attribList: *const ::std::os::raw::c_int,
    ) -> GLXPbuffer;
}
extern "C" {
    pub fn glXDestroyPbuffer(dpy: *mut Display, pbuf: GLXPbuffer);
}
extern "C" {
    pub fn glXQueryDrawable(
        dpy: *mut Display,
        draw: GLXDrawable,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_uint,
    );
}
extern "C" {
    pub fn glXCreateNewContext(
        dpy: *mut Display,
        config: GLXFBConfig,
        renderType: ::std::os::raw::c_int,
        shareList: GLXContext,
        direct: ::std::os::raw::c_int,
    ) -> GLXContext;
}
extern "C" {
    pub fn glXMakeContextCurrent(
        dpy: *mut Display,
        draw: GLXDrawable,
        read: GLXDrawable,
        ctx: GLXContext,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXGetCurrentReadDrawable() -> GLXDrawable;
}
extern "C" {
    pub fn glXQueryContext(
        dpy: *mut Display,
        ctx: GLXContext,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXSelectEvent(dpy: *mut Display, drawable: GLXDrawable, mask: ::std::os::raw::c_ulong);
}
extern "C" {
    pub fn glXGetSelectedEvent(
        dpy: *mut Display,
        drawable: GLXDrawable,
        mask: *mut ::std::os::raw::c_ulong,
    );
}
pub type PFNGLXGETFBCONFIGSPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        nelements: *mut ::std::os::raw::c_int,
    ) -> *mut GLXFBConfig,
>;
pub type PFNGLXCHOOSEFBCONFIGPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        attrib_list: *const ::std::os::raw::c_int,
        nelements: *mut ::std::os::raw::c_int,
    ) -> *mut GLXFBConfig,
>;
pub type PFNGLXGETFBCONFIGATTRIBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        config: GLXFBConfig,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETVISUALFROMFBCONFIGPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, config: GLXFBConfig) -> *mut XVisualInfo,
>;
pub type PFNGLXCREATEWINDOWPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        config: GLXFBConfig,
        win: Window,
        attrib_list: *const ::std::os::raw::c_int,
    ) -> GLXWindow,
>;
pub type PFNGLXDESTROYWINDOWPROC =
    ::std::option::Option<unsafe extern "C" fn(dpy: *mut Display, win: GLXWindow)>;
pub type PFNGLXCREATEPIXMAPPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        config: GLXFBConfig,
        pixmap: Pixmap,
        attrib_list: *const ::std::os::raw::c_int,
    ) -> GLXPixmap,
>;
pub type PFNGLXDESTROYPIXMAPPROC =
    ::std::option::Option<unsafe extern "C" fn(dpy: *mut Display, pixmap: GLXPixmap)>;
pub type PFNGLXCREATEPBUFFERPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        config: GLXFBConfig,
        attrib_list: *const ::std::os::raw::c_int,
    ) -> GLXPbuffer,
>;
pub type PFNGLXDESTROYPBUFFERPROC =
    ::std::option::Option<unsafe extern "C" fn(dpy: *mut Display, pbuf: GLXPbuffer)>;
pub type PFNGLXQUERYDRAWABLEPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        draw: GLXDrawable,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_uint,
    ),
>;
pub type PFNGLXCREATENEWCONTEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        config: GLXFBConfig,
        render_type: ::std::os::raw::c_int,
        share_list: GLXContext,
        direct: ::std::os::raw::c_int,
    ) -> GLXContext,
>;
pub type PFNGLXMAKECONTEXTCURRENTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        draw: GLXDrawable,
        read: GLXDrawable,
        ctx: GLXContext,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETCURRENTREADDRAWABLEPROC =
    ::std::option::Option<unsafe extern "C" fn() -> GLXDrawable>;
pub type PFNGLXGETCURRENTDISPLAYPROC =
    ::std::option::Option<unsafe extern "C" fn() -> *mut Display>;
pub type PFNGLXQUERYCONTEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        ctx: GLXContext,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXSELECTEVENTPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, draw: GLXDrawable, event_mask: ::std::os::raw::c_ulong),
>;
pub type PFNGLXGETSELECTEDEVENTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        draw: GLXDrawable,
        event_mask: *mut ::std::os::raw::c_ulong,
    ),
>;
pub type __GLXextFuncPtr = ::std::option::Option<unsafe extern "C" fn()>;
extern "C" {
    pub fn glXGetProcAddressARB(arg1: *const GLubyte) -> __GLXextFuncPtr;
}
extern "C" {
    pub fn glXGetProcAddress(
        procname: *const GLubyte,
    ) -> ::std::option::Option<unsafe extern "C" fn(procname: *const GLubyte)>;
}
pub type PFNGLXGETPROCADDRESSPROC =
    ::std::option::Option<unsafe extern "C" fn(procName: *const GLubyte) -> __GLXextFuncPtr>;
pub type PFNGLXCREATECONTEXTATTRIBSARBPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        config: GLXFBConfig,
        share_context: GLXContext,
        direct: ::std::os::raw::c_int,
        attrib_list: *const ::std::os::raw::c_int,
    ) -> GLXContext,
>;
pub type PFNGLXGETGPUIDSAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        maxCount: ::std::os::raw::c_uint,
        ids: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_uint,
>;
pub type PFNGLXGETGPUINFOAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        id: ::std::os::raw::c_uint,
        property: ::std::os::raw::c_int,
        dataType: GLenum,
        size: ::std::os::raw::c_uint,
        data: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETCONTEXTGPUIDAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(ctx: GLXContext) -> ::std::os::raw::c_uint>;
pub type PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(id: ::std::os::raw::c_uint, share_list: GLXContext) -> GLXContext,
>;
pub type PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        id: ::std::os::raw::c_uint,
        share_context: GLXContext,
        attribList: *const ::std::os::raw::c_int,
    ) -> GLXContext,
>;
pub type PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(ctx: GLXContext) -> ::std::os::raw::c_int>;
pub type PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC =
    ::std::option::Option<unsafe extern "C" fn(ctx: GLXContext) -> ::std::os::raw::c_int>;
pub type PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC =
    ::std::option::Option<unsafe extern "C" fn() -> GLXContext>;
pub type PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dstCtx: GLXContext,
        srcX0: GLint,
        srcY0: GLint,
        srcX1: GLint,
        srcY1: GLint,
        dstX0: GLint,
        dstY0: GLint,
        dstX1: GLint,
        dstY1: GLint,
        mask: GLbitfield,
        filter: GLenum,
    ),
>;
pub type PFNGLXGETCURRENTDISPLAYEXTPROC =
    ::std::option::Option<unsafe extern "C" fn() -> *mut Display>;
pub type PFNGLXQUERYCONTEXTINFOEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        context: GLXContext,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETCONTEXTIDEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(context: GLXContext) -> GLXContextID>;
pub type PFNGLXIMPORTCONTEXTEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, contextID: GLXContextID) -> GLXContext,
>;
pub type PFNGLXFREECONTEXTEXTPROC =
    ::std::option::Option<unsafe extern "C" fn(dpy: *mut Display, context: GLXContext)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GLXStereoNotifyEventEXT {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub extension: ::std::os::raw::c_int,
    pub evtype: ::std::os::raw::c_int,
    pub window: GLXDrawable,
    pub stereo_tree: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_GLXStereoNotifyEventEXT() {
    assert_eq!(
        ::std::mem::size_of::<GLXStereoNotifyEventEXT>(),
        56usize,
        concat!("Size of: ", stringify!(GLXStereoNotifyEventEXT))
    );
    assert_eq!(
        ::std::mem::align_of::<GLXStereoNotifyEventEXT>(),
        8usize,
        concat!("Alignment of ", stringify!(GLXStereoNotifyEventEXT))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXStereoNotifyEventEXT>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXStereoNotifyEventEXT),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXStereoNotifyEventEXT>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXStereoNotifyEventEXT),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXStereoNotifyEventEXT>())).send_event as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXStereoNotifyEventEXT),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXStereoNotifyEventEXT>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXStereoNotifyEventEXT),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXStereoNotifyEventEXT>())).extension as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXStereoNotifyEventEXT),
            "::",
            stringify!(extension)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXStereoNotifyEventEXT>())).evtype as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXStereoNotifyEventEXT),
            "::",
            stringify!(evtype)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXStereoNotifyEventEXT>())).window as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXStereoNotifyEventEXT),
            "::",
            stringify!(window)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXStereoNotifyEventEXT>())).stereo_tree as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXStereoNotifyEventEXT),
            "::",
            stringify!(stereo_tree)
        )
    );
}
pub type PFNGLXSWAPINTERVALEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, drawable: GLXDrawable, interval: ::std::os::raw::c_int),
>;
pub type PFNGLXBINDTEXIMAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        buffer: ::std::os::raw::c_int,
        attrib_list: *const ::std::os::raw::c_int,
    ),
>;
pub type PFNGLXRELEASETEXIMAGEEXTPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, drawable: GLXDrawable, buffer: ::std::os::raw::c_int),
>;
pub type PFNGLXGETAGPOFFSETMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(pointer: *const ::std::os::raw::c_void) -> ::std::os::raw::c_uint,
>;
pub type PFNGLXCOPYSUBBUFFERMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ),
>;
pub type PFNGLXCREATEGLXPIXMAPMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        visual: *mut XVisualInfo,
        pixmap: Pixmap,
        cmap: Colormap,
    ) -> GLXPixmap,
>;
pub type PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(attribute: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>;
pub type PFNGLXQUERYRENDERERINTEGERMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        renderer: ::std::os::raw::c_int,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYRENDERERSTRINGMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        renderer: ::std::os::raw::c_int,
        attribute: ::std::os::raw::c_int,
    ) -> *const ::std::os::raw::c_char,
>;
pub type PFNGLXRELEASEBUFFERSMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, drawable: GLXDrawable) -> ::std::os::raw::c_int,
>;
pub type PFNGLXSET3DFXMODEMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETSWAPINTERVALMESAPROC =
    ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
pub type PFNGLXSWAPINTERVALMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(interval: ::std::os::raw::c_uint) -> ::std::os::raw::c_int,
>;
pub type PFNGLXCOPYBUFFERSUBDATANVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        readCtx: GLXContext,
        writeCtx: GLXContext,
        readTarget: GLenum,
        writeTarget: GLenum,
        readOffset: GLintptr,
        writeOffset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        readCtx: GLXContext,
        writeCtx: GLXContext,
        readBuffer: GLuint,
        writeBuffer: GLuint,
        readOffset: GLintptr,
        writeOffset: GLintptr,
        size: GLsizeiptr,
    ),
>;
pub type PFNGLXCOPYIMAGESUBDATANVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        srcCtx: GLXContext,
        srcName: GLuint,
        srcTarget: GLenum,
        srcLevel: GLint,
        srcX: GLint,
        srcY: GLint,
        srcZ: GLint,
        dstCtx: GLXContext,
        dstName: GLuint,
        dstTarget: GLenum,
        dstLevel: GLint,
        dstX: GLint,
        dstY: GLint,
        dstZ: GLint,
        width: GLsizei,
        height: GLsizei,
        depth: GLsizei,
    ),
>;
pub type PFNGLXDELAYBEFORESWAPNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        seconds: GLfloat,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXENUMERATEVIDEODEVICESNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        nelements: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_uint,
>;
pub type PFNGLXBINDVIDEODEVICENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        video_slot: ::std::os::raw::c_uint,
        video_device: ::std::os::raw::c_uint,
        attrib_list: *const ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXJOINSWAPGROUPNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        group: GLuint,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXBINDSWAPBARRIERNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        group: GLuint,
        barrier: GLuint,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYSWAPGROUPNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        group: *mut GLuint,
        barrier: *mut GLuint,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYMAXSWAPGROUPSNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        maxGroups: *mut GLuint,
        maxBarriers: *mut GLuint,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYFRAMECOUNTNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        count: *mut GLuint,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXRESETFRAMECOUNTNVPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, screen: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>;
pub type GLXVideoCaptureDeviceNV = XID;
pub type PFNGLXBINDVIDEOCAPTUREDEVICENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        video_capture_slot: ::std::os::raw::c_uint,
        device: GLXVideoCaptureDeviceNV,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        nelements: *mut ::std::os::raw::c_int,
    ) -> *mut GLXVideoCaptureDeviceNV,
>;
pub type PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC =
    ::std::option::Option<unsafe extern "C" fn(dpy: *mut Display, device: GLXVideoCaptureDeviceNV)>;
pub type PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        device: GLXVideoCaptureDeviceNV,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC =
    ::std::option::Option<unsafe extern "C" fn(dpy: *mut Display, device: GLXVideoCaptureDeviceNV)>;
pub type GLXVideoDeviceNV = ::std::os::raw::c_uint;
pub type PFNGLXGETVIDEODEVICENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        numVideoDevices: ::std::os::raw::c_int,
        pVideoDevice: *mut GLXVideoDeviceNV,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXRELEASEVIDEODEVICENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        VideoDevice: GLXVideoDeviceNV,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXBINDVIDEOIMAGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        VideoDevice: GLXVideoDeviceNV,
        pbuf: GLXPbuffer,
        iVideoBuffer: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXRELEASEVIDEOIMAGENVPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, pbuf: GLXPbuffer) -> ::std::os::raw::c_int,
>;
pub type PFNGLXSENDPBUFFERTOVIDEONVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        pbuf: GLXPbuffer,
        iBufferType: ::std::os::raw::c_int,
        pulCounterPbuffer: *mut ::std::os::raw::c_ulong,
        bBlock: GLboolean,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETVIDEOINFONVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        VideoDevice: GLXVideoDeviceNV,
        pulCounterOutputPbuffer: *mut ::std::os::raw::c_ulong,
        pulCounterOutputVideo: *mut ::std::os::raw::c_ulong,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETSYNCVALUESOMLPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        ust: *mut i64,
        msc: *mut i64,
        sbc: *mut i64,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETMSCRATEOMLPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        numerator: *mut i32,
        denominator: *mut i32,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXSWAPBUFFERSMSCOMLPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        target_msc: i64,
        divisor: i64,
        remainder: i64,
    ) -> i64,
>;
pub type PFNGLXWAITFORMSCOMLPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        target_msc: i64,
        divisor: i64,
        remainder: i64,
        ust: *mut i64,
        msc: *mut i64,
        sbc: *mut i64,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXWAITFORSBCOMLPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        target_sbc: i64,
        ust: *mut i64,
        msc: *mut i64,
        sbc: *mut i64,
    ) -> ::std::os::raw::c_int,
>;
pub type GLXPbufferSGIX = XID;
pub type GLXFBConfigSGIX = *mut __GLXFBConfigRec;
pub type PFNGLXGETFBCONFIGATTRIBSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        config: GLXFBConfigSGIX,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXCHOOSEFBCONFIGSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        attrib_list: *mut ::std::os::raw::c_int,
        nelements: *mut ::std::os::raw::c_int,
    ) -> *mut GLXFBConfigSGIX,
>;
pub type PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, config: GLXFBConfigSGIX, pixmap: Pixmap) -> GLXPixmap,
>;
pub type PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        config: GLXFBConfigSGIX,
        render_type: ::std::os::raw::c_int,
        share_list: GLXContext,
        direct: ::std::os::raw::c_int,
    ) -> GLXContext,
>;
pub type PFNGLXGETVISUALFROMFBCONFIGSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, config: GLXFBConfigSGIX) -> *mut XVisualInfo,
>;
pub type PFNGLXGETFBCONFIGFROMVISUALSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, vis: *mut XVisualInfo) -> GLXFBConfigSGIX,
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GLXHyperpipeNetworkSGIX {
    pub pipeName: [::std::os::raw::c_char; 80usize],
    pub networkId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_GLXHyperpipeNetworkSGIX() {
    assert_eq!(
        ::std::mem::size_of::<GLXHyperpipeNetworkSGIX>(),
        84usize,
        concat!("Size of: ", stringify!(GLXHyperpipeNetworkSGIX))
    );
    assert_eq!(
        ::std::mem::align_of::<GLXHyperpipeNetworkSGIX>(),
        4usize,
        concat!("Alignment of ", stringify!(GLXHyperpipeNetworkSGIX))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXHyperpipeNetworkSGIX>())).pipeName as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXHyperpipeNetworkSGIX),
            "::",
            stringify!(pipeName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXHyperpipeNetworkSGIX>())).networkId as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXHyperpipeNetworkSGIX),
            "::",
            stringify!(networkId)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GLXHyperpipeConfigSGIX {
    pub pipeName: [::std::os::raw::c_char; 80usize],
    pub channel: ::std::os::raw::c_int,
    pub participationType: ::std::os::raw::c_uint,
    pub timeSlice: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_GLXHyperpipeConfigSGIX() {
    assert_eq!(
        ::std::mem::size_of::<GLXHyperpipeConfigSGIX>(),
        92usize,
        concat!("Size of: ", stringify!(GLXHyperpipeConfigSGIX))
    );
    assert_eq!(
        ::std::mem::align_of::<GLXHyperpipeConfigSGIX>(),
        4usize,
        concat!("Alignment of ", stringify!(GLXHyperpipeConfigSGIX))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXHyperpipeConfigSGIX>())).pipeName as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXHyperpipeConfigSGIX),
            "::",
            stringify!(pipeName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXHyperpipeConfigSGIX>())).channel as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXHyperpipeConfigSGIX),
            "::",
            stringify!(channel)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXHyperpipeConfigSGIX>())).participationType as *const _
                as usize
        },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXHyperpipeConfigSGIX),
            "::",
            stringify!(participationType)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXHyperpipeConfigSGIX>())).timeSlice as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXHyperpipeConfigSGIX),
            "::",
            stringify!(timeSlice)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GLXPipeRect {
    pub pipeName: [::std::os::raw::c_char; 80usize],
    pub srcXOrigin: ::std::os::raw::c_int,
    pub srcYOrigin: ::std::os::raw::c_int,
    pub srcWidth: ::std::os::raw::c_int,
    pub srcHeight: ::std::os::raw::c_int,
    pub destXOrigin: ::std::os::raw::c_int,
    pub destYOrigin: ::std::os::raw::c_int,
    pub destWidth: ::std::os::raw::c_int,
    pub destHeight: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_GLXPipeRect() {
    assert_eq!(
        ::std::mem::size_of::<GLXPipeRect>(),
        112usize,
        concat!("Size of: ", stringify!(GLXPipeRect))
    );
    assert_eq!(
        ::std::mem::align_of::<GLXPipeRect>(),
        4usize,
        concat!("Alignment of ", stringify!(GLXPipeRect))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRect>())).pipeName as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRect),
            "::",
            stringify!(pipeName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRect>())).srcXOrigin as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRect),
            "::",
            stringify!(srcXOrigin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRect>())).srcYOrigin as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRect),
            "::",
            stringify!(srcYOrigin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRect>())).srcWidth as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRect),
            "::",
            stringify!(srcWidth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRect>())).srcHeight as *const _ as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRect),
            "::",
            stringify!(srcHeight)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRect>())).destXOrigin as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRect),
            "::",
            stringify!(destXOrigin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRect>())).destYOrigin as *const _ as usize },
        100usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRect),
            "::",
            stringify!(destYOrigin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRect>())).destWidth as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRect),
            "::",
            stringify!(destWidth)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRect>())).destHeight as *const _ as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRect),
            "::",
            stringify!(destHeight)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GLXPipeRectLimits {
    pub pipeName: [::std::os::raw::c_char; 80usize],
    pub XOrigin: ::std::os::raw::c_int,
    pub YOrigin: ::std::os::raw::c_int,
    pub maxHeight: ::std::os::raw::c_int,
    pub maxWidth: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_GLXPipeRectLimits() {
    assert_eq!(
        ::std::mem::size_of::<GLXPipeRectLimits>(),
        96usize,
        concat!("Size of: ", stringify!(GLXPipeRectLimits))
    );
    assert_eq!(
        ::std::mem::align_of::<GLXPipeRectLimits>(),
        4usize,
        concat!("Alignment of ", stringify!(GLXPipeRectLimits))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRectLimits>())).pipeName as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRectLimits),
            "::",
            stringify!(pipeName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRectLimits>())).XOrigin as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRectLimits),
            "::",
            stringify!(XOrigin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRectLimits>())).YOrigin as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRectLimits),
            "::",
            stringify!(YOrigin)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRectLimits>())).maxHeight as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRectLimits),
            "::",
            stringify!(maxHeight)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPipeRectLimits>())).maxWidth as *const _ as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPipeRectLimits),
            "::",
            stringify!(maxWidth)
        )
    );
}
pub type PFNGLXQUERYHYPERPIPENETWORKSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        npipes: *mut ::std::os::raw::c_int,
    ) -> *mut GLXHyperpipeNetworkSGIX,
>;
pub type PFNGLXHYPERPIPECONFIGSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        networkId: ::std::os::raw::c_int,
        npipes: ::std::os::raw::c_int,
        cfg: *mut GLXHyperpipeConfigSGIX,
        hpId: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYHYPERPIPECONFIGSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        hpId: ::std::os::raw::c_int,
        npipes: *mut ::std::os::raw::c_int,
    ) -> *mut GLXHyperpipeConfigSGIX,
>;
pub type PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, hpId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>;
pub type PFNGLXBINDHYPERPIPESGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, hpId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        timeSlice: ::std::os::raw::c_int,
        attrib: ::std::os::raw::c_int,
        size: ::std::os::raw::c_int,
        attribList: *mut ::std::os::raw::c_void,
        returnAttribList: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXHYPERPIPEATTRIBSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        timeSlice: ::std::os::raw::c_int,
        attrib: ::std::os::raw::c_int,
        size: ::std::os::raw::c_int,
        attribList: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        timeSlice: ::std::os::raw::c_int,
        attrib: ::std::os::raw::c_int,
        size: ::std::os::raw::c_int,
        returnAttribList: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXCREATEGLXPBUFFERSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        config: GLXFBConfigSGIX,
        width: ::std::os::raw::c_uint,
        height: ::std::os::raw::c_uint,
        attrib_list: *mut ::std::os::raw::c_int,
    ) -> GLXPbufferSGIX,
>;
pub type PFNGLXDESTROYGLXPBUFFERSGIXPROC =
    ::std::option::Option<unsafe extern "C" fn(dpy: *mut Display, pbuf: GLXPbufferSGIX)>;
pub type PFNGLXQUERYGLXPBUFFERSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        pbuf: GLXPbufferSGIX,
        attribute: ::std::os::raw::c_int,
        value: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXSELECTEVENTSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, drawable: GLXDrawable, mask: ::std::os::raw::c_ulong),
>;
pub type PFNGLXGETSELECTEDEVENTSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        mask: *mut ::std::os::raw::c_ulong,
    ),
>;
pub type PFNGLXBINDSWAPBARRIERSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, drawable: GLXDrawable, barrier: ::std::os::raw::c_int),
>;
pub type PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        screen: ::std::os::raw::c_int,
        max: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXJOINSWAPGROUPSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, drawable: GLXDrawable, member: GLXDrawable),
>;
pub type PFNGLXBINDCHANNELTOWINDOWSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        display: *mut Display,
        screen: ::std::os::raw::c_int,
        channel: ::std::os::raw::c_int,
        window: Window,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXCHANNELRECTSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        display: *mut Display,
        screen: ::std::os::raw::c_int,
        channel: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        w: ::std::os::raw::c_int,
        h: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYCHANNELRECTSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        display: *mut Display,
        screen: ::std::os::raw::c_int,
        channel: ::std::os::raw::c_int,
        dx: *mut ::std::os::raw::c_int,
        dy: *mut ::std::os::raw::c_int,
        dw: *mut ::std::os::raw::c_int,
        dh: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYCHANNELDELTASSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        display: *mut Display,
        screen: ::std::os::raw::c_int,
        channel: ::std::os::raw::c_int,
        x: *mut ::std::os::raw::c_int,
        y: *mut ::std::os::raw::c_int,
        w: *mut ::std::os::raw::c_int,
        h: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXCHANNELRECTSYNCSGIXPROC = ::std::option::Option<
    unsafe extern "C" fn(
        display: *mut Display,
        screen: ::std::os::raw::c_int,
        channel: ::std::os::raw::c_int,
        synctype: GLenum,
    ) -> ::std::os::raw::c_int,
>;
pub type GLXVideoSourceSGIX = XID;
pub type PFNGLXCUSHIONSGIPROC =
    ::std::option::Option<unsafe extern "C" fn(dpy: *mut Display, window: Window, cushion: f32)>;
pub type PFNGLXMAKECURRENTREADSGIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        draw: GLXDrawable,
        read: GLXDrawable,
        ctx: GLXContext,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETCURRENTREADDRAWABLESGIPROC =
    ::std::option::Option<unsafe extern "C" fn() -> GLXDrawable>;
pub type PFNGLXSWAPINTERVALSGIPROC = ::std::option::Option<
    unsafe extern "C" fn(interval: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETVIDEOSYNCSGIPROC = ::std::option::Option<
    unsafe extern "C" fn(count: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int,
>;
pub type PFNGLXWAITVIDEOSYNCSGIPROC = ::std::option::Option<
    unsafe extern "C" fn(
        divisor: ::std::os::raw::c_int,
        remainder: ::std::os::raw::c_int,
        count: *mut ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXGETTRANSPARENTINDEXSUNPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        overlay: Window,
        underlay: Window,
        pTransparentIndex: *mut ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int,
>;
extern "C" {
    pub fn glXAllocateMemoryNV(
        size: GLsizei,
        readfreq: GLfloat,
        writefreq: GLfloat,
        priority: GLfloat,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn glXFreeMemoryNV(pointer: *mut GLvoid);
}
pub type PFNGLXALLOCATEMEMORYNVPROC = ::std::option::Option<
    unsafe extern "C" fn(
        size: GLsizei,
        readfreq: GLfloat,
        writefreq: GLfloat,
        priority: GLfloat,
    ) -> *mut ::std::os::raw::c_void,
>;
pub type PFNGLXFREEMEMORYNVPROC = ::std::option::Option<unsafe extern "C" fn(pointer: *mut GLvoid)>;
extern "C" {
    pub fn glXBindTexImageARB(
        dpy: *mut Display,
        pbuffer: GLXPbuffer,
        buffer: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXReleaseTexImageARB(
        dpy: *mut Display,
        pbuffer: GLXPbuffer,
        buffer: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXDrawableAttribARB(
        dpy: *mut Display,
        draw: GLXDrawable,
        attribList: *const ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXGetFrameUsageMESA(
        dpy: *mut Display,
        drawable: GLXDrawable,
        usage: *mut f32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXBeginFrameTrackingMESA(
        dpy: *mut Display,
        drawable: GLXDrawable,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXEndFrameTrackingMESA(
        dpy: *mut Display,
        drawable: GLXDrawable,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn glXQueryFrameTrackingMESA(
        dpy: *mut Display,
        drawable: GLXDrawable,
        swapCount: *mut i64,
        missedFrames: *mut i64,
        lastMissedUsage: *mut f32,
    ) -> ::std::os::raw::c_int;
}
pub type PFNGLXGETFRAMEUSAGEMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        usage: *mut f32,
    ) -> ::std::os::raw::c_int,
>;
pub type PFNGLXBEGINFRAMETRACKINGMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, drawable: GLXDrawable) -> ::std::os::raw::c_int,
>;
pub type PFNGLXENDFRAMETRACKINGMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(dpy: *mut Display, drawable: GLXDrawable) -> ::std::os::raw::c_int,
>;
pub type PFNGLXQUERYFRAMETRACKINGMESAPROC = ::std::option::Option<
    unsafe extern "C" fn(
        dpy: *mut Display,
        drawable: GLXDrawable,
        swapCount: *mut i64,
        missedFrames: *mut i64,
        lastMissedUsage: *mut f32,
    ) -> ::std::os::raw::c_int,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GLXPbufferClobberEvent {
    pub event_type: ::std::os::raw::c_int,
    pub draw_type: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub drawable: GLXDrawable,
    pub buffer_mask: ::std::os::raw::c_uint,
    pub aux_buffer: ::std::os::raw::c_uint,
    pub x: ::std::os::raw::c_int,
    pub y: ::std::os::raw::c_int,
    pub width: ::std::os::raw::c_int,
    pub height: ::std::os::raw::c_int,
    pub count: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_GLXPbufferClobberEvent() {
    assert_eq!(
        ::std::mem::size_of::<GLXPbufferClobberEvent>(),
        72usize,
        concat!("Size of: ", stringify!(GLXPbufferClobberEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<GLXPbufferClobberEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(GLXPbufferClobberEvent))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).event_type as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(event_type)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).draw_type as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(draw_type)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).send_event as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).drawable as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(drawable)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).buffer_mask as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(buffer_mask)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).aux_buffer as *const _ as usize
        },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(aux_buffer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).x as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).y as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).width as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).height as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXPbufferClobberEvent>())).count as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXPbufferClobberEvent),
            "::",
            stringify!(count)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct GLXBufferSwapComplete {
    pub type_: ::std::os::raw::c_int,
    pub serial: ::std::os::raw::c_ulong,
    pub send_event: ::std::os::raw::c_int,
    pub display: *mut Display,
    pub drawable: Drawable,
    pub event_type: ::std::os::raw::c_int,
    pub ust: i64,
    pub msc: i64,
    pub sbc: i64,
}
#[test]
fn bindgen_test_layout_GLXBufferSwapComplete() {
    assert_eq!(
        ::std::mem::size_of::<GLXBufferSwapComplete>(),
        72usize,
        concat!("Size of: ", stringify!(GLXBufferSwapComplete))
    );
    assert_eq!(
        ::std::mem::align_of::<GLXBufferSwapComplete>(),
        8usize,
        concat!("Alignment of ", stringify!(GLXBufferSwapComplete))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXBufferSwapComplete>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXBufferSwapComplete),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXBufferSwapComplete>())).serial as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXBufferSwapComplete),
            "::",
            stringify!(serial)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXBufferSwapComplete>())).send_event as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXBufferSwapComplete),
            "::",
            stringify!(send_event)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXBufferSwapComplete>())).display as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXBufferSwapComplete),
            "::",
            stringify!(display)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXBufferSwapComplete>())).drawable as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXBufferSwapComplete),
            "::",
            stringify!(drawable)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<GLXBufferSwapComplete>())).event_type as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXBufferSwapComplete),
            "::",
            stringify!(event_type)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXBufferSwapComplete>())).ust as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXBufferSwapComplete),
            "::",
            stringify!(ust)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXBufferSwapComplete>())).msc as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXBufferSwapComplete),
            "::",
            stringify!(msc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<GLXBufferSwapComplete>())).sbc as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(GLXBufferSwapComplete),
            "::",
            stringify!(sbc)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __GLXEvent {
    pub glxpbufferclobber: GLXPbufferClobberEvent,
    pub glxbufferswapcomplete: GLXBufferSwapComplete,
    pub pad: [::std::os::raw::c_long; 24usize],
    _bindgen_union_align: [u64; 24usize],
}
#[test]
fn bindgen_test_layout___GLXEvent() {
    assert_eq!(
        ::std::mem::size_of::<__GLXEvent>(),
        192usize,
        concat!("Size of: ", stringify!(__GLXEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<__GLXEvent>(),
        8usize,
        concat!("Alignment of ", stringify!(__GLXEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__GLXEvent>())).glxpbufferclobber as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__GLXEvent),
            "::",
            stringify!(glxpbufferclobber)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__GLXEvent>())).glxbufferswapcomplete as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__GLXEvent),
            "::",
            stringify!(glxbufferswapcomplete)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__GLXEvent>())).pad as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__GLXEvent),
            "::",
            stringify!(pad)
        )
    );
}
pub type GLXEvent = __GLXEvent;