modernc.org/xrender@v1.0.9/lib/xrender_linux_386.go (about)

     1  // Code generated by 'ccgo -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -lmodernc.org/x11/lib -o lib/xrender_linux_386.go -pkgname xrender -trace-translation-units /tmp/go-generate-181290560/cdb.json libXrender.a', DO NOT EDIT.
     2  
     3  package xrender
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  
    11  	"modernc.org/libc"
    12  	"modernc.org/libc/sys/types"
    13  	"modernc.org/x11/lib"
    14  )
    15  
    16  var _ = math.Pi
    17  var _ reflect.Kind
    18  var _ atomic.Value
    19  var _ unsafe.Pointer
    20  var _ types.Size_t
    21  
    22  const (
    23  	Above                                 = 0
    24  	AllHints                              = 127
    25  	AllTemporary                          = 0
    26  	AllValues                             = 0x000F
    27  	AllocAll                              = 1
    28  	AllocNone                             = 0
    29  	AllowExposures                        = 1
    30  	AlreadyGrabbed                        = 1
    31  	Always                                = 2
    32  	AnyButton                             = 0
    33  	AnyKey                                = 0
    34  	AnyModifier                           = 32768
    35  	AnyPropertyType                       = 0
    36  	ArcChord                              = 0
    37  	ArcPieSlice                           = 1
    38  	AsyncBoth                             = 6
    39  	AsyncKeyboard                         = 3
    40  	AsyncPointer                          = 0
    41  	AutoRepeatModeDefault                 = 2
    42  	AutoRepeatModeOff                     = 0
    43  	AutoRepeatModeOn                      = 1
    44  	B16                                   = 0
    45  	B32                                   = 0
    46  	BIG_ENDIAN                            = 4321
    47  	BUFSIZE                               = 2048
    48  	BYTE_ORDER                            = 1234
    49  	BadAccess                             = 10
    50  	BadAlloc                              = 11
    51  	BadAtom                               = 5
    52  	BadColor                              = 12
    53  	BadCursor                             = 6
    54  	BadDrawable                           = 9
    55  	BadFont                               = 7
    56  	BadGC                                 = 13
    57  	BadGlyph                              = 4
    58  	BadGlyphSet                           = 3
    59  	BadIDChoice                           = 14
    60  	BadImplementation                     = 17
    61  	BadLength                             = 16
    62  	BadMatch                              = 8
    63  	BadName                               = 15
    64  	BadPictFormat                         = 0
    65  	BadPictOp                             = 2
    66  	BadPicture                            = 1
    67  	BadPixmap                             = 4
    68  	BadRequest                            = 1
    69  	BadValue                              = 2
    70  	BadWindow                             = 3
    71  	Below                                 = 1
    72  	BitmapFileInvalid                     = 2
    73  	BitmapNoMemory                        = 3
    74  	BitmapOpenFailed                      = 1
    75  	BitmapSuccess                         = 0
    76  	BottomIf                              = 3
    77  	Button1                               = 1
    78  	Button1Mask                           = 256
    79  	Button1MotionMask                     = 256
    80  	Button2                               = 2
    81  	Button2Mask                           = 512
    82  	Button2MotionMask                     = 512
    83  	Button3                               = 3
    84  	Button3Mask                           = 1024
    85  	Button3MotionMask                     = 1024
    86  	Button4                               = 4
    87  	Button4Mask                           = 2048
    88  	Button4MotionMask                     = 2048
    89  	Button5                               = 5
    90  	Button5Mask                           = 4096
    91  	Button5MotionMask                     = 4096
    92  	ButtonMotionMask                      = 8192
    93  	ButtonPress                           = 4
    94  	ButtonPressMask                       = 4
    95  	ButtonRelease                         = 5
    96  	ButtonReleaseMask                     = 8
    97  	CPAlphaMap                            = 2
    98  	CPAlphaXOrigin                        = 4
    99  	CPAlphaYOrigin                        = 8
   100  	CPClipMask                            = 64
   101  	CPClipXOrigin                         = 16
   102  	CPClipYOrigin                         = 32
   103  	CPComponentAlpha                      = 4096
   104  	CPDither                              = 2048
   105  	CPGraphicsExposure                    = 128
   106  	CPLastBit                             = 12
   107  	CPPolyEdge                            = 512
   108  	CPPolyMode                            = 1024
   109  	CPRepeat                              = 1
   110  	CPSubwindowMode                       = 256
   111  	CURSORFONT                            = "cursor"
   112  	CWBackPixel                           = 2
   113  	CWBackPixmap                          = 1
   114  	CWBackingPixel                        = 256
   115  	CWBackingPlanes                       = 128
   116  	CWBackingStore                        = 64
   117  	CWBitGravity                          = 16
   118  	CWBorderPixel                         = 8
   119  	CWBorderPixmap                        = 4
   120  	CWBorderWidth                         = 16
   121  	CWColormap                            = 8192
   122  	CWCursor                              = 16384
   123  	CWDontPropagate                       = 4096
   124  	CWEventMask                           = 2048
   125  	CWHeight                              = 8
   126  	CWOverrideRedirect                    = 512
   127  	CWSaveUnder                           = 1024
   128  	CWSibling                             = 32
   129  	CWStackMode                           = 64
   130  	CWWidth                               = 4
   131  	CWWinGravity                          = 32
   132  	CWX                                   = 1
   133  	CWY                                   = 2
   134  	CapButt                               = 1
   135  	CapNotLast                            = 0
   136  	CapProjecting                         = 3
   137  	CapRound                              = 2
   138  	CenterGravity                         = 5
   139  	CirculateNotify                       = 26
   140  	CirculateRequest                      = 27
   141  	ClientMessage                         = 33
   142  	ClipByChildren                        = 0
   143  	ColormapChangeMask                    = 8388608
   144  	ColormapInstalled                     = 1
   145  	ColormapNotify                        = 32
   146  	ColormapUninstalled                   = 0
   147  	Complex                               = 0
   148  	ConfigureNotify                       = 22
   149  	ConfigureRequest                      = 23
   150  	ControlMapIndex                       = 2
   151  	ControlMask                           = 4
   152  	Convex                                = 2
   153  	CoordModeOrigin                       = 0
   154  	CoordModePrevious                     = 1
   155  	CopyFromParent                        = 0
   156  	CreateNotify                          = 16
   157  	CurrentTime                           = 0
   158  	CursorShape                           = 0
   159  	DefaultBlanking                       = 2
   160  	DefaultExposures                      = 2
   161  	DestroyAll                            = 0
   162  	DestroyNotify                         = 17
   163  	DirectColor                           = 5
   164  	DisableAccess                         = 0
   165  	DisableScreenInterval                 = 0
   166  	DisableScreenSaver                    = 0
   167  	DoBlue                                = 4
   168  	DoGreen                               = 2
   169  	DoRed                                 = 1
   170  	DontAllowExposures                    = 0
   171  	DontCareState                         = 0
   172  	DontPreferBlanking                    = 0
   173  	E2BIG                                 = 7
   174  	EACCES                                = 13
   175  	EADDRINUSE                            = 98
   176  	EADDRNOTAVAIL                         = 99
   177  	EADV                                  = 68
   178  	EAFNOSUPPORT                          = 97
   179  	EAGAIN                                = 11
   180  	EALREADY                              = 114
   181  	EBADE                                 = 52
   182  	EBADF                                 = 9
   183  	EBADFD                                = 77
   184  	EBADMSG                               = 74
   185  	EBADR                                 = 53
   186  	EBADRQC                               = 56
   187  	EBADSLT                               = 57
   188  	EBFONT                                = 59
   189  	EBUSY                                 = 16
   190  	ECANCELED                             = 125
   191  	ECHILD                                = 10
   192  	ECHRNG                                = 44
   193  	ECOMM                                 = 70
   194  	ECONNABORTED                          = 103
   195  	ECONNREFUSED                          = 111
   196  	ECONNRESET                            = 104
   197  	EDEADLK                               = 35
   198  	EDEADLOCK                             = 35
   199  	EDESTADDRREQ                          = 89
   200  	EDOM                                  = 33
   201  	EDOTDOT                               = 73
   202  	EDQUOT                                = 122
   203  	EEXIST                                = 17
   204  	EFAULT                                = 14
   205  	EFBIG                                 = 27
   206  	EHOSTDOWN                             = 112
   207  	EHOSTUNREACH                          = 113
   208  	EHWPOISON                             = 133
   209  	EIDRM                                 = 43
   210  	EILSEQ                                = 84
   211  	EINPROGRESS                           = 115
   212  	EINTR                                 = 4
   213  	EINVAL                                = 22
   214  	EIO                                   = 5
   215  	EISCONN                               = 106
   216  	EISDIR                                = 21
   217  	EISNAM                                = 120
   218  	EKEYEXPIRED                           = 127
   219  	EKEYREJECTED                          = 129
   220  	EKEYREVOKED                           = 128
   221  	EL2HLT                                = 51
   222  	EL2NSYNC                              = 45
   223  	EL3HLT                                = 46
   224  	EL3RST                                = 47
   225  	ELFlagFocus                           = 1
   226  	ELFlagSameScreen                      = 2
   227  	ELIBACC                               = 79
   228  	ELIBBAD                               = 80
   229  	ELIBEXEC                              = 83
   230  	ELIBMAX                               = 82
   231  	ELIBSCN                               = 81
   232  	ELNRNG                                = 48
   233  	ELOOP                                 = 40
   234  	EMEDIUMTYPE                           = 124
   235  	EMFILE                                = 24
   236  	EMLINK                                = 31
   237  	EMSGSIZE                              = 90
   238  	EMULTIHOP                             = 72
   239  	ENAMETOOLONG                          = 36
   240  	ENAVAIL                               = 119
   241  	ENETDOWN                              = 100
   242  	ENETRESET                             = 102
   243  	ENETUNREACH                           = 101
   244  	ENFILE                                = 23
   245  	ENOANO                                = 55
   246  	ENOBUFS                               = 105
   247  	ENOCSI                                = 50
   248  	ENODATA                               = 61
   249  	ENODEV                                = 19
   250  	ENOENT                                = 2
   251  	ENOEXEC                               = 8
   252  	ENOKEY                                = 126
   253  	ENOLCK                                = 37
   254  	ENOLINK                               = 67
   255  	ENOMEDIUM                             = 123
   256  	ENOMEM                                = 12
   257  	ENOMSG                                = 42
   258  	ENONET                                = 64
   259  	ENOPKG                                = 65
   260  	ENOPROTOOPT                           = 92
   261  	ENOSPC                                = 28
   262  	ENOSR                                 = 63
   263  	ENOSTR                                = 60
   264  	ENOSYS                                = 38
   265  	ENOTBLK                               = 15
   266  	ENOTCONN                              = 107
   267  	ENOTDIR                               = 20
   268  	ENOTEMPTY                             = 39
   269  	ENOTNAM                               = 118
   270  	ENOTRECOVERABLE                       = 131
   271  	ENOTSOCK                              = 88
   272  	ENOTSUP                               = 95
   273  	ENOTTY                                = 25
   274  	ENOTUNIQ                              = 76
   275  	ENXIO                                 = 6
   276  	EOPNOTSUPP                            = 95
   277  	EOVERFLOW                             = 75
   278  	EOWNERDEAD                            = 130
   279  	EPERM                                 = 1
   280  	EPFNOSUPPORT                          = 96
   281  	EPIPE                                 = 32
   282  	EPROTO                                = 71
   283  	EPROTONOSUPPORT                       = 93
   284  	EPROTOTYPE                            = 91
   285  	ERANGE                                = 34
   286  	EREMCHG                               = 78
   287  	EREMOTE                               = 66
   288  	EREMOTEIO                             = 121
   289  	ERESTART                              = 85
   290  	ERFKILL                               = 132
   291  	EROFS                                 = 30
   292  	ESHUTDOWN                             = 108
   293  	ESOCKTNOSUPPORT                       = 94
   294  	ESPIPE                                = 29
   295  	ESRCH                                 = 3
   296  	ESRMNT                                = 69
   297  	ESTALE                                = 116
   298  	ESTRPIPE                              = 86
   299  	ETIME                                 = 62
   300  	ETIMEDOUT                             = 110
   301  	ETOOMANYREFS                          = 109
   302  	ETXTBSY                               = 26
   303  	EUCLEAN                               = 117
   304  	EUNATCH                               = 49
   305  	EUSERS                                = 87
   306  	EWOULDBLOCK                           = 11
   307  	EXDEV                                 = 18
   308  	EXFULL                                = 54
   309  	EXIT_FAILURE                          = 1
   310  	EXIT_SUCCESS                          = 0
   311  	EastGravity                           = 6
   312  	EnableAccess                          = 1
   313  	EnterNotify                           = 7
   314  	EnterWindowMask                       = 16
   315  	EvenOddRule                           = 0
   316  	Expose                                = 12
   317  	ExposureMask                          = 32768
   318  	FARCSPERBATCH                         = 256
   319  	FD_SETSIZE                            = 1024
   320  	FRCTSPERBATCH                         = 256
   321  	FUNCPROTO                             = 15
   322  	False                                 = 0
   323  	FamilyChaos                           = 2
   324  	FamilyDECnet                          = 1
   325  	FamilyInternet                        = 0
   326  	FamilyInternet6                       = 6
   327  	FamilyServerInterpreted               = 5
   328  	FillOpaqueStippled                    = 3
   329  	FillSolid                             = 0
   330  	FillStippled                          = 2
   331  	FillTiled                             = 1
   332  	FilterAliasNone                       = -1
   333  	FilterBest                            = "best"
   334  	FilterBilinear                        = "bilinear"
   335  	FilterConvolution                     = "convolution"
   336  	FilterFast                            = "fast"
   337  	FilterGood                            = "good"
   338  	FilterNearest                         = "nearest"
   339  	FirstExtensionError                   = 128
   340  	FocusChangeMask                       = 2097152
   341  	FocusIn                               = 9
   342  	FocusOut                              = 10
   343  	FontChange                            = 255
   344  	FontLeftToRight                       = 0
   345  	FontRightToLeft                       = 1
   346  	ForgetGravity                         = 0
   347  	GCArcMode                             = 4194304
   348  	GCBackground                          = 8
   349  	GCCapStyle                            = 64
   350  	GCClipMask                            = 524288
   351  	GCClipXOrigin                         = 131072
   352  	GCClipYOrigin                         = 262144
   353  	GCDashList                            = 2097152
   354  	GCDashOffset                          = 1048576
   355  	GCFillRule                            = 512
   356  	GCFillStyle                           = 256
   357  	GCFont                                = 16384
   358  	GCForeground                          = 4
   359  	GCFunction                            = 1
   360  	GCGraphicsExposures                   = 65536
   361  	GCJoinStyle                           = 128
   362  	GCLastBit                             = 22
   363  	GCLineStyle                           = 32
   364  	GCLineWidth                           = 16
   365  	GCPlaneMask                           = 2
   366  	GCStipple                             = 2048
   367  	GCSubwindowMode                       = 32768
   368  	GCTile                                = 1024
   369  	GCTileStipXOrigin                     = 4096
   370  	GCTileStipYOrigin                     = 8192
   371  	GXand                                 = 0x1
   372  	GXandInverted                         = 0x4
   373  	GXandReverse                          = 0x2
   374  	GXclear                               = 0x0
   375  	GXcopy                                = 0x3
   376  	GXcopyInverted                        = 0xc
   377  	GXequiv                               = 0x9
   378  	GXinvert                              = 0xa
   379  	GXnand                                = 0xe
   380  	GXnoop                                = 0x5
   381  	GXnor                                 = 0x8
   382  	GXor                                  = 0x7
   383  	GXorInverted                          = 0xd
   384  	GXorReverse                           = 0xb
   385  	GXset                                 = 0xf
   386  	GXxor                                 = 0x6
   387  	GenericEvent                          = 35
   388  	GrabFrozen                            = 4
   389  	GrabInvalidTime                       = 2
   390  	GrabModeAsync                         = 1
   391  	GrabModeSync                          = 0
   392  	GrabNotViewable                       = 3
   393  	GrabSuccess                           = 0
   394  	GraphicsExpose                        = 13
   395  	GravityNotify                         = 24
   396  	GrayScale                             = 1
   397  	HAVE_CONFIG_H                         = 1
   398  	HAVE_DLFCN_H                          = 1
   399  	HAVE_INTTYPES_H                       = 1
   400  	HAVE_MEMORY_H                         = 1
   401  	HAVE_STDINT_H                         = 1
   402  	HAVE_STDLIB_H                         = 1
   403  	HAVE_STRINGS_H                        = 1
   404  	HAVE_STRING_H                         = 1
   405  	HAVE_SYS_STAT_H                       = 1
   406  	HAVE_SYS_TYPES_H                      = 1
   407  	HAVE_UNISTD_H                         = 1
   408  	HeightValue                           = 0x0008
   409  	HostDelete                            = 1
   410  	HostInsert                            = 0
   411  	INT16_MAX                             = 32767
   412  	INT16_MIN                             = -32768
   413  	INT32_MAX                             = 2147483647
   414  	INT32_MIN                             = -2147483648
   415  	INT64_MAX                             = 9223372036854775807
   416  	INT64_MIN                             = -9223372036854775808
   417  	INT8_MAX                              = 127
   418  	INT8_MIN                              = -128
   419  	INTMAX_MAX                            = 9223372036854775807
   420  	INTMAX_MIN                            = -9223372036854775808
   421  	INTPTR_MAX                            = 2147483647
   422  	INTPTR_MIN                            = -2147483648
   423  	INT_FAST16_MAX                        = 2147483647
   424  	INT_FAST16_MIN                        = -2147483648
   425  	INT_FAST32_MAX                        = 2147483647
   426  	INT_FAST32_MIN                        = -2147483648
   427  	INT_FAST64_MAX                        = 9223372036854775807
   428  	INT_FAST64_MIN                        = -9223372036854775808
   429  	INT_FAST8_MAX                         = 127
   430  	INT_FAST8_MIN                         = -128
   431  	INT_LEAST16_MAX                       = 32767
   432  	INT_LEAST16_MIN                       = -32768
   433  	INT_LEAST32_MAX                       = 2147483647
   434  	INT_LEAST32_MIN                       = -2147483648
   435  	INT_LEAST64_MAX                       = 9223372036854775807
   436  	INT_LEAST64_MIN                       = -9223372036854775808
   437  	INT_LEAST8_MAX                        = 127
   438  	INT_LEAST8_MIN                        = -128
   439  	IconMaskHint                          = 32
   440  	IconPixmapHint                        = 4
   441  	IconPositionHint                      = 16
   442  	IconWindowHint                        = 8
   443  	IconicState                           = 3
   444  	InactiveState                         = 4
   445  	IncludeInferiors                      = 1
   446  	InputFocus                            = 1
   447  	InputHint                             = 1
   448  	InputOnly                             = 2
   449  	InputOutput                           = 1
   450  	IsUnmapped                            = 0
   451  	IsUnviewable                          = 1
   452  	IsViewable                            = 2
   453  	JoinBevel                             = 2
   454  	JoinMiter                             = 0
   455  	JoinRound                             = 1
   456  	KBAutoRepeatMode                      = 128
   457  	KBBellDuration                        = 8
   458  	KBBellPercent                         = 2
   459  	KBBellPitch                           = 4
   460  	KBKey                                 = 64
   461  	KBKeyClickPercent                     = 1
   462  	KBLed                                 = 16
   463  	KBLedMode                             = 32
   464  	KeyPress                              = 2
   465  	KeyPressMask                          = 1
   466  	KeyRelease                            = 3
   467  	KeyReleaseMask                        = 2
   468  	KeymapNotify                          = 11
   469  	KeymapStateMask                       = 16384
   470  	LASTEvent                             = 36
   471  	LITTLE_ENDIAN                         = 1234
   472  	LOCKED                                = 1
   473  	LSBFirst                              = 0
   474  	LT_OBJDIR                             = ".libs/"
   475  	LastExtensionError                    = 255
   476  	LeaveNotify                           = 8
   477  	LeaveWindowMask                       = 32
   478  	LedModeOff                            = 0
   479  	LedModeOn                             = 1
   480  	LineDoubleDash                        = 2
   481  	LineOnOffDash                         = 1
   482  	LineSolid                             = 0
   483  	LockMapIndex                          = 1
   484  	LockMask                              = 2
   485  	LowerHighest                          = 1
   486  	MALLOC_0_RETURNS_NULL                 = 1
   487  	MSBFirst                              = 1
   488  	MapNotify                             = 19
   489  	MapRequest                            = 20
   490  	MappingBusy                           = 1
   491  	MappingFailed                         = 2
   492  	MappingKeyboard                       = 1
   493  	MappingModifier                       = 0
   494  	MappingNotify                         = 34
   495  	MappingPointer                        = 2
   496  	MappingSuccess                        = 0
   497  	Mod1MapIndex                          = 3
   498  	Mod1Mask                              = 8
   499  	Mod2MapIndex                          = 4
   500  	Mod2Mask                              = 16
   501  	Mod3MapIndex                          = 5
   502  	Mod3Mask                              = 32
   503  	Mod4MapIndex                          = 6
   504  	Mod4Mask                              = 64
   505  	Mod5MapIndex                          = 7
   506  	Mod5Mask                              = 128
   507  	MotionNotify                          = 6
   508  	NARROWPROTO                           = 0
   509  	NLOCAL                                = 256
   510  	NeedFunctionPrototypes                = 1
   511  	NeedNestedPrototypes                  = 1
   512  	NeedVarargsPrototypes                 = 1
   513  	NeedWidePrototypes                    = 0
   514  	NoEventMask                           = 0
   515  	NoExpose                              = 14
   516  	NoSymbol                              = 0
   517  	NoValue                               = 0x0000
   518  	Nonconvex                             = 1
   519  	None                                  = 0
   520  	NormalState                           = 1
   521  	NorthEastGravity                      = 3
   522  	NorthGravity                          = 2
   523  	NorthWestGravity                      = 1
   524  	NotUseful                             = 0
   525  	NotifyAncestor                        = 0
   526  	NotifyDetailNone                      = 7
   527  	NotifyGrab                            = 1
   528  	NotifyHint                            = 1
   529  	NotifyInferior                        = 2
   530  	NotifyNonlinear                       = 3
   531  	NotifyNonlinearVirtual                = 4
   532  	NotifyNormal                          = 0
   533  	NotifyPointer                         = 5
   534  	NotifyPointerRoot                     = 6
   535  	NotifyUngrab                          = 2
   536  	NotifyVirtual                         = 1
   537  	NotifyWhileGrabbed                    = 3
   538  	Opposite                              = 4
   539  	OwnerGrabButtonMask                   = 16777216
   540  	PACKAGE                               = "libXrender"
   541  	PACKAGE_BUGREPORT                     = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
   542  	PACKAGE_NAME                          = "libXrender"
   543  	PACKAGE_STRING                        = "libXrender 0.9.10"
   544  	PACKAGE_TARNAME                       = "libXrender"
   545  	PACKAGE_URL                           = ""
   546  	PACKAGE_VERSION                       = "0.9.10"
   547  	PACKAGE_VERSION_MAJOR                 = 0
   548  	PACKAGE_VERSION_MINOR                 = 9
   549  	PACKAGE_VERSION_PATCHLEVEL            = 10
   550  	PAllHints                             = 252
   551  	PAspect                               = 128
   552  	PBaseSize                             = 256
   553  	PDP_ENDIAN                            = 3412
   554  	PMaxSize                              = 32
   555  	PMinSize                              = 16
   556  	PPosition                             = 4
   557  	PResizeInc                            = 64
   558  	PSize                                 = 8
   559  	PTRDIFF_MAX                           = 2147483647
   560  	PTRDIFF_MIN                           = -2147483648
   561  	PTSPERBATCH                           = 1024
   562  	PWinGravity                           = 512
   563  	ParentRelative                        = 1
   564  	PictFormatAlpha                       = 512
   565  	PictFormatAlphaMask                   = 1024
   566  	PictFormatBlue                        = 128
   567  	PictFormatBlueMask                    = 256
   568  	PictFormatColormap                    = 2048
   569  	PictFormatDepth                       = 4
   570  	PictFormatGreen                       = 32
   571  	PictFormatGreenMask                   = 64
   572  	PictFormatID                          = 1
   573  	PictFormatRed                         = 8
   574  	PictFormatRedMask                     = 16
   575  	PictFormatType                        = 2
   576  	PictOpAdd                             = 12
   577  	PictOpAtop                            = 9
   578  	PictOpAtopReverse                     = 10
   579  	PictOpBlendMaximum                    = 0x3e
   580  	PictOpBlendMinimum                    = 0x30
   581  	PictOpClear                           = 0
   582  	PictOpColorBurn                       = 0x36
   583  	PictOpColorDodge                      = 0x35
   584  	PictOpConjointAtop                    = 0x29
   585  	PictOpConjointAtopReverse             = 0x2a
   586  	PictOpConjointClear                   = 0x20
   587  	PictOpConjointDst                     = 0x22
   588  	PictOpConjointIn                      = 0x25
   589  	PictOpConjointInReverse               = 0x26
   590  	PictOpConjointMaximum                 = 0x2b
   591  	PictOpConjointMinimum                 = 0x20
   592  	PictOpConjointOut                     = 0x27
   593  	PictOpConjointOutReverse              = 0x28
   594  	PictOpConjointOver                    = 0x23
   595  	PictOpConjointOverReverse             = 0x24
   596  	PictOpConjointSrc                     = 0x21
   597  	PictOpConjointXor                     = 0x2b
   598  	PictOpDarken                          = 0x33
   599  	PictOpDifference                      = 0x39
   600  	PictOpDisjointAtop                    = 0x19
   601  	PictOpDisjointAtopReverse             = 0x1a
   602  	PictOpDisjointClear                   = 0x10
   603  	PictOpDisjointDst                     = 0x12
   604  	PictOpDisjointIn                      = 0x15
   605  	PictOpDisjointInReverse               = 0x16
   606  	PictOpDisjointMaximum                 = 0x1b
   607  	PictOpDisjointMinimum                 = 0x10
   608  	PictOpDisjointOut                     = 0x17
   609  	PictOpDisjointOutReverse              = 0x18
   610  	PictOpDisjointOver                    = 0x13
   611  	PictOpDisjointOverReverse             = 0x14
   612  	PictOpDisjointSrc                     = 0x11
   613  	PictOpDisjointXor                     = 0x1b
   614  	PictOpDst                             = 2
   615  	PictOpExclusion                       = 0x3a
   616  	PictOpHSLColor                        = 0x3d
   617  	PictOpHSLHue                          = 0x3b
   618  	PictOpHSLLuminosity                   = 0x3e
   619  	PictOpHSLSaturation                   = 0x3c
   620  	PictOpHardLight                       = 0x37
   621  	PictOpIn                              = 5
   622  	PictOpInReverse                       = 6
   623  	PictOpLighten                         = 0x34
   624  	PictOpMaximum                         = 13
   625  	PictOpMinimum                         = 0
   626  	PictOpMultiply                        = 0x30
   627  	PictOpOut                             = 7
   628  	PictOpOutReverse                      = 8
   629  	PictOpOver                            = 3
   630  	PictOpOverReverse                     = 4
   631  	PictOpOverlay                         = 0x32
   632  	PictOpSaturate                        = 13
   633  	PictOpScreen                          = 0x31
   634  	PictOpSoftLight                       = 0x38
   635  	PictOpSrc                             = 1
   636  	PictOpXor                             = 11
   637  	PictStandardA1                        = 4
   638  	PictStandardA4                        = 3
   639  	PictStandardA8                        = 2
   640  	PictStandardARGB32                    = 0
   641  	PictStandardNUM                       = 5
   642  	PictStandardRGB24                     = 1
   643  	PictTypeDirect                        = 1
   644  	PictTypeIndexed                       = 0
   645  	PlaceOnBottom                         = 1
   646  	PlaceOnTop                            = 0
   647  	PointerMotionHintMask                 = 128
   648  	PointerMotionMask                     = 64
   649  	PointerRoot                           = 1
   650  	PointerWindow                         = 0
   651  	PolyEdgeSharp                         = 0
   652  	PolyEdgeSmooth                        = 1
   653  	PolyModeImprecise                     = 1
   654  	PolyModePrecise                       = 0
   655  	PreferBlanking                        = 1
   656  	PropModeAppend                        = 2
   657  	PropModePrepend                       = 1
   658  	PropModeReplace                       = 0
   659  	PropertyChangeMask                    = 4194304
   660  	PropertyDelete                        = 1
   661  	PropertyNewValue                      = 0
   662  	PropertyNotify                        = 28
   663  	PseudoColor                           = 3
   664  	QueuedAfterFlush                      = 2
   665  	QueuedAfterReading                    = 1
   666  	QueuedAlready                         = 0
   667  	RAND_MAX                              = 2147483647
   668  	RENDER_MAJOR                          = 0
   669  	RENDER_MINOR                          = 11
   670  	RENDER_NAME                           = "RENDER"
   671  	RaiseLowest                           = 0
   672  	RectangleIn                           = 1
   673  	RectangleOut                          = 0
   674  	RectanglePart                         = 2
   675  	RenderNumberErrors                    = 5
   676  	RenderNumberRequests                  = 37
   677  	ReparentNotify                        = 21
   678  	RepeatNone                            = 0
   679  	RepeatNormal                          = 1
   680  	RepeatPad                             = 2
   681  	RepeatReflect                         = 3
   682  	ReplayKeyboard                        = 5
   683  	ReplayPointer                         = 2
   684  	ResizeRedirectMask                    = 262144
   685  	ResizeRequest                         = 25
   686  	RetainPermanent                       = 1
   687  	RetainTemporary                       = 2
   688  	RevertToParent                        = 2
   689  	SIG_ATOMIC_MAX                        = 2147483647
   690  	SIG_ATOMIC_MIN                        = -2147483648
   691  	SIZE_MAX                              = 4294967295
   692  	STDC_HEADERS                          = 1
   693  	ScreenSaverActive                     = 1
   694  	ScreenSaverReset                      = 0
   695  	SelectionClear                        = 29
   696  	SelectionNotify                       = 31
   697  	SelectionRequest                      = 30
   698  	SetModeDelete                         = 1
   699  	SetModeInsert                         = 0
   700  	ShiftMapIndex                         = 0
   701  	ShiftMask                             = 1
   702  	SouthEastGravity                      = 9
   703  	SouthGravity                          = 8
   704  	SouthWestGravity                      = 7
   705  	StateHint                             = 2
   706  	StaticColor                           = 2
   707  	StaticGravity                         = 10
   708  	StaticGray                            = 0
   709  	StippleShape                          = 2
   710  	StructureNotifyMask                   = 131072
   711  	SubPixelHorizontalBGR                 = 2
   712  	SubPixelHorizontalRGB                 = 1
   713  	SubPixelNone                          = 5
   714  	SubPixelUnknown                       = 0
   715  	SubPixelVerticalBGR                   = 4
   716  	SubPixelVerticalRGB                   = 3
   717  	SubstructureNotifyMask                = 524288
   718  	SubstructureRedirectMask              = 1048576
   719  	Success                               = 0
   720  	SyncBoth                              = 7
   721  	SyncKeyboard                          = 4
   722  	SyncPointer                           = 1
   723  	TileShape                             = 1
   724  	TopIf                                 = 2
   725  	True                                  = 1
   726  	TrueColor                             = 4
   727  	UINT16_MAX                            = 65535
   728  	UINT32_MAX                            = 4294967295
   729  	UINT64_MAX                            = 18446744073709551615
   730  	UINT8_MAX                             = 255
   731  	UINTMAX_MAX                           = 18446744073709551615
   732  	UINTPTR_MAX                           = 4294967295
   733  	UINT_FAST16_MAX                       = 4294967295
   734  	UINT_FAST32_MAX                       = 4294967295
   735  	UINT_FAST64_MAX                       = 18446744073709551615
   736  	UINT_FAST8_MAX                        = 255
   737  	UINT_LEAST16_MAX                      = 65535
   738  	UINT_LEAST32_MAX                      = 4294967295
   739  	UINT_LEAST64_MAX                      = 18446744073709551615
   740  	UINT_LEAST8_MAX                       = 255
   741  	UNLOCKED                              = 0
   742  	USPosition                            = 1
   743  	USSize                                = 2
   744  	UnmapGravity                          = 0
   745  	UnmapNotify                           = 18
   746  	Unsorted                              = 0
   747  	VERSION                               = "0.9.10"
   748  	VisibilityChangeMask                  = 65536
   749  	VisibilityFullyObscured               = 2
   750  	VisibilityNotify                      = 15
   751  	VisibilityPartiallyObscured           = 1
   752  	VisibilityUnobscured                  = 0
   753  	VisualAllMask                         = 0x1FF
   754  	VisualBitsPerRGBMask                  = 0x100
   755  	VisualBlueMaskMask                    = 0x40
   756  	VisualClassMask                       = 0x8
   757  	VisualColormapSizeMask                = 0x80
   758  	VisualDepthMask                       = 0x4
   759  	VisualGreenMaskMask                   = 0x20
   760  	VisualIDMask                          = 0x1
   761  	VisualNoMask                          = 0x0
   762  	VisualRedMaskMask                     = 0x10
   763  	VisualScreenMask                      = 0x2
   764  	WCHAR_MAX                             = 2147483647
   765  	WCHAR_MIN                             = -2147483648
   766  	WCONTINUED                            = 8
   767  	WEXITED                               = 4
   768  	WINT_MAX                              = 4294967295
   769  	WINT_MIN                              = 0
   770  	WLNSPERBATCH                          = 50
   771  	WNOHANG                               = 1
   772  	WNOWAIT                               = 0x01000000
   773  	WORD64ALIGN                           = 0
   774  	WRCTSPERBATCH                         = 10
   775  	WSTOPPED                              = 2
   776  	WUNTRACED                             = 2
   777  	WestGravity                           = 4
   778  	WhenMapped                            = 1
   779  	WidthValue                            = 0x0004
   780  	WindingRule                           = 1
   781  	WindowGroupHint                       = 64
   782  	WithdrawnState                        = 0
   783  	XBufferOverflow                       = -1
   784  	XCNOENT                               = 2
   785  	XCNOMEM                               = 1
   786  	XCSUCCESS                             = 0
   787  	XConverterNotFound                    = -3
   788  	XIMHighlight                          = 4
   789  	XIMHotKeyStateOFF                     = 2
   790  	XIMHotKeyStateON                      = 1
   791  	XIMInitialState                       = 1
   792  	XIMPreeditArea                        = 0x0001
   793  	XIMPreeditCallbacks                   = 0x0002
   794  	XIMPreeditDisable                     = 2
   795  	XIMPreeditEnable                      = 1
   796  	XIMPreeditNone                        = 0x0010
   797  	XIMPreeditNothing                     = 0x0008
   798  	XIMPreeditPosition                    = 0x0004
   799  	XIMPreeditUnKnown                     = 0
   800  	XIMPreserveState                      = 2
   801  	XIMPrimary                            = 32
   802  	XIMReverse                            = 1
   803  	XIMSecondary                          = 64
   804  	XIMStatusArea                         = 0x0100
   805  	XIMStatusCallbacks                    = 0x0200
   806  	XIMStatusNone                         = 0x0800
   807  	XIMStatusNothing                      = 0x0400
   808  	XIMStringConversionBottomEdge         = 8
   809  	XIMStringConversionBuffer             = 1
   810  	XIMStringConversionChar               = 4
   811  	XIMStringConversionConcealed          = 16
   812  	XIMStringConversionLeftEdge           = 1
   813  	XIMStringConversionLine               = 2
   814  	XIMStringConversionRetrieval          = 2
   815  	XIMStringConversionRightEdge          = 2
   816  	XIMStringConversionSubstitution       = 1
   817  	XIMStringConversionTopEdge            = 4
   818  	XIMStringConversionWord               = 3
   819  	XIMStringConversionWrapped            = 32
   820  	XIMTertiary                           = 128
   821  	XIMUnderline                          = 2
   822  	XIMVisibleToBackword                  = 512
   823  	XIMVisibleToCenter                    = 1024
   824  	XIMVisibleToForward                   = 256
   825  	XK_0                                  = 0x0030
   826  	XK_1                                  = 0x0031
   827  	XK_2                                  = 0x0032
   828  	XK_3                                  = 0x0033
   829  	XK_4                                  = 0x0034
   830  	XK_5                                  = 0x0035
   831  	XK_6                                  = 0x0036
   832  	XK_7                                  = 0x0037
   833  	XK_8                                  = 0x0038
   834  	XK_9                                  = 0x0039
   835  	XK_A                                  = 0x0041
   836  	XK_AE                                 = 0x00c6
   837  	XK_ARABIC                             = 0
   838  	XK_ARMENIAN                           = 0
   839  	XK_Aacute                             = 0x00c1
   840  	XK_Abelowdot                          = 0x1001ea0
   841  	XK_Abreve                             = 0x01c3
   842  	XK_Abreveacute                        = 0x1001eae
   843  	XK_Abrevebelowdot                     = 0x1001eb6
   844  	XK_Abrevegrave                        = 0x1001eb0
   845  	XK_Abrevehook                         = 0x1001eb2
   846  	XK_Abrevetilde                        = 0x1001eb4
   847  	XK_AccessX_Enable                     = 0xfe70
   848  	XK_AccessX_Feedback_Enable            = 0xfe71
   849  	XK_Acircumflex                        = 0x00c2
   850  	XK_Acircumflexacute                   = 0x1001ea4
   851  	XK_Acircumflexbelowdot                = 0x1001eac
   852  	XK_Acircumflexgrave                   = 0x1001ea6
   853  	XK_Acircumflexhook                    = 0x1001ea8
   854  	XK_Acircumflextilde                   = 0x1001eaa
   855  	XK_Adiaeresis                         = 0x00c4
   856  	XK_Agrave                             = 0x00c0
   857  	XK_Ahook                              = 0x1001ea2
   858  	XK_Alt_L                              = 0xffe9
   859  	XK_Alt_R                              = 0xffea
   860  	XK_Amacron                            = 0x03c0
   861  	XK_Aogonek                            = 0x01a1
   862  	XK_Arabic_0                           = 0x1000660
   863  	XK_Arabic_1                           = 0x1000661
   864  	XK_Arabic_2                           = 0x1000662
   865  	XK_Arabic_3                           = 0x1000663
   866  	XK_Arabic_4                           = 0x1000664
   867  	XK_Arabic_5                           = 0x1000665
   868  	XK_Arabic_6                           = 0x1000666
   869  	XK_Arabic_7                           = 0x1000667
   870  	XK_Arabic_8                           = 0x1000668
   871  	XK_Arabic_9                           = 0x1000669
   872  	XK_Arabic_ain                         = 0x05d9
   873  	XK_Arabic_alef                        = 0x05c7
   874  	XK_Arabic_alefmaksura                 = 0x05e9
   875  	XK_Arabic_beh                         = 0x05c8
   876  	XK_Arabic_comma                       = 0x05ac
   877  	XK_Arabic_dad                         = 0x05d6
   878  	XK_Arabic_dal                         = 0x05cf
   879  	XK_Arabic_damma                       = 0x05ef
   880  	XK_Arabic_dammatan                    = 0x05ec
   881  	XK_Arabic_ddal                        = 0x1000688
   882  	XK_Arabic_farsi_yeh                   = 0x10006cc
   883  	XK_Arabic_fatha                       = 0x05ee
   884  	XK_Arabic_fathatan                    = 0x05eb
   885  	XK_Arabic_feh                         = 0x05e1
   886  	XK_Arabic_fullstop                    = 0x10006d4
   887  	XK_Arabic_gaf                         = 0x10006af
   888  	XK_Arabic_ghain                       = 0x05da
   889  	XK_Arabic_ha                          = 0x05e7
   890  	XK_Arabic_hah                         = 0x05cd
   891  	XK_Arabic_hamza                       = 0x05c1
   892  	XK_Arabic_hamza_above                 = 0x1000654
   893  	XK_Arabic_hamza_below                 = 0x1000655
   894  	XK_Arabic_hamzaonalef                 = 0x05c3
   895  	XK_Arabic_hamzaonwaw                  = 0x05c4
   896  	XK_Arabic_hamzaonyeh                  = 0x05c6
   897  	XK_Arabic_hamzaunderalef              = 0x05c5
   898  	XK_Arabic_heh                         = 0x05e7
   899  	XK_Arabic_heh_doachashmee             = 0x10006be
   900  	XK_Arabic_heh_goal                    = 0x10006c1
   901  	XK_Arabic_jeem                        = 0x05cc
   902  	XK_Arabic_jeh                         = 0x1000698
   903  	XK_Arabic_kaf                         = 0x05e3
   904  	XK_Arabic_kasra                       = 0x05f0
   905  	XK_Arabic_kasratan                    = 0x05ed
   906  	XK_Arabic_keheh                       = 0x10006a9
   907  	XK_Arabic_khah                        = 0x05ce
   908  	XK_Arabic_lam                         = 0x05e4
   909  	XK_Arabic_madda_above                 = 0x1000653
   910  	XK_Arabic_maddaonalef                 = 0x05c2
   911  	XK_Arabic_meem                        = 0x05e5
   912  	XK_Arabic_noon                        = 0x05e6
   913  	XK_Arabic_noon_ghunna                 = 0x10006ba
   914  	XK_Arabic_peh                         = 0x100067e
   915  	XK_Arabic_percent                     = 0x100066a
   916  	XK_Arabic_qaf                         = 0x05e2
   917  	XK_Arabic_question_mark               = 0x05bf
   918  	XK_Arabic_ra                          = 0x05d1
   919  	XK_Arabic_rreh                        = 0x1000691
   920  	XK_Arabic_sad                         = 0x05d5
   921  	XK_Arabic_seen                        = 0x05d3
   922  	XK_Arabic_semicolon                   = 0x05bb
   923  	XK_Arabic_shadda                      = 0x05f1
   924  	XK_Arabic_sheen                       = 0x05d4
   925  	XK_Arabic_sukun                       = 0x05f2
   926  	XK_Arabic_superscript_alef            = 0x1000670
   927  	XK_Arabic_switch                      = 0xff7e
   928  	XK_Arabic_tah                         = 0x05d7
   929  	XK_Arabic_tatweel                     = 0x05e0
   930  	XK_Arabic_tcheh                       = 0x1000686
   931  	XK_Arabic_teh                         = 0x05ca
   932  	XK_Arabic_tehmarbuta                  = 0x05c9
   933  	XK_Arabic_thal                        = 0x05d0
   934  	XK_Arabic_theh                        = 0x05cb
   935  	XK_Arabic_tteh                        = 0x1000679
   936  	XK_Arabic_veh                         = 0x10006a4
   937  	XK_Arabic_waw                         = 0x05e8
   938  	XK_Arabic_yeh                         = 0x05ea
   939  	XK_Arabic_yeh_baree                   = 0x10006d2
   940  	XK_Arabic_zah                         = 0x05d8
   941  	XK_Arabic_zain                        = 0x05d2
   942  	XK_Aring                              = 0x00c5
   943  	XK_Armenian_AT                        = 0x1000538
   944  	XK_Armenian_AYB                       = 0x1000531
   945  	XK_Armenian_BEN                       = 0x1000532
   946  	XK_Armenian_CHA                       = 0x1000549
   947  	XK_Armenian_DA                        = 0x1000534
   948  	XK_Armenian_DZA                       = 0x1000541
   949  	XK_Armenian_E                         = 0x1000537
   950  	XK_Armenian_FE                        = 0x1000556
   951  	XK_Armenian_GHAT                      = 0x1000542
   952  	XK_Armenian_GIM                       = 0x1000533
   953  	XK_Armenian_HI                        = 0x1000545
   954  	XK_Armenian_HO                        = 0x1000540
   955  	XK_Armenian_INI                       = 0x100053b
   956  	XK_Armenian_JE                        = 0x100054b
   957  	XK_Armenian_KE                        = 0x1000554
   958  	XK_Armenian_KEN                       = 0x100053f
   959  	XK_Armenian_KHE                       = 0x100053d
   960  	XK_Armenian_LYUN                      = 0x100053c
   961  	XK_Armenian_MEN                       = 0x1000544
   962  	XK_Armenian_NU                        = 0x1000546
   963  	XK_Armenian_O                         = 0x1000555
   964  	XK_Armenian_PE                        = 0x100054a
   965  	XK_Armenian_PYUR                      = 0x1000553
   966  	XK_Armenian_RA                        = 0x100054c
   967  	XK_Armenian_RE                        = 0x1000550
   968  	XK_Armenian_SE                        = 0x100054d
   969  	XK_Armenian_SHA                       = 0x1000547
   970  	XK_Armenian_TCHE                      = 0x1000543
   971  	XK_Armenian_TO                        = 0x1000539
   972  	XK_Armenian_TSA                       = 0x100053e
   973  	XK_Armenian_TSO                       = 0x1000551
   974  	XK_Armenian_TYUN                      = 0x100054f
   975  	XK_Armenian_VEV                       = 0x100054e
   976  	XK_Armenian_VO                        = 0x1000548
   977  	XK_Armenian_VYUN                      = 0x1000552
   978  	XK_Armenian_YECH                      = 0x1000535
   979  	XK_Armenian_ZA                        = 0x1000536
   980  	XK_Armenian_ZHE                       = 0x100053a
   981  	XK_Armenian_accent                    = 0x100055b
   982  	XK_Armenian_amanak                    = 0x100055c
   983  	XK_Armenian_apostrophe                = 0x100055a
   984  	XK_Armenian_at                        = 0x1000568
   985  	XK_Armenian_ayb                       = 0x1000561
   986  	XK_Armenian_ben                       = 0x1000562
   987  	XK_Armenian_but                       = 0x100055d
   988  	XK_Armenian_cha                       = 0x1000579
   989  	XK_Armenian_da                        = 0x1000564
   990  	XK_Armenian_dza                       = 0x1000571
   991  	XK_Armenian_e                         = 0x1000567
   992  	XK_Armenian_exclam                    = 0x100055c
   993  	XK_Armenian_fe                        = 0x1000586
   994  	XK_Armenian_full_stop                 = 0x1000589
   995  	XK_Armenian_ghat                      = 0x1000572
   996  	XK_Armenian_gim                       = 0x1000563
   997  	XK_Armenian_hi                        = 0x1000575
   998  	XK_Armenian_ho                        = 0x1000570
   999  	XK_Armenian_hyphen                    = 0x100058a
  1000  	XK_Armenian_ini                       = 0x100056b
  1001  	XK_Armenian_je                        = 0x100057b
  1002  	XK_Armenian_ke                        = 0x1000584
  1003  	XK_Armenian_ken                       = 0x100056f
  1004  	XK_Armenian_khe                       = 0x100056d
  1005  	XK_Armenian_ligature_ew               = 0x1000587
  1006  	XK_Armenian_lyun                      = 0x100056c
  1007  	XK_Armenian_men                       = 0x1000574
  1008  	XK_Armenian_nu                        = 0x1000576
  1009  	XK_Armenian_o                         = 0x1000585
  1010  	XK_Armenian_paruyk                    = 0x100055e
  1011  	XK_Armenian_pe                        = 0x100057a
  1012  	XK_Armenian_pyur                      = 0x1000583
  1013  	XK_Armenian_question                  = 0x100055e
  1014  	XK_Armenian_ra                        = 0x100057c
  1015  	XK_Armenian_re                        = 0x1000580
  1016  	XK_Armenian_se                        = 0x100057d
  1017  	XK_Armenian_separation_mark           = 0x100055d
  1018  	XK_Armenian_sha                       = 0x1000577
  1019  	XK_Armenian_shesht                    = 0x100055b
  1020  	XK_Armenian_tche                      = 0x1000573
  1021  	XK_Armenian_to                        = 0x1000569
  1022  	XK_Armenian_tsa                       = 0x100056e
  1023  	XK_Armenian_tso                       = 0x1000581
  1024  	XK_Armenian_tyun                      = 0x100057f
  1025  	XK_Armenian_verjaket                  = 0x1000589
  1026  	XK_Armenian_vev                       = 0x100057e
  1027  	XK_Armenian_vo                        = 0x1000578
  1028  	XK_Armenian_vyun                      = 0x1000582
  1029  	XK_Armenian_yech                      = 0x1000565
  1030  	XK_Armenian_yentamna                  = 0x100058a
  1031  	XK_Armenian_za                        = 0x1000566
  1032  	XK_Armenian_zhe                       = 0x100056a
  1033  	XK_Atilde                             = 0x00c3
  1034  	XK_AudibleBell_Enable                 = 0xfe7a
  1035  	XK_B                                  = 0x0042
  1036  	XK_BRAILLE                            = 0
  1037  	XK_Babovedot                          = 0x1001e02
  1038  	XK_BackSpace                          = 0xff08
  1039  	XK_Begin                              = 0xff58
  1040  	XK_BounceKeys_Enable                  = 0xfe74
  1041  	XK_Break                              = 0xff6b
  1042  	XK_Byelorussian_SHORTU                = 0x06be
  1043  	XK_Byelorussian_shortu                = 0x06ae
  1044  	XK_C                                  = 0x0043
  1045  	XK_CAUCASUS                           = 0
  1046  	XK_CH                                 = 0xfea2
  1047  	XK_CURRENCY                           = 0
  1048  	XK_CYRILLIC                           = 0
  1049  	XK_C_H                                = 0xfea5
  1050  	XK_C_h                                = 0xfea4
  1051  	XK_Cabovedot                          = 0x02c5
  1052  	XK_Cacute                             = 0x01c6
  1053  	XK_Cancel                             = 0xff69
  1054  	XK_Caps_Lock                          = 0xffe5
  1055  	XK_Ccaron                             = 0x01c8
  1056  	XK_Ccedilla                           = 0x00c7
  1057  	XK_Ccircumflex                        = 0x02c6
  1058  	XK_Ch                                 = 0xfea1
  1059  	XK_Clear                              = 0xff0b
  1060  	XK_Codeinput                          = 0xff37
  1061  	XK_ColonSign                          = 0x10020a1
  1062  	XK_Control_L                          = 0xffe3
  1063  	XK_Control_R                          = 0xffe4
  1064  	XK_CruzeiroSign                       = 0x10020a2
  1065  	XK_Cyrillic_A                         = 0x06e1
  1066  	XK_Cyrillic_BE                        = 0x06e2
  1067  	XK_Cyrillic_CHE                       = 0x06fe
  1068  	XK_Cyrillic_CHE_descender             = 0x10004b6
  1069  	XK_Cyrillic_CHE_vertstroke            = 0x10004b8
  1070  	XK_Cyrillic_DE                        = 0x06e4
  1071  	XK_Cyrillic_DZHE                      = 0x06bf
  1072  	XK_Cyrillic_E                         = 0x06fc
  1073  	XK_Cyrillic_EF                        = 0x06e6
  1074  	XK_Cyrillic_EL                        = 0x06ec
  1075  	XK_Cyrillic_EM                        = 0x06ed
  1076  	XK_Cyrillic_EN                        = 0x06ee
  1077  	XK_Cyrillic_EN_descender              = 0x10004a2
  1078  	XK_Cyrillic_ER                        = 0x06f2
  1079  	XK_Cyrillic_ES                        = 0x06f3
  1080  	XK_Cyrillic_GHE                       = 0x06e7
  1081  	XK_Cyrillic_GHE_bar                   = 0x1000492
  1082  	XK_Cyrillic_HA                        = 0x06e8
  1083  	XK_Cyrillic_HARDSIGN                  = 0x06ff
  1084  	XK_Cyrillic_HA_descender              = 0x10004b2
  1085  	XK_Cyrillic_I                         = 0x06e9
  1086  	XK_Cyrillic_IE                        = 0x06e5
  1087  	XK_Cyrillic_IO                        = 0x06b3
  1088  	XK_Cyrillic_I_macron                  = 0x10004e2
  1089  	XK_Cyrillic_JE                        = 0x06b8
  1090  	XK_Cyrillic_KA                        = 0x06eb
  1091  	XK_Cyrillic_KA_descender              = 0x100049a
  1092  	XK_Cyrillic_KA_vertstroke             = 0x100049c
  1093  	XK_Cyrillic_LJE                       = 0x06b9
  1094  	XK_Cyrillic_NJE                       = 0x06ba
  1095  	XK_Cyrillic_O                         = 0x06ef
  1096  	XK_Cyrillic_O_bar                     = 0x10004e8
  1097  	XK_Cyrillic_PE                        = 0x06f0
  1098  	XK_Cyrillic_SCHWA                     = 0x10004d8
  1099  	XK_Cyrillic_SHA                       = 0x06fb
  1100  	XK_Cyrillic_SHCHA                     = 0x06fd
  1101  	XK_Cyrillic_SHHA                      = 0x10004ba
  1102  	XK_Cyrillic_SHORTI                    = 0x06ea
  1103  	XK_Cyrillic_SOFTSIGN                  = 0x06f8
  1104  	XK_Cyrillic_TE                        = 0x06f4
  1105  	XK_Cyrillic_TSE                       = 0x06e3
  1106  	XK_Cyrillic_U                         = 0x06f5
  1107  	XK_Cyrillic_U_macron                  = 0x10004ee
  1108  	XK_Cyrillic_U_straight                = 0x10004ae
  1109  	XK_Cyrillic_U_straight_bar            = 0x10004b0
  1110  	XK_Cyrillic_VE                        = 0x06f7
  1111  	XK_Cyrillic_YA                        = 0x06f1
  1112  	XK_Cyrillic_YERU                      = 0x06f9
  1113  	XK_Cyrillic_YU                        = 0x06e0
  1114  	XK_Cyrillic_ZE                        = 0x06fa
  1115  	XK_Cyrillic_ZHE                       = 0x06f6
  1116  	XK_Cyrillic_ZHE_descender             = 0x1000496
  1117  	XK_Cyrillic_a                         = 0x06c1
  1118  	XK_Cyrillic_be                        = 0x06c2
  1119  	XK_Cyrillic_che                       = 0x06de
  1120  	XK_Cyrillic_che_descender             = 0x10004b7
  1121  	XK_Cyrillic_che_vertstroke            = 0x10004b9
  1122  	XK_Cyrillic_de                        = 0x06c4
  1123  	XK_Cyrillic_dzhe                      = 0x06af
  1124  	XK_Cyrillic_e                         = 0x06dc
  1125  	XK_Cyrillic_ef                        = 0x06c6
  1126  	XK_Cyrillic_el                        = 0x06cc
  1127  	XK_Cyrillic_em                        = 0x06cd
  1128  	XK_Cyrillic_en                        = 0x06ce
  1129  	XK_Cyrillic_en_descender              = 0x10004a3
  1130  	XK_Cyrillic_er                        = 0x06d2
  1131  	XK_Cyrillic_es                        = 0x06d3
  1132  	XK_Cyrillic_ghe                       = 0x06c7
  1133  	XK_Cyrillic_ghe_bar                   = 0x1000493
  1134  	XK_Cyrillic_ha                        = 0x06c8
  1135  	XK_Cyrillic_ha_descender              = 0x10004b3
  1136  	XK_Cyrillic_hardsign                  = 0x06df
  1137  	XK_Cyrillic_i                         = 0x06c9
  1138  	XK_Cyrillic_i_macron                  = 0x10004e3
  1139  	XK_Cyrillic_ie                        = 0x06c5
  1140  	XK_Cyrillic_io                        = 0x06a3
  1141  	XK_Cyrillic_je                        = 0x06a8
  1142  	XK_Cyrillic_ka                        = 0x06cb
  1143  	XK_Cyrillic_ka_descender              = 0x100049b
  1144  	XK_Cyrillic_ka_vertstroke             = 0x100049d
  1145  	XK_Cyrillic_lje                       = 0x06a9
  1146  	XK_Cyrillic_nje                       = 0x06aa
  1147  	XK_Cyrillic_o                         = 0x06cf
  1148  	XK_Cyrillic_o_bar                     = 0x10004e9
  1149  	XK_Cyrillic_pe                        = 0x06d0
  1150  	XK_Cyrillic_schwa                     = 0x10004d9
  1151  	XK_Cyrillic_sha                       = 0x06db
  1152  	XK_Cyrillic_shcha                     = 0x06dd
  1153  	XK_Cyrillic_shha                      = 0x10004bb
  1154  	XK_Cyrillic_shorti                    = 0x06ca
  1155  	XK_Cyrillic_softsign                  = 0x06d8
  1156  	XK_Cyrillic_te                        = 0x06d4
  1157  	XK_Cyrillic_tse                       = 0x06c3
  1158  	XK_Cyrillic_u                         = 0x06d5
  1159  	XK_Cyrillic_u_macron                  = 0x10004ef
  1160  	XK_Cyrillic_u_straight                = 0x10004af
  1161  	XK_Cyrillic_u_straight_bar            = 0x10004b1
  1162  	XK_Cyrillic_ve                        = 0x06d7
  1163  	XK_Cyrillic_ya                        = 0x06d1
  1164  	XK_Cyrillic_yeru                      = 0x06d9
  1165  	XK_Cyrillic_yu                        = 0x06c0
  1166  	XK_Cyrillic_ze                        = 0x06da
  1167  	XK_Cyrillic_zhe                       = 0x06d6
  1168  	XK_Cyrillic_zhe_descender             = 0x1000497
  1169  	XK_D                                  = 0x0044
  1170  	XK_Dabovedot                          = 0x1001e0a
  1171  	XK_Dcaron                             = 0x01cf
  1172  	XK_Delete                             = 0xffff
  1173  	XK_DongSign                           = 0x10020ab
  1174  	XK_Down                               = 0xff54
  1175  	XK_Dstroke                            = 0x01d0
  1176  	XK_E                                  = 0x0045
  1177  	XK_ENG                                = 0x03bd
  1178  	XK_ETH                                = 0x00d0
  1179  	XK_EZH                                = 0x10001b7
  1180  	XK_Eabovedot                          = 0x03cc
  1181  	XK_Eacute                             = 0x00c9
  1182  	XK_Ebelowdot                          = 0x1001eb8
  1183  	XK_Ecaron                             = 0x01cc
  1184  	XK_Ecircumflex                        = 0x00ca
  1185  	XK_Ecircumflexacute                   = 0x1001ebe
  1186  	XK_Ecircumflexbelowdot                = 0x1001ec6
  1187  	XK_Ecircumflexgrave                   = 0x1001ec0
  1188  	XK_Ecircumflexhook                    = 0x1001ec2
  1189  	XK_Ecircumflextilde                   = 0x1001ec4
  1190  	XK_EcuSign                            = 0x10020a0
  1191  	XK_Ediaeresis                         = 0x00cb
  1192  	XK_Egrave                             = 0x00c8
  1193  	XK_Ehook                              = 0x1001eba
  1194  	XK_Eisu_Shift                         = 0xff2f
  1195  	XK_Eisu_toggle                        = 0xff30
  1196  	XK_Emacron                            = 0x03aa
  1197  	XK_End                                = 0xff57
  1198  	XK_Eogonek                            = 0x01ca
  1199  	XK_Escape                             = 0xff1b
  1200  	XK_Eth                                = 0x00d0
  1201  	XK_Etilde                             = 0x1001ebc
  1202  	XK_EuroSign                           = 0x20ac
  1203  	XK_Execute                            = 0xff62
  1204  	XK_F                                  = 0x0046
  1205  	XK_F1                                 = 0xffbe
  1206  	XK_F10                                = 0xffc7
  1207  	XK_F11                                = 0xffc8
  1208  	XK_F12                                = 0xffc9
  1209  	XK_F13                                = 0xffca
  1210  	XK_F14                                = 0xffcb
  1211  	XK_F15                                = 0xffcc
  1212  	XK_F16                                = 0xffcd
  1213  	XK_F17                                = 0xffce
  1214  	XK_F18                                = 0xffcf
  1215  	XK_F19                                = 0xffd0
  1216  	XK_F2                                 = 0xffbf
  1217  	XK_F20                                = 0xffd1
  1218  	XK_F21                                = 0xffd2
  1219  	XK_F22                                = 0xffd3
  1220  	XK_F23                                = 0xffd4
  1221  	XK_F24                                = 0xffd5
  1222  	XK_F25                                = 0xffd6
  1223  	XK_F26                                = 0xffd7
  1224  	XK_F27                                = 0xffd8
  1225  	XK_F28                                = 0xffd9
  1226  	XK_F29                                = 0xffda
  1227  	XK_F3                                 = 0xffc0
  1228  	XK_F30                                = 0xffdb
  1229  	XK_F31                                = 0xffdc
  1230  	XK_F32                                = 0xffdd
  1231  	XK_F33                                = 0xffde
  1232  	XK_F34                                = 0xffdf
  1233  	XK_F35                                = 0xffe0
  1234  	XK_F4                                 = 0xffc1
  1235  	XK_F5                                 = 0xffc2
  1236  	XK_F6                                 = 0xffc3
  1237  	XK_F7                                 = 0xffc4
  1238  	XK_F8                                 = 0xffc5
  1239  	XK_F9                                 = 0xffc6
  1240  	XK_FFrancSign                         = 0x10020a3
  1241  	XK_Fabovedot                          = 0x1001e1e
  1242  	XK_Farsi_0                            = 0x10006f0
  1243  	XK_Farsi_1                            = 0x10006f1
  1244  	XK_Farsi_2                            = 0x10006f2
  1245  	XK_Farsi_3                            = 0x10006f3
  1246  	XK_Farsi_4                            = 0x10006f4
  1247  	XK_Farsi_5                            = 0x10006f5
  1248  	XK_Farsi_6                            = 0x10006f6
  1249  	XK_Farsi_7                            = 0x10006f7
  1250  	XK_Farsi_8                            = 0x10006f8
  1251  	XK_Farsi_9                            = 0x10006f9
  1252  	XK_Farsi_yeh                          = 0x10006cc
  1253  	XK_Find                               = 0xff68
  1254  	XK_First_Virtual_Screen               = 0xfed0
  1255  	XK_G                                  = 0x0047
  1256  	XK_GEORGIAN                           = 0
  1257  	XK_GREEK                              = 0
  1258  	XK_Gabovedot                          = 0x02d5
  1259  	XK_Gbreve                             = 0x02ab
  1260  	XK_Gcaron                             = 0x10001e6
  1261  	XK_Gcedilla                           = 0x03ab
  1262  	XK_Gcircumflex                        = 0x02d8
  1263  	XK_Georgian_an                        = 0x10010d0
  1264  	XK_Georgian_ban                       = 0x10010d1
  1265  	XK_Georgian_can                       = 0x10010ea
  1266  	XK_Georgian_char                      = 0x10010ed
  1267  	XK_Georgian_chin                      = 0x10010e9
  1268  	XK_Georgian_cil                       = 0x10010ec
  1269  	XK_Georgian_don                       = 0x10010d3
  1270  	XK_Georgian_en                        = 0x10010d4
  1271  	XK_Georgian_fi                        = 0x10010f6
  1272  	XK_Georgian_gan                       = 0x10010d2
  1273  	XK_Georgian_ghan                      = 0x10010e6
  1274  	XK_Georgian_hae                       = 0x10010f0
  1275  	XK_Georgian_har                       = 0x10010f4
  1276  	XK_Georgian_he                        = 0x10010f1
  1277  	XK_Georgian_hie                       = 0x10010f2
  1278  	XK_Georgian_hoe                       = 0x10010f5
  1279  	XK_Georgian_in                        = 0x10010d8
  1280  	XK_Georgian_jhan                      = 0x10010ef
  1281  	XK_Georgian_jil                       = 0x10010eb
  1282  	XK_Georgian_kan                       = 0x10010d9
  1283  	XK_Georgian_khar                      = 0x10010e5
  1284  	XK_Georgian_las                       = 0x10010da
  1285  	XK_Georgian_man                       = 0x10010db
  1286  	XK_Georgian_nar                       = 0x10010dc
  1287  	XK_Georgian_on                        = 0x10010dd
  1288  	XK_Georgian_par                       = 0x10010de
  1289  	XK_Georgian_phar                      = 0x10010e4
  1290  	XK_Georgian_qar                       = 0x10010e7
  1291  	XK_Georgian_rae                       = 0x10010e0
  1292  	XK_Georgian_san                       = 0x10010e1
  1293  	XK_Georgian_shin                      = 0x10010e8
  1294  	XK_Georgian_tan                       = 0x10010d7
  1295  	XK_Georgian_tar                       = 0x10010e2
  1296  	XK_Georgian_un                        = 0x10010e3
  1297  	XK_Georgian_vin                       = 0x10010d5
  1298  	XK_Georgian_we                        = 0x10010f3
  1299  	XK_Georgian_xan                       = 0x10010ee
  1300  	XK_Georgian_zen                       = 0x10010d6
  1301  	XK_Georgian_zhar                      = 0x10010df
  1302  	XK_Greek_ALPHA                        = 0x07c1
  1303  	XK_Greek_ALPHAaccent                  = 0x07a1
  1304  	XK_Greek_BETA                         = 0x07c2
  1305  	XK_Greek_CHI                          = 0x07d7
  1306  	XK_Greek_DELTA                        = 0x07c4
  1307  	XK_Greek_EPSILON                      = 0x07c5
  1308  	XK_Greek_EPSILONaccent                = 0x07a2
  1309  	XK_Greek_ETA                          = 0x07c7
  1310  	XK_Greek_ETAaccent                    = 0x07a3
  1311  	XK_Greek_GAMMA                        = 0x07c3
  1312  	XK_Greek_IOTA                         = 0x07c9
  1313  	XK_Greek_IOTAaccent                   = 0x07a4
  1314  	XK_Greek_IOTAdiaeresis                = 0x07a5
  1315  	XK_Greek_IOTAdieresis                 = 0x07a5
  1316  	XK_Greek_KAPPA                        = 0x07ca
  1317  	XK_Greek_LAMBDA                       = 0x07cb
  1318  	XK_Greek_LAMDA                        = 0x07cb
  1319  	XK_Greek_MU                           = 0x07cc
  1320  	XK_Greek_NU                           = 0x07cd
  1321  	XK_Greek_OMEGA                        = 0x07d9
  1322  	XK_Greek_OMEGAaccent                  = 0x07ab
  1323  	XK_Greek_OMICRON                      = 0x07cf
  1324  	XK_Greek_OMICRONaccent                = 0x07a7
  1325  	XK_Greek_PHI                          = 0x07d6
  1326  	XK_Greek_PI                           = 0x07d0
  1327  	XK_Greek_PSI                          = 0x07d8
  1328  	XK_Greek_RHO                          = 0x07d1
  1329  	XK_Greek_SIGMA                        = 0x07d2
  1330  	XK_Greek_TAU                          = 0x07d4
  1331  	XK_Greek_THETA                        = 0x07c8
  1332  	XK_Greek_UPSILON                      = 0x07d5
  1333  	XK_Greek_UPSILONaccent                = 0x07a8
  1334  	XK_Greek_UPSILONdieresis              = 0x07a9
  1335  	XK_Greek_XI                           = 0x07ce
  1336  	XK_Greek_ZETA                         = 0x07c6
  1337  	XK_Greek_accentdieresis               = 0x07ae
  1338  	XK_Greek_alpha                        = 0x07e1
  1339  	XK_Greek_alphaaccent                  = 0x07b1
  1340  	XK_Greek_beta                         = 0x07e2
  1341  	XK_Greek_chi                          = 0x07f7
  1342  	XK_Greek_delta                        = 0x07e4
  1343  	XK_Greek_epsilon                      = 0x07e5
  1344  	XK_Greek_epsilonaccent                = 0x07b2
  1345  	XK_Greek_eta                          = 0x07e7
  1346  	XK_Greek_etaaccent                    = 0x07b3
  1347  	XK_Greek_finalsmallsigma              = 0x07f3
  1348  	XK_Greek_gamma                        = 0x07e3
  1349  	XK_Greek_horizbar                     = 0x07af
  1350  	XK_Greek_iota                         = 0x07e9
  1351  	XK_Greek_iotaaccent                   = 0x07b4
  1352  	XK_Greek_iotaaccentdieresis           = 0x07b6
  1353  	XK_Greek_iotadieresis                 = 0x07b5
  1354  	XK_Greek_kappa                        = 0x07ea
  1355  	XK_Greek_lambda                       = 0x07eb
  1356  	XK_Greek_lamda                        = 0x07eb
  1357  	XK_Greek_mu                           = 0x07ec
  1358  	XK_Greek_nu                           = 0x07ed
  1359  	XK_Greek_omega                        = 0x07f9
  1360  	XK_Greek_omegaaccent                  = 0x07bb
  1361  	XK_Greek_omicron                      = 0x07ef
  1362  	XK_Greek_omicronaccent                = 0x07b7
  1363  	XK_Greek_phi                          = 0x07f6
  1364  	XK_Greek_pi                           = 0x07f0
  1365  	XK_Greek_psi                          = 0x07f8
  1366  	XK_Greek_rho                          = 0x07f1
  1367  	XK_Greek_sigma                        = 0x07f2
  1368  	XK_Greek_switch                       = 0xff7e
  1369  	XK_Greek_tau                          = 0x07f4
  1370  	XK_Greek_theta                        = 0x07e8
  1371  	XK_Greek_upsilon                      = 0x07f5
  1372  	XK_Greek_upsilonaccent                = 0x07b8
  1373  	XK_Greek_upsilonaccentdieresis        = 0x07ba
  1374  	XK_Greek_upsilondieresis              = 0x07b9
  1375  	XK_Greek_xi                           = 0x07ee
  1376  	XK_Greek_zeta                         = 0x07e6
  1377  	XK_H                                  = 0x0048
  1378  	XK_HEBREW                             = 0
  1379  	XK_Hangul                             = 0xff31
  1380  	XK_Hangul_A                           = 0x0ebf
  1381  	XK_Hangul_AE                          = 0x0ec0
  1382  	XK_Hangul_AraeA                       = 0x0ef6
  1383  	XK_Hangul_AraeAE                      = 0x0ef7
  1384  	XK_Hangul_Banja                       = 0xff39
  1385  	XK_Hangul_Cieuc                       = 0x0eba
  1386  	XK_Hangul_Codeinput                   = 0xff37
  1387  	XK_Hangul_Dikeud                      = 0x0ea7
  1388  	XK_Hangul_E                           = 0x0ec4
  1389  	XK_Hangul_EO                          = 0x0ec3
  1390  	XK_Hangul_EU                          = 0x0ed1
  1391  	XK_Hangul_End                         = 0xff33
  1392  	XK_Hangul_Hanja                       = 0xff34
  1393  	XK_Hangul_Hieuh                       = 0x0ebe
  1394  	XK_Hangul_I                           = 0x0ed3
  1395  	XK_Hangul_Ieung                       = 0x0eb7
  1396  	XK_Hangul_J_Cieuc                     = 0x0eea
  1397  	XK_Hangul_J_Dikeud                    = 0x0eda
  1398  	XK_Hangul_J_Hieuh                     = 0x0eee
  1399  	XK_Hangul_J_Ieung                     = 0x0ee8
  1400  	XK_Hangul_J_Jieuj                     = 0x0ee9
  1401  	XK_Hangul_J_Khieuq                    = 0x0eeb
  1402  	XK_Hangul_J_Kiyeog                    = 0x0ed4
  1403  	XK_Hangul_J_KiyeogSios                = 0x0ed6
  1404  	XK_Hangul_J_KkogjiDalrinIeung         = 0x0ef9
  1405  	XK_Hangul_J_Mieum                     = 0x0ee3
  1406  	XK_Hangul_J_Nieun                     = 0x0ed7
  1407  	XK_Hangul_J_NieunHieuh                = 0x0ed9
  1408  	XK_Hangul_J_NieunJieuj                = 0x0ed8
  1409  	XK_Hangul_J_PanSios                   = 0x0ef8
  1410  	XK_Hangul_J_Phieuf                    = 0x0eed
  1411  	XK_Hangul_J_Pieub                     = 0x0ee4
  1412  	XK_Hangul_J_PieubSios                 = 0x0ee5
  1413  	XK_Hangul_J_Rieul                     = 0x0edb
  1414  	XK_Hangul_J_RieulHieuh                = 0x0ee2
  1415  	XK_Hangul_J_RieulKiyeog               = 0x0edc
  1416  	XK_Hangul_J_RieulMieum                = 0x0edd
  1417  	XK_Hangul_J_RieulPhieuf               = 0x0ee1
  1418  	XK_Hangul_J_RieulPieub                = 0x0ede
  1419  	XK_Hangul_J_RieulSios                 = 0x0edf
  1420  	XK_Hangul_J_RieulTieut                = 0x0ee0
  1421  	XK_Hangul_J_Sios                      = 0x0ee6
  1422  	XK_Hangul_J_SsangKiyeog               = 0x0ed5
  1423  	XK_Hangul_J_SsangSios                 = 0x0ee7
  1424  	XK_Hangul_J_Tieut                     = 0x0eec
  1425  	XK_Hangul_J_YeorinHieuh               = 0x0efa
  1426  	XK_Hangul_Jamo                        = 0xff35
  1427  	XK_Hangul_Jeonja                      = 0xff38
  1428  	XK_Hangul_Jieuj                       = 0x0eb8
  1429  	XK_Hangul_Khieuq                      = 0x0ebb
  1430  	XK_Hangul_Kiyeog                      = 0x0ea1
  1431  	XK_Hangul_KiyeogSios                  = 0x0ea3
  1432  	XK_Hangul_KkogjiDalrinIeung           = 0x0ef3
  1433  	XK_Hangul_Mieum                       = 0x0eb1
  1434  	XK_Hangul_MultipleCandidate           = 0xff3d
  1435  	XK_Hangul_Nieun                       = 0x0ea4
  1436  	XK_Hangul_NieunHieuh                  = 0x0ea6
  1437  	XK_Hangul_NieunJieuj                  = 0x0ea5
  1438  	XK_Hangul_O                           = 0x0ec7
  1439  	XK_Hangul_OE                          = 0x0eca
  1440  	XK_Hangul_PanSios                     = 0x0ef2
  1441  	XK_Hangul_Phieuf                      = 0x0ebd
  1442  	XK_Hangul_Pieub                       = 0x0eb2
  1443  	XK_Hangul_PieubSios                   = 0x0eb4
  1444  	XK_Hangul_PostHanja                   = 0xff3b
  1445  	XK_Hangul_PreHanja                    = 0xff3a
  1446  	XK_Hangul_PreviousCandidate           = 0xff3e
  1447  	XK_Hangul_Rieul                       = 0x0ea9
  1448  	XK_Hangul_RieulHieuh                  = 0x0eb0
  1449  	XK_Hangul_RieulKiyeog                 = 0x0eaa
  1450  	XK_Hangul_RieulMieum                  = 0x0eab
  1451  	XK_Hangul_RieulPhieuf                 = 0x0eaf
  1452  	XK_Hangul_RieulPieub                  = 0x0eac
  1453  	XK_Hangul_RieulSios                   = 0x0ead
  1454  	XK_Hangul_RieulTieut                  = 0x0eae
  1455  	XK_Hangul_RieulYeorinHieuh            = 0x0eef
  1456  	XK_Hangul_Romaja                      = 0xff36
  1457  	XK_Hangul_SingleCandidate             = 0xff3c
  1458  	XK_Hangul_Sios                        = 0x0eb5
  1459  	XK_Hangul_Special                     = 0xff3f
  1460  	XK_Hangul_SsangDikeud                 = 0x0ea8
  1461  	XK_Hangul_SsangJieuj                  = 0x0eb9
  1462  	XK_Hangul_SsangKiyeog                 = 0x0ea2
  1463  	XK_Hangul_SsangPieub                  = 0x0eb3
  1464  	XK_Hangul_SsangSios                   = 0x0eb6
  1465  	XK_Hangul_Start                       = 0xff32
  1466  	XK_Hangul_SunkyeongeumMieum           = 0x0ef0
  1467  	XK_Hangul_SunkyeongeumPhieuf          = 0x0ef4
  1468  	XK_Hangul_SunkyeongeumPieub           = 0x0ef1
  1469  	XK_Hangul_Tieut                       = 0x0ebc
  1470  	XK_Hangul_U                           = 0x0ecc
  1471  	XK_Hangul_WA                          = 0x0ec8
  1472  	XK_Hangul_WAE                         = 0x0ec9
  1473  	XK_Hangul_WE                          = 0x0ece
  1474  	XK_Hangul_WEO                         = 0x0ecd
  1475  	XK_Hangul_WI                          = 0x0ecf
  1476  	XK_Hangul_YA                          = 0x0ec1
  1477  	XK_Hangul_YAE                         = 0x0ec2
  1478  	XK_Hangul_YE                          = 0x0ec6
  1479  	XK_Hangul_YEO                         = 0x0ec5
  1480  	XK_Hangul_YI                          = 0x0ed2
  1481  	XK_Hangul_YO                          = 0x0ecb
  1482  	XK_Hangul_YU                          = 0x0ed0
  1483  	XK_Hangul_YeorinHieuh                 = 0x0ef5
  1484  	XK_Hangul_switch                      = 0xff7e
  1485  	XK_Hankaku                            = 0xff29
  1486  	XK_Hcircumflex                        = 0x02a6
  1487  	XK_Hebrew_switch                      = 0xff7e
  1488  	XK_Help                               = 0xff6a
  1489  	XK_Henkan                             = 0xff23
  1490  	XK_Henkan_Mode                        = 0xff23
  1491  	XK_Hiragana                           = 0xff25
  1492  	XK_Hiragana_Katakana                  = 0xff27
  1493  	XK_Home                               = 0xff50
  1494  	XK_Hstroke                            = 0x02a1
  1495  	XK_Hyper_L                            = 0xffed
  1496  	XK_Hyper_R                            = 0xffee
  1497  	XK_I                                  = 0x0049
  1498  	XK_ISO_Center_Object                  = 0xfe33
  1499  	XK_ISO_Continuous_Underline           = 0xfe30
  1500  	XK_ISO_Discontinuous_Underline        = 0xfe31
  1501  	XK_ISO_Emphasize                      = 0xfe32
  1502  	XK_ISO_Enter                          = 0xfe34
  1503  	XK_ISO_Fast_Cursor_Down               = 0xfe2f
  1504  	XK_ISO_Fast_Cursor_Left               = 0xfe2c
  1505  	XK_ISO_Fast_Cursor_Right              = 0xfe2d
  1506  	XK_ISO_Fast_Cursor_Up                 = 0xfe2e
  1507  	XK_ISO_First_Group                    = 0xfe0c
  1508  	XK_ISO_First_Group_Lock               = 0xfe0d
  1509  	XK_ISO_Group_Latch                    = 0xfe06
  1510  	XK_ISO_Group_Lock                     = 0xfe07
  1511  	XK_ISO_Group_Shift                    = 0xff7e
  1512  	XK_ISO_Last_Group                     = 0xfe0e
  1513  	XK_ISO_Last_Group_Lock                = 0xfe0f
  1514  	XK_ISO_Left_Tab                       = 0xfe20
  1515  	XK_ISO_Level2_Latch                   = 0xfe02
  1516  	XK_ISO_Level3_Latch                   = 0xfe04
  1517  	XK_ISO_Level3_Lock                    = 0xfe05
  1518  	XK_ISO_Level3_Shift                   = 0xfe03
  1519  	XK_ISO_Level5_Latch                   = 0xfe12
  1520  	XK_ISO_Level5_Lock                    = 0xfe13
  1521  	XK_ISO_Level5_Shift                   = 0xfe11
  1522  	XK_ISO_Lock                           = 0xfe01
  1523  	XK_ISO_Move_Line_Down                 = 0xfe22
  1524  	XK_ISO_Move_Line_Up                   = 0xfe21
  1525  	XK_ISO_Next_Group                     = 0xfe08
  1526  	XK_ISO_Next_Group_Lock                = 0xfe09
  1527  	XK_ISO_Partial_Line_Down              = 0xfe24
  1528  	XK_ISO_Partial_Line_Up                = 0xfe23
  1529  	XK_ISO_Partial_Space_Left             = 0xfe25
  1530  	XK_ISO_Partial_Space_Right            = 0xfe26
  1531  	XK_ISO_Prev_Group                     = 0xfe0a
  1532  	XK_ISO_Prev_Group_Lock                = 0xfe0b
  1533  	XK_ISO_Release_Both_Margins           = 0xfe2b
  1534  	XK_ISO_Release_Margin_Left            = 0xfe29
  1535  	XK_ISO_Release_Margin_Right           = 0xfe2a
  1536  	XK_ISO_Set_Margin_Left                = 0xfe27
  1537  	XK_ISO_Set_Margin_Right               = 0xfe28
  1538  	XK_Iabovedot                          = 0x02a9
  1539  	XK_Iacute                             = 0x00cd
  1540  	XK_Ibelowdot                          = 0x1001eca
  1541  	XK_Ibreve                             = 0x100012c
  1542  	XK_Icircumflex                        = 0x00ce
  1543  	XK_Idiaeresis                         = 0x00cf
  1544  	XK_Igrave                             = 0x00cc
  1545  	XK_Ihook                              = 0x1001ec8
  1546  	XK_Imacron                            = 0x03cf
  1547  	XK_Insert                             = 0xff63
  1548  	XK_Iogonek                            = 0x03c7
  1549  	XK_Itilde                             = 0x03a5
  1550  	XK_J                                  = 0x004a
  1551  	XK_Jcircumflex                        = 0x02ac
  1552  	XK_K                                  = 0x004b
  1553  	XK_KATAKANA                           = 0
  1554  	XK_KOREAN                             = 0
  1555  	XK_KP_0                               = 0xffb0
  1556  	XK_KP_1                               = 0xffb1
  1557  	XK_KP_2                               = 0xffb2
  1558  	XK_KP_3                               = 0xffb3
  1559  	XK_KP_4                               = 0xffb4
  1560  	XK_KP_5                               = 0xffb5
  1561  	XK_KP_6                               = 0xffb6
  1562  	XK_KP_7                               = 0xffb7
  1563  	XK_KP_8                               = 0xffb8
  1564  	XK_KP_9                               = 0xffb9
  1565  	XK_KP_Add                             = 0xffab
  1566  	XK_KP_Begin                           = 0xff9d
  1567  	XK_KP_Decimal                         = 0xffae
  1568  	XK_KP_Delete                          = 0xff9f
  1569  	XK_KP_Divide                          = 0xffaf
  1570  	XK_KP_Down                            = 0xff99
  1571  	XK_KP_End                             = 0xff9c
  1572  	XK_KP_Enter                           = 0xff8d
  1573  	XK_KP_Equal                           = 0xffbd
  1574  	XK_KP_F1                              = 0xff91
  1575  	XK_KP_F2                              = 0xff92
  1576  	XK_KP_F3                              = 0xff93
  1577  	XK_KP_F4                              = 0xff94
  1578  	XK_KP_Home                            = 0xff95
  1579  	XK_KP_Insert                          = 0xff9e
  1580  	XK_KP_Left                            = 0xff96
  1581  	XK_KP_Multiply                        = 0xffaa
  1582  	XK_KP_Next                            = 0xff9b
  1583  	XK_KP_Page_Down                       = 0xff9b
  1584  	XK_KP_Page_Up                         = 0xff9a
  1585  	XK_KP_Prior                           = 0xff9a
  1586  	XK_KP_Right                           = 0xff98
  1587  	XK_KP_Separator                       = 0xffac
  1588  	XK_KP_Space                           = 0xff80
  1589  	XK_KP_Subtract                        = 0xffad
  1590  	XK_KP_Tab                             = 0xff89
  1591  	XK_KP_Up                              = 0xff97
  1592  	XK_Kana_Lock                          = 0xff2d
  1593  	XK_Kana_Shift                         = 0xff2e
  1594  	XK_Kanji                              = 0xff21
  1595  	XK_Kanji_Bangou                       = 0xff37
  1596  	XK_Katakana                           = 0xff26
  1597  	XK_Kcedilla                           = 0x03d3
  1598  	XK_Korean_Won                         = 0x0eff
  1599  	XK_L                                  = 0x004c
  1600  	XK_L1                                 = 0xffc8
  1601  	XK_L10                                = 0xffd1
  1602  	XK_L2                                 = 0xffc9
  1603  	XK_L3                                 = 0xffca
  1604  	XK_L4                                 = 0xffcb
  1605  	XK_L5                                 = 0xffcc
  1606  	XK_L6                                 = 0xffcd
  1607  	XK_L7                                 = 0xffce
  1608  	XK_L8                                 = 0xffcf
  1609  	XK_L9                                 = 0xffd0
  1610  	XK_LATIN1                             = 0
  1611  	XK_LATIN2                             = 0
  1612  	XK_LATIN3                             = 0
  1613  	XK_LATIN4                             = 0
  1614  	XK_LATIN8                             = 0
  1615  	XK_LATIN9                             = 0
  1616  	XK_Lacute                             = 0x01c5
  1617  	XK_Last_Virtual_Screen                = 0xfed4
  1618  	XK_Lbelowdot                          = 0x1001e36
  1619  	XK_Lcaron                             = 0x01a5
  1620  	XK_Lcedilla                           = 0x03a6
  1621  	XK_Left                               = 0xff51
  1622  	XK_Linefeed                           = 0xff0a
  1623  	XK_LiraSign                           = 0x10020a4
  1624  	XK_Lstroke                            = 0x01a3
  1625  	XK_M                                  = 0x004d
  1626  	XK_MATHEMATICAL                       = 0
  1627  	XK_MISCELLANY                         = 0
  1628  	XK_Mabovedot                          = 0x1001e40
  1629  	XK_Macedonia_DSE                      = 0x06b5
  1630  	XK_Macedonia_GJE                      = 0x06b2
  1631  	XK_Macedonia_KJE                      = 0x06bc
  1632  	XK_Macedonia_dse                      = 0x06a5
  1633  	XK_Macedonia_gje                      = 0x06a2
  1634  	XK_Macedonia_kje                      = 0x06ac
  1635  	XK_Mae_Koho                           = 0xff3e
  1636  	XK_Massyo                             = 0xff2c
  1637  	XK_Menu                               = 0xff67
  1638  	XK_Meta_L                             = 0xffe7
  1639  	XK_Meta_R                             = 0xffe8
  1640  	XK_MillSign                           = 0x10020a5
  1641  	XK_Mode_switch                        = 0xff7e
  1642  	XK_MouseKeys_Accel_Enable             = 0xfe77
  1643  	XK_MouseKeys_Enable                   = 0xfe76
  1644  	XK_Muhenkan                           = 0xff22
  1645  	XK_Multi_key                          = 0xff20
  1646  	XK_MultipleCandidate                  = 0xff3d
  1647  	XK_N                                  = 0x004e
  1648  	XK_Nacute                             = 0x01d1
  1649  	XK_NairaSign                          = 0x10020a6
  1650  	XK_Ncaron                             = 0x01d2
  1651  	XK_Ncedilla                           = 0x03d1
  1652  	XK_NewSheqelSign                      = 0x10020aa
  1653  	XK_Next                               = 0xff56
  1654  	XK_Next_Virtual_Screen                = 0xfed2
  1655  	XK_Ntilde                             = 0x00d1
  1656  	XK_Num_Lock                           = 0xff7f
  1657  	XK_O                                  = 0x004f
  1658  	XK_OE                                 = 0x13bc
  1659  	XK_Oacute                             = 0x00d3
  1660  	XK_Obarred                            = 0x100019f
  1661  	XK_Obelowdot                          = 0x1001ecc
  1662  	XK_Ocaron                             = 0x10001d1
  1663  	XK_Ocircumflex                        = 0x00d4
  1664  	XK_Ocircumflexacute                   = 0x1001ed0
  1665  	XK_Ocircumflexbelowdot                = 0x1001ed8
  1666  	XK_Ocircumflexgrave                   = 0x1001ed2
  1667  	XK_Ocircumflexhook                    = 0x1001ed4
  1668  	XK_Ocircumflextilde                   = 0x1001ed6
  1669  	XK_Odiaeresis                         = 0x00d6
  1670  	XK_Odoubleacute                       = 0x01d5
  1671  	XK_Ograve                             = 0x00d2
  1672  	XK_Ohook                              = 0x1001ece
  1673  	XK_Ohorn                              = 0x10001a0
  1674  	XK_Ohornacute                         = 0x1001eda
  1675  	XK_Ohornbelowdot                      = 0x1001ee2
  1676  	XK_Ohorngrave                         = 0x1001edc
  1677  	XK_Ohornhook                          = 0x1001ede
  1678  	XK_Ohorntilde                         = 0x1001ee0
  1679  	XK_Omacron                            = 0x03d2
  1680  	XK_Ooblique                           = 0x00d8
  1681  	XK_Oslash                             = 0x00d8
  1682  	XK_Otilde                             = 0x00d5
  1683  	XK_Overlay1_Enable                    = 0xfe78
  1684  	XK_Overlay2_Enable                    = 0xfe79
  1685  	XK_P                                  = 0x0050
  1686  	XK_Pabovedot                          = 0x1001e56
  1687  	XK_Page_Down                          = 0xff56
  1688  	XK_Page_Up                            = 0xff55
  1689  	XK_Pause                              = 0xff13
  1690  	XK_PesetaSign                         = 0x10020a7
  1691  	XK_Pointer_Accelerate                 = 0xfefa
  1692  	XK_Pointer_Button1                    = 0xfee9
  1693  	XK_Pointer_Button2                    = 0xfeea
  1694  	XK_Pointer_Button3                    = 0xfeeb
  1695  	XK_Pointer_Button4                    = 0xfeec
  1696  	XK_Pointer_Button5                    = 0xfeed
  1697  	XK_Pointer_Button_Dflt                = 0xfee8
  1698  	XK_Pointer_DblClick1                  = 0xfeef
  1699  	XK_Pointer_DblClick2                  = 0xfef0
  1700  	XK_Pointer_DblClick3                  = 0xfef1
  1701  	XK_Pointer_DblClick4                  = 0xfef2
  1702  	XK_Pointer_DblClick5                  = 0xfef3
  1703  	XK_Pointer_DblClick_Dflt              = 0xfeee
  1704  	XK_Pointer_DfltBtnNext                = 0xfefb
  1705  	XK_Pointer_DfltBtnPrev                = 0xfefc
  1706  	XK_Pointer_Down                       = 0xfee3
  1707  	XK_Pointer_DownLeft                   = 0xfee6
  1708  	XK_Pointer_DownRight                  = 0xfee7
  1709  	XK_Pointer_Drag1                      = 0xfef5
  1710  	XK_Pointer_Drag2                      = 0xfef6
  1711  	XK_Pointer_Drag3                      = 0xfef7
  1712  	XK_Pointer_Drag4                      = 0xfef8
  1713  	XK_Pointer_Drag5                      = 0xfefd
  1714  	XK_Pointer_Drag_Dflt                  = 0xfef4
  1715  	XK_Pointer_EnableKeys                 = 0xfef9
  1716  	XK_Pointer_Left                       = 0xfee0
  1717  	XK_Pointer_Right                      = 0xfee1
  1718  	XK_Pointer_Up                         = 0xfee2
  1719  	XK_Pointer_UpLeft                     = 0xfee4
  1720  	XK_Pointer_UpRight                    = 0xfee5
  1721  	XK_Prev_Virtual_Screen                = 0xfed1
  1722  	XK_PreviousCandidate                  = 0xff3e
  1723  	XK_Print                              = 0xff61
  1724  	XK_Prior                              = 0xff55
  1725  	XK_Q                                  = 0x0051
  1726  	XK_R                                  = 0x0052
  1727  	XK_R1                                 = 0xffd2
  1728  	XK_R10                                = 0xffdb
  1729  	XK_R11                                = 0xffdc
  1730  	XK_R12                                = 0xffdd
  1731  	XK_R13                                = 0xffde
  1732  	XK_R14                                = 0xffdf
  1733  	XK_R15                                = 0xffe0
  1734  	XK_R2                                 = 0xffd3
  1735  	XK_R3                                 = 0xffd4
  1736  	XK_R4                                 = 0xffd5
  1737  	XK_R5                                 = 0xffd6
  1738  	XK_R6                                 = 0xffd7
  1739  	XK_R7                                 = 0xffd8
  1740  	XK_R8                                 = 0xffd9
  1741  	XK_R9                                 = 0xffda
  1742  	XK_Racute                             = 0x01c0
  1743  	XK_Rcaron                             = 0x01d8
  1744  	XK_Rcedilla                           = 0x03a3
  1745  	XK_Redo                               = 0xff66
  1746  	XK_RepeatKeys_Enable                  = 0xfe72
  1747  	XK_Return                             = 0xff0d
  1748  	XK_Right                              = 0xff53
  1749  	XK_Romaji                             = 0xff24
  1750  	XK_RupeeSign                          = 0x10020a8
  1751  	XK_S                                  = 0x0053
  1752  	XK_SCHWA                              = 0x100018f
  1753  	XK_SINHALA                            = 0
  1754  	XK_Sabovedot                          = 0x1001e60
  1755  	XK_Sacute                             = 0x01a6
  1756  	XK_Scaron                             = 0x01a9
  1757  	XK_Scedilla                           = 0x01aa
  1758  	XK_Scircumflex                        = 0x02de
  1759  	XK_Scroll_Lock                        = 0xff14
  1760  	XK_Select                             = 0xff60
  1761  	XK_Serbian_DJE                        = 0x06b1
  1762  	XK_Serbian_DZE                        = 0x06bf
  1763  	XK_Serbian_JE                         = 0x06b8
  1764  	XK_Serbian_LJE                        = 0x06b9
  1765  	XK_Serbian_NJE                        = 0x06ba
  1766  	XK_Serbian_TSHE                       = 0x06bb
  1767  	XK_Serbian_dje                        = 0x06a1
  1768  	XK_Serbian_dze                        = 0x06af
  1769  	XK_Serbian_je                         = 0x06a8
  1770  	XK_Serbian_lje                        = 0x06a9
  1771  	XK_Serbian_nje                        = 0x06aa
  1772  	XK_Serbian_tshe                       = 0x06ab
  1773  	XK_Shift_L                            = 0xffe1
  1774  	XK_Shift_Lock                         = 0xffe6
  1775  	XK_Shift_R                            = 0xffe2
  1776  	XK_SingleCandidate                    = 0xff3c
  1777  	XK_Sinh_a                             = 0x1000d85
  1778  	XK_Sinh_aa                            = 0x1000d86
  1779  	XK_Sinh_aa2                           = 0x1000dcf
  1780  	XK_Sinh_ae                            = 0x1000d87
  1781  	XK_Sinh_ae2                           = 0x1000dd0
  1782  	XK_Sinh_aee                           = 0x1000d88
  1783  	XK_Sinh_aee2                          = 0x1000dd1
  1784  	XK_Sinh_ai                            = 0x1000d93
  1785  	XK_Sinh_ai2                           = 0x1000ddb
  1786  	XK_Sinh_al                            = 0x1000dca
  1787  	XK_Sinh_au                            = 0x1000d96
  1788  	XK_Sinh_au2                           = 0x1000dde
  1789  	XK_Sinh_ba                            = 0x1000db6
  1790  	XK_Sinh_bha                           = 0x1000db7
  1791  	XK_Sinh_ca                            = 0x1000da0
  1792  	XK_Sinh_cha                           = 0x1000da1
  1793  	XK_Sinh_dda                           = 0x1000da9
  1794  	XK_Sinh_ddha                          = 0x1000daa
  1795  	XK_Sinh_dha                           = 0x1000daf
  1796  	XK_Sinh_dhha                          = 0x1000db0
  1797  	XK_Sinh_e                             = 0x1000d91
  1798  	XK_Sinh_e2                            = 0x1000dd9
  1799  	XK_Sinh_ee                            = 0x1000d92
  1800  	XK_Sinh_ee2                           = 0x1000dda
  1801  	XK_Sinh_fa                            = 0x1000dc6
  1802  	XK_Sinh_ga                            = 0x1000d9c
  1803  	XK_Sinh_gha                           = 0x1000d9d
  1804  	XK_Sinh_h2                            = 0x1000d83
  1805  	XK_Sinh_ha                            = 0x1000dc4
  1806  	XK_Sinh_i                             = 0x1000d89
  1807  	XK_Sinh_i2                            = 0x1000dd2
  1808  	XK_Sinh_ii                            = 0x1000d8a
  1809  	XK_Sinh_ii2                           = 0x1000dd3
  1810  	XK_Sinh_ja                            = 0x1000da2
  1811  	XK_Sinh_jha                           = 0x1000da3
  1812  	XK_Sinh_jnya                          = 0x1000da5
  1813  	XK_Sinh_ka                            = 0x1000d9a
  1814  	XK_Sinh_kha                           = 0x1000d9b
  1815  	XK_Sinh_kunddaliya                    = 0x1000df4
  1816  	XK_Sinh_la                            = 0x1000dbd
  1817  	XK_Sinh_lla                           = 0x1000dc5
  1818  	XK_Sinh_lu                            = 0x1000d8f
  1819  	XK_Sinh_lu2                           = 0x1000ddf
  1820  	XK_Sinh_luu                           = 0x1000d90
  1821  	XK_Sinh_luu2                          = 0x1000df3
  1822  	XK_Sinh_ma                            = 0x1000db8
  1823  	XK_Sinh_mba                           = 0x1000db9
  1824  	XK_Sinh_na                            = 0x1000db1
  1825  	XK_Sinh_ndda                          = 0x1000dac
  1826  	XK_Sinh_ndha                          = 0x1000db3
  1827  	XK_Sinh_ng                            = 0x1000d82
  1828  	XK_Sinh_ng2                           = 0x1000d9e
  1829  	XK_Sinh_nga                           = 0x1000d9f
  1830  	XK_Sinh_nja                           = 0x1000da6
  1831  	XK_Sinh_nna                           = 0x1000dab
  1832  	XK_Sinh_nya                           = 0x1000da4
  1833  	XK_Sinh_o                             = 0x1000d94
  1834  	XK_Sinh_o2                            = 0x1000ddc
  1835  	XK_Sinh_oo                            = 0x1000d95
  1836  	XK_Sinh_oo2                           = 0x1000ddd
  1837  	XK_Sinh_pa                            = 0x1000db4
  1838  	XK_Sinh_pha                           = 0x1000db5
  1839  	XK_Sinh_ra                            = 0x1000dbb
  1840  	XK_Sinh_ri                            = 0x1000d8d
  1841  	XK_Sinh_rii                           = 0x1000d8e
  1842  	XK_Sinh_ru2                           = 0x1000dd8
  1843  	XK_Sinh_ruu2                          = 0x1000df2
  1844  	XK_Sinh_sa                            = 0x1000dc3
  1845  	XK_Sinh_sha                           = 0x1000dc1
  1846  	XK_Sinh_ssha                          = 0x1000dc2
  1847  	XK_Sinh_tha                           = 0x1000dad
  1848  	XK_Sinh_thha                          = 0x1000dae
  1849  	XK_Sinh_tta                           = 0x1000da7
  1850  	XK_Sinh_ttha                          = 0x1000da8
  1851  	XK_Sinh_u                             = 0x1000d8b
  1852  	XK_Sinh_u2                            = 0x1000dd4
  1853  	XK_Sinh_uu                            = 0x1000d8c
  1854  	XK_Sinh_uu2                           = 0x1000dd6
  1855  	XK_Sinh_va                            = 0x1000dc0
  1856  	XK_Sinh_ya                            = 0x1000dba
  1857  	XK_SlowKeys_Enable                    = 0xfe73
  1858  	XK_StickyKeys_Enable                  = 0xfe75
  1859  	XK_Super_L                            = 0xffeb
  1860  	XK_Super_R                            = 0xffec
  1861  	XK_Sys_Req                            = 0xff15
  1862  	XK_T                                  = 0x0054
  1863  	XK_THAI                               = 0
  1864  	XK_THORN                              = 0x00de
  1865  	XK_Tab                                = 0xff09
  1866  	XK_Tabovedot                          = 0x1001e6a
  1867  	XK_Tcaron                             = 0x01ab
  1868  	XK_Tcedilla                           = 0x01de
  1869  	XK_Terminate_Server                   = 0xfed5
  1870  	XK_Thai_baht                          = 0x0ddf
  1871  	XK_Thai_bobaimai                      = 0x0dba
  1872  	XK_Thai_chochan                       = 0x0da8
  1873  	XK_Thai_chochang                      = 0x0daa
  1874  	XK_Thai_choching                      = 0x0da9
  1875  	XK_Thai_chochoe                       = 0x0dac
  1876  	XK_Thai_dochada                       = 0x0dae
  1877  	XK_Thai_dodek                         = 0x0db4
  1878  	XK_Thai_fofa                          = 0x0dbd
  1879  	XK_Thai_fofan                         = 0x0dbf
  1880  	XK_Thai_hohip                         = 0x0dcb
  1881  	XK_Thai_honokhuk                      = 0x0dce
  1882  	XK_Thai_khokhai                       = 0x0da2
  1883  	XK_Thai_khokhon                       = 0x0da5
  1884  	XK_Thai_khokhuat                      = 0x0da3
  1885  	XK_Thai_khokhwai                      = 0x0da4
  1886  	XK_Thai_khorakhang                    = 0x0da6
  1887  	XK_Thai_kokai                         = 0x0da1
  1888  	XK_Thai_lakkhangyao                   = 0x0de5
  1889  	XK_Thai_lekchet                       = 0x0df7
  1890  	XK_Thai_lekha                         = 0x0df5
  1891  	XK_Thai_lekhok                        = 0x0df6
  1892  	XK_Thai_lekkao                        = 0x0df9
  1893  	XK_Thai_leknung                       = 0x0df1
  1894  	XK_Thai_lekpaet                       = 0x0df8
  1895  	XK_Thai_leksam                        = 0x0df3
  1896  	XK_Thai_leksi                         = 0x0df4
  1897  	XK_Thai_leksong                       = 0x0df2
  1898  	XK_Thai_leksun                        = 0x0df0
  1899  	XK_Thai_lochula                       = 0x0dcc
  1900  	XK_Thai_loling                        = 0x0dc5
  1901  	XK_Thai_lu                            = 0x0dc6
  1902  	XK_Thai_maichattawa                   = 0x0deb
  1903  	XK_Thai_maiek                         = 0x0de8
  1904  	XK_Thai_maihanakat                    = 0x0dd1
  1905  	XK_Thai_maihanakat_maitho             = 0x0dde
  1906  	XK_Thai_maitaikhu                     = 0x0de7
  1907  	XK_Thai_maitho                        = 0x0de9
  1908  	XK_Thai_maitri                        = 0x0dea
  1909  	XK_Thai_maiyamok                      = 0x0de6
  1910  	XK_Thai_moma                          = 0x0dc1
  1911  	XK_Thai_ngongu                        = 0x0da7
  1912  	XK_Thai_nikhahit                      = 0x0ded
  1913  	XK_Thai_nonen                         = 0x0db3
  1914  	XK_Thai_nonu                          = 0x0db9
  1915  	XK_Thai_oang                          = 0x0dcd
  1916  	XK_Thai_paiyannoi                     = 0x0dcf
  1917  	XK_Thai_phinthu                       = 0x0dda
  1918  	XK_Thai_phophan                       = 0x0dbe
  1919  	XK_Thai_phophung                      = 0x0dbc
  1920  	XK_Thai_phosamphao                    = 0x0dc0
  1921  	XK_Thai_popla                         = 0x0dbb
  1922  	XK_Thai_rorua                         = 0x0dc3
  1923  	XK_Thai_ru                            = 0x0dc4
  1924  	XK_Thai_saraa                         = 0x0dd0
  1925  	XK_Thai_saraaa                        = 0x0dd2
  1926  	XK_Thai_saraae                        = 0x0de1
  1927  	XK_Thai_saraaimaimalai                = 0x0de4
  1928  	XK_Thai_saraaimaimuan                 = 0x0de3
  1929  	XK_Thai_saraam                        = 0x0dd3
  1930  	XK_Thai_sarae                         = 0x0de0
  1931  	XK_Thai_sarai                         = 0x0dd4
  1932  	XK_Thai_saraii                        = 0x0dd5
  1933  	XK_Thai_sarao                         = 0x0de2
  1934  	XK_Thai_sarau                         = 0x0dd8
  1935  	XK_Thai_saraue                        = 0x0dd6
  1936  	XK_Thai_sarauee                       = 0x0dd7
  1937  	XK_Thai_sarauu                        = 0x0dd9
  1938  	XK_Thai_sorusi                        = 0x0dc9
  1939  	XK_Thai_sosala                        = 0x0dc8
  1940  	XK_Thai_soso                          = 0x0dab
  1941  	XK_Thai_sosua                         = 0x0dca
  1942  	XK_Thai_thanthakhat                   = 0x0dec
  1943  	XK_Thai_thonangmontho                 = 0x0db1
  1944  	XK_Thai_thophuthao                    = 0x0db2
  1945  	XK_Thai_thothahan                     = 0x0db7
  1946  	XK_Thai_thothan                       = 0x0db0
  1947  	XK_Thai_thothong                      = 0x0db8
  1948  	XK_Thai_thothung                      = 0x0db6
  1949  	XK_Thai_topatak                       = 0x0daf
  1950  	XK_Thai_totao                         = 0x0db5
  1951  	XK_Thai_wowaen                        = 0x0dc7
  1952  	XK_Thai_yoyak                         = 0x0dc2
  1953  	XK_Thai_yoying                        = 0x0dad
  1954  	XK_Thorn                              = 0x00de
  1955  	XK_Touroku                            = 0xff2b
  1956  	XK_Tslash                             = 0x03ac
  1957  	XK_U                                  = 0x0055
  1958  	XK_Uacute                             = 0x00da
  1959  	XK_Ubelowdot                          = 0x1001ee4
  1960  	XK_Ubreve                             = 0x02dd
  1961  	XK_Ucircumflex                        = 0x00db
  1962  	XK_Udiaeresis                         = 0x00dc
  1963  	XK_Udoubleacute                       = 0x01db
  1964  	XK_Ugrave                             = 0x00d9
  1965  	XK_Uhook                              = 0x1001ee6
  1966  	XK_Uhorn                              = 0x10001af
  1967  	XK_Uhornacute                         = 0x1001ee8
  1968  	XK_Uhornbelowdot                      = 0x1001ef0
  1969  	XK_Uhorngrave                         = 0x1001eea
  1970  	XK_Uhornhook                          = 0x1001eec
  1971  	XK_Uhorntilde                         = 0x1001eee
  1972  	XK_Ukrainian_GHE_WITH_UPTURN          = 0x06bd
  1973  	XK_Ukrainian_I                        = 0x06b6
  1974  	XK_Ukrainian_IE                       = 0x06b4
  1975  	XK_Ukrainian_YI                       = 0x06b7
  1976  	XK_Ukrainian_ghe_with_upturn          = 0x06ad
  1977  	XK_Ukrainian_i                        = 0x06a6
  1978  	XK_Ukrainian_ie                       = 0x06a4
  1979  	XK_Ukrainian_yi                       = 0x06a7
  1980  	XK_Ukranian_I                         = 0x06b6
  1981  	XK_Ukranian_JE                        = 0x06b4
  1982  	XK_Ukranian_YI                        = 0x06b7
  1983  	XK_Ukranian_i                         = 0x06a6
  1984  	XK_Ukranian_je                        = 0x06a4
  1985  	XK_Ukranian_yi                        = 0x06a7
  1986  	XK_Umacron                            = 0x03de
  1987  	XK_Undo                               = 0xff65
  1988  	XK_Uogonek                            = 0x03d9
  1989  	XK_Up                                 = 0xff52
  1990  	XK_Uring                              = 0x01d9
  1991  	XK_Utilde                             = 0x03dd
  1992  	XK_V                                  = 0x0056
  1993  	XK_VIETNAMESE                         = 0
  1994  	XK_VoidSymbol                         = 0xffffff
  1995  	XK_W                                  = 0x0057
  1996  	XK_Wacute                             = 0x1001e82
  1997  	XK_Wcircumflex                        = 0x1000174
  1998  	XK_Wdiaeresis                         = 0x1001e84
  1999  	XK_Wgrave                             = 0x1001e80
  2000  	XK_WonSign                            = 0x10020a9
  2001  	XK_X                                  = 0x0058
  2002  	XK_XKB_KEYS                           = 0
  2003  	XK_Xabovedot                          = 0x1001e8a
  2004  	XK_Y                                  = 0x0059
  2005  	XK_Yacute                             = 0x00dd
  2006  	XK_Ybelowdot                          = 0x1001ef4
  2007  	XK_Ycircumflex                        = 0x1000176
  2008  	XK_Ydiaeresis                         = 0x13be
  2009  	XK_Ygrave                             = 0x1001ef2
  2010  	XK_Yhook                              = 0x1001ef6
  2011  	XK_Ytilde                             = 0x1001ef8
  2012  	XK_Z                                  = 0x005a
  2013  	XK_Zabovedot                          = 0x01af
  2014  	XK_Zacute                             = 0x01ac
  2015  	XK_Zcaron                             = 0x01ae
  2016  	XK_Zen_Koho                           = 0xff3d
  2017  	XK_Zenkaku                            = 0xff28
  2018  	XK_Zenkaku_Hankaku                    = 0xff2a
  2019  	XK_Zstroke                            = 0x10001b5
  2020  	XK_a                                  = 0x0061
  2021  	XK_aacute                             = 0x00e1
  2022  	XK_abelowdot                          = 0x1001ea1
  2023  	XK_abovedot                           = 0x01ff
  2024  	XK_abreve                             = 0x01e3
  2025  	XK_abreveacute                        = 0x1001eaf
  2026  	XK_abrevebelowdot                     = 0x1001eb7
  2027  	XK_abrevegrave                        = 0x1001eb1
  2028  	XK_abrevehook                         = 0x1001eb3
  2029  	XK_abrevetilde                        = 0x1001eb5
  2030  	XK_acircumflex                        = 0x00e2
  2031  	XK_acircumflexacute                   = 0x1001ea5
  2032  	XK_acircumflexbelowdot                = 0x1001ead
  2033  	XK_acircumflexgrave                   = 0x1001ea7
  2034  	XK_acircumflexhook                    = 0x1001ea9
  2035  	XK_acircumflextilde                   = 0x1001eab
  2036  	XK_acute                              = 0x00b4
  2037  	XK_adiaeresis                         = 0x00e4
  2038  	XK_ae                                 = 0x00e6
  2039  	XK_agrave                             = 0x00e0
  2040  	XK_ahook                              = 0x1001ea3
  2041  	XK_amacron                            = 0x03e0
  2042  	XK_ampersand                          = 0x0026
  2043  	XK_aogonek                            = 0x01b1
  2044  	XK_apostrophe                         = 0x0027
  2045  	XK_approxeq                           = 0x1002248
  2046  	XK_aring                              = 0x00e5
  2047  	XK_asciicircum                        = 0x005e
  2048  	XK_asciitilde                         = 0x007e
  2049  	XK_asterisk                           = 0x002a
  2050  	XK_at                                 = 0x0040
  2051  	XK_atilde                             = 0x00e3
  2052  	XK_b                                  = 0x0062
  2053  	XK_babovedot                          = 0x1001e03
  2054  	XK_backslash                          = 0x005c
  2055  	XK_bar                                = 0x007c
  2056  	XK_because                            = 0x1002235
  2057  	XK_braceleft                          = 0x007b
  2058  	XK_braceright                         = 0x007d
  2059  	XK_bracketleft                        = 0x005b
  2060  	XK_bracketright                       = 0x005d
  2061  	XK_braille_blank                      = 0x1002800
  2062  	XK_braille_dot_1                      = 0xfff1
  2063  	XK_braille_dot_10                     = 0xfffa
  2064  	XK_braille_dot_2                      = 0xfff2
  2065  	XK_braille_dot_3                      = 0xfff3
  2066  	XK_braille_dot_4                      = 0xfff4
  2067  	XK_braille_dot_5                      = 0xfff5
  2068  	XK_braille_dot_6                      = 0xfff6
  2069  	XK_braille_dot_7                      = 0xfff7
  2070  	XK_braille_dot_8                      = 0xfff8
  2071  	XK_braille_dot_9                      = 0xfff9
  2072  	XK_braille_dots_1                     = 0x1002801
  2073  	XK_braille_dots_12                    = 0x1002803
  2074  	XK_braille_dots_123                   = 0x1002807
  2075  	XK_braille_dots_1234                  = 0x100280f
  2076  	XK_braille_dots_12345                 = 0x100281f
  2077  	XK_braille_dots_123456                = 0x100283f
  2078  	XK_braille_dots_1234567               = 0x100287f
  2079  	XK_braille_dots_12345678              = 0x10028ff
  2080  	XK_braille_dots_1234568               = 0x10028bf
  2081  	XK_braille_dots_123457                = 0x100285f
  2082  	XK_braille_dots_1234578               = 0x10028df
  2083  	XK_braille_dots_123458                = 0x100289f
  2084  	XK_braille_dots_12346                 = 0x100282f
  2085  	XK_braille_dots_123467                = 0x100286f
  2086  	XK_braille_dots_1234678               = 0x10028ef
  2087  	XK_braille_dots_123468                = 0x10028af
  2088  	XK_braille_dots_12347                 = 0x100284f
  2089  	XK_braille_dots_123478                = 0x10028cf
  2090  	XK_braille_dots_12348                 = 0x100288f
  2091  	XK_braille_dots_1235                  = 0x1002817
  2092  	XK_braille_dots_12356                 = 0x1002837
  2093  	XK_braille_dots_123567                = 0x1002877
  2094  	XK_braille_dots_1235678               = 0x10028f7
  2095  	XK_braille_dots_123568                = 0x10028b7
  2096  	XK_braille_dots_12357                 = 0x1002857
  2097  	XK_braille_dots_123578                = 0x10028d7
  2098  	XK_braille_dots_12358                 = 0x1002897
  2099  	XK_braille_dots_1236                  = 0x1002827
  2100  	XK_braille_dots_12367                 = 0x1002867
  2101  	XK_braille_dots_123678                = 0x10028e7
  2102  	XK_braille_dots_12368                 = 0x10028a7
  2103  	XK_braille_dots_1237                  = 0x1002847
  2104  	XK_braille_dots_12378                 = 0x10028c7
  2105  	XK_braille_dots_1238                  = 0x1002887
  2106  	XK_braille_dots_124                   = 0x100280b
  2107  	XK_braille_dots_1245                  = 0x100281b
  2108  	XK_braille_dots_12456                 = 0x100283b
  2109  	XK_braille_dots_124567                = 0x100287b
  2110  	XK_braille_dots_1245678               = 0x10028fb
  2111  	XK_braille_dots_124568                = 0x10028bb
  2112  	XK_braille_dots_12457                 = 0x100285b
  2113  	XK_braille_dots_124578                = 0x10028db
  2114  	XK_braille_dots_12458                 = 0x100289b
  2115  	XK_braille_dots_1246                  = 0x100282b
  2116  	XK_braille_dots_12467                 = 0x100286b
  2117  	XK_braille_dots_124678                = 0x10028eb
  2118  	XK_braille_dots_12468                 = 0x10028ab
  2119  	XK_braille_dots_1247                  = 0x100284b
  2120  	XK_braille_dots_12478                 = 0x10028cb
  2121  	XK_braille_dots_1248                  = 0x100288b
  2122  	XK_braille_dots_125                   = 0x1002813
  2123  	XK_braille_dots_1256                  = 0x1002833
  2124  	XK_braille_dots_12567                 = 0x1002873
  2125  	XK_braille_dots_125678                = 0x10028f3
  2126  	XK_braille_dots_12568                 = 0x10028b3
  2127  	XK_braille_dots_1257                  = 0x1002853
  2128  	XK_braille_dots_12578                 = 0x10028d3
  2129  	XK_braille_dots_1258                  = 0x1002893
  2130  	XK_braille_dots_126                   = 0x1002823
  2131  	XK_braille_dots_1267                  = 0x1002863
  2132  	XK_braille_dots_12678                 = 0x10028e3
  2133  	XK_braille_dots_1268                  = 0x10028a3
  2134  	XK_braille_dots_127                   = 0x1002843
  2135  	XK_braille_dots_1278                  = 0x10028c3
  2136  	XK_braille_dots_128                   = 0x1002883
  2137  	XK_braille_dots_13                    = 0x1002805
  2138  	XK_braille_dots_134                   = 0x100280d
  2139  	XK_braille_dots_1345                  = 0x100281d
  2140  	XK_braille_dots_13456                 = 0x100283d
  2141  	XK_braille_dots_134567                = 0x100287d
  2142  	XK_braille_dots_1345678               = 0x10028fd
  2143  	XK_braille_dots_134568                = 0x10028bd
  2144  	XK_braille_dots_13457                 = 0x100285d
  2145  	XK_braille_dots_134578                = 0x10028dd
  2146  	XK_braille_dots_13458                 = 0x100289d
  2147  	XK_braille_dots_1346                  = 0x100282d
  2148  	XK_braille_dots_13467                 = 0x100286d
  2149  	XK_braille_dots_134678                = 0x10028ed
  2150  	XK_braille_dots_13468                 = 0x10028ad
  2151  	XK_braille_dots_1347                  = 0x100284d
  2152  	XK_braille_dots_13478                 = 0x10028cd
  2153  	XK_braille_dots_1348                  = 0x100288d
  2154  	XK_braille_dots_135                   = 0x1002815
  2155  	XK_braille_dots_1356                  = 0x1002835
  2156  	XK_braille_dots_13567                 = 0x1002875
  2157  	XK_braille_dots_135678                = 0x10028f5
  2158  	XK_braille_dots_13568                 = 0x10028b5
  2159  	XK_braille_dots_1357                  = 0x1002855
  2160  	XK_braille_dots_13578                 = 0x10028d5
  2161  	XK_braille_dots_1358                  = 0x1002895
  2162  	XK_braille_dots_136                   = 0x1002825
  2163  	XK_braille_dots_1367                  = 0x1002865
  2164  	XK_braille_dots_13678                 = 0x10028e5
  2165  	XK_braille_dots_1368                  = 0x10028a5
  2166  	XK_braille_dots_137                   = 0x1002845
  2167  	XK_braille_dots_1378                  = 0x10028c5
  2168  	XK_braille_dots_138                   = 0x1002885
  2169  	XK_braille_dots_14                    = 0x1002809
  2170  	XK_braille_dots_145                   = 0x1002819
  2171  	XK_braille_dots_1456                  = 0x1002839
  2172  	XK_braille_dots_14567                 = 0x1002879
  2173  	XK_braille_dots_145678                = 0x10028f9
  2174  	XK_braille_dots_14568                 = 0x10028b9
  2175  	XK_braille_dots_1457                  = 0x1002859
  2176  	XK_braille_dots_14578                 = 0x10028d9
  2177  	XK_braille_dots_1458                  = 0x1002899
  2178  	XK_braille_dots_146                   = 0x1002829
  2179  	XK_braille_dots_1467                  = 0x1002869
  2180  	XK_braille_dots_14678                 = 0x10028e9
  2181  	XK_braille_dots_1468                  = 0x10028a9
  2182  	XK_braille_dots_147                   = 0x1002849
  2183  	XK_braille_dots_1478                  = 0x10028c9
  2184  	XK_braille_dots_148                   = 0x1002889
  2185  	XK_braille_dots_15                    = 0x1002811
  2186  	XK_braille_dots_156                   = 0x1002831
  2187  	XK_braille_dots_1567                  = 0x1002871
  2188  	XK_braille_dots_15678                 = 0x10028f1
  2189  	XK_braille_dots_1568                  = 0x10028b1
  2190  	XK_braille_dots_157                   = 0x1002851
  2191  	XK_braille_dots_1578                  = 0x10028d1
  2192  	XK_braille_dots_158                   = 0x1002891
  2193  	XK_braille_dots_16                    = 0x1002821
  2194  	XK_braille_dots_167                   = 0x1002861
  2195  	XK_braille_dots_1678                  = 0x10028e1
  2196  	XK_braille_dots_168                   = 0x10028a1
  2197  	XK_braille_dots_17                    = 0x1002841
  2198  	XK_braille_dots_178                   = 0x10028c1
  2199  	XK_braille_dots_18                    = 0x1002881
  2200  	XK_braille_dots_2                     = 0x1002802
  2201  	XK_braille_dots_23                    = 0x1002806
  2202  	XK_braille_dots_234                   = 0x100280e
  2203  	XK_braille_dots_2345                  = 0x100281e
  2204  	XK_braille_dots_23456                 = 0x100283e
  2205  	XK_braille_dots_234567                = 0x100287e
  2206  	XK_braille_dots_2345678               = 0x10028fe
  2207  	XK_braille_dots_234568                = 0x10028be
  2208  	XK_braille_dots_23457                 = 0x100285e
  2209  	XK_braille_dots_234578                = 0x10028de
  2210  	XK_braille_dots_23458                 = 0x100289e
  2211  	XK_braille_dots_2346                  = 0x100282e
  2212  	XK_braille_dots_23467                 = 0x100286e
  2213  	XK_braille_dots_234678                = 0x10028ee
  2214  	XK_braille_dots_23468                 = 0x10028ae
  2215  	XK_braille_dots_2347                  = 0x100284e
  2216  	XK_braille_dots_23478                 = 0x10028ce
  2217  	XK_braille_dots_2348                  = 0x100288e
  2218  	XK_braille_dots_235                   = 0x1002816
  2219  	XK_braille_dots_2356                  = 0x1002836
  2220  	XK_braille_dots_23567                 = 0x1002876
  2221  	XK_braille_dots_235678                = 0x10028f6
  2222  	XK_braille_dots_23568                 = 0x10028b6
  2223  	XK_braille_dots_2357                  = 0x1002856
  2224  	XK_braille_dots_23578                 = 0x10028d6
  2225  	XK_braille_dots_2358                  = 0x1002896
  2226  	XK_braille_dots_236                   = 0x1002826
  2227  	XK_braille_dots_2367                  = 0x1002866
  2228  	XK_braille_dots_23678                 = 0x10028e6
  2229  	XK_braille_dots_2368                  = 0x10028a6
  2230  	XK_braille_dots_237                   = 0x1002846
  2231  	XK_braille_dots_2378                  = 0x10028c6
  2232  	XK_braille_dots_238                   = 0x1002886
  2233  	XK_braille_dots_24                    = 0x100280a
  2234  	XK_braille_dots_245                   = 0x100281a
  2235  	XK_braille_dots_2456                  = 0x100283a
  2236  	XK_braille_dots_24567                 = 0x100287a
  2237  	XK_braille_dots_245678                = 0x10028fa
  2238  	XK_braille_dots_24568                 = 0x10028ba
  2239  	XK_braille_dots_2457                  = 0x100285a
  2240  	XK_braille_dots_24578                 = 0x10028da
  2241  	XK_braille_dots_2458                  = 0x100289a
  2242  	XK_braille_dots_246                   = 0x100282a
  2243  	XK_braille_dots_2467                  = 0x100286a
  2244  	XK_braille_dots_24678                 = 0x10028ea
  2245  	XK_braille_dots_2468                  = 0x10028aa
  2246  	XK_braille_dots_247                   = 0x100284a
  2247  	XK_braille_dots_2478                  = 0x10028ca
  2248  	XK_braille_dots_248                   = 0x100288a
  2249  	XK_braille_dots_25                    = 0x1002812
  2250  	XK_braille_dots_256                   = 0x1002832
  2251  	XK_braille_dots_2567                  = 0x1002872
  2252  	XK_braille_dots_25678                 = 0x10028f2
  2253  	XK_braille_dots_2568                  = 0x10028b2
  2254  	XK_braille_dots_257                   = 0x1002852
  2255  	XK_braille_dots_2578                  = 0x10028d2
  2256  	XK_braille_dots_258                   = 0x1002892
  2257  	XK_braille_dots_26                    = 0x1002822
  2258  	XK_braille_dots_267                   = 0x1002862
  2259  	XK_braille_dots_2678                  = 0x10028e2
  2260  	XK_braille_dots_268                   = 0x10028a2
  2261  	XK_braille_dots_27                    = 0x1002842
  2262  	XK_braille_dots_278                   = 0x10028c2
  2263  	XK_braille_dots_28                    = 0x1002882
  2264  	XK_braille_dots_3                     = 0x1002804
  2265  	XK_braille_dots_34                    = 0x100280c
  2266  	XK_braille_dots_345                   = 0x100281c
  2267  	XK_braille_dots_3456                  = 0x100283c
  2268  	XK_braille_dots_34567                 = 0x100287c
  2269  	XK_braille_dots_345678                = 0x10028fc
  2270  	XK_braille_dots_34568                 = 0x10028bc
  2271  	XK_braille_dots_3457                  = 0x100285c
  2272  	XK_braille_dots_34578                 = 0x10028dc
  2273  	XK_braille_dots_3458                  = 0x100289c
  2274  	XK_braille_dots_346                   = 0x100282c
  2275  	XK_braille_dots_3467                  = 0x100286c
  2276  	XK_braille_dots_34678                 = 0x10028ec
  2277  	XK_braille_dots_3468                  = 0x10028ac
  2278  	XK_braille_dots_347                   = 0x100284c
  2279  	XK_braille_dots_3478                  = 0x10028cc
  2280  	XK_braille_dots_348                   = 0x100288c
  2281  	XK_braille_dots_35                    = 0x1002814
  2282  	XK_braille_dots_356                   = 0x1002834
  2283  	XK_braille_dots_3567                  = 0x1002874
  2284  	XK_braille_dots_35678                 = 0x10028f4
  2285  	XK_braille_dots_3568                  = 0x10028b4
  2286  	XK_braille_dots_357                   = 0x1002854
  2287  	XK_braille_dots_3578                  = 0x10028d4
  2288  	XK_braille_dots_358                   = 0x1002894
  2289  	XK_braille_dots_36                    = 0x1002824
  2290  	XK_braille_dots_367                   = 0x1002864
  2291  	XK_braille_dots_3678                  = 0x10028e4
  2292  	XK_braille_dots_368                   = 0x10028a4
  2293  	XK_braille_dots_37                    = 0x1002844
  2294  	XK_braille_dots_378                   = 0x10028c4
  2295  	XK_braille_dots_38                    = 0x1002884
  2296  	XK_braille_dots_4                     = 0x1002808
  2297  	XK_braille_dots_45                    = 0x1002818
  2298  	XK_braille_dots_456                   = 0x1002838
  2299  	XK_braille_dots_4567                  = 0x1002878
  2300  	XK_braille_dots_45678                 = 0x10028f8
  2301  	XK_braille_dots_4568                  = 0x10028b8
  2302  	XK_braille_dots_457                   = 0x1002858
  2303  	XK_braille_dots_4578                  = 0x10028d8
  2304  	XK_braille_dots_458                   = 0x1002898
  2305  	XK_braille_dots_46                    = 0x1002828
  2306  	XK_braille_dots_467                   = 0x1002868
  2307  	XK_braille_dots_4678                  = 0x10028e8
  2308  	XK_braille_dots_468                   = 0x10028a8
  2309  	XK_braille_dots_47                    = 0x1002848
  2310  	XK_braille_dots_478                   = 0x10028c8
  2311  	XK_braille_dots_48                    = 0x1002888
  2312  	XK_braille_dots_5                     = 0x1002810
  2313  	XK_braille_dots_56                    = 0x1002830
  2314  	XK_braille_dots_567                   = 0x1002870
  2315  	XK_braille_dots_5678                  = 0x10028f0
  2316  	XK_braille_dots_568                   = 0x10028b0
  2317  	XK_braille_dots_57                    = 0x1002850
  2318  	XK_braille_dots_578                   = 0x10028d0
  2319  	XK_braille_dots_58                    = 0x1002890
  2320  	XK_braille_dots_6                     = 0x1002820
  2321  	XK_braille_dots_67                    = 0x1002860
  2322  	XK_braille_dots_678                   = 0x10028e0
  2323  	XK_braille_dots_68                    = 0x10028a0
  2324  	XK_braille_dots_7                     = 0x1002840
  2325  	XK_braille_dots_78                    = 0x10028c0
  2326  	XK_braille_dots_8                     = 0x1002880
  2327  	XK_breve                              = 0x01a2
  2328  	XK_brokenbar                          = 0x00a6
  2329  	XK_c                                  = 0x0063
  2330  	XK_c_h                                = 0xfea3
  2331  	XK_cabovedot                          = 0x02e5
  2332  	XK_cacute                             = 0x01e6
  2333  	XK_caron                              = 0x01b7
  2334  	XK_ccaron                             = 0x01e8
  2335  	XK_ccedilla                           = 0x00e7
  2336  	XK_ccircumflex                        = 0x02e6
  2337  	XK_cedilla                            = 0x00b8
  2338  	XK_cent                               = 0x00a2
  2339  	XK_ch                                 = 0xfea0
  2340  	XK_colon                              = 0x003a
  2341  	XK_comma                              = 0x002c
  2342  	XK_containsas                         = 0x100220B
  2343  	XK_copyright                          = 0x00a9
  2344  	XK_cuberoot                           = 0x100221B
  2345  	XK_currency                           = 0x00a4
  2346  	XK_d                                  = 0x0064
  2347  	XK_dabovedot                          = 0x1001e0b
  2348  	XK_dcaron                             = 0x01ef
  2349  	XK_dead_A                             = 0xfe81
  2350  	XK_dead_E                             = 0xfe83
  2351  	XK_dead_I                             = 0xfe85
  2352  	XK_dead_O                             = 0xfe87
  2353  	XK_dead_U                             = 0xfe89
  2354  	XK_dead_a                             = 0xfe80
  2355  	XK_dead_abovecomma                    = 0xfe64
  2356  	XK_dead_abovedot                      = 0xfe56
  2357  	XK_dead_abovereversedcomma            = 0xfe65
  2358  	XK_dead_abovering                     = 0xfe58
  2359  	XK_dead_aboveverticalline             = 0xfe91
  2360  	XK_dead_acute                         = 0xfe51
  2361  	XK_dead_belowbreve                    = 0xfe6b
  2362  	XK_dead_belowcircumflex               = 0xfe69
  2363  	XK_dead_belowcomma                    = 0xfe6e
  2364  	XK_dead_belowdiaeresis                = 0xfe6c
  2365  	XK_dead_belowdot                      = 0xfe60
  2366  	XK_dead_belowmacron                   = 0xfe68
  2367  	XK_dead_belowring                     = 0xfe67
  2368  	XK_dead_belowtilde                    = 0xfe6a
  2369  	XK_dead_belowverticalline             = 0xfe92
  2370  	XK_dead_breve                         = 0xfe55
  2371  	XK_dead_capital_schwa                 = 0xfe8b
  2372  	XK_dead_caron                         = 0xfe5a
  2373  	XK_dead_cedilla                       = 0xfe5b
  2374  	XK_dead_circumflex                    = 0xfe52
  2375  	XK_dead_currency                      = 0xfe6f
  2376  	XK_dead_dasia                         = 0xfe65
  2377  	XK_dead_diaeresis                     = 0xfe57
  2378  	XK_dead_doubleacute                   = 0xfe59
  2379  	XK_dead_doublegrave                   = 0xfe66
  2380  	XK_dead_e                             = 0xfe82
  2381  	XK_dead_grave                         = 0xfe50
  2382  	XK_dead_greek                         = 0xfe8c
  2383  	XK_dead_hook                          = 0xfe61
  2384  	XK_dead_horn                          = 0xfe62
  2385  	XK_dead_i                             = 0xfe84
  2386  	XK_dead_invertedbreve                 = 0xfe6d
  2387  	XK_dead_iota                          = 0xfe5d
  2388  	XK_dead_longsolidusoverlay            = 0xfe93
  2389  	XK_dead_lowline                       = 0xfe90
  2390  	XK_dead_macron                        = 0xfe54
  2391  	XK_dead_o                             = 0xfe86
  2392  	XK_dead_ogonek                        = 0xfe5c
  2393  	XK_dead_perispomeni                   = 0xfe53
  2394  	XK_dead_psili                         = 0xfe64
  2395  	XK_dead_semivoiced_sound              = 0xfe5f
  2396  	XK_dead_small_schwa                   = 0xfe8a
  2397  	XK_dead_stroke                        = 0xfe63
  2398  	XK_dead_tilde                         = 0xfe53
  2399  	XK_dead_u                             = 0xfe88
  2400  	XK_dead_voiced_sound                  = 0xfe5e
  2401  	XK_degree                             = 0x00b0
  2402  	XK_diaeresis                          = 0x00a8
  2403  	XK_dintegral                          = 0x100222C
  2404  	XK_division                           = 0x00f7
  2405  	XK_dollar                             = 0x0024
  2406  	XK_doubleacute                        = 0x01bd
  2407  	XK_dstroke                            = 0x01f0
  2408  	XK_e                                  = 0x0065
  2409  	XK_eabovedot                          = 0x03ec
  2410  	XK_eacute                             = 0x00e9
  2411  	XK_ebelowdot                          = 0x1001eb9
  2412  	XK_ecaron                             = 0x01ec
  2413  	XK_ecircumflex                        = 0x00ea
  2414  	XK_ecircumflexacute                   = 0x1001ebf
  2415  	XK_ecircumflexbelowdot                = 0x1001ec7
  2416  	XK_ecircumflexgrave                   = 0x1001ec1
  2417  	XK_ecircumflexhook                    = 0x1001ec3
  2418  	XK_ecircumflextilde                   = 0x1001ec5
  2419  	XK_ediaeresis                         = 0x00eb
  2420  	XK_egrave                             = 0x00e8
  2421  	XK_ehook                              = 0x1001ebb
  2422  	XK_eightsubscript                     = 0x1002088
  2423  	XK_eightsuperior                      = 0x1002078
  2424  	XK_elementof                          = 0x1002208
  2425  	XK_emacron                            = 0x03ba
  2426  	XK_emptyset                           = 0x1002205
  2427  	XK_eng                                = 0x03bf
  2428  	XK_eogonek                            = 0x01ea
  2429  	XK_equal                              = 0x003d
  2430  	XK_eth                                = 0x00f0
  2431  	XK_etilde                             = 0x1001ebd
  2432  	XK_exclam                             = 0x0021
  2433  	XK_exclamdown                         = 0x00a1
  2434  	XK_ezh                                = 0x1000292
  2435  	XK_f                                  = 0x0066
  2436  	XK_fabovedot                          = 0x1001e1f
  2437  	XK_fivesubscript                      = 0x1002085
  2438  	XK_fivesuperior                       = 0x1002075
  2439  	XK_foursubscript                      = 0x1002084
  2440  	XK_foursuperior                       = 0x1002074
  2441  	XK_fourthroot                         = 0x100221C
  2442  	XK_g                                  = 0x0067
  2443  	XK_gabovedot                          = 0x02f5
  2444  	XK_gbreve                             = 0x02bb
  2445  	XK_gcaron                             = 0x10001e7
  2446  	XK_gcedilla                           = 0x03bb
  2447  	XK_gcircumflex                        = 0x02f8
  2448  	XK_grave                              = 0x0060
  2449  	XK_greater                            = 0x003e
  2450  	XK_guillemotleft                      = 0x00ab
  2451  	XK_guillemotright                     = 0x00bb
  2452  	XK_h                                  = 0x0068
  2453  	XK_hcircumflex                        = 0x02b6
  2454  	XK_hebrew_aleph                       = 0x0ce0
  2455  	XK_hebrew_ayin                        = 0x0cf2
  2456  	XK_hebrew_bet                         = 0x0ce1
  2457  	XK_hebrew_beth                        = 0x0ce1
  2458  	XK_hebrew_chet                        = 0x0ce7
  2459  	XK_hebrew_dalet                       = 0x0ce3
  2460  	XK_hebrew_daleth                      = 0x0ce3
  2461  	XK_hebrew_doublelowline               = 0x0cdf
  2462  	XK_hebrew_finalkaph                   = 0x0cea
  2463  	XK_hebrew_finalmem                    = 0x0ced
  2464  	XK_hebrew_finalnun                    = 0x0cef
  2465  	XK_hebrew_finalpe                     = 0x0cf3
  2466  	XK_hebrew_finalzade                   = 0x0cf5
  2467  	XK_hebrew_finalzadi                   = 0x0cf5
  2468  	XK_hebrew_gimel                       = 0x0ce2
  2469  	XK_hebrew_gimmel                      = 0x0ce2
  2470  	XK_hebrew_he                          = 0x0ce4
  2471  	XK_hebrew_het                         = 0x0ce7
  2472  	XK_hebrew_kaph                        = 0x0ceb
  2473  	XK_hebrew_kuf                         = 0x0cf7
  2474  	XK_hebrew_lamed                       = 0x0cec
  2475  	XK_hebrew_mem                         = 0x0cee
  2476  	XK_hebrew_nun                         = 0x0cf0
  2477  	XK_hebrew_pe                          = 0x0cf4
  2478  	XK_hebrew_qoph                        = 0x0cf7
  2479  	XK_hebrew_resh                        = 0x0cf8
  2480  	XK_hebrew_samech                      = 0x0cf1
  2481  	XK_hebrew_samekh                      = 0x0cf1
  2482  	XK_hebrew_shin                        = 0x0cf9
  2483  	XK_hebrew_taf                         = 0x0cfa
  2484  	XK_hebrew_taw                         = 0x0cfa
  2485  	XK_hebrew_tet                         = 0x0ce8
  2486  	XK_hebrew_teth                        = 0x0ce8
  2487  	XK_hebrew_waw                         = 0x0ce5
  2488  	XK_hebrew_yod                         = 0x0ce9
  2489  	XK_hebrew_zade                        = 0x0cf6
  2490  	XK_hebrew_zadi                        = 0x0cf6
  2491  	XK_hebrew_zain                        = 0x0ce6
  2492  	XK_hebrew_zayin                       = 0x0ce6
  2493  	XK_hstroke                            = 0x02b1
  2494  	XK_hyphen                             = 0x00ad
  2495  	XK_i                                  = 0x0069
  2496  	XK_iacute                             = 0x00ed
  2497  	XK_ibelowdot                          = 0x1001ecb
  2498  	XK_ibreve                             = 0x100012d
  2499  	XK_icircumflex                        = 0x00ee
  2500  	XK_idiaeresis                         = 0x00ef
  2501  	XK_idotless                           = 0x02b9
  2502  	XK_igrave                             = 0x00ec
  2503  	XK_ihook                              = 0x1001ec9
  2504  	XK_imacron                            = 0x03ef
  2505  	XK_iogonek                            = 0x03e7
  2506  	XK_itilde                             = 0x03b5
  2507  	XK_j                                  = 0x006a
  2508  	XK_jcircumflex                        = 0x02bc
  2509  	XK_k                                  = 0x006b
  2510  	XK_kana_A                             = 0x04b1
  2511  	XK_kana_CHI                           = 0x04c1
  2512  	XK_kana_E                             = 0x04b4
  2513  	XK_kana_FU                            = 0x04cc
  2514  	XK_kana_HA                            = 0x04ca
  2515  	XK_kana_HE                            = 0x04cd
  2516  	XK_kana_HI                            = 0x04cb
  2517  	XK_kana_HO                            = 0x04ce
  2518  	XK_kana_HU                            = 0x04cc
  2519  	XK_kana_I                             = 0x04b2
  2520  	XK_kana_KA                            = 0x04b6
  2521  	XK_kana_KE                            = 0x04b9
  2522  	XK_kana_KI                            = 0x04b7
  2523  	XK_kana_KO                            = 0x04ba
  2524  	XK_kana_KU                            = 0x04b8
  2525  	XK_kana_MA                            = 0x04cf
  2526  	XK_kana_ME                            = 0x04d2
  2527  	XK_kana_MI                            = 0x04d0
  2528  	XK_kana_MO                            = 0x04d3
  2529  	XK_kana_MU                            = 0x04d1
  2530  	XK_kana_N                             = 0x04dd
  2531  	XK_kana_NA                            = 0x04c5
  2532  	XK_kana_NE                            = 0x04c8
  2533  	XK_kana_NI                            = 0x04c6
  2534  	XK_kana_NO                            = 0x04c9
  2535  	XK_kana_NU                            = 0x04c7
  2536  	XK_kana_O                             = 0x04b5
  2537  	XK_kana_RA                            = 0x04d7
  2538  	XK_kana_RE                            = 0x04da
  2539  	XK_kana_RI                            = 0x04d8
  2540  	XK_kana_RO                            = 0x04db
  2541  	XK_kana_RU                            = 0x04d9
  2542  	XK_kana_SA                            = 0x04bb
  2543  	XK_kana_SE                            = 0x04be
  2544  	XK_kana_SHI                           = 0x04bc
  2545  	XK_kana_SO                            = 0x04bf
  2546  	XK_kana_SU                            = 0x04bd
  2547  	XK_kana_TA                            = 0x04c0
  2548  	XK_kana_TE                            = 0x04c3
  2549  	XK_kana_TI                            = 0x04c1
  2550  	XK_kana_TO                            = 0x04c4
  2551  	XK_kana_TSU                           = 0x04c2
  2552  	XK_kana_TU                            = 0x04c2
  2553  	XK_kana_U                             = 0x04b3
  2554  	XK_kana_WA                            = 0x04dc
  2555  	XK_kana_WO                            = 0x04a6
  2556  	XK_kana_YA                            = 0x04d4
  2557  	XK_kana_YO                            = 0x04d6
  2558  	XK_kana_YU                            = 0x04d5
  2559  	XK_kana_a                             = 0x04a7
  2560  	XK_kana_closingbracket                = 0x04a3
  2561  	XK_kana_comma                         = 0x04a4
  2562  	XK_kana_conjunctive                   = 0x04a5
  2563  	XK_kana_e                             = 0x04aa
  2564  	XK_kana_fullstop                      = 0x04a1
  2565  	XK_kana_i                             = 0x04a8
  2566  	XK_kana_middledot                     = 0x04a5
  2567  	XK_kana_o                             = 0x04ab
  2568  	XK_kana_openingbracket                = 0x04a2
  2569  	XK_kana_switch                        = 0xff7e
  2570  	XK_kana_tsu                           = 0x04af
  2571  	XK_kana_tu                            = 0x04af
  2572  	XK_kana_u                             = 0x04a9
  2573  	XK_kana_ya                            = 0x04ac
  2574  	XK_kana_yo                            = 0x04ae
  2575  	XK_kana_yu                            = 0x04ad
  2576  	XK_kappa                              = 0x03a2
  2577  	XK_kcedilla                           = 0x03f3
  2578  	XK_kra                                = 0x03a2
  2579  	XK_l                                  = 0x006c
  2580  	XK_lacute                             = 0x01e5
  2581  	XK_lbelowdot                          = 0x1001e37
  2582  	XK_lcaron                             = 0x01b5
  2583  	XK_lcedilla                           = 0x03b6
  2584  	XK_less                               = 0x003c
  2585  	XK_lstroke                            = 0x01b3
  2586  	XK_m                                  = 0x006d
  2587  	XK_mabovedot                          = 0x1001e41
  2588  	XK_macron                             = 0x00af
  2589  	XK_masculine                          = 0x00ba
  2590  	XK_minus                              = 0x002d
  2591  	XK_mu                                 = 0x00b5
  2592  	XK_multiply                           = 0x00d7
  2593  	XK_n                                  = 0x006e
  2594  	XK_nacute                             = 0x01f1
  2595  	XK_ncaron                             = 0x01f2
  2596  	XK_ncedilla                           = 0x03f1
  2597  	XK_ninesubscript                      = 0x1002089
  2598  	XK_ninesuperior                       = 0x1002079
  2599  	XK_nobreakspace                       = 0x00a0
  2600  	XK_notapproxeq                        = 0x1002247
  2601  	XK_notelementof                       = 0x1002209
  2602  	XK_notidentical                       = 0x1002262
  2603  	XK_notsign                            = 0x00ac
  2604  	XK_ntilde                             = 0x00f1
  2605  	XK_numbersign                         = 0x0023
  2606  	XK_numerosign                         = 0x06b0
  2607  	XK_o                                  = 0x006f
  2608  	XK_oacute                             = 0x00f3
  2609  	XK_obarred                            = 0x1000275
  2610  	XK_obelowdot                          = 0x1001ecd
  2611  	XK_ocaron                             = 0x10001d2
  2612  	XK_ocircumflex                        = 0x00f4
  2613  	XK_ocircumflexacute                   = 0x1001ed1
  2614  	XK_ocircumflexbelowdot                = 0x1001ed9
  2615  	XK_ocircumflexgrave                   = 0x1001ed3
  2616  	XK_ocircumflexhook                    = 0x1001ed5
  2617  	XK_ocircumflextilde                   = 0x1001ed7
  2618  	XK_odiaeresis                         = 0x00f6
  2619  	XK_odoubleacute                       = 0x01f5
  2620  	XK_oe                                 = 0x13bd
  2621  	XK_ogonek                             = 0x01b2
  2622  	XK_ograve                             = 0x00f2
  2623  	XK_ohook                              = 0x1001ecf
  2624  	XK_ohorn                              = 0x10001a1
  2625  	XK_ohornacute                         = 0x1001edb
  2626  	XK_ohornbelowdot                      = 0x1001ee3
  2627  	XK_ohorngrave                         = 0x1001edd
  2628  	XK_ohornhook                          = 0x1001edf
  2629  	XK_ohorntilde                         = 0x1001ee1
  2630  	XK_omacron                            = 0x03f2
  2631  	XK_onehalf                            = 0x00bd
  2632  	XK_onequarter                         = 0x00bc
  2633  	XK_onesubscript                       = 0x1002081
  2634  	XK_onesuperior                        = 0x00b9
  2635  	XK_ooblique                           = 0x00f8
  2636  	XK_ordfeminine                        = 0x00aa
  2637  	XK_oslash                             = 0x00f8
  2638  	XK_otilde                             = 0x00f5
  2639  	XK_overline                           = 0x047e
  2640  	XK_p                                  = 0x0070
  2641  	XK_pabovedot                          = 0x1001e57
  2642  	XK_paragraph                          = 0x00b6
  2643  	XK_parenleft                          = 0x0028
  2644  	XK_parenright                         = 0x0029
  2645  	XK_partdifferential                   = 0x1002202
  2646  	XK_percent                            = 0x0025
  2647  	XK_period                             = 0x002e
  2648  	XK_periodcentered                     = 0x00b7
  2649  	XK_plus                               = 0x002b
  2650  	XK_plusminus                          = 0x00b1
  2651  	XK_prolongedsound                     = 0x04b0
  2652  	XK_q                                  = 0x0071
  2653  	XK_question                           = 0x003f
  2654  	XK_questiondown                       = 0x00bf
  2655  	XK_quotedbl                           = 0x0022
  2656  	XK_quoteleft                          = 0x0060
  2657  	XK_quoteright                         = 0x0027
  2658  	XK_r                                  = 0x0072
  2659  	XK_racute                             = 0x01e0
  2660  	XK_rcaron                             = 0x01f8
  2661  	XK_rcedilla                           = 0x03b3
  2662  	XK_registered                         = 0x00ae
  2663  	XK_s                                  = 0x0073
  2664  	XK_sabovedot                          = 0x1001e61
  2665  	XK_sacute                             = 0x01b6
  2666  	XK_scaron                             = 0x01b9
  2667  	XK_scedilla                           = 0x01ba
  2668  	XK_schwa                              = 0x1000259
  2669  	XK_scircumflex                        = 0x02fe
  2670  	XK_script_switch                      = 0xff7e
  2671  	XK_section                            = 0x00a7
  2672  	XK_semicolon                          = 0x003b
  2673  	XK_semivoicedsound                    = 0x04df
  2674  	XK_sevensubscript                     = 0x1002087
  2675  	XK_sevensuperior                      = 0x1002077
  2676  	XK_sixsubscript                       = 0x1002086
  2677  	XK_sixsuperior                        = 0x1002076
  2678  	XK_slash                              = 0x002f
  2679  	XK_space                              = 0x0020
  2680  	XK_squareroot                         = 0x100221A
  2681  	XK_ssharp                             = 0x00df
  2682  	XK_sterling                           = 0x00a3
  2683  	XK_stricteq                           = 0x1002263
  2684  	XK_t                                  = 0x0074
  2685  	XK_tabovedot                          = 0x1001e6b
  2686  	XK_tcaron                             = 0x01bb
  2687  	XK_tcedilla                           = 0x01fe
  2688  	XK_thorn                              = 0x00fe
  2689  	XK_threequarters                      = 0x00be
  2690  	XK_threesubscript                     = 0x1002083
  2691  	XK_threesuperior                      = 0x00b3
  2692  	XK_tintegral                          = 0x100222D
  2693  	XK_tslash                             = 0x03bc
  2694  	XK_twosubscript                       = 0x1002082
  2695  	XK_twosuperior                        = 0x00b2
  2696  	XK_u                                  = 0x0075
  2697  	XK_uacute                             = 0x00fa
  2698  	XK_ubelowdot                          = 0x1001ee5
  2699  	XK_ubreve                             = 0x02fd
  2700  	XK_ucircumflex                        = 0x00fb
  2701  	XK_udiaeresis                         = 0x00fc
  2702  	XK_udoubleacute                       = 0x01fb
  2703  	XK_ugrave                             = 0x00f9
  2704  	XK_uhook                              = 0x1001ee7
  2705  	XK_uhorn                              = 0x10001b0
  2706  	XK_uhornacute                         = 0x1001ee9
  2707  	XK_uhornbelowdot                      = 0x1001ef1
  2708  	XK_uhorngrave                         = 0x1001eeb
  2709  	XK_uhornhook                          = 0x1001eed
  2710  	XK_uhorntilde                         = 0x1001eef
  2711  	XK_umacron                            = 0x03fe
  2712  	XK_underscore                         = 0x005f
  2713  	XK_uogonek                            = 0x03f9
  2714  	XK_uring                              = 0x01f9
  2715  	XK_utilde                             = 0x03fd
  2716  	XK_v                                  = 0x0076
  2717  	XK_voicedsound                        = 0x04de
  2718  	XK_w                                  = 0x0077
  2719  	XK_wacute                             = 0x1001e83
  2720  	XK_wcircumflex                        = 0x1000175
  2721  	XK_wdiaeresis                         = 0x1001e85
  2722  	XK_wgrave                             = 0x1001e81
  2723  	XK_x                                  = 0x0078
  2724  	XK_xabovedot                          = 0x1001e8b
  2725  	XK_y                                  = 0x0079
  2726  	XK_yacute                             = 0x00fd
  2727  	XK_ybelowdot                          = 0x1001ef5
  2728  	XK_ycircumflex                        = 0x1000177
  2729  	XK_ydiaeresis                         = 0x00ff
  2730  	XK_yen                                = 0x00a5
  2731  	XK_ygrave                             = 0x1001ef3
  2732  	XK_yhook                              = 0x1001ef7
  2733  	XK_ytilde                             = 0x1001ef9
  2734  	XK_z                                  = 0x007a
  2735  	XK_zabovedot                          = 0x01bf
  2736  	XK_zacute                             = 0x01bc
  2737  	XK_zcaron                             = 0x01be
  2738  	XK_zerosubscript                      = 0x1002080
  2739  	XK_zerosuperior                       = 0x1002070
  2740  	XK_zstroke                            = 0x10001b6
  2741  	XLocaleNotSupported                   = -2
  2742  	XLookupBoth                           = 4
  2743  	XLookupChars                          = 2
  2744  	XLookupKeySym                         = 3
  2745  	XLookupNone                           = 1
  2746  	XMD_H                                 = 1
  2747  	XNArea                                = "area"
  2748  	XNAreaNeeded                          = "areaNeeded"
  2749  	XNBackground                          = "background"
  2750  	XNBackgroundPixmap                    = "backgroundPixmap"
  2751  	XNBaseFontName                        = "baseFontName"
  2752  	XNClientWindow                        = "clientWindow"
  2753  	XNColormap                            = "colorMap"
  2754  	XNContextualDrawing                   = "contextualDrawing"
  2755  	XNCursor                              = "cursor"
  2756  	XNDefaultString                       = "defaultString"
  2757  	XNDestroyCallback                     = "destroyCallback"
  2758  	XNDirectionalDependentDrawing         = "directionalDependentDrawing"
  2759  	XNFilterEvents                        = "filterEvents"
  2760  	XNFocusWindow                         = "focusWindow"
  2761  	XNFontInfo                            = "fontInfo"
  2762  	XNFontSet                             = "fontSet"
  2763  	XNForeground                          = "foreground"
  2764  	XNGeometryCallback                    = "geometryCallback"
  2765  	XNHotKey                              = "hotKey"
  2766  	XNHotKeyState                         = "hotKeyState"
  2767  	XNInputStyle                          = "inputStyle"
  2768  	XNLineSpace                           = "lineSpace"
  2769  	XNMissingCharSet                      = "missingCharSet"
  2770  	XNOMAutomatic                         = "omAutomatic"
  2771  	XNOrientation                         = "orientation"
  2772  	XNPreeditAttributes                   = "preeditAttributes"
  2773  	XNPreeditCaretCallback                = "preeditCaretCallback"
  2774  	XNPreeditDoneCallback                 = "preeditDoneCallback"
  2775  	XNPreeditDrawCallback                 = "preeditDrawCallback"
  2776  	XNPreeditStartCallback                = "preeditStartCallback"
  2777  	XNPreeditState                        = "preeditState"
  2778  	XNPreeditStateNotifyCallback          = "preeditStateNotifyCallback"
  2779  	XNQueryICValuesList                   = "queryICValuesList"
  2780  	XNQueryIMValuesList                   = "queryIMValuesList"
  2781  	XNQueryInputStyle                     = "queryInputStyle"
  2782  	XNQueryOrientation                    = "queryOrientation"
  2783  	XNR6PreeditCallback                   = "r6PreeditCallback"
  2784  	XNRequiredCharSet                     = "requiredCharSet"
  2785  	XNResetState                          = "resetState"
  2786  	XNResourceClass                       = "resourceClass"
  2787  	XNResourceName                        = "resourceName"
  2788  	XNSeparatorofNestedList               = "separatorofNestedList"
  2789  	XNSpotLocation                        = "spotLocation"
  2790  	XNStatusAttributes                    = "statusAttributes"
  2791  	XNStatusDoneCallback                  = "statusDoneCallback"
  2792  	XNStatusDrawCallback                  = "statusDrawCallback"
  2793  	XNStatusStartCallback                 = "statusStartCallback"
  2794  	XNStdColormap                         = "stdColorMap"
  2795  	XNStringConversion                    = "stringConversion"
  2796  	XNStringConversionCallback            = "stringConversionCallback"
  2797  	XNVaNestedList                        = "XNVaNestedList"
  2798  	XNVisiblePosition                     = "visiblePosition"
  2799  	XNegative                             = 0x0010
  2800  	XNoMemory                             = -1
  2801  	XPROTOSTRUCTS_H                       = 0
  2802  	XPROTO_H                              = 0
  2803  	XTHREADS                              = 1
  2804  	XUSE_MTSAFE_API                       = 1
  2805  	XUrgencyHint                          = 256
  2806  	XValue                                = 0x0001
  2807  	XYBitmap                              = 0
  2808  	XYPixmap                              = 1
  2809  	X_AllocColor                          = 84
  2810  	X_AllocColorCells                     = 86
  2811  	X_AllocColorPlanes                    = 87
  2812  	X_AllocNamedColor                     = 85
  2813  	X_AllowEvents                         = 35
  2814  	X_Bell                                = 104
  2815  	X_ChangeActivePointerGrab             = 30
  2816  	X_ChangeGC                            = 56
  2817  	X_ChangeHosts                         = 109
  2818  	X_ChangeKeyboardControl               = 102
  2819  	X_ChangeKeyboardMapping               = 100
  2820  	X_ChangePointerControl                = 105
  2821  	X_ChangeProperty                      = 18
  2822  	X_ChangeSaveSet                       = 6
  2823  	X_ChangeWindowAttributes              = 2
  2824  	X_CirculateWindow                     = 13
  2825  	X_ClearArea                           = 61
  2826  	X_CloseFont                           = 46
  2827  	X_ConfigureWindow                     = 12
  2828  	X_ConvertSelection                    = 24
  2829  	X_CopyArea                            = 62
  2830  	X_CopyColormapAndFree                 = 80
  2831  	X_CopyGC                              = 57
  2832  	X_CopyPlane                           = 63
  2833  	X_CreateColormap                      = 78
  2834  	X_CreateCursor                        = 93
  2835  	X_CreateGC                            = 55
  2836  	X_CreateGlyphCursor                   = 94
  2837  	X_CreatePixmap                        = 53
  2838  	X_CreateWindow                        = 1
  2839  	X_DeleteProperty                      = 19
  2840  	X_DestroySubwindows                   = 5
  2841  	X_DestroyWindow                       = 4
  2842  	X_Error                               = 0
  2843  	X_FillPoly                            = 69
  2844  	X_ForceScreenSaver                    = 115
  2845  	X_FreeColormap                        = 79
  2846  	X_FreeColors                          = 88
  2847  	X_FreeCursor                          = 95
  2848  	X_FreeGC                              = 60
  2849  	X_FreePixmap                          = 54
  2850  	X_GetAtomName                         = 17
  2851  	X_GetFontPath                         = 52
  2852  	X_GetGeometry                         = 14
  2853  	X_GetImage                            = 73
  2854  	X_GetInputFocus                       = 43
  2855  	X_GetKeyboardControl                  = 103
  2856  	X_GetKeyboardMapping                  = 101
  2857  	X_GetModifierMapping                  = 119
  2858  	X_GetMotionEvents                     = 39
  2859  	X_GetPointerControl                   = 106
  2860  	X_GetPointerMapping                   = 117
  2861  	X_GetProperty                         = 20
  2862  	X_GetScreenSaver                      = 108
  2863  	X_GetSelectionOwner                   = 23
  2864  	X_GetWindowAttributes                 = 3
  2865  	X_GrabButton                          = 28
  2866  	X_GrabKey                             = 33
  2867  	X_GrabKeyboard                        = 31
  2868  	X_GrabPointer                         = 26
  2869  	X_GrabServer                          = 36
  2870  	X_H                                   = 0
  2871  	X_HAVE_UTF8_STRING                    = 1
  2872  	X_ImageText16                         = 77
  2873  	X_ImageText8                          = 76
  2874  	X_InstallColormap                     = 81
  2875  	X_InternAtom                          = 16
  2876  	X_KillClient                          = 113
  2877  	X_ListExtensions                      = 99
  2878  	X_ListFonts                           = 49
  2879  	X_ListFontsWithInfo                   = 50
  2880  	X_ListHosts                           = 110
  2881  	X_ListInstalledColormaps              = 83
  2882  	X_ListProperties                      = 21
  2883  	X_LookupColor                         = 92
  2884  	X_MapSubwindows                       = 9
  2885  	X_MapWindow                           = 8
  2886  	X_NoOperation                         = 127
  2887  	X_OpenFont                            = 45
  2888  	X_PROTOCOL                            = 11
  2889  	X_PROTOCOL_REVISION                   = 0
  2890  	X_PolyArc                             = 68
  2891  	X_PolyFillArc                         = 71
  2892  	X_PolyFillRectangle                   = 70
  2893  	X_PolyLine                            = 65
  2894  	X_PolyPoint                           = 64
  2895  	X_PolyRectangle                       = 67
  2896  	X_PolySegment                         = 66
  2897  	X_PolyText16                          = 75
  2898  	X_PolyText8                           = 74
  2899  	X_PutImage                            = 72
  2900  	X_QueryBestSize                       = 97
  2901  	X_QueryColors                         = 91
  2902  	X_QueryExtension                      = 98
  2903  	X_QueryFont                           = 47
  2904  	X_QueryKeymap                         = 44
  2905  	X_QueryPointer                        = 38
  2906  	X_QueryTextExtents                    = 48
  2907  	X_QueryTree                           = 15
  2908  	X_RecolorCursor                       = 96
  2909  	X_RenderAddGlyphs                     = 20
  2910  	X_RenderAddGlyphsFromPicture          = 21
  2911  	X_RenderAddTraps                      = 32
  2912  	X_RenderChangePicture                 = 5
  2913  	X_RenderColorTrapezoids               = 14
  2914  	X_RenderColorTriangles                = 15
  2915  	X_RenderComposite                     = 8
  2916  	X_RenderCompositeGlyphs16             = 24
  2917  	X_RenderCompositeGlyphs32             = 25
  2918  	X_RenderCompositeGlyphs8              = 23
  2919  	X_RenderCreateAnimCursor              = 31
  2920  	X_RenderCreateConicalGradient         = 36
  2921  	X_RenderCreateCursor                  = 27
  2922  	X_RenderCreateGlyphSet                = 17
  2923  	X_RenderCreateLinearGradient          = 34
  2924  	X_RenderCreatePicture                 = 4
  2925  	X_RenderCreateRadialGradient          = 35
  2926  	X_RenderCreateSolidFill               = 33
  2927  	X_RenderFillRectangles                = 26
  2928  	X_RenderFreeGlyphSet                  = 19
  2929  	X_RenderFreeGlyphs                    = 22
  2930  	X_RenderFreePicture                   = 7
  2931  	X_RenderQueryDithers                  = 3
  2932  	X_RenderQueryFilters                  = 29
  2933  	X_RenderQueryPictFormats              = 1
  2934  	X_RenderQueryPictIndexValues          = 2
  2935  	X_RenderQueryVersion                  = 0
  2936  	X_RenderReferenceGlyphSet             = 18
  2937  	X_RenderScale                         = 9
  2938  	X_RenderSetPictureClipRectangles      = 6
  2939  	X_RenderSetPictureFilter              = 30
  2940  	X_RenderSetPictureTransform           = 28
  2941  	X_RenderTrapezoids                    = 10
  2942  	X_RenderTriFan                        = 13
  2943  	X_RenderTriStrip                      = 12
  2944  	X_RenderTriangles                     = 11
  2945  	X_ReparentWindow                      = 7
  2946  	X_Reply                               = 1
  2947  	X_RotateProperties                    = 114
  2948  	X_SendEvent                           = 25
  2949  	X_SetAccessControl                    = 111
  2950  	X_SetClipRectangles                   = 59
  2951  	X_SetCloseDownMode                    = 112
  2952  	X_SetDashes                           = 58
  2953  	X_SetFontPath                         = 51
  2954  	X_SetInputFocus                       = 42
  2955  	X_SetModifierMapping                  = 118
  2956  	X_SetPointerMapping                   = 116
  2957  	X_SetScreenSaver                      = 107
  2958  	X_SetSelectionOwner                   = 22
  2959  	X_StoreColors                         = 89
  2960  	X_StoreNamedColor                     = 90
  2961  	X_TCP_PORT                            = 6000
  2962  	X_TranslateCoords                     = 40
  2963  	X_UngrabButton                        = 29
  2964  	X_UngrabKey                           = 34
  2965  	X_UngrabKeyboard                      = 32
  2966  	X_UngrabPointer                       = 27
  2967  	X_UngrabServer                        = 37
  2968  	X_UninstallColormap                   = 82
  2969  	X_UnmapSubwindows                     = 11
  2970  	X_UnmapWindow                         = 10
  2971  	X_WarpPointer                         = 41
  2972  	XlibDisplayClosing                    = 2
  2973  	XlibDisplayDfltRMDB                   = 128
  2974  	XlibDisplayIOError                    = 1
  2975  	XlibDisplayNoXkb                      = 4
  2976  	XlibDisplayPrivSync                   = 8
  2977  	XlibDisplayProcConni                  = 16
  2978  	XlibDisplayReadEvents                 = 32
  2979  	XlibDisplayReply                      = 32
  2980  	XlibDisplayWriting                    = 64
  2981  	XlibSpecificationRelease              = 6
  2982  	YNegative                             = 0x0020
  2983  	YSorted                               = 1
  2984  	YValue                                = 0x0002
  2985  	YXBanded                              = 3
  2986  	YXSorted                              = 2
  2987  	ZLNSPERBATCH                          = 1024
  2988  	ZPixmap                               = 2
  2989  	ZRCTSPERBATCH                         = 256
  2990  	ZoomState                             = 2
  2991  	X_ALLOCA_H                            = 1
  2992  	X_ANSI_STDDEF_H                       = 0
  2993  	X_ASM_GENERIC_ERRNO_BASE_H            = 0
  2994  	X_ASM_GENERIC_ERRNO_H                 = 0
  2995  	X_ATFILE_SOURCE                       = 1
  2996  	X_BITS_BYTESWAP_H                     = 1
  2997  	X_BITS_ENDIANNESS_H                   = 1
  2998  	X_BITS_ENDIAN_H                       = 1
  2999  	X_BITS_ERRNO_H                        = 1
  3000  	X_BITS_FLOATN_COMMON_H                = 0
  3001  	X_BITS_FLOATN_H                       = 0
  3002  	X_BITS_PTHREADTYPES_ARCH_H            = 1
  3003  	X_BITS_PTHREADTYPES_COMMON_H          = 1
  3004  	X_BITS_STDINT_INTN_H                  = 1
  3005  	X_BITS_STDINT_UINTN_H                 = 1
  3006  	X_BITS_TIME64_H                       = 1
  3007  	X_BITS_TYPESIZES_H                    = 1
  3008  	X_BITS_TYPES_H                        = 1
  3009  	X_BITS_TYPES_LOCALE_T_H               = 1
  3010  	X_BITS_TYPES___LOCALE_T_H             = 1
  3011  	X_BITS_UINTN_IDENTITY_H               = 1
  3012  	X_BITS_WCHAR_H                        = 1
  3013  	X_BSD_PTRDIFF_T_                      = 0
  3014  	X_BSD_SIZE_T_                         = 0
  3015  	X_BSD_SIZE_T_DEFINED_                 = 0
  3016  	X_DEFAULT_SOURCE                      = 1
  3017  	X_ENDIAN_H                            = 1
  3018  	X_ERRNO_H                             = 1
  3019  	X_FEATURES_H                          = 1
  3020  	X_FILE_OFFSET_BITS                    = 64
  3021  	X_GCC_MAX_ALIGN_T                     = 0
  3022  	X_GCC_PTRDIFF_T                       = 0
  3023  	X_GCC_SIZE_T                          = 0
  3024  	X_GCC_WCHAR_T                         = 0
  3025  	X_GCC_WRAP_STDINT_H                   = 0
  3026  	X_ILP32                               = 1
  3027  	X_POSIX_C_SOURCE                      = 200809
  3028  	X_POSIX_SOURCE                        = 1
  3029  	X_PTRDIFF_T                           = 0
  3030  	X_PTRDIFF_T_                          = 0
  3031  	X_PTRDIFF_T_DECLARED                  = 0
  3032  	X_RENDER_H_                           = 0
  3033  	X_RWLOCK_INTERNAL_H                   = 0
  3034  	X_SIZET_                              = 0
  3035  	X_SIZE_T                              = 0
  3036  	X_SIZE_T_                             = 0
  3037  	X_SIZE_T_DECLARED                     = 0
  3038  	X_SIZE_T_DEFINED                      = 0
  3039  	X_SIZE_T_DEFINED_                     = 0
  3040  	X_STDC_PREDEF_H                       = 1
  3041  	X_STDDEF_H                            = 0
  3042  	X_STDDEF_H_                           = 0
  3043  	X_STDINT_H                            = 1
  3044  	X_STDLIB_H                            = 1
  3045  	X_STRINGS_H                           = 1
  3046  	X_STRING_H                            = 1
  3047  	X_STRUCT_TIMESPEC                     = 1
  3048  	X_SYS_CDEFS_H                         = 1
  3049  	X_SYS_SELECT_H                        = 1
  3050  	X_SYS_SIZE_T_H                        = 0
  3051  	X_SYS_TYPES_H                         = 1
  3052  	X_THREAD_MUTEX_INTERNAL_H             = 1
  3053  	X_THREAD_SHARED_TYPES_H               = 1
  3054  	X_T_PTRDIFF                           = 0
  3055  	X_T_PTRDIFF_                          = 0
  3056  	X_T_SIZE                              = 0
  3057  	X_T_SIZE_                             = 0
  3058  	X_T_WCHAR                             = 0
  3059  	X_T_WCHAR_                            = 0
  3060  	X_WCHAR_T                             = 0
  3061  	X_WCHAR_T_                            = 0
  3062  	X_WCHAR_T_DECLARED                    = 0
  3063  	X_WCHAR_T_DEFINED                     = 0
  3064  	X_WCHAR_T_DEFINED_                    = 0
  3065  	X_WCHAR_T_H                           = 0
  3066  	X_X11_XLIBINT_H_                      = 1
  3067  	X_X11_XLIB_H_                         = 0
  3068  	X_X11_XUTIL_H_                        = 0
  3069  	X_XDEFS_H                             = 0
  3070  	X_XFUNCPROTOBEGIN                     = 0
  3071  	X_XFUNCPROTOEND                       = 0
  3072  	X_XFUNCPROTO_H_                       = 0
  3073  	X_XFUNCS_H_                           = 0
  3074  	X_XFUNCS_H_INCLUDED_STRING_H          = 0
  3075  	X_XLIBCONF_H_                         = 0
  3076  	X_XOSDEFS_H_                          = 0
  3077  	X_XRENDERINT_H_                       = 0
  3078  	X_XRENDERP_H_                         = 0
  3079  	X_XRENDER_H_                          = 0
  3080  	X_XTYPEDEF_ATOM                       = 0
  3081  	X_XTYPEDEF_CLIENTPTR                  = 0
  3082  	X_XTYPEDEF_FONT                       = 0
  3083  	X_XTYPEDEF_FONTPTR                    = 0
  3084  	X_XTYPEDEF_MASK                       = 0
  3085  	X_XTYPEDEF_POINTER                    = 0
  3086  	X_XTYPEDEF_XID                        = 0
  3087  	X_X_NOTSAN                            = 0
  3088  	I386                                  = 1
  3089  	Linux                                 = 1
  3090  	Sz_xAllocColorCellsReply              = 32
  3091  	Sz_xAllocColorCellsReq                = 12
  3092  	Sz_xAllocColorPlanesReply             = 32
  3093  	Sz_xAllocColorPlanesReq               = 16
  3094  	Sz_xAllocColorReply                   = 32
  3095  	Sz_xAllocColorReq                     = 16
  3096  	Sz_xAllocNamedColorReply              = 32
  3097  	Sz_xAllocNamedColorReq                = 12
  3098  	Sz_xAllowEventsReq                    = 8
  3099  	Sz_xAnimCursorElt                     = 8
  3100  	Sz_xArc                               = 12
  3101  	Sz_xBellReq                           = 4
  3102  	Sz_xChangeActivePointerGrabReq        = 16
  3103  	Sz_xChangeGCReq                       = 12
  3104  	Sz_xChangeHostsReq                    = 8
  3105  	Sz_xChangeKeyboardControlReq          = 8
  3106  	Sz_xChangeKeyboardMappingReq          = 8
  3107  	Sz_xChangeModeReq                     = 4
  3108  	Sz_xChangePointerControlReq           = 12
  3109  	Sz_xChangePropertyReq                 = 24
  3110  	Sz_xChangeSaveSetReq                  = 8
  3111  	Sz_xChangeWindowAttributesReq         = 12
  3112  	Sz_xCharInfo                          = 12
  3113  	Sz_xCirculateWindowReq                = 8
  3114  	Sz_xClearAreaReq                      = 16
  3115  	Sz_xColorItem                         = 12
  3116  	Sz_xConfigureWindowReq                = 12
  3117  	Sz_xConnClientPrefix                  = 12
  3118  	Sz_xConnSetup                         = 32
  3119  	Sz_xConnSetupPrefix                   = 8
  3120  	Sz_xConvertSelectionReq               = 24
  3121  	Sz_xCopyAreaReq                       = 28
  3122  	Sz_xCopyColormapAndFreeReq            = 12
  3123  	Sz_xCopyGCReq                         = 16
  3124  	Sz_xCopyPlaneReq                      = 32
  3125  	Sz_xCreateColormapReq                 = 16
  3126  	Sz_xCreateCursorReq                   = 32
  3127  	Sz_xCreateGCReq                       = 16
  3128  	Sz_xCreateGlyphCursorReq              = 32
  3129  	Sz_xCreatePixmapReq                   = 16
  3130  	Sz_xCreateWindowReq                   = 32
  3131  	Sz_xDeletePropertyReq                 = 12
  3132  	Sz_xDepth                             = 8
  3133  	Sz_xDirectFormat                      = 16
  3134  	Sz_xError                             = 32
  3135  	Sz_xEvent                             = 32
  3136  	Sz_xFillPolyReq                       = 16
  3137  	Sz_xFontProp                          = 8
  3138  	Sz_xForceScreenSaverReq               = 4
  3139  	Sz_xFreeColorsReq                     = 12
  3140  	Sz_xGenericReply                      = 32
  3141  	Sz_xGetAtomNameReply                  = 32
  3142  	Sz_xGetFontPathReply                  = 32
  3143  	Sz_xGetGeometryReply                  = 32
  3144  	Sz_xGetImageReply                     = 32
  3145  	Sz_xGetImageReq                       = 20
  3146  	Sz_xGetInputFocusReply                = 32
  3147  	Sz_xGetKeyboardControlReply           = 52
  3148  	Sz_xGetKeyboardMappingReply           = 32
  3149  	Sz_xGetKeyboardMappingReq             = 8
  3150  	Sz_xGetModifierMappingReply           = 32
  3151  	Sz_xGetMotionEventsReply              = 32
  3152  	Sz_xGetMotionEventsReq                = 16
  3153  	Sz_xGetPointerControlReply            = 32
  3154  	Sz_xGetPointerMappingReply            = 32
  3155  	Sz_xGetPropertyReply                  = 32
  3156  	Sz_xGetPropertyReq                    = 24
  3157  	Sz_xGetScreenSaverReply               = 32
  3158  	Sz_xGetSelectionOwnerReply            = 32
  3159  	Sz_xGetWindowAttributesReply          = 44
  3160  	Sz_xGlyphElt                          = 8
  3161  	Sz_xGlyphInfo                         = 12
  3162  	Sz_xGrabButtonReq                     = 24
  3163  	Sz_xGrabKeyReq                        = 16
  3164  	Sz_xGrabKeyboardReply                 = 32
  3165  	Sz_xGrabKeyboardReq                   = 16
  3166  	Sz_xGrabPointerReply                  = 32
  3167  	Sz_xGrabPointerReq                    = 24
  3168  	Sz_xHostEntry                         = 4
  3169  	Sz_xImageText16Req                    = 16
  3170  	Sz_xImageText8Req                     = 16
  3171  	Sz_xImageTextReq                      = 16
  3172  	Sz_xIndexValue                        = 12
  3173  	Sz_xInternAtomReply                   = 32
  3174  	Sz_xInternAtomReq                     = 8
  3175  	Sz_xKeymapEvent                       = 32
  3176  	Sz_xLineFixed                         = 16
  3177  	Sz_xListExtensionsReply               = 32
  3178  	Sz_xListFontsReply                    = 32
  3179  	Sz_xListFontsReq                      = 8
  3180  	Sz_xListFontsWithInfoReply            = 60
  3181  	Sz_xListFontsWithInfoReq              = 8
  3182  	Sz_xListHostsReply                    = 32
  3183  	Sz_xListHostsReq                      = 4
  3184  	Sz_xListInstalledColormapsReply       = 32
  3185  	Sz_xListPropertiesReply               = 32
  3186  	Sz_xLookupColorReply                  = 32
  3187  	Sz_xLookupColorReq                    = 12
  3188  	Sz_xOpenFontReq                       = 12
  3189  	Sz_xPictDepth                         = 8
  3190  	Sz_xPictFormInfo                      = 28
  3191  	Sz_xPictScreen                        = 8
  3192  	Sz_xPictVisual                        = 8
  3193  	Sz_xPixmapFormat                      = 8
  3194  	Sz_xPoint                             = 4
  3195  	Sz_xPointFixed                        = 8
  3196  	Sz_xPolyArcReq                        = 12
  3197  	Sz_xPolyFillArcReq                    = 12
  3198  	Sz_xPolyFillRectangleReq              = 12
  3199  	Sz_xPolyLineReq                       = 12
  3200  	Sz_xPolyPointReq                      = 12
  3201  	Sz_xPolyRectangleReq                  = 12
  3202  	Sz_xPolySegmentReq                    = 12
  3203  	Sz_xPolyText16Req                     = 16
  3204  	Sz_xPolyText8Req                      = 16
  3205  	Sz_xPolyTextReq                       = 16
  3206  	Sz_xPropIconSize                      = 24
  3207  	Sz_xPutImageReq                       = 24
  3208  	Sz_xQueryBestSizeReply                = 32
  3209  	Sz_xQueryBestSizeReq                  = 12
  3210  	Sz_xQueryColorsReply                  = 32
  3211  	Sz_xQueryColorsReq                    = 8
  3212  	Sz_xQueryExtensionReply               = 32
  3213  	Sz_xQueryExtensionReq                 = 8
  3214  	Sz_xQueryFontReply                    = 60
  3215  	Sz_xQueryKeymapReply                  = 40
  3216  	Sz_xQueryPointerReply                 = 32
  3217  	Sz_xQueryTextExtentsReply             = 32
  3218  	Sz_xQueryTextExtentsReq               = 8
  3219  	Sz_xQueryTreeReply                    = 32
  3220  	Sz_xRecolorCursorReq                  = 20
  3221  	Sz_xRectangle                         = 8
  3222  	Sz_xRenderAddGlyphsReq                = 12
  3223  	Sz_xRenderAddTrapsReq                 = 12
  3224  	Sz_xRenderChangePictureReq            = 12
  3225  	Sz_xRenderColor                       = 8
  3226  	Sz_xRenderCompositeGlyphs16Req        = 28
  3227  	Sz_xRenderCompositeGlyphs32Req        = 28
  3228  	Sz_xRenderCompositeGlyphs8Req         = 28
  3229  	Sz_xRenderCompositeReq                = 36
  3230  	Sz_xRenderCreateAnimCursorReq         = 8
  3231  	Sz_xRenderCreateConicalGradientReq    = 24
  3232  	Sz_xRenderCreateCursorReq             = 16
  3233  	Sz_xRenderCreateGlyphSetReq           = 12
  3234  	Sz_xRenderCreateLinearGradientReq     = 28
  3235  	Sz_xRenderCreatePictureReq            = 20
  3236  	Sz_xRenderCreateRadialGradientReq     = 36
  3237  	Sz_xRenderCreateSolidFillReq          = 16
  3238  	Sz_xRenderFillRectanglesReq           = 20
  3239  	Sz_xRenderFreeGlyphSetReq             = 8
  3240  	Sz_xRenderFreeGlyphsReq               = 8
  3241  	Sz_xRenderFreePictureReq              = 8
  3242  	Sz_xRenderQueryFiltersReply           = 32
  3243  	Sz_xRenderQueryFiltersReq             = 8
  3244  	Sz_xRenderQueryPictFormatsReply       = 32
  3245  	Sz_xRenderQueryPictFormatsReq         = 4
  3246  	Sz_xRenderQueryPictIndexValuesReply   = 32
  3247  	Sz_xRenderQueryPictIndexValuesReq     = 8
  3248  	Sz_xRenderQueryVersionReply           = 32
  3249  	Sz_xRenderQueryVersionReq             = 12
  3250  	Sz_xRenderReferenceGlyphSetReq        = 24
  3251  	Sz_xRenderScaleReq                    = 32
  3252  	Sz_xRenderSetPictureClipRectanglesReq = 12
  3253  	Sz_xRenderSetPictureFilterReq         = 12
  3254  	Sz_xRenderSetPictureTransformReq      = 44
  3255  	Sz_xRenderTransform                   = 36
  3256  	Sz_xRenderTrapezoidsReq               = 24
  3257  	Sz_xRenderTriFanReq                   = 24
  3258  	Sz_xRenderTriStripReq                 = 24
  3259  	Sz_xRenderTrianglesReq                = 24
  3260  	Sz_xReparentWindowReq                 = 16
  3261  	Sz_xReply                             = 32
  3262  	Sz_xReq                               = 4
  3263  	Sz_xResourceReq                       = 8
  3264  	Sz_xRotatePropertiesReq               = 12
  3265  	Sz_xSegment                           = 8
  3266  	Sz_xSendEventReq                      = 44
  3267  	Sz_xSetAccessControlReq               = 4
  3268  	Sz_xSetClipRectanglesReq              = 12
  3269  	Sz_xSetCloseDownModeReq               = 4
  3270  	Sz_xSetDashesReq                      = 12
  3271  	Sz_xSetFontPathReq                    = 8
  3272  	Sz_xSetInputFocusReq                  = 12
  3273  	Sz_xSetMappingReply                   = 32
  3274  	Sz_xSetModifierMappingReply           = 32
  3275  	Sz_xSetModifierMappingReq             = 4
  3276  	Sz_xSetPointerMappingReply            = 32
  3277  	Sz_xSetPointerMappingReq              = 4
  3278  	Sz_xSetScreenSaverReq                 = 12
  3279  	Sz_xSetSelectionOwnerReq              = 16
  3280  	Sz_xSpanFix                           = 12
  3281  	Sz_xStoreColorsReq                    = 8
  3282  	Sz_xStoreNamedColorReq                = 16
  3283  	Sz_xTextElt                           = 2
  3284  	Sz_xTimecoord                         = 8
  3285  	Sz_xTranslateCoordsReply              = 32
  3286  	Sz_xTranslateCoordsReq                = 16
  3287  	Sz_xTrap                              = 24
  3288  	Sz_xTrapezoid                         = 40
  3289  	Sz_xTriangle                          = 24
  3290  	Sz_xUngrabButtonReq                   = 12
  3291  	Sz_xUngrabKeyReq                      = 12
  3292  	Sz_xVisualType                        = 24
  3293  	Sz_xWarpPointerReq                    = 24
  3294  	Sz_xWindowRoot                        = 40
  3295  	Sz_xrgb                               = 8
  3296  	Unix                                  = 1
  3297  	XFalse                                = 0
  3298  	XTrue                                 = 1
  3299  	Size                                  = 2068
  3300  	AIO_PRIO_DELTA_MAX                    = 20
  3301  	BC_BASE_MAX                           = 99
  3302  	BC_DIM_MAX                            = 2048
  3303  	BC_SCALE_MAX                          = 99
  3304  	BC_STRING_MAX                         = 1000
  3305  	CHARCLASS_NAME_MAX                    = 2048
  3306  	CHAR_BIT                              = 8
  3307  	CHAR_MAX                              = 127
  3308  	CHAR_MIN                              = -128
  3309  	COLL_WEIGHTS_MAX                      = 255
  3310  	DELAYTIMER_MAX                        = 2147483647
  3311  	EXPR_NEST_MAX                         = 32
  3312  	HOST_NAME_MAX                         = 64
  3313  	INT_MAX                               = 2147483647
  3314  	INT_MIN                               = -2147483648
  3315  	LINE_MAX                              = 2048
  3316  	LLONG_MAX                             = 9223372036854775807
  3317  	LLONG_MIN                             = -9223372036854775808
  3318  	LOGIN_NAME_MAX                        = 256
  3319  	LONG_MAX                              = 2147483647
  3320  	LONG_MIN                              = -2147483648
  3321  	MAX_CANON                             = 255
  3322  	MAX_INPUT                             = 255
  3323  	MB_LEN_MAX                            = 16
  3324  	MQ_PRIO_MAX                           = 32768
  3325  	NAME_MAX                              = 255
  3326  	NGROUPS_MAX                           = 65536
  3327  	PATH_MAX                              = 4096
  3328  	PIPE_BUF                              = 4096
  3329  	PTHREAD_DESTRUCTOR_ITERATIONS         = 4
  3330  	PTHREAD_KEYS_MAX                      = 1024
  3331  	PTHREAD_STACK_MIN                     = 16384
  3332  	RE_DUP_MAX                            = 32767
  3333  	RTSIG_MAX                             = 32
  3334  	SCHAR_MAX                             = 127
  3335  	SCHAR_MIN                             = -128
  3336  	SEM_VALUE_MAX                         = 2147483647
  3337  	SHRT_MAX                              = 32767
  3338  	SHRT_MIN                              = -32768
  3339  	SSIZE_MAX                             = 2147483647
  3340  	TTY_NAME_MAX                          = 32
  3341  	UCHAR_MAX                             = 255
  3342  	UINT_MAX                              = 4294967295
  3343  	ULLONG_MAX                            = 18446744073709551615
  3344  	ULONG_MAX                             = 4294967295
  3345  	USHRT_MAX                             = 65535
  3346  	XATTR_LIST_MAX                        = 65536
  3347  	XATTR_NAME_MAX                        = 255
  3348  	XATTR_SIZE_MAX                        = 65536
  3349  	X_BITS_POSIX1_LIM_H                   = 1
  3350  	X_BITS_POSIX2_LIM_H                   = 1
  3351  	X_GCC_LIMITS_H_                       = 0
  3352  	X_LIBC_LIMITS_H_                      = 1
  3353  	X_LIMITS_H___                         = 0
  3354  	X_LINUX_LIMITS_H                      = 0
  3355  	X_POSIX2_BC_BASE_MAX                  = 99
  3356  	X_POSIX2_BC_DIM_MAX                   = 2048
  3357  	X_POSIX2_BC_SCALE_MAX                 = 99
  3358  	X_POSIX2_BC_STRING_MAX                = 1000
  3359  	X_POSIX2_CHARCLASS_NAME_MAX           = 14
  3360  	X_POSIX2_COLL_WEIGHTS_MAX             = 2
  3361  	X_POSIX2_EXPR_NEST_MAX                = 32
  3362  	X_POSIX2_LINE_MAX                     = 2048
  3363  	X_POSIX2_RE_DUP_MAX                   = 255
  3364  	X_POSIX_AIO_LISTIO_MAX                = 2
  3365  	X_POSIX_AIO_MAX                       = 1
  3366  	X_POSIX_ARG_MAX                       = 4096
  3367  	X_POSIX_CHILD_MAX                     = 25
  3368  	X_POSIX_CLOCKRES_MIN                  = 20000000
  3369  	X_POSIX_DELAYTIMER_MAX                = 32
  3370  	X_POSIX_HOST_NAME_MAX                 = 255
  3371  	X_POSIX_LINK_MAX                      = 8
  3372  	X_POSIX_LOGIN_NAME_MAX                = 9
  3373  	X_POSIX_MAX_CANON                     = 255
  3374  	X_POSIX_MAX_INPUT                     = 255
  3375  	X_POSIX_MQ_OPEN_MAX                   = 8
  3376  	X_POSIX_MQ_PRIO_MAX                   = 32
  3377  	X_POSIX_NAME_MAX                      = 14
  3378  	X_POSIX_NGROUPS_MAX                   = 8
  3379  	X_POSIX_OPEN_MAX                      = 20
  3380  	X_POSIX_PATH_MAX                      = 256
  3381  	X_POSIX_PIPE_BUF                      = 512
  3382  	X_POSIX_RE_DUP_MAX                    = 255
  3383  	X_POSIX_RTSIG_MAX                     = 8
  3384  	X_POSIX_SEM_NSEMS_MAX                 = 256
  3385  	X_POSIX_SEM_VALUE_MAX                 = 32767
  3386  	X_POSIX_SIGQUEUE_MAX                  = 32
  3387  	X_POSIX_SSIZE_MAX                     = 32767
  3388  	X_POSIX_STREAM_MAX                    = 8
  3389  	X_POSIX_SYMLINK_MAX                   = 255
  3390  	X_POSIX_SYMLOOP_MAX                   = 8
  3391  	X_POSIX_THREAD_DESTRUCTOR_ITERATIONS  = 4
  3392  	X_POSIX_THREAD_KEYS_MAX               = 128
  3393  	X_POSIX_THREAD_THREADS_MAX            = 64
  3394  	X_POSIX_TIMER_MAX                     = 32
  3395  	X_POSIX_TTY_NAME_MAX                  = 9
  3396  	X_POSIX_TZNAME_MAX                    = 6
  3397  	FALSE                                 = 0
  3398  	MAXSHORT                              = 32767
  3399  	MINSHORT                              = -32767
  3400  	NUMPTSTOBUFFER                        = 200
  3401  	TRUE                                  = 1
  3402  	X_X11_XREGION_H_                      = 0
  3403  	REQUIRED_DEPTHS                       = 2155872393
  3404  )
  3405  
  3406  const ( /* Xlib.h:1126:1: */
  3407  	XOMOrientation_LTR_TTB = 0
  3408  	XOMOrientation_RTL_TTB = 1
  3409  	XOMOrientation_TTB_LTR = 2
  3410  	XOMOrientation_TTB_RTL = 3
  3411  	XOMOrientation_Context = 4
  3412  )
  3413  
  3414  const ( /* Xlib.h:1315:1: */
  3415  	XIMForwardChar      = 0
  3416  	XIMBackwardChar     = 1
  3417  	XIMForwardWord      = 2
  3418  	XIMBackwardWord     = 3
  3419  	XIMCaretUp          = 4
  3420  	XIMCaretDown        = 5
  3421  	XIMNextLine         = 6
  3422  	XIMPreviousLine     = 7
  3423  	XIMLineStart        = 8
  3424  	XIMLineEnd          = 9
  3425  	XIMAbsolutePosition = 10
  3426  	XIMDontChange       = 11
  3427  )
  3428  
  3429  const ( /* Xlib.h:1340:1: */
  3430  	XIMIsInvisible = 0 // Disable caret feedback
  3431  	XIMIsPrimary   = 1 // UI defined caret feedback
  3432  	XIMIsSecondary = 2
  3433  )
  3434  
  3435  const ( /* Xlib.h:1352:1: */
  3436  	XIMTextType   = 0
  3437  	XIMBitmapType = 1
  3438  )
  3439  
  3440  const ( /* Xutil.h:174:1: */
  3441  	XStringStyle       = 0 // STRING
  3442  	XCompoundTextStyle = 1 // COMPOUND_TEXT
  3443  	XTextStyle         = 2 // text in owner's encoding (current locale)
  3444  	XStdICCTextStyle   = 3 // STRING, else COMPOUND_TEXT
  3445  	// The following is an XFree86 extension, introduced in November 2000
  3446  	XUTF8StringStyle = 4
  3447  )
  3448  
  3449  // the new Xfuncs.h
  3450  
  3451  // the ANSI C way
  3452  
  3453  //
  3454  //  O/S-dependent (mis)feature macro definitions
  3455  //
  3456  // Copyright 1991, 1998  The Open Group
  3457  //
  3458  // Permission to use, copy, modify, distribute, and sell this software and its
  3459  // documentation for any purpose is hereby granted without fee, provided that
  3460  // the above copyright notice appear in all copies and that both that
  3461  // copyright notice and this permission notice appear in supporting
  3462  // documentation.
  3463  //
  3464  // The above copyright notice and this permission notice shall be included in
  3465  // all copies or substantial portions of the Software.
  3466  //
  3467  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  3468  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  3469  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  3470  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  3471  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  3472  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  3473  //
  3474  // Except as contained in this notice, the name of The Open Group shall not be
  3475  // used in advertising or otherwise to promote the sale, use or other dealings
  3476  // in this Software without prior written authorization from The Open Group.
  3477  //
  3478  
  3479  // Utek leaves kernel macros around in include files (bleah)
  3480  
  3481  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  3482  //    This file is part of the GNU C Library.
  3483  //
  3484  //    The GNU C Library is free software; you can redistribute it and/or
  3485  //    modify it under the terms of the GNU Lesser General Public
  3486  //    License as published by the Free Software Foundation; either
  3487  //    version 2.1 of the License, or (at your option) any later version.
  3488  //
  3489  //    The GNU C Library is distributed in the hope that it will be useful,
  3490  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3491  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3492  //    Lesser General Public License for more details.
  3493  //
  3494  //    You should have received a copy of the GNU Lesser General Public
  3495  //    License along with the GNU C Library; if not, see
  3496  //    <https://www.gnu.org/licenses/>.
  3497  
  3498  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  3499  
  3500  // Handle feature test macros at the start of a header.
  3501  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  3502  //    This file is part of the GNU C Library.
  3503  //
  3504  //    The GNU C Library is free software; you can redistribute it and/or
  3505  //    modify it under the terms of the GNU Lesser General Public
  3506  //    License as published by the Free Software Foundation; either
  3507  //    version 2.1 of the License, or (at your option) any later version.
  3508  //
  3509  //    The GNU C Library is distributed in the hope that it will be useful,
  3510  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3511  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3512  //    Lesser General Public License for more details.
  3513  //
  3514  //    You should have received a copy of the GNU Lesser General Public
  3515  //    License along with the GNU C Library; if not, see
  3516  //    <https://www.gnu.org/licenses/>.
  3517  
  3518  // This header is internal to glibc and should not be included outside
  3519  //    of glibc headers.  Headers including it must define
  3520  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  3521  //    cannot have multiple include guards because ISO C feature test
  3522  //    macros depend on the definition of the macro when an affected
  3523  //    header is included, not when the first system header is
  3524  //    included.
  3525  
  3526  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  3527  //    This file is part of the GNU C Library.
  3528  //
  3529  //    The GNU C Library is free software; you can redistribute it and/or
  3530  //    modify it under the terms of the GNU Lesser General Public
  3531  //    License as published by the Free Software Foundation; either
  3532  //    version 2.1 of the License, or (at your option) any later version.
  3533  //
  3534  //    The GNU C Library is distributed in the hope that it will be useful,
  3535  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3536  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3537  //    Lesser General Public License for more details.
  3538  //
  3539  //    You should have received a copy of the GNU Lesser General Public
  3540  //    License along with the GNU C Library; if not, see
  3541  //    <https://www.gnu.org/licenses/>.
  3542  
  3543  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  3544  //    macro.
  3545  
  3546  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  3547  //    macro.  Most but not all symbols enabled by that macro in TS
  3548  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
  3549  //    still require that macro in C2X.
  3550  
  3551  // ISO/IEC TS 18661-4:2015 defines the
  3552  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  3553  //    functions, the symbols from this TS are enabled unconditionally in
  3554  //    C2X.
  3555  
  3556  // ISO/IEC TS 18661-3:2015 defines the
  3557  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  3558  
  3559  // Get size_t, wchar_t and NULL from <stddef.h>.
  3560  // Copyright (C) 1989-2020 Free Software Foundation, Inc.
  3561  //
  3562  // This file is part of GCC.
  3563  //
  3564  // GCC is free software; you can redistribute it and/or modify
  3565  // it under the terms of the GNU General Public License as published by
  3566  // the Free Software Foundation; either version 3, or (at your option)
  3567  // any later version.
  3568  //
  3569  // GCC is distributed in the hope that it will be useful,
  3570  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  3571  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3572  // GNU General Public License for more details.
  3573  //
  3574  // Under Section 7 of GPL version 3, you are granted additional
  3575  // permissions described in the GCC Runtime Library Exception, version
  3576  // 3.1, as published by the Free Software Foundation.
  3577  //
  3578  // You should have received a copy of the GNU General Public License and
  3579  // a copy of the GCC Runtime Library Exception along with this program;
  3580  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  3581  // <http://www.gnu.org/licenses/>.
  3582  
  3583  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  3584  
  3585  // Any one of these symbols __need_* means that GNU libc
  3586  //    wants us just to define one data type.  So don't define
  3587  //    the symbols that indicate this file's entire job has been done.
  3588  
  3589  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  3590  //    There's no way to win with the other order!  Sun lossage.
  3591  
  3592  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  3593  //    Just ignore it.
  3594  
  3595  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  3596  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  3597  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  3598  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  3599  //    If we find that the macros are still defined at this point, we must
  3600  //    invoke them so that the type is defined as expected.
  3601  
  3602  // In case nobody has defined these types, but we aren't running under
  3603  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  3604  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  3605  //    parts of GCC is compiled by an older compiler, that actually
  3606  //    include gstddef.h, such as collect2.
  3607  
  3608  // Signed type of difference of two pointers.
  3609  
  3610  // Define this type if we are doing the whole job,
  3611  //    or if we want this type in particular.
  3612  
  3613  // If this symbol has done its job, get rid of it.
  3614  
  3615  // Unsigned type of `sizeof' something.
  3616  
  3617  // Define this type if we are doing the whole job,
  3618  //    or if we want this type in particular.
  3619  
  3620  // Wide character type.
  3621  //    Locale-writers should change this as necessary to
  3622  //    be big enough to hold unique values not between 0 and 127,
  3623  //    and not (wchar_t) -1, for each defined multibyte character.
  3624  
  3625  // Define this type if we are doing the whole job,
  3626  //    or if we want this type in particular.
  3627  
  3628  // A null pointer constant.
  3629  
  3630  // Offset of member MEMBER in a struct of type TYPE.
  3631  
  3632  // XPG requires a few symbols from <sys/wait.h> being defined.
  3633  // Definitions of flag bits for `waitpid' et al.
  3634  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  3635  //    This file is part of the GNU C Library.
  3636  //
  3637  //    The GNU C Library is free software; you can redistribute it and/or
  3638  //    modify it under the terms of the GNU Lesser General Public
  3639  //    License as published by the Free Software Foundation; either
  3640  //    version 2.1 of the License, or (at your option) any later version.
  3641  //
  3642  //    The GNU C Library is distributed in the hope that it will be useful,
  3643  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3644  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3645  //    Lesser General Public License for more details.
  3646  //
  3647  //    You should have received a copy of the GNU Lesser General Public
  3648  //    License along with the GNU C Library; if not, see
  3649  //    <https://www.gnu.org/licenses/>.
  3650  
  3651  // Bits in the third argument to `waitpid'.
  3652  
  3653  // Bits in the fourth argument to `waitid'.
  3654  
  3655  // The following values are used by the `waitid' function.
  3656  
  3657  // The Linux kernel defines these bare, rather than an enum,
  3658  //    which causes a conflict if the include order is reversed.
  3659  
  3660  const ( /* waitflags.h:52:1: */
  3661  	P_ALL  = 0 // Wait for any child.
  3662  	P_PID  = 1 // Wait for specified process.
  3663  	P_PGID = 2
  3664  )
  3665  
  3666  type Ptrdiff_t = int32 /* <builtin>:3:26 */
  3667  
  3668  type Size_t = uint32 /* <builtin>:9:23 */
  3669  
  3670  type Wchar_t = int32 /* <builtin>:15:24 */
  3671  
  3672  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
  3673  type X__float128 = float64        /* <builtin>:47:21 */
  3674  
  3675  // Copyright © 2004 Keith Packard
  3676  //
  3677  // Permission to use, copy, modify, distribute, and sell this software and its
  3678  // documentation for any purpose is hereby granted without fee, provided that
  3679  // the above copyright notice appear in all copies and that both that
  3680  // copyright notice and this permission notice appear in supporting
  3681  // documentation, and that the name of Keith Packard not be used in
  3682  // advertising or publicity pertaining to distribution of the software without
  3683  // specific, written prior permission.  Keith Packard makes no
  3684  // representations about the suitability of this software for any purpose.  It
  3685  // is provided "as is" without express or implied warranty.
  3686  //
  3687  // KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  3688  // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  3689  // EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  3690  // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  3691  // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  3692  // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  3693  // PERFORMANCE OF THIS SOFTWARE.
  3694  
  3695  // config.h.  Generated from config.h.in by configure.
  3696  // config.h.in.  Generated from configure.ac by autoheader.
  3697  
  3698  // Define to 1 if you have the <dlfcn.h> header file.
  3699  
  3700  // Define to 1 if you have the <inttypes.h> header file.
  3701  
  3702  // Define to 1 if you have the <memory.h> header file.
  3703  
  3704  // Define to 1 if you have the <stdint.h> header file.
  3705  
  3706  // Define to 1 if you have the <stdlib.h> header file.
  3707  
  3708  // Define to 1 if you have the <strings.h> header file.
  3709  
  3710  // Define to 1 if you have the <string.h> header file.
  3711  
  3712  // Define to 1 if you have the <sys/stat.h> header file.
  3713  
  3714  // Define to 1 if you have the <sys/types.h> header file.
  3715  
  3716  // Define to 1 if you have the <unistd.h> header file.
  3717  
  3718  // Define to the sub-directory in which libtool stores uninstalled libraries.
  3719  
  3720  // Name of package
  3721  
  3722  // Define to the address where bug reports for this package should be sent.
  3723  
  3724  // Define to the full name of this package.
  3725  
  3726  // Define to the full name and version of this package.
  3727  
  3728  // Define to the one symbol short name of this package.
  3729  
  3730  // Define to the home page for this package.
  3731  
  3732  // Define to the version of this package.
  3733  
  3734  // Major version of this package
  3735  
  3736  // Minor version of this package
  3737  
  3738  // Patch version of this package
  3739  
  3740  // Define to 1 if you have the ANSI C header files.
  3741  
  3742  // Version number of package
  3743  //
  3744  // Copyright © 2000 SuSE, Inc.
  3745  //
  3746  // Permission to use, copy, modify, distribute, and sell this software and its
  3747  // documentation for any purpose is hereby granted without fee, provided that
  3748  // the above copyright notice appear in all copies and that both that
  3749  // copyright notice and this permission notice appear in supporting
  3750  // documentation, and that the name of SuSE not be used in advertising or
  3751  // publicity pertaining to distribution of the software without specific,
  3752  // written prior permission.  SuSE makes no representations about the
  3753  // suitability of this software for any purpose.  It is provided "as is"
  3754  // without express or implied warranty.
  3755  //
  3756  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
  3757  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
  3758  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  3759  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  3760  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  3761  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  3762  //
  3763  // Author:  Keith Packard, SuSE, Inc.
  3764  
  3765  // config.h.  Generated from config.h.in by configure.
  3766  // config.h.in.  Generated from configure.ac by autoheader.
  3767  
  3768  // Define to 1 if you have the <dlfcn.h> header file.
  3769  
  3770  // Define to 1 if you have the <inttypes.h> header file.
  3771  
  3772  // Define to 1 if you have the <memory.h> header file.
  3773  
  3774  // Define to 1 if you have the <stdint.h> header file.
  3775  
  3776  // Define to 1 if you have the <stdlib.h> header file.
  3777  
  3778  // Define to 1 if you have the <strings.h> header file.
  3779  
  3780  // Define to 1 if you have the <string.h> header file.
  3781  
  3782  // Define to 1 if you have the <sys/stat.h> header file.
  3783  
  3784  // Define to 1 if you have the <sys/types.h> header file.
  3785  
  3786  // Define to 1 if you have the <unistd.h> header file.
  3787  
  3788  // Define to the sub-directory in which libtool stores uninstalled libraries.
  3789  
  3790  // Name of package
  3791  
  3792  // Define to the address where bug reports for this package should be sent.
  3793  
  3794  // Define to the full name of this package.
  3795  
  3796  // Define to the full name and version of this package.
  3797  
  3798  // Define to the one symbol short name of this package.
  3799  
  3800  // Define to the home page for this package.
  3801  
  3802  // Define to the version of this package.
  3803  
  3804  // Major version of this package
  3805  
  3806  // Minor version of this package
  3807  
  3808  // Patch version of this package
  3809  
  3810  // Define to 1 if you have the ANSI C header files.
  3811  
  3812  // Version number of package
  3813  
  3814  //
  3815  //
  3816  // Copyright 1984, 1985, 1987, 1989, 1998  The Open Group
  3817  //
  3818  // Permission to use, copy, modify, distribute, and sell this software and its
  3819  // documentation for any purpose is hereby granted without fee, provided that
  3820  // the above copyright notice appear in all copies and that both that
  3821  // copyright notice and this permission notice appear in supporting
  3822  // documentation.
  3823  //
  3824  // The above copyright notice and this permission notice shall be included
  3825  // in all copies or substantial portions of the Software.
  3826  //
  3827  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  3828  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  3829  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  3830  // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
  3831  // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  3832  // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  3833  // OTHER DEALINGS IN THE SOFTWARE.
  3834  //
  3835  // Except as contained in this notice, the name of The Open Group shall
  3836  // not be used in advertising or otherwise to promote the sale, use or
  3837  // other dealings in this Software without prior written authorization
  3838  // from The Open Group.
  3839  //
  3840  
  3841  //	Xlibint.h - Header definition and support file for the internal
  3842  //	support routines used by the C subroutine interface
  3843  //	library (Xlib) to the X Window System.
  3844  //
  3845  //	Warning, there be dragons here....
  3846  
  3847  // Copyright (C) 1997-2020 Free Software Foundation, Inc.
  3848  //    This file is part of the GNU C Library.
  3849  //
  3850  //    The GNU C Library is free software; you can redistribute it and/or
  3851  //    modify it under the terms of the GNU Lesser General Public
  3852  //    License as published by the Free Software Foundation; either
  3853  //    version 2.1 of the License, or (at your option) any later version.
  3854  //
  3855  //    The GNU C Library is distributed in the hope that it will be useful,
  3856  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3857  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3858  //    Lesser General Public License for more details.
  3859  //
  3860  //    You should have received a copy of the GNU Lesser General Public
  3861  //    License along with the GNU C Library; if not, see
  3862  //    <https://www.gnu.org/licenses/>.
  3863  
  3864  //	ISO C99: 7.18 Integer types <stdint.h>
  3865  
  3866  // Handle feature test macros at the start of a header.
  3867  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  3868  //    This file is part of the GNU C Library.
  3869  //
  3870  //    The GNU C Library is free software; you can redistribute it and/or
  3871  //    modify it under the terms of the GNU Lesser General Public
  3872  //    License as published by the Free Software Foundation; either
  3873  //    version 2.1 of the License, or (at your option) any later version.
  3874  //
  3875  //    The GNU C Library is distributed in the hope that it will be useful,
  3876  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3877  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3878  //    Lesser General Public License for more details.
  3879  //
  3880  //    You should have received a copy of the GNU Lesser General Public
  3881  //    License along with the GNU C Library; if not, see
  3882  //    <https://www.gnu.org/licenses/>.
  3883  
  3884  // This header is internal to glibc and should not be included outside
  3885  //    of glibc headers.  Headers including it must define
  3886  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  3887  //    cannot have multiple include guards because ISO C feature test
  3888  //    macros depend on the definition of the macro when an affected
  3889  //    header is included, not when the first system header is
  3890  //    included.
  3891  
  3892  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  3893  //    This file is part of the GNU C Library.
  3894  //
  3895  //    The GNU C Library is free software; you can redistribute it and/or
  3896  //    modify it under the terms of the GNU Lesser General Public
  3897  //    License as published by the Free Software Foundation; either
  3898  //    version 2.1 of the License, or (at your option) any later version.
  3899  //
  3900  //    The GNU C Library is distributed in the hope that it will be useful,
  3901  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3902  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3903  //    Lesser General Public License for more details.
  3904  //
  3905  //    You should have received a copy of the GNU Lesser General Public
  3906  //    License along with the GNU C Library; if not, see
  3907  //    <https://www.gnu.org/licenses/>.
  3908  
  3909  // These are defined by the user (or the compiler)
  3910  //    to specify the desired environment:
  3911  //
  3912  //    __STRICT_ANSI__	ISO Standard C.
  3913  //    _ISOC99_SOURCE	Extensions to ISO C89 from ISO C99.
  3914  //    _ISOC11_SOURCE	Extensions to ISO C99 from ISO C11.
  3915  //    _ISOC2X_SOURCE	Extensions to ISO C99 from ISO C2X.
  3916  //    __STDC_WANT_LIB_EXT2__
  3917  // 			Extensions to ISO C99 from TR 27431-2:2010.
  3918  //    __STDC_WANT_IEC_60559_BFP_EXT__
  3919  // 			Extensions to ISO C11 from TS 18661-1:2014.
  3920  //    __STDC_WANT_IEC_60559_FUNCS_EXT__
  3921  // 			Extensions to ISO C11 from TS 18661-4:2015.
  3922  //    __STDC_WANT_IEC_60559_TYPES_EXT__
  3923  // 			Extensions to ISO C11 from TS 18661-3:2015.
  3924  //
  3925  //    _POSIX_SOURCE	IEEE Std 1003.1.
  3926  //    _POSIX_C_SOURCE	If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
  3927  // 			if >=199309L, add IEEE Std 1003.1b-1993;
  3928  // 			if >=199506L, add IEEE Std 1003.1c-1995;
  3929  // 			if >=200112L, all of IEEE 1003.1-2004
  3930  // 			if >=200809L, all of IEEE 1003.1-2008
  3931  //    _XOPEN_SOURCE	Includes POSIX and XPG things.  Set to 500 if
  3932  // 			Single Unix conformance is wanted, to 600 for the
  3933  // 			sixth revision, to 700 for the seventh revision.
  3934  //    _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
  3935  //    _LARGEFILE_SOURCE	Some more functions for correct standard I/O.
  3936  //    _LARGEFILE64_SOURCE	Additional functionality from LFS for large files.
  3937  //    _FILE_OFFSET_BITS=N	Select default filesystem interface.
  3938  //    _ATFILE_SOURCE	Additional *at interfaces.
  3939  //    _GNU_SOURCE		All of the above, plus GNU extensions.
  3940  //    _DEFAULT_SOURCE	The default set of features (taking precedence over
  3941  // 			__STRICT_ANSI__).
  3942  //
  3943  //    _FORTIFY_SOURCE	Add security hardening to many library functions.
  3944  // 			Set to 1 or 2; 2 performs stricter checks than 1.
  3945  //
  3946  //    _REENTRANT, _THREAD_SAFE
  3947  // 			Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
  3948  //
  3949  //    The `-ansi' switch to the GNU C compiler, and standards conformance
  3950  //    options such as `-std=c99', define __STRICT_ANSI__.  If none of
  3951  //    these are defined, or if _DEFAULT_SOURCE is defined, the default is
  3952  //    to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
  3953  //    200809L, as well as enabling miscellaneous functions from BSD and
  3954  //    SVID.  If more than one of these are defined, they accumulate.  For
  3955  //    example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
  3956  //    give you ISO C, 1003.1, and 1003.2, but nothing else.
  3957  //
  3958  //    These are defined by this file and are used by the
  3959  //    header files to decide what to declare or define:
  3960  //
  3961  //    __GLIBC_USE (F)	Define things from feature set F.  This is defined
  3962  // 			to 1 or 0; the subsequent macros are either defined
  3963  // 			or undefined, and those tests should be moved to
  3964  // 			__GLIBC_USE.
  3965  //    __USE_ISOC11		Define ISO C11 things.
  3966  //    __USE_ISOC99		Define ISO C99 things.
  3967  //    __USE_ISOC95		Define ISO C90 AMD1 (C95) things.
  3968  //    __USE_ISOCXX11	Define ISO C++11 things.
  3969  //    __USE_POSIX		Define IEEE Std 1003.1 things.
  3970  //    __USE_POSIX2		Define IEEE Std 1003.2 things.
  3971  //    __USE_POSIX199309	Define IEEE Std 1003.1, and .1b things.
  3972  //    __USE_POSIX199506	Define IEEE Std 1003.1, .1b, .1c and .1i things.
  3973  //    __USE_XOPEN		Define XPG things.
  3974  //    __USE_XOPEN_EXTENDED	Define X/Open Unix things.
  3975  //    __USE_UNIX98		Define Single Unix V2 things.
  3976  //    __USE_XOPEN2K        Define XPG6 things.
  3977  //    __USE_XOPEN2KXSI     Define XPG6 XSI things.
  3978  //    __USE_XOPEN2K8       Define XPG7 things.
  3979  //    __USE_XOPEN2K8XSI    Define XPG7 XSI things.
  3980  //    __USE_LARGEFILE	Define correct standard I/O things.
  3981  //    __USE_LARGEFILE64	Define LFS things with separate names.
  3982  //    __USE_FILE_OFFSET64	Define 64bit interface as default.
  3983  //    __USE_MISC		Define things from 4.3BSD or System V Unix.
  3984  //    __USE_ATFILE		Define *at interfaces and AT_* constants for them.
  3985  //    __USE_GNU		Define GNU extensions.
  3986  //    __USE_FORTIFY_LEVEL	Additional security measures used, according to level.
  3987  //
  3988  //    The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
  3989  //    defined by this file unconditionally.  `__GNU_LIBRARY__' is provided
  3990  //    only for compatibility.  All new code should use the other symbols
  3991  //    to test for features.
  3992  //
  3993  //    All macros listed above as possibly being defined by this file are
  3994  //    explicitly undefined if they are not explicitly defined.
  3995  //    Feature-test macros that are not defined by the user or compiler
  3996  //    but are implied by the other feature-test macros defined (or by the
  3997  //    lack of any definitions) are defined by the file.
  3998  //
  3999  //    ISO C feature test macros depend on the definition of the macro
  4000  //    when an affected header is included, not when the first system
  4001  //    header is included, and so they are handled in
  4002  //    <bits/libc-header-start.h>, which does not have a multiple include
  4003  //    guard.  Feature test macros that can be handled from the first
  4004  //    system header included are handled here.
  4005  
  4006  // Undefine everything, so we get a clean slate.
  4007  
  4008  // Suppress kernel-name space pollution unless user expressedly asks
  4009  //    for it.
  4010  
  4011  // Convenience macro to test the version of gcc.
  4012  //    Use like this:
  4013  //    #if __GNUC_PREREQ (2,8)
  4014  //    ... code requiring gcc 2.8 or later ...
  4015  //    #endif
  4016  //    Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
  4017  //    added in 2.0.
  4018  
  4019  // Similarly for clang.  Features added to GCC after version 4.2 may
  4020  //    or may not also be available in clang, and clang's definitions of
  4021  //    __GNUC(_MINOR)__ are fixed at 4 and 2 respectively.  Not all such
  4022  //    features can be queried via __has_extension/__has_feature.
  4023  
  4024  // Whether to use feature set F.
  4025  
  4026  // _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
  4027  //    _DEFAULT_SOURCE.  If _DEFAULT_SOURCE is present we do not
  4028  //    issue a warning; the expectation is that the source is being
  4029  //    transitioned to use the new macro.
  4030  
  4031  // If _GNU_SOURCE was defined by the user, turn on all the other features.
  4032  
  4033  // If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
  4034  //    define _DEFAULT_SOURCE.
  4035  
  4036  // This is to enable the ISO C2X extension.
  4037  
  4038  // This is to enable the ISO C11 extension.
  4039  
  4040  // This is to enable the ISO C99 extension.
  4041  
  4042  // This is to enable the ISO C90 Amendment 1:1995 extension.
  4043  
  4044  // If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
  4045  //    is defined, use POSIX.1-2008 (or another version depending on
  4046  //    _XOPEN_SOURCE).
  4047  
  4048  // Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
  4049  //    defined in all multithreaded code.  GNU libc has not required this
  4050  //    for many years.  We now treat them as compatibility synonyms for
  4051  //    _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
  4052  //    comprehensive support for multithreaded code.  Using them never
  4053  //    lowers the selected level of POSIX conformance, only raises it.
  4054  
  4055  // The function 'gets' existed in C89, but is impossible to use
  4056  //    safely.  It has been removed from ISO C11 and ISO C++14.  Note: for
  4057  //    compatibility with various implementations of <cstdio>, this test
  4058  //    must consider only the value of __cplusplus when compiling C++.
  4059  
  4060  // GNU formerly extended the scanf functions with modified format
  4061  //    specifiers %as, %aS, and %a[...] that allocate a buffer for the
  4062  //    input using malloc.  This extension conflicts with ISO C99, which
  4063  //    defines %a as a standalone format specifier that reads a floating-
  4064  //    point number; moreover, POSIX.1-2008 provides the same feature
  4065  //    using the modifier letter 'm' instead (%ms, %mS, %m[...]).
  4066  //
  4067  //    We now follow C99 unless GNU extensions are active and the compiler
  4068  //    is specifically in C89 or C++98 mode (strict or not).  For
  4069  //    instance, with GCC, -std=gnu11 will have C99-compliant scanf with
  4070  //    or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
  4071  //    old extension.
  4072  
  4073  // Get definitions of __STDC_* predefined macros, if the compiler has
  4074  //    not preincluded this header automatically.
  4075  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4076  //    This file is part of the GNU C Library.
  4077  //
  4078  //    The GNU C Library is free software; you can redistribute it and/or
  4079  //    modify it under the terms of the GNU Lesser General Public
  4080  //    License as published by the Free Software Foundation; either
  4081  //    version 2.1 of the License, or (at your option) any later version.
  4082  //
  4083  //    The GNU C Library is distributed in the hope that it will be useful,
  4084  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4085  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4086  //    Lesser General Public License for more details.
  4087  //
  4088  //    You should have received a copy of the GNU Lesser General Public
  4089  //    License along with the GNU C Library; if not, see
  4090  //    <https://www.gnu.org/licenses/>.
  4091  
  4092  // This macro indicates that the installed library is the GNU C Library.
  4093  //    For historic reasons the value now is 6 and this will stay from now
  4094  //    on.  The use of this variable is deprecated.  Use __GLIBC__ and
  4095  //    __GLIBC_MINOR__ now (see below) when you want to test for a specific
  4096  //    GNU C library version and use the values in <gnu/lib-names.h> to get
  4097  //    the sonames of the shared libraries.
  4098  
  4099  // Major and minor version number of the GNU C library package.  Use
  4100  //    these macros to test for features in specific releases.
  4101  
  4102  // This is here only because every header file already includes this one.
  4103  // Copyright (C) 1992-2020 Free Software Foundation, Inc.
  4104  //    This file is part of the GNU C Library.
  4105  //
  4106  //    The GNU C Library is free software; you can redistribute it and/or
  4107  //    modify it under the terms of the GNU Lesser General Public
  4108  //    License as published by the Free Software Foundation; either
  4109  //    version 2.1 of the License, or (at your option) any later version.
  4110  //
  4111  //    The GNU C Library is distributed in the hope that it will be useful,
  4112  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4113  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4114  //    Lesser General Public License for more details.
  4115  //
  4116  //    You should have received a copy of the GNU Lesser General Public
  4117  //    License along with the GNU C Library; if not, see
  4118  //    <https://www.gnu.org/licenses/>.
  4119  
  4120  // We are almost always included from features.h.
  4121  
  4122  // The GNU libc does not support any K&R compilers or the traditional mode
  4123  //    of ISO C compilers anymore.  Check for some of the combinations not
  4124  //    anymore supported.
  4125  
  4126  // Some user header file might have defined this before.
  4127  
  4128  // All functions, except those with callbacks or those that
  4129  //    synchronize memory, are leaf functions.
  4130  
  4131  // GCC can always grok prototypes.  For C++ programs we add throw()
  4132  //    to help it optimize the function calls.  But this works only with
  4133  //    gcc 2.8.x and egcs.  For gcc 3.2 and up we even mark C functions
  4134  //    as non-throwing using a function attribute since programs can use
  4135  //    the -fexceptions options for C code as well.
  4136  
  4137  // Compilers that are not clang may object to
  4138  //        #if defined __clang__ && __has_extension(...)
  4139  //    even though they do not need to evaluate the right-hand side of the &&.
  4140  
  4141  // These two macros are not used in glibc anymore.  They are kept here
  4142  //    only because some other projects expect the macros to be defined.
  4143  
  4144  // For these things, GCC behaves the ANSI way normally,
  4145  //    and the non-ANSI way under -traditional.
  4146  
  4147  // This is not a typedef so `const __ptr_t' does the right thing.
  4148  
  4149  // C++ needs to know that types and declarations are C, not C++.
  4150  
  4151  // Fortify support.
  4152  
  4153  // Support for flexible arrays.
  4154  //    Headers that should use flexible arrays only if they're "real"
  4155  //    (e.g. only if they won't affect sizeof()) should test
  4156  //    #if __glibc_c99_flexarr_available.
  4157  
  4158  // __asm__ ("xyz") is used throughout the headers to rename functions
  4159  //    at the assembly language level.  This is wrapped by the __REDIRECT
  4160  //    macro, in order to support compilers that can do this some other
  4161  //    way.  When compilers don't support asm-names at all, we have to do
  4162  //    preprocessor tricks instead (which don't have exactly the right
  4163  //    semantics, but it's the best we can do).
  4164  //
  4165  //    Example:
  4166  //    int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
  4167  
  4168  //
  4169  // #elif __SOME_OTHER_COMPILER__
  4170  //
  4171  // # define __REDIRECT(name, proto, alias) name proto; 	_Pragma("let " #name " = " #alias)
  4172  
  4173  // GCC has various useful declarations that can be made with the
  4174  //    `__attribute__' syntax.  All of the ways we use this do fine if
  4175  //    they are omitted for compilers that don't understand it.
  4176  
  4177  // At some point during the gcc 2.96 development the `malloc' attribute
  4178  //    for functions was introduced.  We don't want to use it unconditionally
  4179  //    (although this would be possible) since it generates warnings.
  4180  
  4181  // Tell the compiler which arguments to an allocation function
  4182  //    indicate the size of the allocation.
  4183  
  4184  // At some point during the gcc 2.96 development the `pure' attribute
  4185  //    for functions was introduced.  We don't want to use it unconditionally
  4186  //    (although this would be possible) since it generates warnings.
  4187  
  4188  // This declaration tells the compiler that the value is constant.
  4189  
  4190  // At some point during the gcc 3.1 development the `used' attribute
  4191  //    for functions was introduced.  We don't want to use it unconditionally
  4192  //    (although this would be possible) since it generates warnings.
  4193  
  4194  // Since version 3.2, gcc allows marking deprecated functions.
  4195  
  4196  // Since version 4.5, gcc also allows one to specify the message printed
  4197  //    when a deprecated function is used.  clang claims to be gcc 4.2, but
  4198  //    may also support this feature.
  4199  
  4200  // At some point during the gcc 2.8 development the `format_arg' attribute
  4201  //    for functions was introduced.  We don't want to use it unconditionally
  4202  //    (although this would be possible) since it generates warnings.
  4203  //    If several `format_arg' attributes are given for the same function, in
  4204  //    gcc-3.0 and older, all but the last one are ignored.  In newer gccs,
  4205  //    all designated arguments are considered.
  4206  
  4207  // At some point during the gcc 2.97 development the `strfmon' format
  4208  //    attribute for functions was introduced.  We don't want to use it
  4209  //    unconditionally (although this would be possible) since it
  4210  //    generates warnings.
  4211  
  4212  // The nonull function attribute allows to mark pointer parameters which
  4213  //    must not be NULL.
  4214  
  4215  // If fortification mode, we warn about unused results of certain
  4216  //    function calls which can lead to problems.
  4217  
  4218  // Forces a function to be always inlined.
  4219  // The Linux kernel defines __always_inline in stddef.h (283d7573), and
  4220  //    it conflicts with this definition.  Therefore undefine it first to
  4221  //    allow either header to be included first.
  4222  
  4223  // Associate error messages with the source location of the call site rather
  4224  //    than with the source location inside the function.
  4225  
  4226  // GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
  4227  //    inline semantics, unless -fgnu89-inline is used.  Using __GNUC_STDC_INLINE__
  4228  //    or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
  4229  //    older than 4.3 may define these macros and still not guarantee GNU inlining
  4230  //    semantics.
  4231  //
  4232  //    clang++ identifies itself as gcc-4.2, but has support for GNU inlining
  4233  //    semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
  4234  //    __GNUC_GNU_INLINE__ macro definitions.
  4235  
  4236  // GCC 4.3 and above allow passing all anonymous arguments of an
  4237  //    __extern_always_inline function to some other vararg function.
  4238  
  4239  // It is possible to compile containing GCC extensions even if GCC is
  4240  //    run in pedantic mode if the uses are carefully marked using the
  4241  //    `__extension__' keyword.  But this is not generally available before
  4242  //    version 2.8.
  4243  
  4244  // __restrict is known in EGCS 1.2 and above.
  4245  
  4246  // ISO C99 also allows to declare arrays as non-overlapping.  The syntax is
  4247  //      array_name[restrict]
  4248  //    GCC 3.1 supports this.
  4249  
  4250  // Describes a char array whose address can safely be passed as the first
  4251  //    argument to strncpy and strncat, as the char array is not necessarily
  4252  //    a NUL-terminated string.
  4253  
  4254  // Undefine (also defined in libc-symbols.h).
  4255  // Copies attributes from the declaration or type referenced by
  4256  //    the argument.
  4257  
  4258  // Determine the wordsize from the preprocessor defines.
  4259  
  4260  // Properties of long double type.  ldbl-96 version.
  4261  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  4262  //    This file is part of the GNU C Library.
  4263  //
  4264  //    The GNU C Library is free software; you can redistribute it and/or
  4265  //    modify it under the terms of the GNU Lesser General Public
  4266  //    License  published by the Free Software Foundation; either
  4267  //    version 2.1 of the License, or (at your option) any later version.
  4268  //
  4269  //    The GNU C Library is distributed in the hope that it will be useful,
  4270  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4271  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4272  //    Lesser General Public License for more details.
  4273  //
  4274  //    You should have received a copy of the GNU Lesser General Public
  4275  //    License along with the GNU C Library; if not, see
  4276  //    <https://www.gnu.org/licenses/>.
  4277  
  4278  // long double is distinct from double, so there is nothing to
  4279  //    define here.
  4280  
  4281  // __glibc_macro_warning (MESSAGE) issues warning MESSAGE.  This is
  4282  //    intended for use in preprocessor macros.
  4283  //
  4284  //    Note: MESSAGE must be a _single_ string; concatenation of string
  4285  //    literals is not supported.
  4286  
  4287  // Generic selection (ISO C11) is a C-only feature, available in GCC
  4288  //    since version 4.9.  Previous versions do not provide generic
  4289  //    selection, even though they might set __STDC_VERSION__ to 201112L,
  4290  //    when in -std=c11 mode.  Thus, we must check for !defined __GNUC__
  4291  //    when testing __STDC_VERSION__ for generic selection support.
  4292  //    On the other hand, Clang also defines __GNUC__, so a clang-specific
  4293  //    check is required to enable the use of generic selection.
  4294  
  4295  // If we don't have __REDIRECT, prototypes will be missing if
  4296  //    __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
  4297  
  4298  // Decide whether we can define 'extern inline' functions in headers.
  4299  
  4300  // This is here only because every header file already includes this one.
  4301  //    Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
  4302  //    <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
  4303  //    that will always return failure (and set errno to ENOSYS).
  4304  // This file is automatically generated.
  4305  //    This file selects the right generated file of `__stub_FUNCTION' macros
  4306  //    based on the architecture being compiled for.
  4307  
  4308  // This file is automatically generated.
  4309  //    It defines a symbol `__stub_FUNCTION' for each function
  4310  //    in the C library which is a stub, meaning it will fail
  4311  //    every time called, usually setting errno to ENOSYS.
  4312  
  4313  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  4314  //    macro.
  4315  
  4316  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  4317  //    macro.  Most but not all symbols enabled by that macro in TS
  4318  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
  4319  //    still require that macro in C2X.
  4320  
  4321  // ISO/IEC TS 18661-4:2015 defines the
  4322  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  4323  //    functions, the symbols from this TS are enabled unconditionally in
  4324  //    C2X.
  4325  
  4326  // ISO/IEC TS 18661-3:2015 defines the
  4327  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  4328  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4329  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4330  //    This file is part of the GNU C Library.
  4331  //
  4332  //    The GNU C Library is free software; you can redistribute it and/or
  4333  //    modify it under the terms of the GNU Lesser General Public
  4334  //    License as published by the Free Software Foundation; either
  4335  //    version 2.1 of the License, or (at your option) any later version.
  4336  //
  4337  //    The GNU C Library is distributed in the hope that it will be useful,
  4338  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4339  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4340  //    Lesser General Public License for more details.
  4341  //
  4342  //    You should have received a copy of the GNU Lesser General Public
  4343  //    License along with the GNU C Library; if not, see
  4344  //    <https://www.gnu.org/licenses/>.
  4345  
  4346  // Never include this file directly; use <sys/types.h> instead.
  4347  
  4348  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4349  //    This file is part of the GNU C Library.
  4350  //
  4351  //    The GNU C Library is free software; you can redistribute it and/or
  4352  //    modify it under the terms of the GNU Lesser General Public
  4353  //    License as published by the Free Software Foundation; either
  4354  //    version 2.1 of the License, or (at your option) any later version.
  4355  //
  4356  //    The GNU C Library is distributed in the hope that it will be useful,
  4357  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4358  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4359  //    Lesser General Public License for more details.
  4360  //
  4361  //    You should have received a copy of the GNU Lesser General Public
  4362  //    License along with the GNU C Library; if not, see
  4363  //    <https://www.gnu.org/licenses/>.
  4364  
  4365  // Determine the wordsize from the preprocessor defines.
  4366  
  4367  // Bit size of the time_t type at glibc build time, x86-64 and x32 case.
  4368  //    Copyright (C) 2018-2020 Free Software Foundation, Inc.
  4369  //    This file is part of the GNU C Library.
  4370  //
  4371  //    The GNU C Library is free software; you can redistribute it and/or
  4372  //    modify it under the terms of the GNU Lesser General Public
  4373  //    License as published by the Free Software Foundation; either
  4374  //    version 2.1 of the License, or (at your option) any later version.
  4375  //
  4376  //    The GNU C Library is distributed in the hope that it will be useful,
  4377  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4378  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4379  //    Lesser General Public License for more details.
  4380  //
  4381  //    You should have received a copy of the GNU Lesser General Public
  4382  //    License along with the GNU C Library; if not, see
  4383  //    <https://www.gnu.org/licenses/>.
  4384  
  4385  // For others, time size is word size.
  4386  
  4387  // Convenience types.
  4388  type X__u_char = uint8   /* types.h:31:23 */
  4389  type X__u_short = uint16 /* types.h:32:28 */
  4390  type X__u_int = uint32   /* types.h:33:22 */
  4391  type X__u_long = uint32  /* types.h:34:27 */
  4392  
  4393  // Fixed-size types, underlying types depend on word size and compiler.
  4394  type X__int8_t = int8     /* types.h:37:21 */
  4395  type X__uint8_t = uint8   /* types.h:38:23 */
  4396  type X__int16_t = int16   /* types.h:39:26 */
  4397  type X__uint16_t = uint16 /* types.h:40:28 */
  4398  type X__int32_t = int32   /* types.h:41:20 */
  4399  type X__uint32_t = uint32 /* types.h:42:22 */
  4400  type X__int64_t = int64   /* types.h:47:44 */
  4401  type X__uint64_t = uint64 /* types.h:48:46 */
  4402  
  4403  // Smallest types with at least a given width.
  4404  type X__int_least8_t = X__int8_t     /* types.h:52:18 */
  4405  type X__uint_least8_t = X__uint8_t   /* types.h:53:19 */
  4406  type X__int_least16_t = X__int16_t   /* types.h:54:19 */
  4407  type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
  4408  type X__int_least32_t = X__int32_t   /* types.h:56:19 */
  4409  type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
  4410  type X__int_least64_t = X__int64_t   /* types.h:58:19 */
  4411  type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
  4412  
  4413  // quad_t is also 64 bits.
  4414  type X__quad_t = int64    /* types.h:66:37 */
  4415  type X__u_quad_t = uint64 /* types.h:67:46 */
  4416  
  4417  // Largest integral types.
  4418  type X__intmax_t = int64   /* types.h:75:37 */
  4419  type X__uintmax_t = uint64 /* types.h:76:46 */
  4420  
  4421  // The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
  4422  //    macros for each of the OS types we define below.  The definitions
  4423  //    of those macros must use the following macros for underlying types.
  4424  //    We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
  4425  //    variants of each of the following integer types on this machine.
  4426  //
  4427  // 	16		-- "natural" 16-bit type (always short)
  4428  // 	32		-- "natural" 32-bit type (always int)
  4429  // 	64		-- "natural" 64-bit type (long or long long)
  4430  // 	LONG32		-- 32-bit type, traditionally long
  4431  // 	QUAD		-- 64-bit type, traditionally long long
  4432  // 	WORD		-- natural type of __WORDSIZE bits (int or long)
  4433  // 	LONGWORD	-- type of __WORDSIZE bits, traditionally long
  4434  //
  4435  //    We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
  4436  //    conventional uses of `long' or `long long' type modifiers match the
  4437  //    types we define, even when a less-adorned type would be the same size.
  4438  //    This matters for (somewhat) portably writing printf/scanf formats for
  4439  //    these types, where using the appropriate l or ll format modifiers can
  4440  //    make the typedefs and the formats match up across all GNU platforms.  If
  4441  //    we used `long' when it's 64 bits where `long long' is expected, then the
  4442  //    compiler would warn about the formats not matching the argument types,
  4443  //    and the programmer changing them to shut up the compiler would break the
  4444  //    program's portability.
  4445  //
  4446  //    Here we assume what is presently the case in all the GCC configurations
  4447  //    we support: long long is always 64 bits, long is always word/address size,
  4448  //    and int is always 32 bits.
  4449  
  4450  // We want __extension__ before typedef's that use nonstandard base types
  4451  //    such as `long long' in C89 mode.
  4452  // bits/typesizes.h -- underlying types for *_t.  Linux/x86-64 version.
  4453  //    Copyright (C) 2012-2020 Free Software Foundation, Inc.
  4454  //    This file is part of the GNU C Library.
  4455  //
  4456  //    The GNU C Library is free software; you can redistribute it and/or
  4457  //    modify it under the terms of the GNU Lesser General Public
  4458  //    License as published by the Free Software Foundation; either
  4459  //    version 2.1 of the License, or (at your option) any later version.
  4460  //
  4461  //    The GNU C Library is distributed in the hope that it will be useful,
  4462  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4463  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4464  //    Lesser General Public License for more details.
  4465  //
  4466  //    You should have received a copy of the GNU Lesser General Public
  4467  //    License along with the GNU C Library; if not, see
  4468  //    <https://www.gnu.org/licenses/>.
  4469  
  4470  // See <bits/types.h> for the meaning of these macros.  This file exists so
  4471  //    that <bits/types.h> need not vary across different GNU platforms.
  4472  
  4473  // X32 kernel interface is 64-bit.
  4474  
  4475  // Number of descriptors that can fit in an `fd_set'.
  4476  
  4477  // bits/time64.h -- underlying types for __time64_t.  Generic version.
  4478  //    Copyright (C) 2018-2020 Free Software Foundation, Inc.
  4479  //    This file is part of the GNU C Library.
  4480  //
  4481  //    The GNU C Library is free software; you can redistribute it and/or
  4482  //    modify it under the terms of the GNU Lesser General Public
  4483  //    License as published by the Free Software Foundation; either
  4484  //    version 2.1 of the License, or (at your option) any later version.
  4485  //
  4486  //    The GNU C Library is distributed in the hope that it will be useful,
  4487  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4488  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4489  //    Lesser General Public License for more details.
  4490  //
  4491  //    You should have received a copy of the GNU Lesser General Public
  4492  //    License along with the GNU C Library; if not, see
  4493  //    <https://www.gnu.org/licenses/>.
  4494  
  4495  // Define __TIME64_T_TYPE so that it is always a 64-bit type.
  4496  
  4497  // Define a 64-bit time type alongsize the 32-bit one.
  4498  
  4499  type X__dev_t = X__uint64_t                /* types.h:145:25 */ // Type of device numbers.
  4500  type X__uid_t = uint32                     /* types.h:146:25 */ // Type of user identifications.
  4501  type X__gid_t = uint32                     /* types.h:147:25 */ // Type of group identifications.
  4502  type X__ino_t = uint32                     /* types.h:148:25 */ // Type of file serial numbers.
  4503  type X__ino64_t = X__uint64_t              /* types.h:149:27 */ // Type of file serial numbers (LFS).
  4504  type X__mode_t = uint32                    /* types.h:150:26 */ // Type of file attribute bitmasks.
  4505  type X__nlink_t = uint32                   /* types.h:151:27 */ // Type of file link counts.
  4506  type X__off_t = int32                      /* types.h:152:25 */ // Type of file sizes and offsets.
  4507  type X__off64_t = X__int64_t               /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
  4508  type X__pid_t = int32                      /* types.h:154:25 */ // Type of process identifications.
  4509  type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
  4510  type X__clock_t = int32                    /* types.h:156:27 */ // Type of CPU usage counts.
  4511  type X__rlim_t = uint32                    /* types.h:157:26 */ // Type for resource measurement.
  4512  type X__rlim64_t = X__uint64_t             /* types.h:158:28 */ // Type for resource measurement (LFS).
  4513  type X__id_t = uint32                      /* types.h:159:24 */ // General type for IDs.
  4514  type X__time_t = int32                     /* types.h:160:26 */ // Seconds since the Epoch.
  4515  type X__useconds_t = uint32                /* types.h:161:30 */ // Count of microseconds.
  4516  type X__suseconds_t = int32                /* types.h:162:31 */ // Signed count of microseconds.
  4517  
  4518  type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
  4519  type X__key_t = int32   /* types.h:165:25 */ // Type of an IPC key.
  4520  
  4521  // Clock ID used in clock and timer functions.
  4522  type X__clockid_t = int32 /* types.h:168:29 */
  4523  
  4524  // Timer ID returned by `timer_create'.
  4525  type X__timer_t = uintptr /* types.h:171:12 */
  4526  
  4527  // Type to represent block size.
  4528  type X__blksize_t = int32 /* types.h:174:29 */
  4529  
  4530  // Types from the Large File Support interface.
  4531  
  4532  // Type to count number of disk blocks.
  4533  type X__blkcnt_t = int32        /* types.h:179:28 */
  4534  type X__blkcnt64_t = X__int64_t /* types.h:180:30 */
  4535  
  4536  // Type to count file system blocks.
  4537  type X__fsblkcnt_t = uint32        /* types.h:183:30 */
  4538  type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */
  4539  
  4540  // Type to count file system nodes.
  4541  type X__fsfilcnt_t = uint32        /* types.h:187:30 */
  4542  type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */
  4543  
  4544  // Type of miscellaneous file system fields.
  4545  type X__fsword_t = int32 /* types.h:191:28 */
  4546  
  4547  type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error.
  4548  
  4549  // Signed long type used in system calls.
  4550  type X__syscall_slong_t = int32 /* types.h:196:33 */
  4551  // Unsigned long type used in system calls.
  4552  type X__syscall_ulong_t = uint32 /* types.h:198:33 */
  4553  
  4554  // These few don't really vary by system, they always correspond
  4555  //    to one of the other defined types.
  4556  type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
  4557  type X__caddr_t = uintptr   /* types.h:203:14 */
  4558  
  4559  // Duplicates info from stdint.h but this is used in unistd.h.
  4560  type X__intptr_t = int32 /* types.h:206:25 */
  4561  
  4562  // Duplicate info from sys/socket.h.
  4563  type X__socklen_t = uint32 /* types.h:209:23 */
  4564  
  4565  // C99: An integer type that can be accessed as an atomic entity,
  4566  //    even in the presence of asynchronous interrupts.
  4567  //    It is not currently necessary for this to be machine-specific.
  4568  type X__sig_atomic_t = int32 /* types.h:214:13 */
  4569  
  4570  // Seconds since the Epoch, visible to user code when time_t is too
  4571  //    narrow only for consistency with the old way of widening too-narrow
  4572  //    types.  User code should never use __time64_t.
  4573  type X__time64_t = X__int64_t /* types.h:222:28 */
  4574  
  4575  // wchar_t type related definitions.
  4576  //    Copyright (C) 2000-2020 Free Software Foundation, Inc.
  4577  //    This file is part of the GNU C Library.
  4578  //
  4579  //    The GNU C Library is free software; you can redistribute it and/or
  4580  //    modify it under the terms of the GNU Lesser General Public
  4581  //    License as published by the Free Software Foundation; either
  4582  //    version 2.1 of the License, or (at your option) any later version.
  4583  //
  4584  //    The GNU C Library is distributed in the hope that it will be useful,
  4585  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4586  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4587  //    Lesser General Public License for more details.
  4588  //
  4589  //    You should have received a copy of the GNU Lesser General Public
  4590  //    License along with the GNU C Library; if not, see
  4591  //    <https://www.gnu.org/licenses/>.
  4592  
  4593  // The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__
  4594  //    are not defined, give the right value and type as long as both int
  4595  //    and wchar_t are 32-bit types.  Adding L'\0' to a constant value
  4596  //    ensures that the type is correct; it is necessary to use (L'\0' +
  4597  //    0) rather than just L'\0' so that the type in C++ is the promoted
  4598  //    version of wchar_t rather than the distinct wchar_t type itself.
  4599  //    Because wchar_t in preprocessor #if expressions is treated as
  4600  //    intmax_t or uintmax_t, the expression (L'\0' - 1) would have the
  4601  //    wrong value for WCHAR_MAX in such expressions and so cannot be used
  4602  //    to define __WCHAR_MAX in the unsigned case.
  4603  
  4604  // Determine the wordsize from the preprocessor defines.
  4605  
  4606  // Exact integral types.
  4607  
  4608  // Signed.
  4609  // Define intN_t types.
  4610  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  4611  //    This file is part of the GNU C Library.
  4612  //
  4613  //    The GNU C Library is free software; you can redistribute it and/or
  4614  //    modify it under the terms of the GNU Lesser General Public
  4615  //    License as published by the Free Software Foundation; either
  4616  //    version 2.1 of the License, or (at your option) any later version.
  4617  //
  4618  //    The GNU C Library is distributed in the hope that it will be useful,
  4619  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4620  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4621  //    Lesser General Public License for more details.
  4622  //
  4623  //    You should have received a copy of the GNU Lesser General Public
  4624  //    License along with the GNU C Library; if not, see
  4625  //    <https://www.gnu.org/licenses/>.
  4626  
  4627  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4628  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4629  //    This file is part of the GNU C Library.
  4630  //
  4631  //    The GNU C Library is free software; you can redistribute it and/or
  4632  //    modify it under the terms of the GNU Lesser General Public
  4633  //    License as published by the Free Software Foundation; either
  4634  //    version 2.1 of the License, or (at your option) any later version.
  4635  //
  4636  //    The GNU C Library is distributed in the hope that it will be useful,
  4637  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4638  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4639  //    Lesser General Public License for more details.
  4640  //
  4641  //    You should have received a copy of the GNU Lesser General Public
  4642  //    License along with the GNU C Library; if not, see
  4643  //    <https://www.gnu.org/licenses/>.
  4644  
  4645  // Never include this file directly; use <sys/types.h> instead.
  4646  
  4647  type Int8_t = X__int8_t   /* stdint-intn.h:24:18 */
  4648  type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
  4649  type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
  4650  type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
  4651  
  4652  // Unsigned.
  4653  // Define uintN_t types.
  4654  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  4655  //    This file is part of the GNU C Library.
  4656  //
  4657  //    The GNU C Library is free software; you can redistribute it and/or
  4658  //    modify it under the terms of the GNU Lesser General Public
  4659  //    License as published by the Free Software Foundation; either
  4660  //    version 2.1 of the License, or (at your option) any later version.
  4661  //
  4662  //    The GNU C Library is distributed in the hope that it will be useful,
  4663  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4664  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4665  //    Lesser General Public License for more details.
  4666  //
  4667  //    You should have received a copy of the GNU Lesser General Public
  4668  //    License along with the GNU C Library; if not, see
  4669  //    <https://www.gnu.org/licenses/>.
  4670  
  4671  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4672  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4673  //    This file is part of the GNU C Library.
  4674  //
  4675  //    The GNU C Library is free software; you can redistribute it and/or
  4676  //    modify it under the terms of the GNU Lesser General Public
  4677  //    License as published by the Free Software Foundation; either
  4678  //    version 2.1 of the License, or (at your option) any later version.
  4679  //
  4680  //    The GNU C Library is distributed in the hope that it will be useful,
  4681  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4682  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4683  //    Lesser General Public License for more details.
  4684  //
  4685  //    You should have received a copy of the GNU Lesser General Public
  4686  //    License along with the GNU C Library; if not, see
  4687  //    <https://www.gnu.org/licenses/>.
  4688  
  4689  // Never include this file directly; use <sys/types.h> instead.
  4690  
  4691  type Uint8_t = X__uint8_t   /* stdint-uintn.h:24:19 */
  4692  type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
  4693  type Uint32_t = X__uint32_t /* stdint-uintn.h:26:20 */
  4694  type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
  4695  
  4696  // Small types.
  4697  
  4698  // Signed.
  4699  type Int_least8_t = X__int_least8_t   /* stdint.h:43:24 */
  4700  type Int_least16_t = X__int_least16_t /* stdint.h:44:25 */
  4701  type Int_least32_t = X__int_least32_t /* stdint.h:45:25 */
  4702  type Int_least64_t = X__int_least64_t /* stdint.h:46:25 */
  4703  
  4704  // Unsigned.
  4705  type Uint_least8_t = X__uint_least8_t   /* stdint.h:49:25 */
  4706  type Uint_least16_t = X__uint_least16_t /* stdint.h:50:26 */
  4707  type Uint_least32_t = X__uint_least32_t /* stdint.h:51:26 */
  4708  type Uint_least64_t = X__uint_least64_t /* stdint.h:52:26 */
  4709  
  4710  // Fast types.
  4711  
  4712  // Signed.
  4713  type Int_fast8_t = int8   /* stdint.h:58:22 */
  4714  type Int_fast16_t = int32 /* stdint.h:64:15 */
  4715  type Int_fast32_t = int32 /* stdint.h:65:15 */
  4716  
  4717  type Int_fast64_t = int64 /* stdint.h:67:24 */
  4718  
  4719  // Unsigned.
  4720  type Uint_fast8_t = uint8   /* stdint.h:71:24 */
  4721  type Uint_fast16_t = uint32 /* stdint.h:77:23 */
  4722  type Uint_fast32_t = uint32 /* stdint.h:78:23 */
  4723  
  4724  type Uint_fast64_t = uint64 /* stdint.h:80:32 */
  4725  
  4726  // Types for `void *' pointers.
  4727  type Intptr_t = int32   /* stdint.h:93:15 */
  4728  type Uintptr_t = uint32 /* stdint.h:96:23 */
  4729  
  4730  // Largest integral types.
  4731  type Intmax_t = X__intmax_t   /* stdint.h:101:21 */
  4732  type Uintmax_t = X__uintmax_t /* stdint.h:102:22 */
  4733  
  4734  // Limits of integral types.
  4735  
  4736  // Minimum of signed integral types.
  4737  // Maximum of signed integral types.
  4738  
  4739  // Maximum of unsigned integral types.
  4740  
  4741  // Minimum of signed integral types having a minimum size.
  4742  // Maximum of signed integral types having a minimum size.
  4743  
  4744  // Maximum of unsigned integral types having a minimum size.
  4745  
  4746  // Minimum of fast signed integral types having a minimum size.
  4747  // Maximum of fast signed integral types having a minimum size.
  4748  
  4749  // Maximum of fast unsigned integral types having a minimum size.
  4750  
  4751  // Values to test for integral types holding `void *' pointer.
  4752  
  4753  // Minimum for largest signed integral type.
  4754  // Maximum for largest signed integral type.
  4755  
  4756  // Maximum for largest unsigned integral type.
  4757  
  4758  // Limits of other integer types.
  4759  
  4760  // Limits of `ptrdiff_t' type.
  4761  
  4762  // Limits of `sig_atomic_t'.
  4763  
  4764  // Limit of `size_t' type.
  4765  
  4766  // Limits of `wchar_t'.
  4767  // These constants might also be defined in <wchar.h>.
  4768  
  4769  // Limits of `wint_t'.
  4770  
  4771  // Signed.
  4772  
  4773  // Unsigned.
  4774  
  4775  // Maximal type.
  4776  
  4777  //
  4778  //
  4779  // Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
  4780  //
  4781  // Permission to use, copy, modify, distribute, and sell this software and its
  4782  // documentation for any purpose is hereby granted without fee, provided that
  4783  // the above copyright notice appear in all copies and that both that
  4784  // copyright notice and this permission notice appear in supporting
  4785  // documentation.
  4786  //
  4787  // The above copyright notice and this permission notice shall be included in
  4788  // all copies or substantial portions of the Software.
  4789  //
  4790  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  4791  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  4792  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  4793  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  4794  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  4795  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  4796  //
  4797  // Except as contained in this notice, the name of The Open Group shall not be
  4798  // used in advertising or otherwise to promote the sale, use or other dealings
  4799  // in this Software without prior written authorization from The Open Group.
  4800  //
  4801  
  4802  //	Xlib.h - Header definition and support file for the C subroutine
  4803  //	interface library (Xlib) to the X Window System Protocol (V11).
  4804  //	Structures and symbols starting with "_" are private to the library.
  4805  
  4806  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4807  //    This file is part of the GNU C Library.
  4808  //
  4809  //    The GNU C Library is free software; you can redistribute it and/or
  4810  //    modify it under the terms of the GNU Lesser General Public
  4811  //    License as published by the Free Software Foundation; either
  4812  //    version 2.1 of the License, or (at your option) any later version.
  4813  //
  4814  //    The GNU C Library is distributed in the hope that it will be useful,
  4815  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4816  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4817  //    Lesser General Public License for more details.
  4818  //
  4819  //    You should have received a copy of the GNU Lesser General Public
  4820  //    License along with the GNU C Library; if not, see
  4821  //    <https://www.gnu.org/licenses/>.
  4822  
  4823  //	POSIX Standard: 2.6 Primitive System Data Types	<sys/types.h>
  4824  
  4825  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4826  //    This file is part of the GNU C Library.
  4827  //
  4828  //    The GNU C Library is free software; you can redistribute it and/or
  4829  //    modify it under the terms of the GNU Lesser General Public
  4830  //    License as published by the Free Software Foundation; either
  4831  //    version 2.1 of the License, or (at your option) any later version.
  4832  //
  4833  //    The GNU C Library is distributed in the hope that it will be useful,
  4834  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4835  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4836  //    Lesser General Public License for more details.
  4837  //
  4838  //    You should have received a copy of the GNU Lesser General Public
  4839  //    License along with the GNU C Library; if not, see
  4840  //    <https://www.gnu.org/licenses/>.
  4841  
  4842  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4843  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4844  //    This file is part of the GNU C Library.
  4845  //
  4846  //    The GNU C Library is free software; you can redistribute it and/or
  4847  //    modify it under the terms of the GNU Lesser General Public
  4848  //    License as published by the Free Software Foundation; either
  4849  //    version 2.1 of the License, or (at your option) any later version.
  4850  //
  4851  //    The GNU C Library is distributed in the hope that it will be useful,
  4852  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4853  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4854  //    Lesser General Public License for more details.
  4855  //
  4856  //    You should have received a copy of the GNU Lesser General Public
  4857  //    License along with the GNU C Library; if not, see
  4858  //    <https://www.gnu.org/licenses/>.
  4859  
  4860  // Never include this file directly; use <sys/types.h> instead.
  4861  
  4862  type U_char = X__u_char     /* types.h:33:18 */
  4863  type U_short = X__u_short   /* types.h:34:19 */
  4864  type U_int = X__u_int       /* types.h:35:17 */
  4865  type U_long = X__u_long     /* types.h:36:18 */
  4866  type Quad_t = X__quad_t     /* types.h:37:18 */
  4867  type U_quad_t = X__u_quad_t /* types.h:38:20 */
  4868  type Fsid_t = X__fsid_t     /* types.h:39:18 */
  4869  type Loff_t = X__loff_t     /* types.h:42:18 */
  4870  
  4871  type Ino_t = X__ino64_t /* types.h:49:19 */
  4872  
  4873  type Dev_t = X__dev_t /* types.h:59:17 */
  4874  
  4875  type Gid_t = X__gid_t /* types.h:64:17 */
  4876  
  4877  type Mode_t = X__mode_t /* types.h:69:18 */
  4878  
  4879  type Nlink_t = X__nlink_t /* types.h:74:19 */
  4880  
  4881  type Uid_t = X__uid_t /* types.h:79:17 */
  4882  
  4883  type Off_t = X__off64_t /* types.h:87:19 */
  4884  
  4885  type Pid_t = X__pid_t /* types.h:97:17 */
  4886  
  4887  type Id_t = X__id_t /* types.h:103:16 */
  4888  
  4889  type Ssize_t = X__ssize_t /* types.h:108:19 */
  4890  
  4891  type Daddr_t = X__daddr_t /* types.h:114:19 */
  4892  type Caddr_t = X__caddr_t /* types.h:115:19 */
  4893  
  4894  type Key_t = X__key_t /* types.h:121:17 */
  4895  
  4896  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4897  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4898  //    This file is part of the GNU C Library.
  4899  //
  4900  //    The GNU C Library is free software; you can redistribute it and/or
  4901  //    modify it under the terms of the GNU Lesser General Public
  4902  //    License as published by the Free Software Foundation; either
  4903  //    version 2.1 of the License, or (at your option) any later version.
  4904  //
  4905  //    The GNU C Library is distributed in the hope that it will be useful,
  4906  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4907  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4908  //    Lesser General Public License for more details.
  4909  //
  4910  //    You should have received a copy of the GNU Lesser General Public
  4911  //    License along with the GNU C Library; if not, see
  4912  //    <https://www.gnu.org/licenses/>.
  4913  
  4914  // Never include this file directly; use <sys/types.h> instead.
  4915  
  4916  // Returned by `clock'.
  4917  type Clock_t = X__clock_t /* clock_t.h:7:19 */
  4918  
  4919  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4920  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4921  //    This file is part of the GNU C Library.
  4922  //
  4923  //    The GNU C Library is free software; you can redistribute it and/or
  4924  //    modify it under the terms of the GNU Lesser General Public
  4925  //    License as published by the Free Software Foundation; either
  4926  //    version 2.1 of the License, or (at your option) any later version.
  4927  //
  4928  //    The GNU C Library is distributed in the hope that it will be useful,
  4929  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4930  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4931  //    Lesser General Public License for more details.
  4932  //
  4933  //    You should have received a copy of the GNU Lesser General Public
  4934  //    License along with the GNU C Library; if not, see
  4935  //    <https://www.gnu.org/licenses/>.
  4936  
  4937  // Never include this file directly; use <sys/types.h> instead.
  4938  
  4939  // Clock ID used in clock and timer functions.
  4940  type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
  4941  
  4942  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4943  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4944  //    This file is part of the GNU C Library.
  4945  //
  4946  //    The GNU C Library is free software; you can redistribute it and/or
  4947  //    modify it under the terms of the GNU Lesser General Public
  4948  //    License as published by the Free Software Foundation; either
  4949  //    version 2.1 of the License, or (at your option) any later version.
  4950  //
  4951  //    The GNU C Library is distributed in the hope that it will be useful,
  4952  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4953  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4954  //    Lesser General Public License for more details.
  4955  //
  4956  //    You should have received a copy of the GNU Lesser General Public
  4957  //    License along with the GNU C Library; if not, see
  4958  //    <https://www.gnu.org/licenses/>.
  4959  
  4960  // Never include this file directly; use <sys/types.h> instead.
  4961  
  4962  // Returned by `time'.
  4963  type Time_t = X__time_t /* time_t.h:7:18 */
  4964  
  4965  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4966  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4967  //    This file is part of the GNU C Library.
  4968  //
  4969  //    The GNU C Library is free software; you can redistribute it and/or
  4970  //    modify it under the terms of the GNU Lesser General Public
  4971  //    License as published by the Free Software Foundation; either
  4972  //    version 2.1 of the License, or (at your option) any later version.
  4973  //
  4974  //    The GNU C Library is distributed in the hope that it will be useful,
  4975  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4976  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4977  //    Lesser General Public License for more details.
  4978  //
  4979  //    You should have received a copy of the GNU Lesser General Public
  4980  //    License along with the GNU C Library; if not, see
  4981  //    <https://www.gnu.org/licenses/>.
  4982  
  4983  // Never include this file directly; use <sys/types.h> instead.
  4984  
  4985  // Timer ID returned by `timer_create'.
  4986  type Timer_t = X__timer_t /* timer_t.h:7:19 */
  4987  
  4988  // Wide character type.
  4989  //    Locale-writers should change this as necessary to
  4990  //    be big enough to hold unique values not between 0 and 127,
  4991  //    and not (wchar_t) -1, for each defined multibyte character.
  4992  
  4993  // Define this type if we are doing the whole job,
  4994  //    or if we want this type in particular.
  4995  
  4996  // A null pointer constant.
  4997  
  4998  // Old compatibility names for C types.
  4999  type Ulong = uint32  /* types.h:148:27 */
  5000  type Ushort = uint16 /* types.h:149:28 */
  5001  type Uint = uint32   /* types.h:150:22 */
  5002  
  5003  // These size-specific names are used by some of the inet code.
  5004  
  5005  // Define intN_t types.
  5006  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5007  //    This file is part of the GNU C Library.
  5008  //
  5009  //    The GNU C Library is free software; you can redistribute it and/or
  5010  //    modify it under the terms of the GNU Lesser General Public
  5011  //    License as published by the Free Software Foundation; either
  5012  //    version 2.1 of the License, or (at your option) any later version.
  5013  //
  5014  //    The GNU C Library is distributed in the hope that it will be useful,
  5015  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5016  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5017  //    Lesser General Public License for more details.
  5018  //
  5019  //    You should have received a copy of the GNU Lesser General Public
  5020  //    License along with the GNU C Library; if not, see
  5021  //    <https://www.gnu.org/licenses/>.
  5022  
  5023  // These were defined by ISO C without the first `_'.
  5024  type U_int8_t = X__uint8_t   /* types.h:158:19 */
  5025  type U_int16_t = X__uint16_t /* types.h:159:20 */
  5026  type U_int32_t = X__uint32_t /* types.h:160:20 */
  5027  type U_int64_t = X__uint64_t /* types.h:161:20 */
  5028  
  5029  type Register_t = int32 /* types.h:164:13 */
  5030  
  5031  // It also defines `fd_set' and the FD_* macros for `select'.
  5032  // `fd_set' type and related macros, and `select'/`pselect' declarations.
  5033  //    Copyright (C) 1996-2020 Free Software Foundation, Inc.
  5034  //    This file is part of the GNU C Library.
  5035  //
  5036  //    The GNU C Library is free software; you can redistribute it and/or
  5037  //    modify it under the terms of the GNU Lesser General Public
  5038  //    License as published by the Free Software Foundation; either
  5039  //    version 2.1 of the License, or (at your option) any later version.
  5040  //
  5041  //    The GNU C Library is distributed in the hope that it will be useful,
  5042  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5043  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5044  //    Lesser General Public License for more details.
  5045  //
  5046  //    You should have received a copy of the GNU Lesser General Public
  5047  //    License along with the GNU C Library; if not, see
  5048  //    <https://www.gnu.org/licenses/>.
  5049  
  5050  //	POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
  5051  
  5052  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  5053  //    This file is part of the GNU C Library.
  5054  //
  5055  //    The GNU C Library is free software; you can redistribute it and/or
  5056  //    modify it under the terms of the GNU Lesser General Public
  5057  //    License as published by the Free Software Foundation; either
  5058  //    version 2.1 of the License, or (at your option) any later version.
  5059  //
  5060  //    The GNU C Library is distributed in the hope that it will be useful,
  5061  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5062  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5063  //    Lesser General Public License for more details.
  5064  //
  5065  //    You should have received a copy of the GNU Lesser General Public
  5066  //    License along with the GNU C Library; if not, see
  5067  //    <https://www.gnu.org/licenses/>.
  5068  
  5069  // Get definition of needed basic types.
  5070  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5071  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5072  //    This file is part of the GNU C Library.
  5073  //
  5074  //    The GNU C Library is free software; you can redistribute it and/or
  5075  //    modify it under the terms of the GNU Lesser General Public
  5076  //    License as published by the Free Software Foundation; either
  5077  //    version 2.1 of the License, or (at your option) any later version.
  5078  //
  5079  //    The GNU C Library is distributed in the hope that it will be useful,
  5080  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5081  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5082  //    Lesser General Public License for more details.
  5083  //
  5084  //    You should have received a copy of the GNU Lesser General Public
  5085  //    License along with the GNU C Library; if not, see
  5086  //    <https://www.gnu.org/licenses/>.
  5087  
  5088  // Never include this file directly; use <sys/types.h> instead.
  5089  
  5090  // Get __FD_* definitions.
  5091  // Copyright (C) 1997-2020 Free Software Foundation, Inc.
  5092  //    This file is part of the GNU C Library.
  5093  //
  5094  //    The GNU C Library is free software; you can redistribute it and/or
  5095  //    modify it under the terms of the GNU Lesser General Public
  5096  //    License as published by the Free Software Foundation; either
  5097  //    version 2.1 of the License, or (at your option) any later version.
  5098  //
  5099  //    The GNU C Library is distributed in the hope that it will be useful,
  5100  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5101  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5102  //    Lesser General Public License for more details.
  5103  //
  5104  //    You should have received a copy of the GNU Lesser General Public
  5105  //    License along with the GNU C Library; if not, see
  5106  //    <https://www.gnu.org/licenses/>.
  5107  
  5108  // Determine the wordsize from the preprocessor defines.
  5109  
  5110  // Get sigset_t.
  5111  
  5112  type X__sigset_t = struct{ F__val [32]uint32 } /* __sigset_t.h:8:3 */
  5113  
  5114  // A set of signals to be blocked, unblocked, or waited for.
  5115  type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
  5116  
  5117  // Get definition of timer specification structures.
  5118  
  5119  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5120  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5121  //    This file is part of the GNU C Library.
  5122  //
  5123  //    The GNU C Library is free software; you can redistribute it and/or
  5124  //    modify it under the terms of the GNU Lesser General Public
  5125  //    License as published by the Free Software Foundation; either
  5126  //    version 2.1 of the License, or (at your option) any later version.
  5127  //
  5128  //    The GNU C Library is distributed in the hope that it will be useful,
  5129  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5130  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5131  //    Lesser General Public License for more details.
  5132  //
  5133  //    You should have received a copy of the GNU Lesser General Public
  5134  //    License along with the GNU C Library; if not, see
  5135  //    <https://www.gnu.org/licenses/>.
  5136  
  5137  // Never include this file directly; use <sys/types.h> instead.
  5138  
  5139  // A time value that is accurate to the nearest
  5140  //    microsecond but also has a range of years.
  5141  type Timeval = struct {
  5142  	Ftv_sec  X__time_t
  5143  	Ftv_usec X__suseconds_t
  5144  } /* struct_timeval.h:8:1 */
  5145  
  5146  // NB: Include guard matches what <linux/time.h> uses.
  5147  
  5148  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5149  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5150  //    This file is part of the GNU C Library.
  5151  //
  5152  //    The GNU C Library is free software; you can redistribute it and/or
  5153  //    modify it under the terms of the GNU Lesser General Public
  5154  //    License as published by the Free Software Foundation; either
  5155  //    version 2.1 of the License, or (at your option) any later version.
  5156  //
  5157  //    The GNU C Library is distributed in the hope that it will be useful,
  5158  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5159  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5160  //    Lesser General Public License for more details.
  5161  //
  5162  //    You should have received a copy of the GNU Lesser General Public
  5163  //    License along with the GNU C Library; if not, see
  5164  //    <https://www.gnu.org/licenses/>.
  5165  
  5166  // Never include this file directly; use <sys/types.h> instead.
  5167  
  5168  // Endian macros for string.h functions
  5169  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  5170  //    This file is part of the GNU C Library.
  5171  //
  5172  //    The GNU C Library is free software; you can redistribute it and/or
  5173  //    modify it under the terms of the GNU Lesser General Public
  5174  //    License as published by the Free Software Foundation; either
  5175  //    version 2.1 of the License, or (at your option) any later version.
  5176  //
  5177  //    The GNU C Library is distributed in the hope that it will be useful,
  5178  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5179  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5180  //    Lesser General Public License for more details.
  5181  //
  5182  //    You should have received a copy of the GNU Lesser General Public
  5183  //    License along with the GNU C Library; if not, see
  5184  //    <http://www.gnu.org/licenses/>.
  5185  
  5186  // POSIX.1b structure for a time value.  This is like a `struct timeval' but
  5187  //    has nanoseconds instead of microseconds.
  5188  type Timespec = struct {
  5189  	Ftv_sec  X__time_t
  5190  	Ftv_nsec X__syscall_slong_t
  5191  } /* struct_timespec.h:10:1 */
  5192  
  5193  type Suseconds_t = X__suseconds_t /* select.h:43:23 */
  5194  
  5195  // The fd_set member is required to be an array of longs.
  5196  type X__fd_mask = int32 /* select.h:49:18 */
  5197  
  5198  // Some versions of <linux/posix_types.h> define this macros.
  5199  // It's easier to assume 8-bit bytes than to get CHAR_BIT.
  5200  
  5201  // fd_set for select and pselect.
  5202  type Fd_set = struct{ F__fds_bits [32]X__fd_mask } /* select.h:70:5 */
  5203  
  5204  // Maximum number of file descriptors in `fd_set'.
  5205  
  5206  // Sometimes the fd_set member is assumed to have this type.
  5207  type Fd_mask = X__fd_mask /* select.h:77:19 */
  5208  
  5209  // Define some inlines helping to catch common problems.
  5210  
  5211  type Blksize_t = X__blksize_t /* types.h:185:21 */
  5212  
  5213  // Types from the Large File Support interface.
  5214  type Blkcnt_t = X__blkcnt64_t     /* types.h:205:22 */ // Type to count number of disk blocks.
  5215  type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
  5216  type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
  5217  
  5218  // Now add the thread types.
  5219  // Declaration of common pthread types for all architectures.
  5220  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5221  //    This file is part of the GNU C Library.
  5222  //
  5223  //    The GNU C Library is free software; you can redistribute it and/or
  5224  //    modify it under the terms of the GNU Lesser General Public
  5225  //    License as published by the Free Software Foundation; either
  5226  //    version 2.1 of the License, or (at your option) any later version.
  5227  //
  5228  //    The GNU C Library is distributed in the hope that it will be useful,
  5229  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5230  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5231  //    Lesser General Public License for more details.
  5232  //
  5233  //    You should have received a copy of the GNU Lesser General Public
  5234  //    License along with the GNU C Library; if not, see
  5235  //    <https://www.gnu.org/licenses/>.
  5236  
  5237  // For internal mutex and condition variable definitions.
  5238  // Common threading primitives definitions for both POSIX and C11.
  5239  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5240  //    This file is part of the GNU C Library.
  5241  //
  5242  //    The GNU C Library is free software; you can redistribute it and/or
  5243  //    modify it under the terms of the GNU Lesser General Public
  5244  //    License as published by the Free Software Foundation; either
  5245  //    version 2.1 of the License, or (at your option) any later version.
  5246  //
  5247  //    The GNU C Library is distributed in the hope that it will be useful,
  5248  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5249  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5250  //    Lesser General Public License for more details.
  5251  //
  5252  //    You should have received a copy of the GNU Lesser General Public
  5253  //    License along with the GNU C Library; if not, see
  5254  //    <https://www.gnu.org/licenses/>.
  5255  
  5256  // Arch-specific definitions.  Each architecture must define the following
  5257  //    macros to define the expected sizes of pthread data types:
  5258  //
  5259  //    __SIZEOF_PTHREAD_ATTR_T        - size of pthread_attr_t.
  5260  //    __SIZEOF_PTHREAD_MUTEX_T       - size of pthread_mutex_t.
  5261  //    __SIZEOF_PTHREAD_MUTEXATTR_T   - size of pthread_mutexattr_t.
  5262  //    __SIZEOF_PTHREAD_COND_T        - size of pthread_cond_t.
  5263  //    __SIZEOF_PTHREAD_CONDATTR_T    - size of pthread_condattr_t.
  5264  //    __SIZEOF_PTHREAD_RWLOCK_T      - size of pthread_rwlock_t.
  5265  //    __SIZEOF_PTHREAD_RWLOCKATTR_T  - size of pthread_rwlockattr_t.
  5266  //    __SIZEOF_PTHREAD_BARRIER_T     - size of pthread_barrier_t.
  5267  //    __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
  5268  //
  5269  //    The additional macro defines any constraint for the lock alignment
  5270  //    inside the thread structures:
  5271  //
  5272  //    __LOCK_ALIGNMENT - for internal lock/futex usage.
  5273  //
  5274  //    Same idea but for the once locking primitive:
  5275  //
  5276  //    __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
  5277  
  5278  // Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5279  //    This file is part of the GNU C Library.
  5280  //
  5281  //    The GNU C Library is free software; you can redistribute it and/or
  5282  //    modify it under the terms of the GNU Lesser General Public
  5283  //    License as published by the Free Software Foundation; either
  5284  //    version 2.1 of the License, or (at your option) any later version.
  5285  //
  5286  //    The GNU C Library is distributed in the hope that it will be useful,
  5287  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5288  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5289  //    Lesser General Public License for more details.
  5290  //
  5291  //    You should have received a copy of the GNU Lesser General Public
  5292  //    License along with the GNU C Library; if not, see
  5293  //    <https://www.gnu.org/licenses/>.
  5294  
  5295  // Determine the wordsize from the preprocessor defines.
  5296  
  5297  // Extra attributes for the cleanup functions.
  5298  
  5299  // Common definition of pthread_mutex_t.
  5300  
  5301  type X__pthread_internal_list = struct {
  5302  	F__prev uintptr
  5303  	F__next uintptr
  5304  } /* thread-shared-types.h:49:9 */
  5305  
  5306  // Type to count file system inodes.
  5307  
  5308  // Now add the thread types.
  5309  // Declaration of common pthread types for all architectures.
  5310  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5311  //    This file is part of the GNU C Library.
  5312  //
  5313  //    The GNU C Library is free software; you can redistribute it and/or
  5314  //    modify it under the terms of the GNU Lesser General Public
  5315  //    License as published by the Free Software Foundation; either
  5316  //    version 2.1 of the License, or (at your option) any later version.
  5317  //
  5318  //    The GNU C Library is distributed in the hope that it will be useful,
  5319  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5320  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5321  //    Lesser General Public License for more details.
  5322  //
  5323  //    You should have received a copy of the GNU Lesser General Public
  5324  //    License along with the GNU C Library; if not, see
  5325  //    <https://www.gnu.org/licenses/>.
  5326  
  5327  // For internal mutex and condition variable definitions.
  5328  // Common threading primitives definitions for both POSIX and C11.
  5329  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5330  //    This file is part of the GNU C Library.
  5331  //
  5332  //    The GNU C Library is free software; you can redistribute it and/or
  5333  //    modify it under the terms of the GNU Lesser General Public
  5334  //    License as published by the Free Software Foundation; either
  5335  //    version 2.1 of the License, or (at your option) any later version.
  5336  //
  5337  //    The GNU C Library is distributed in the hope that it will be useful,
  5338  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5339  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5340  //    Lesser General Public License for more details.
  5341  //
  5342  //    You should have received a copy of the GNU Lesser General Public
  5343  //    License along with the GNU C Library; if not, see
  5344  //    <https://www.gnu.org/licenses/>.
  5345  
  5346  // Arch-specific definitions.  Each architecture must define the following
  5347  //    macros to define the expected sizes of pthread data types:
  5348  //
  5349  //    __SIZEOF_PTHREAD_ATTR_T        - size of pthread_attr_t.
  5350  //    __SIZEOF_PTHREAD_MUTEX_T       - size of pthread_mutex_t.
  5351  //    __SIZEOF_PTHREAD_MUTEXATTR_T   - size of pthread_mutexattr_t.
  5352  //    __SIZEOF_PTHREAD_COND_T        - size of pthread_cond_t.
  5353  //    __SIZEOF_PTHREAD_CONDATTR_T    - size of pthread_condattr_t.
  5354  //    __SIZEOF_PTHREAD_RWLOCK_T      - size of pthread_rwlock_t.
  5355  //    __SIZEOF_PTHREAD_RWLOCKATTR_T  - size of pthread_rwlockattr_t.
  5356  //    __SIZEOF_PTHREAD_BARRIER_T     - size of pthread_barrier_t.
  5357  //    __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
  5358  //
  5359  //    The additional macro defines any constraint for the lock alignment
  5360  //    inside the thread structures:
  5361  //
  5362  //    __LOCK_ALIGNMENT - for internal lock/futex usage.
  5363  //
  5364  //    Same idea but for the once locking primitive:
  5365  //
  5366  //    __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
  5367  
  5368  // Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5369  //    This file is part of the GNU C Library.
  5370  //
  5371  //    The GNU C Library is free software; you can redistribute it and/or
  5372  //    modify it under the terms of the GNU Lesser General Public
  5373  //    License as published by the Free Software Foundation; either
  5374  //    version 2.1 of the License, or (at your option) any later version.
  5375  //
  5376  //    The GNU C Library is distributed in the hope that it will be useful,
  5377  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5378  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5379  //    Lesser General Public License for more details.
  5380  //
  5381  //    You should have received a copy of the GNU Lesser General Public
  5382  //    License along with the GNU C Library; if not, see
  5383  //    <https://www.gnu.org/licenses/>.
  5384  
  5385  // Determine the wordsize from the preprocessor defines.
  5386  
  5387  // Extra attributes for the cleanup functions.
  5388  
  5389  // Common definition of pthread_mutex_t.
  5390  
  5391  type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
  5392  
  5393  type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
  5394  
  5395  type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
  5396  
  5397  // Arch-specific mutex definitions.  A generic implementation is provided
  5398  //    by sysdeps/nptl/bits/struct_mutex.h.  If required, an architecture
  5399  //    can override it by defining:
  5400  //
  5401  //    1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
  5402  //       definition).  It should contains at least the internal members
  5403  //       defined in the generic version.
  5404  //
  5405  //    2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
  5406  //       atomic operations.
  5407  //
  5408  //    3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
  5409  //       It should initialize the mutex internal flag.
  5410  
  5411  // x86 internal mutex struct definitions.
  5412  //    Copyright (C) 2019-2020 Free Software Foundation, Inc.
  5413  //    This file is part of the GNU C Library.
  5414  //
  5415  //    The GNU C Library is free software; you can redistribute it and/or
  5416  //    modify it under the terms of the GNU Lesser General Public
  5417  //    License as published by the Free Software Foundation; either
  5418  //    version 2.1 of the License, or (at your option) any later version.
  5419  //
  5420  //    The GNU C Library is distributed in the hope that it will be useful,
  5421  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5422  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5423  //    Lesser General Public License for more details.
  5424  //
  5425  //    You should have received a copy of the GNU Lesser General Public
  5426  //    License along with the GNU C Library; if not, see
  5427  //    <http://www.gnu.org/licenses/>.
  5428  
  5429  type X__pthread_mutex_s = struct {
  5430  	F__lock   int32
  5431  	F__count  uint32
  5432  	F__owner  int32
  5433  	F__kind   int32
  5434  	F__nusers uint32
  5435  	F__20     struct {
  5436  		F__ccgo_pad1    [0]uint32
  5437  		F__elision_data struct {
  5438  			F__espins   int16
  5439  			F__eelision int16
  5440  		}
  5441  	}
  5442  } /* struct_mutex.h:22:1 */
  5443  
  5444  // Arch-sepecific read-write lock definitions.  A generic implementation is
  5445  //    provided by struct_rwlock.h.  If required, an architecture can override it
  5446  //    by defining:
  5447  //
  5448  //    1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
  5449  //       It should contain at least the internal members defined in the
  5450  //       generic version.
  5451  //
  5452  //    2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
  5453  //       It should initialize the rwlock internal type.
  5454  
  5455  // x86 internal rwlock struct definitions.
  5456  //    Copyright (C) 2019-2020 Free Software Foundation, Inc.
  5457  //
  5458  //    This file is part of the GNU C Library.
  5459  //
  5460  //    The GNU C Library is free software; you can redistribute it and/or
  5461  //    modify it under the terms of the GNU Lesser General Public
  5462  //    License as published by the Free Software Foundation; either
  5463  //    version 2.1 of the License, or (at your option) any later version.
  5464  //
  5465  //    The GNU C Library is distributed in the hope that it will be useful,
  5466  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5467  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5468  //    Lesser General Public License for more details.
  5469  //
  5470  //    You should have received a copy of the GNU Lesser General Public
  5471  //    License along with the GNU C Library; if not, see
  5472  //    <http://www.gnu.org/licenses/>.
  5473  
  5474  type X__pthread_rwlock_arch_t = struct {
  5475  	F__readers       uint32
  5476  	F__writers       uint32
  5477  	F__wrphase_futex uint32
  5478  	F__writers_futex uint32
  5479  	F__pad3          uint32
  5480  	F__pad4          uint32
  5481  	F__flags         uint8
  5482  	F__shared        uint8
  5483  	F__rwelision     int8
  5484  	F__pad2          uint8
  5485  	F__cur_writer    int32
  5486  } /* struct_rwlock.h:23:1 */
  5487  
  5488  // Common definition of pthread_cond_t.
  5489  
  5490  type X__pthread_cond_s = struct {
  5491  	F__0            struct{ F__wseq uint64 }
  5492  	F__8            struct{ F__g1_start uint64 }
  5493  	F__g_refs       [2]uint32
  5494  	F__g_size       [2]uint32
  5495  	F__g1_orig_size uint32
  5496  	F__wrefs        uint32
  5497  	F__g_signals    [2]uint32
  5498  } /* thread-shared-types.h:92:1 */
  5499  
  5500  // Thread identifiers.  The structure of the attribute type is not
  5501  //    exposed on purpose.
  5502  type Pthread_t = uint32 /* pthreadtypes.h:27:27 */
  5503  
  5504  // Data structures for mutex handling.  The structure of the attribute
  5505  //    type is not exposed on purpose.
  5506  type Pthread_mutexattr_t = struct {
  5507  	F__ccgo_pad1 [0]uint32
  5508  	F__size      [4]int8
  5509  } /* pthreadtypes.h:36:3 */
  5510  
  5511  // Data structure for condition variable handling.  The structure of
  5512  //    the attribute type is not exposed on purpose.
  5513  type Pthread_condattr_t = struct {
  5514  	F__ccgo_pad1 [0]uint32
  5515  	F__size      [4]int8
  5516  } /* pthreadtypes.h:45:3 */
  5517  
  5518  // Keys for thread-specific data
  5519  type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
  5520  
  5521  // Once-only execution
  5522  type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
  5523  
  5524  type Pthread_attr_t1 = struct {
  5525  	F__ccgo_pad1 [0]uint32
  5526  	F__size      [36]int8
  5527  } /* pthreadtypes.h:56:1 */
  5528  
  5529  type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
  5530  
  5531  type Pthread_mutex_t = struct{ F__data X__pthread_mutex_s } /* pthreadtypes.h:72:3 */
  5532  
  5533  type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
  5534  
  5535  // Data structure for reader-writer lock variable handling.  The
  5536  //    structure of the attribute type is deliberately not exposed.
  5537  type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
  5538  
  5539  type Pthread_rwlockattr_t = struct {
  5540  	F__ccgo_pad1 [0]uint32
  5541  	F__size      [8]int8
  5542  } /* pthreadtypes.h:97:3 */
  5543  
  5544  // POSIX spinlock data type.
  5545  type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
  5546  
  5547  // POSIX barriers data type.  The structure of the type is
  5548  //    deliberately not exposed.
  5549  type Pthread_barrier_t = struct {
  5550  	F__ccgo_pad1 [0]uint32
  5551  	F__size      [20]int8
  5552  } /* pthreadtypes.h:112:3 */
  5553  
  5554  type Pthread_barrierattr_t = struct {
  5555  	F__ccgo_pad1 [0]uint32
  5556  	F__size      [4]int8
  5557  } /* pthreadtypes.h:118:3 */
  5558  
  5559  // Definitions for the X window system likely to be used by applications
  5560  
  5561  //**********************************************************
  5562  //
  5563  // Copyright 1987, 1998  The Open Group
  5564  //
  5565  // Permission to use, copy, modify, distribute, and sell this software and its
  5566  // documentation for any purpose is hereby granted without fee, provided that
  5567  // the above copyright notice appear in all copies and that both that
  5568  // copyright notice and this permission notice appear in supporting
  5569  // documentation.
  5570  //
  5571  // The above copyright notice and this permission notice shall be included in
  5572  // all copies or substantial portions of the Software.
  5573  //
  5574  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  5575  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  5576  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  5577  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  5578  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  5579  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  5580  //
  5581  // Except as contained in this notice, the name of The Open Group shall not be
  5582  // used in advertising or otherwise to promote the sale, use or other dealings
  5583  // in this Software without prior written authorization from The Open Group.
  5584  //
  5585  //
  5586  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  5587  //
  5588  //                         All Rights Reserved
  5589  //
  5590  // Permission to use, copy, modify, and distribute this software and its
  5591  // documentation for any purpose and without fee is hereby granted,
  5592  // provided that the above copyright notice appear in all copies and that
  5593  // both that copyright notice and this permission notice appear in
  5594  // supporting documentation, and that the name of Digital not be
  5595  // used in advertising or publicity pertaining to distribution of the
  5596  // software without specific, written prior permission.
  5597  //
  5598  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  5599  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  5600  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  5601  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  5602  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  5603  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  5604  // SOFTWARE.
  5605  //
  5606  // *****************************************************************
  5607  
  5608  // Resources
  5609  
  5610  // _XSERVER64 must ONLY be defined when compiling X server sources on
  5611  // systems where unsigned long is not 32 bits, must NOT be used in
  5612  // client or library code.
  5613  type XID = uint32      /* X.h:66:23 */
  5614  type Mask = uint32     /* X.h:70:23 */
  5615  type Atom = uint32     /* X.h:74:23 */ // Also in Xdefs.h
  5616  type VisualID = uint32 /* X.h:76:23 */
  5617  type Time = uint32     /* X.h:77:23 */
  5618  
  5619  type Window = XID   /* X.h:96:13 */
  5620  type Drawable = XID /* X.h:97:13 */
  5621  type Font = XID     /* X.h:100:13 */
  5622  type Pixmap = XID   /* X.h:102:13 */
  5623  type Cursor = XID   /* X.h:103:13 */
  5624  type Colormap = XID /* X.h:104:13 */
  5625  type GContext = XID /* X.h:105:13 */
  5626  type KeySym = XID   /* X.h:106:13 */
  5627  
  5628  type KeyCode = uint8 /* X.h:108:23 */
  5629  
  5630  // A null pointer constant.
  5631  
  5632  // Offset of member MEMBER in a struct of type TYPE.
  5633  
  5634  // Type whose alignment is supported in every context and is at least
  5635  //    as great as that of any standard type not using alignment
  5636  //    specifiers.
  5637  type Max_align_t = struct {
  5638  	F__max_align_ll   int64
  5639  	F__max_align_ld   float64
  5640  	F__max_align_f128 X__float128
  5641  } /* stddef.h:426:3 */
  5642  
  5643  // API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
  5644  //    November 2000. Its presence is indicated through the following macro.
  5645  
  5646  // The Xlib structs are full of implicit padding to properly align members.
  5647  //    We can't clean that up without breaking ABI, so tell clang not to bother
  5648  //    complaining about it.
  5649  
  5650  type XPointer = uintptr /* Xlib.h:80:14 */
  5651  
  5652  // macros for screen oriented applications (toolkit)
  5653  
  5654  // Extensions need a way to hang private data on some structures.
  5655  type X_XExtData = struct {
  5656  	Fnumber       int32
  5657  	Fnext         uintptr
  5658  	Ffree_private uintptr
  5659  	Fprivate_data XPointer
  5660  } /* Xlib.h:148:9 */
  5661  
  5662  // macros for screen oriented applications (toolkit)
  5663  
  5664  // Extensions need a way to hang private data on some structures.
  5665  type XExtData = X_XExtData /* Xlib.h:155:3 */
  5666  
  5667  // This file contains structures used by the extension mechanism.
  5668  type XExtCodes = struct {
  5669  	Fextension    int32
  5670  	Fmajor_opcode int32
  5671  	Ffirst_event  int32
  5672  	Ffirst_error  int32
  5673  } /* Xlib.h:165:3 */
  5674  
  5675  // Data structure for retrieving info about pixmap formats.
  5676  
  5677  type XPixmapFormatValues = struct {
  5678  	Fdepth          int32
  5679  	Fbits_per_pixel int32
  5680  	Fscanline_pad   int32
  5681  } /* Xlib.h:175:3 */
  5682  
  5683  // Data structure for setting graphics context.
  5684  type XGCValues = struct {
  5685  	Ffunction           int32
  5686  	Fplane_mask         uint32
  5687  	Fforeground         uint32
  5688  	Fbackground         uint32
  5689  	Fline_width         int32
  5690  	Fline_style         int32
  5691  	Fcap_style          int32
  5692  	Fjoin_style         int32
  5693  	Ffill_style         int32
  5694  	Ffill_rule          int32
  5695  	Farc_mode           int32
  5696  	Ftile               Pixmap
  5697  	Fstipple            Pixmap
  5698  	Fts_x_origin        int32
  5699  	Fts_y_origin        int32
  5700  	Ffont               Font
  5701  	Fsubwindow_mode     int32
  5702  	Fgraphics_exposures int32
  5703  	Fclip_x_origin      int32
  5704  	Fclip_y_origin      int32
  5705  	Fclip_mask          Pixmap
  5706  	Fdash_offset        int32
  5707  	Fdashes             int8
  5708  	F__ccgo_pad1        [3]byte
  5709  } /* Xlib.h:207:3 */
  5710  
  5711  // Graphics context.  The contents of this structure are implementation
  5712  // dependent.  A GC should be treated as opaque by application code.
  5713  
  5714  type X_XGC = struct {
  5715  	Fext_data uintptr
  5716  	Fgid      GContext
  5717  	Frects    int32
  5718  	Fdashes   int32
  5719  	Fdirty    uint32
  5720  	Fvalues   XGCValues
  5721  } /* Xlib.h:214:9 */
  5722  
  5723  // Graphics context.  The contents of this structure are implementation
  5724  // dependent.  A GC should be treated as opaque by application code.
  5725  
  5726  type GC = uintptr /* Xlib.h:222:1 */
  5727  
  5728  // Visual structure; contains information about colormapping possible.
  5729  type Visual = struct {
  5730  	Fext_data     uintptr
  5731  	Fvisualid     VisualID
  5732  	Fclass        int32
  5733  	Fred_mask     uint32
  5734  	Fgreen_mask   uint32
  5735  	Fblue_mask    uint32
  5736  	Fbits_per_rgb int32
  5737  	Fmap_entries  int32
  5738  } /* Xlib.h:238:3 */
  5739  
  5740  // Depth structure; contains information for each possible depth.
  5741  type Depth = struct {
  5742  	Fdepth    int32
  5743  	Fnvisuals int32
  5744  	Fvisuals  uintptr
  5745  } /* Xlib.h:247:3 */
  5746  
  5747  // Information about the screen.  The contents of this structure are
  5748  // implementation dependent.  A Screen should be treated as opaque
  5749  // by application code.
  5750  
  5751  type X_XDisplay = struct {
  5752  	Fext_data            uintptr
  5753  	Ffree_funcs          uintptr
  5754  	Ffd                  int32
  5755  	Fconn_checker        int32
  5756  	Fproto_major_version int32
  5757  	Fproto_minor_version int32
  5758  	Fvendor              uintptr
  5759  	Fresource_base       XID
  5760  	Fresource_mask       XID
  5761  	Fresource_id         XID
  5762  	Fresource_shift      int32
  5763  	Fresource_alloc      uintptr
  5764  	Fbyte_order          int32
  5765  	Fbitmap_unit         int32
  5766  	Fbitmap_pad          int32
  5767  	Fbitmap_bit_order    int32
  5768  	Fnformats            int32
  5769  	Fpixmap_format       uintptr
  5770  	Fvnumber             int32
  5771  	Frelease             int32
  5772  	Fhead                uintptr
  5773  	Ftail                uintptr
  5774  	Fqlen                int32
  5775  	Flast_request_read   uint32
  5776  	Frequest             uint32
  5777  	Flast_req            uintptr
  5778  	Fbuffer              uintptr
  5779  	Fbufptr              uintptr
  5780  	Fbufmax              uintptr
  5781  	Fmax_request_size    uint32
  5782  	Fdb                  uintptr
  5783  	Fsynchandler         uintptr
  5784  	Fdisplay_name        uintptr
  5785  	Fdefault_screen      int32
  5786  	Fnscreens            int32
  5787  	Fscreens             uintptr
  5788  	Fmotion_buffer       uint32
  5789  	Fflags               uint32
  5790  	Fmin_keycode         int32
  5791  	Fmax_keycode         int32
  5792  	Fkeysyms             uintptr
  5793  	Fmodifiermap         uintptr
  5794  	Fkeysyms_per_keycode int32
  5795  	Fxdefaults           uintptr
  5796  	Fscratch_buffer      uintptr
  5797  	Fscratch_length      uint32
  5798  	Fext_number          int32
  5799  	Fext_procs           uintptr
  5800  	Fevent_vec           [128]uintptr
  5801  	Fwire_vec            [128]uintptr
  5802  	Flock_meaning        KeySym
  5803  	Flock                uintptr
  5804  	Fasync_handlers      uintptr
  5805  	Fbigreq_size         uint32
  5806  	Flock_fns            uintptr
  5807  	Fidlist_alloc        uintptr
  5808  	Fkey_bindings        uintptr
  5809  	Fcursor_font         Font
  5810  	Fatoms               uintptr
  5811  	Fmode_switch         uint32
  5812  	Fnum_lock            uint32
  5813  	Fcontext_db          uintptr
  5814  	Ferror_vec           uintptr
  5815  	Fcms                 struct {
  5816  		FdefaultCCCs            XPointer
  5817  		FclientCmaps            XPointer
  5818  		FperVisualIntensityMaps XPointer
  5819  	}
  5820  	Fim_filters                   uintptr
  5821  	Fqfree                        uintptr
  5822  	Fnext_event_serial_num        uint32
  5823  	Fflushes                      uintptr
  5824  	Fim_fd_info                   uintptr
  5825  	Fim_fd_length                 int32
  5826  	Fconn_watchers                uintptr
  5827  	Fwatcher_count                int32
  5828  	Ffiledes                      XPointer
  5829  	Fsavedsynchandler             uintptr
  5830  	Fresource_max                 XID
  5831  	Fxcmisc_opcode                int32
  5832  	Fxkb_info                     uintptr
  5833  	Ftrans_conn                   uintptr
  5834  	Fxcb                          uintptr
  5835  	Fnext_cookie                  uint32
  5836  	Fgeneric_event_vec            [128]uintptr
  5837  	Fgeneric_event_copy_vec       [128]uintptr
  5838  	Fcookiejar                    uintptr
  5839  	Flast_request_read_upper32bit uint32
  5840  	Frequest_upper32bit           uint32
  5841  	Ferror_threads                uintptr
  5842  	Fexit_handler                 XIOErrorExitHandler
  5843  	Fexit_handler_data            uintptr
  5844  } /* Xlib.h:255:1 */
  5845  
  5846  // Forward declare before use for C++
  5847  
  5848  type Screen = struct {
  5849  	Fext_data        uintptr
  5850  	Fdisplay         uintptr
  5851  	Froot            Window
  5852  	Fwidth           int32
  5853  	Fheight          int32
  5854  	Fmwidth          int32
  5855  	Fmheight         int32
  5856  	Fndepths         int32
  5857  	Fdepths          uintptr
  5858  	Froot_depth      int32
  5859  	Froot_visual     uintptr
  5860  	Fdefault_gc      GC
  5861  	Fcmap            Colormap
  5862  	Fwhite_pixel     uint32
  5863  	Fblack_pixel     uint32
  5864  	Fmax_maps        int32
  5865  	Fmin_maps        int32
  5866  	Fbacking_store   int32
  5867  	Fsave_unders     int32
  5868  	Froot_input_mask int32
  5869  } /* Xlib.h:275:3 */
  5870  
  5871  // Format structure; describes ZFormat data the screen will understand.
  5872  type ScreenFormat = struct {
  5873  	Fext_data       uintptr
  5874  	Fdepth          int32
  5875  	Fbits_per_pixel int32
  5876  	Fscanline_pad   int32
  5877  } /* Xlib.h:285:3 */
  5878  
  5879  // Data structure for setting window attributes.
  5880  type XSetWindowAttributes = struct {
  5881  	Fbackground_pixmap     Pixmap
  5882  	Fbackground_pixel      uint32
  5883  	Fborder_pixmap         Pixmap
  5884  	Fborder_pixel          uint32
  5885  	Fbit_gravity           int32
  5886  	Fwin_gravity           int32
  5887  	Fbacking_store         int32
  5888  	Fbacking_planes        uint32
  5889  	Fbacking_pixel         uint32
  5890  	Fsave_under            int32
  5891  	Fevent_mask            int32
  5892  	Fdo_not_propagate_mask int32
  5893  	Foverride_redirect     int32
  5894  	Fcolormap              Colormap
  5895  	Fcursor                Cursor
  5896  } /* Xlib.h:306:3 */
  5897  
  5898  type XWindowAttributes = struct {
  5899  	Fx                     int32
  5900  	Fy                     int32
  5901  	Fwidth                 int32
  5902  	Fheight                int32
  5903  	Fborder_width          int32
  5904  	Fdepth                 int32
  5905  	Fvisual                uintptr
  5906  	Froot                  Window
  5907  	Fclass                 int32
  5908  	Fbit_gravity           int32
  5909  	Fwin_gravity           int32
  5910  	Fbacking_store         int32
  5911  	Fbacking_planes        uint32
  5912  	Fbacking_pixel         uint32
  5913  	Fsave_under            int32
  5914  	Fcolormap              Colormap
  5915  	Fmap_installed         int32
  5916  	Fmap_state             int32
  5917  	Fall_event_masks       int32
  5918  	Fyour_event_mask       int32
  5919  	Fdo_not_propagate_mask int32
  5920  	Foverride_redirect     int32
  5921  	Fscreen                uintptr
  5922  } /* Xlib.h:334:3 */
  5923  
  5924  // Data structure for host setting; getting routines.
  5925  //
  5926  
  5927  type XHostAddress = struct {
  5928  	Ffamily  int32
  5929  	Flength  int32
  5930  	Faddress uintptr
  5931  } /* Xlib.h:345:3 */
  5932  
  5933  // Data structure for ServerFamilyInterpreted addresses in host routines
  5934  type XServerInterpretedAddress = struct {
  5935  	Ftypelength  int32
  5936  	Fvaluelength int32
  5937  	Ftype        uintptr
  5938  	Fvalue       uintptr
  5939  } /* Xlib.h:355:3 */
  5940  
  5941  // Data structure for "image" data, used by image manipulation routines.
  5942  type X_XImage = struct {
  5943  	Fwidth            int32
  5944  	Fheight           int32
  5945  	Fxoffset          int32
  5946  	Fformat           int32
  5947  	Fdata             uintptr
  5948  	Fbyte_order       int32
  5949  	Fbitmap_unit      int32
  5950  	Fbitmap_bit_order int32
  5951  	Fbitmap_pad       int32
  5952  	Fdepth            int32
  5953  	Fbytes_per_line   int32
  5954  	Fbits_per_pixel   int32
  5955  	Fred_mask         uint32
  5956  	Fgreen_mask       uint32
  5957  	Fblue_mask        uint32
  5958  	Fobdata           XPointer
  5959  	Ff                struct {
  5960  		Fcreate_image  uintptr
  5961  		Fdestroy_image uintptr
  5962  		Fget_pixel     uintptr
  5963  		Fput_pixel     uintptr
  5964  		Fsub_image     uintptr
  5965  		Fadd_pixel     uintptr
  5966  	}
  5967  } /* Xlib.h:360:9 */
  5968  
  5969  // Data structure for "image" data, used by image manipulation routines.
  5970  type Funcs = struct {
  5971  	Fcreate_image  uintptr
  5972  	Fdestroy_image uintptr
  5973  	Fget_pixel     uintptr
  5974  	Fput_pixel     uintptr
  5975  	Fsub_image     uintptr
  5976  	Fadd_pixel     uintptr
  5977  } /* Xlib.h:360:9 */
  5978  
  5979  // Data structure for "image" data, used by image manipulation routines.
  5980  type XImage = X_XImage /* Xlib.h:394:3 */
  5981  
  5982  // Data structure for XReconfigureWindow
  5983  type XWindowChanges = struct {
  5984  	Fx            int32
  5985  	Fy            int32
  5986  	Fwidth        int32
  5987  	Fheight       int32
  5988  	Fborder_width int32
  5989  	Fsibling      Window
  5990  	Fstack_mode   int32
  5991  } /* Xlib.h:405:3 */
  5992  
  5993  // Data structure used by color operations
  5994  type XColor = struct {
  5995  	Fpixel uint32
  5996  	Fred   uint16
  5997  	Fgreen uint16
  5998  	Fblue  uint16
  5999  	Fflags int8
  6000  	Fpad   int8
  6001  } /* Xlib.h:415:3 */
  6002  
  6003  // Data structures for graphics operations.  On most machines, these are
  6004  // congruent with the wire protocol structures, so reformatting the data
  6005  // can be avoided on these architectures.
  6006  type XSegment = struct {
  6007  	Fx1 int16
  6008  	Fy1 int16
  6009  	Fx2 int16
  6010  	Fy2 int16
  6011  } /* Xlib.h:424:3 */
  6012  
  6013  type XPoint = struct {
  6014  	Fx int16
  6015  	Fy int16
  6016  } /* Xlib.h:428:3 */
  6017  
  6018  type XRectangle = struct {
  6019  	Fx      int16
  6020  	Fy      int16
  6021  	Fwidth  uint16
  6022  	Fheight uint16
  6023  } /* Xlib.h:433:3 */
  6024  
  6025  type XArc = struct {
  6026  	Fx      int16
  6027  	Fy      int16
  6028  	Fwidth  uint16
  6029  	Fheight uint16
  6030  	Fangle1 int16
  6031  	Fangle2 int16
  6032  } /* Xlib.h:439:3 */
  6033  
  6034  // Data structure for XChangeKeyboardControl
  6035  
  6036  type XKeyboardControl = struct {
  6037  	Fkey_click_percent int32
  6038  	Fbell_percent      int32
  6039  	Fbell_pitch        int32
  6040  	Fbell_duration     int32
  6041  	Fled               int32
  6042  	Fled_mode          int32
  6043  	Fkey               int32
  6044  	Fauto_repeat_mode  int32
  6045  } /* Xlib.h:453:3 */
  6046  
  6047  // Data structure for XGetKeyboardControl
  6048  
  6049  type XKeyboardState = struct {
  6050  	Fkey_click_percent  int32
  6051  	Fbell_percent       int32
  6052  	Fbell_pitch         uint32
  6053  	Fbell_duration      uint32
  6054  	Fled_mask           uint32
  6055  	Fglobal_auto_repeat int32
  6056  	Fauto_repeats       [32]int8
  6057  } /* Xlib.h:464:3 */
  6058  
  6059  // Data structure for XGetMotionEvents.
  6060  
  6061  type XTimeCoord = struct {
  6062  	Ftime Time
  6063  	Fx    int16
  6064  	Fy    int16
  6065  } /* Xlib.h:471:3 */
  6066  
  6067  // Data structure for X{Set,Get}ModifierMapping
  6068  
  6069  type XModifierKeymap = struct {
  6070  	Fmax_keypermod int32
  6071  	Fmodifiermap   uintptr
  6072  } /* Xlib.h:478:3 */
  6073  
  6074  // Display datatype maintaining display specific data.
  6075  // The contents of this structure are implementation dependent.
  6076  // A Display should be treated as opaque by application code.
  6077  type Display = X_XDisplay /* Xlib.h:487:26 */
  6078  
  6079  type X_XPrivDisplay = uintptr /* Xlib.h:550:1 */
  6080  
  6081  // Definitions of specific events.
  6082  type XKeyEvent = struct {
  6083  	Ftype        int32
  6084  	Fserial      uint32
  6085  	Fsend_event  int32
  6086  	Fdisplay     uintptr
  6087  	Fwindow      Window
  6088  	Froot        Window
  6089  	Fsubwindow   Window
  6090  	Ftime        Time
  6091  	Fx           int32
  6092  	Fy           int32
  6093  	Fx_root      int32
  6094  	Fy_root      int32
  6095  	Fstate       uint32
  6096  	Fkeycode     uint32
  6097  	Fsame_screen int32
  6098  }                                  /* Xlib.h:571:3 */
  6099  type XKeyPressedEvent = XKeyEvent  /* Xlib.h:572:19 */
  6100  type XKeyReleasedEvent = XKeyEvent /* Xlib.h:573:19 */
  6101  
  6102  type XButtonEvent = struct {
  6103  	Ftype        int32
  6104  	Fserial      uint32
  6105  	Fsend_event  int32
  6106  	Fdisplay     uintptr
  6107  	Fwindow      Window
  6108  	Froot        Window
  6109  	Fsubwindow   Window
  6110  	Ftime        Time
  6111  	Fx           int32
  6112  	Fy           int32
  6113  	Fx_root      int32
  6114  	Fy_root      int32
  6115  	Fstate       uint32
  6116  	Fbutton      uint32
  6117  	Fsame_screen int32
  6118  }                                        /* Xlib.h:589:3 */
  6119  type XButtonPressedEvent = XButtonEvent  /* Xlib.h:590:22 */
  6120  type XButtonReleasedEvent = XButtonEvent /* Xlib.h:591:22 */
  6121  
  6122  type XMotionEvent = struct {
  6123  	Ftype        int32
  6124  	Fserial      uint32
  6125  	Fsend_event  int32
  6126  	Fdisplay     uintptr
  6127  	Fwindow      Window
  6128  	Froot        Window
  6129  	Fsubwindow   Window
  6130  	Ftime        Time
  6131  	Fx           int32
  6132  	Fy           int32
  6133  	Fx_root      int32
  6134  	Fy_root      int32
  6135  	Fstate       uint32
  6136  	Fis_hint     int8
  6137  	F__ccgo_pad1 [3]byte
  6138  	Fsame_screen int32
  6139  }                                      /* Xlib.h:607:3 */
  6140  type XPointerMovedEvent = XMotionEvent /* Xlib.h:608:22 */
  6141  
  6142  type XCrossingEvent = struct {
  6143  	Ftype        int32
  6144  	Fserial      uint32
  6145  	Fsend_event  int32
  6146  	Fdisplay     uintptr
  6147  	Fwindow      Window
  6148  	Froot        Window
  6149  	Fsubwindow   Window
  6150  	Ftime        Time
  6151  	Fx           int32
  6152  	Fy           int32
  6153  	Fx_root      int32
  6154  	Fy_root      int32
  6155  	Fmode        int32
  6156  	Fdetail      int32
  6157  	Fsame_screen int32
  6158  	Ffocus       int32
  6159  	Fstate       uint32
  6160  }                                       /* Xlib.h:630:3 */
  6161  type XEnterWindowEvent = XCrossingEvent /* Xlib.h:631:24 */
  6162  type XLeaveWindowEvent = XCrossingEvent /* Xlib.h:632:24 */
  6163  
  6164  type XFocusChangeEvent = struct {
  6165  	Ftype       int32
  6166  	Fserial     uint32
  6167  	Fsend_event int32
  6168  	Fdisplay    uintptr
  6169  	Fwindow     Window
  6170  	Fmode       int32
  6171  	Fdetail     int32
  6172  }                                       /* Xlib.h:648:3 */
  6173  type XFocusInEvent = XFocusChangeEvent  /* Xlib.h:649:27 */
  6174  type XFocusOutEvent = XFocusChangeEvent /* Xlib.h:650:27 */
  6175  
  6176  // generated on EnterWindow and FocusIn  when KeyMapState selected
  6177  type XKeymapEvent = struct {
  6178  	Ftype       int32
  6179  	Fserial     uint32
  6180  	Fsend_event int32
  6181  	Fdisplay    uintptr
  6182  	Fwindow     Window
  6183  	Fkey_vector [32]int8
  6184  } /* Xlib.h:660:3 */
  6185  
  6186  type XExposeEvent = struct {
  6187  	Ftype       int32
  6188  	Fserial     uint32
  6189  	Fsend_event int32
  6190  	Fdisplay    uintptr
  6191  	Fwindow     Window
  6192  	Fx          int32
  6193  	Fy          int32
  6194  	Fwidth      int32
  6195  	Fheight     int32
  6196  	Fcount      int32
  6197  } /* Xlib.h:671:3 */
  6198  
  6199  type XGraphicsExposeEvent = struct {
  6200  	Ftype       int32
  6201  	Fserial     uint32
  6202  	Fsend_event int32
  6203  	Fdisplay    uintptr
  6204  	Fdrawable   Drawable
  6205  	Fx          int32
  6206  	Fy          int32
  6207  	Fwidth      int32
  6208  	Fheight     int32
  6209  	Fcount      int32
  6210  	Fmajor_code int32
  6211  	Fminor_code int32
  6212  } /* Xlib.h:684:3 */
  6213  
  6214  type XNoExposeEvent = struct {
  6215  	Ftype       int32
  6216  	Fserial     uint32
  6217  	Fsend_event int32
  6218  	Fdisplay    uintptr
  6219  	Fdrawable   Drawable
  6220  	Fmajor_code int32
  6221  	Fminor_code int32
  6222  } /* Xlib.h:694:3 */
  6223  
  6224  type XVisibilityEvent = struct {
  6225  	Ftype       int32
  6226  	Fserial     uint32
  6227  	Fsend_event int32
  6228  	Fdisplay    uintptr
  6229  	Fwindow     Window
  6230  	Fstate      int32
  6231  } /* Xlib.h:703:3 */
  6232  
  6233  type XCreateWindowEvent = struct {
  6234  	Ftype              int32
  6235  	Fserial            uint32
  6236  	Fsend_event        int32
  6237  	Fdisplay           uintptr
  6238  	Fparent            Window
  6239  	Fwindow            Window
  6240  	Fx                 int32
  6241  	Fy                 int32
  6242  	Fwidth             int32
  6243  	Fheight            int32
  6244  	Fborder_width      int32
  6245  	Foverride_redirect int32
  6246  } /* Xlib.h:716:3 */
  6247  
  6248  type XDestroyWindowEvent = struct {
  6249  	Ftype       int32
  6250  	Fserial     uint32
  6251  	Fsend_event int32
  6252  	Fdisplay    uintptr
  6253  	Fevent      Window
  6254  	Fwindow     Window
  6255  } /* Xlib.h:725:3 */
  6256  
  6257  type XUnmapEvent = struct {
  6258  	Ftype           int32
  6259  	Fserial         uint32
  6260  	Fsend_event     int32
  6261  	Fdisplay        uintptr
  6262  	Fevent          Window
  6263  	Fwindow         Window
  6264  	Ffrom_configure int32
  6265  } /* Xlib.h:735:3 */
  6266  
  6267  type XMapEvent = struct {
  6268  	Ftype              int32
  6269  	Fserial            uint32
  6270  	Fsend_event        int32
  6271  	Fdisplay           uintptr
  6272  	Fevent             Window
  6273  	Fwindow            Window
  6274  	Foverride_redirect int32
  6275  } /* Xlib.h:745:3 */
  6276  
  6277  type XMapRequestEvent = struct {
  6278  	Ftype       int32
  6279  	Fserial     uint32
  6280  	Fsend_event int32
  6281  	Fdisplay    uintptr
  6282  	Fparent     Window
  6283  	Fwindow     Window
  6284  } /* Xlib.h:754:3 */
  6285  
  6286  type XReparentEvent = struct {
  6287  	Ftype              int32
  6288  	Fserial            uint32
  6289  	Fsend_event        int32
  6290  	Fdisplay           uintptr
  6291  	Fevent             Window
  6292  	Fwindow            Window
  6293  	Fparent            Window
  6294  	Fx                 int32
  6295  	Fy                 int32
  6296  	Foverride_redirect int32
  6297  } /* Xlib.h:766:3 */
  6298  
  6299  type XConfigureEvent = struct {
  6300  	Ftype              int32
  6301  	Fserial            uint32
  6302  	Fsend_event        int32
  6303  	Fdisplay           uintptr
  6304  	Fevent             Window
  6305  	Fwindow            Window
  6306  	Fx                 int32
  6307  	Fy                 int32
  6308  	Fwidth             int32
  6309  	Fheight            int32
  6310  	Fborder_width      int32
  6311  	Fabove             Window
  6312  	Foverride_redirect int32
  6313  } /* Xlib.h:780:3 */
  6314  
  6315  type XGravityEvent = struct {
  6316  	Ftype       int32
  6317  	Fserial     uint32
  6318  	Fsend_event int32
  6319  	Fdisplay    uintptr
  6320  	Fevent      Window
  6321  	Fwindow     Window
  6322  	Fx          int32
  6323  	Fy          int32
  6324  } /* Xlib.h:790:3 */
  6325  
  6326  type XResizeRequestEvent = struct {
  6327  	Ftype       int32
  6328  	Fserial     uint32
  6329  	Fsend_event int32
  6330  	Fdisplay    uintptr
  6331  	Fwindow     Window
  6332  	Fwidth      int32
  6333  	Fheight     int32
  6334  } /* Xlib.h:799:3 */
  6335  
  6336  type XConfigureRequestEvent = struct {
  6337  	Ftype         int32
  6338  	Fserial       uint32
  6339  	Fsend_event   int32
  6340  	Fdisplay      uintptr
  6341  	Fparent       Window
  6342  	Fwindow       Window
  6343  	Fx            int32
  6344  	Fy            int32
  6345  	Fwidth        int32
  6346  	Fheight       int32
  6347  	Fborder_width int32
  6348  	Fabove        Window
  6349  	Fdetail       int32
  6350  	Fvalue_mask   uint32
  6351  } /* Xlib.h:814:3 */
  6352  
  6353  type XCirculateEvent = struct {
  6354  	Ftype       int32
  6355  	Fserial     uint32
  6356  	Fsend_event int32
  6357  	Fdisplay    uintptr
  6358  	Fevent      Window
  6359  	Fwindow     Window
  6360  	Fplace      int32
  6361  } /* Xlib.h:824:3 */
  6362  
  6363  type XCirculateRequestEvent = struct {
  6364  	Ftype       int32
  6365  	Fserial     uint32
  6366  	Fsend_event int32
  6367  	Fdisplay    uintptr
  6368  	Fparent     Window
  6369  	Fwindow     Window
  6370  	Fplace      int32
  6371  } /* Xlib.h:834:3 */
  6372  
  6373  type XPropertyEvent = struct {
  6374  	Ftype       int32
  6375  	Fserial     uint32
  6376  	Fsend_event int32
  6377  	Fdisplay    uintptr
  6378  	Fwindow     Window
  6379  	Fatom       Atom
  6380  	Ftime       Time
  6381  	Fstate      int32
  6382  } /* Xlib.h:845:3 */
  6383  
  6384  type XSelectionClearEvent = struct {
  6385  	Ftype       int32
  6386  	Fserial     uint32
  6387  	Fsend_event int32
  6388  	Fdisplay    uintptr
  6389  	Fwindow     Window
  6390  	Fselection  Atom
  6391  	Ftime       Time
  6392  } /* Xlib.h:855:3 */
  6393  
  6394  type XSelectionRequestEvent = struct {
  6395  	Ftype       int32
  6396  	Fserial     uint32
  6397  	Fsend_event int32
  6398  	Fdisplay    uintptr
  6399  	Fowner      Window
  6400  	Frequestor  Window
  6401  	Fselection  Atom
  6402  	Ftarget     Atom
  6403  	Fproperty   Atom
  6404  	Ftime       Time
  6405  } /* Xlib.h:868:3 */
  6406  
  6407  type XSelectionEvent = struct {
  6408  	Ftype       int32
  6409  	Fserial     uint32
  6410  	Fsend_event int32
  6411  	Fdisplay    uintptr
  6412  	Frequestor  Window
  6413  	Fselection  Atom
  6414  	Ftarget     Atom
  6415  	Fproperty   Atom
  6416  	Ftime       Time
  6417  } /* Xlib.h:880:3 */
  6418  
  6419  type XColormapEvent = struct {
  6420  	Ftype       int32
  6421  	Fserial     uint32
  6422  	Fsend_event int32
  6423  	Fdisplay    uintptr
  6424  	Fwindow     Window
  6425  	Fcolormap   Colormap
  6426  	Fnew        int32
  6427  	Fstate      int32
  6428  } /* Xlib.h:895:3 */
  6429  
  6430  type XClientMessageEvent = struct {
  6431  	Ftype         int32
  6432  	Fserial       uint32
  6433  	Fsend_event   int32
  6434  	Fdisplay      uintptr
  6435  	Fwindow       Window
  6436  	Fmessage_type Atom
  6437  	Fformat       int32
  6438  	Fdata         struct {
  6439  		F__ccgo_pad1 [0]uint32
  6440  		Fb           [20]int8
  6441  	}
  6442  } /* Xlib.h:910:3 */
  6443  
  6444  type XMappingEvent = struct {
  6445  	Ftype          int32
  6446  	Fserial        uint32
  6447  	Fsend_event    int32
  6448  	Fdisplay       uintptr
  6449  	Fwindow        Window
  6450  	Frequest       int32
  6451  	Ffirst_keycode int32
  6452  	Fcount         int32
  6453  } /* Xlib.h:922:3 */
  6454  
  6455  type XErrorEvent = struct {
  6456  	Ftype         int32
  6457  	Fdisplay      uintptr
  6458  	Fresourceid   XID
  6459  	Fserial       uint32
  6460  	Ferror_code   uint8
  6461  	Frequest_code uint8
  6462  	Fminor_code   uint8
  6463  	F__ccgo_pad1  [1]byte
  6464  } /* Xlib.h:932:3 */
  6465  
  6466  type XAnyEvent = struct {
  6467  	Ftype       int32
  6468  	Fserial     uint32
  6469  	Fsend_event int32
  6470  	Fdisplay    uintptr
  6471  	Fwindow     Window
  6472  } /* Xlib.h:940:3 */
  6473  
  6474  // **************************************************************
  6475  //
  6476  //
  6477  // GenericEvent.  This event is the standard event for all newer extensions.
  6478  
  6479  type XGenericEvent = struct {
  6480  	Ftype       int32
  6481  	Fserial     uint32
  6482  	Fsend_event int32
  6483  	Fdisplay    uintptr
  6484  	Fextension  int32
  6485  	Fevtype     int32
  6486  } /* Xlib.h:956:7 */
  6487  
  6488  type XGenericEventCookie = struct {
  6489  	Ftype       int32
  6490  	Fserial     uint32
  6491  	Fsend_event int32
  6492  	Fdisplay    uintptr
  6493  	Fextension  int32
  6494  	Fevtype     int32
  6495  	Fcookie     uint32
  6496  	Fdata       uintptr
  6497  } /* Xlib.h:967:3 */
  6498  
  6499  // this union is defined so Xlib can always use the same sized
  6500  // event structure internally, to avoid memory fragmentation.
  6501  type X_XEvent = struct {
  6502  	Ftype        int32
  6503  	F__ccgo_pad1 [92]byte
  6504  } /* Xlib.h:255:1 */
  6505  
  6506  // this union is defined so Xlib can always use the same sized
  6507  // event structure internally, to avoid memory fragmentation.
  6508  type XEvent = X_XEvent /* Xlib.h:1009:3 */
  6509  
  6510  // per character font metric information.
  6511  type XCharStruct = struct {
  6512  	Flbearing   int16
  6513  	Frbearing   int16
  6514  	Fwidth      int16
  6515  	Fascent     int16
  6516  	Fdescent    int16
  6517  	Fattributes uint16
  6518  } /* Xlib.h:1024:3 */
  6519  
  6520  // To allow arbitrary information with fonts, there are additional properties
  6521  // returned.
  6522  type XFontProp = struct {
  6523  	Fname   Atom
  6524  	Fcard32 uint32
  6525  } /* Xlib.h:1033:3 */
  6526  
  6527  type XFontStruct = struct {
  6528  	Fext_data          uintptr
  6529  	Ffid               Font
  6530  	Fdirection         uint32
  6531  	Fmin_char_or_byte2 uint32
  6532  	Fmax_char_or_byte2 uint32
  6533  	Fmin_byte1         uint32
  6534  	Fmax_byte1         uint32
  6535  	Fall_chars_exist   int32
  6536  	Fdefault_char      uint32
  6537  	Fn_properties      int32
  6538  	Fproperties        uintptr
  6539  	Fmin_bounds        XCharStruct
  6540  	Fmax_bounds        XCharStruct
  6541  	Fper_char          uintptr
  6542  	Fascent            int32
  6543  	Fdescent           int32
  6544  } /* Xlib.h:1052:3 */
  6545  
  6546  // PolyText routines take these as arguments.
  6547  type XTextItem = struct {
  6548  	Fchars  uintptr
  6549  	Fnchars int32
  6550  	Fdelta  int32
  6551  	Ffont   Font
  6552  } /* Xlib.h:1062:3 */
  6553  
  6554  type XChar2b = struct {
  6555  	Fbyte1 uint8
  6556  	Fbyte2 uint8
  6557  } /* Xlib.h:1067:3 */
  6558  
  6559  type XTextItem16 = struct {
  6560  	Fchars  uintptr
  6561  	Fnchars int32
  6562  	Fdelta  int32
  6563  	Ffont   Font
  6564  } /* Xlib.h:1074:3 */
  6565  
  6566  type XEDataObject = struct{ Fdisplay uintptr } /* Xlib.h:1082:24 */
  6567  
  6568  type XFontSetExtents = struct {
  6569  	Fmax_ink_extent     XRectangle
  6570  	Fmax_logical_extent XRectangle
  6571  } /* Xlib.h:1087:3 */
  6572  
  6573  // unused:
  6574  // typedef void (*XOMProc)();
  6575  //
  6576  
  6577  type XOM = uintptr      /* Xlib.h:1093:21 */
  6578  type XOC = uintptr      /* Xlib.h:1094:21 */
  6579  type XFontSet = uintptr /* Xlib.h:1094:27 */
  6580  
  6581  type XmbTextItem = struct {
  6582  	Fchars    uintptr
  6583  	Fnchars   int32
  6584  	Fdelta    int32
  6585  	Ffont_set XFontSet
  6586  } /* Xlib.h:1101:3 */
  6587  
  6588  type XwcTextItem = struct {
  6589  	Fchars    uintptr
  6590  	Fnchars   int32
  6591  	Fdelta    int32
  6592  	Ffont_set XFontSet
  6593  } /* Xlib.h:1108:3 */
  6594  
  6595  type XOMCharSetList = struct {
  6596  	Fcharset_count int32
  6597  	Fcharset_list  uintptr
  6598  } /* Xlib.h:1124:3 */
  6599  
  6600  type XOrientation = uint32 /* Xlib.h:1132:3 */
  6601  
  6602  type XOMOrientation = struct {
  6603  	Fnum_orientation int32
  6604  	Forientation     uintptr
  6605  } /* Xlib.h:1137:3 */
  6606  
  6607  type XOMFontInfo = struct {
  6608  	Fnum_font         int32
  6609  	Ffont_struct_list uintptr
  6610  	Ffont_name_list   uintptr
  6611  } /* Xlib.h:1143:3 */
  6612  
  6613  type XIM = uintptr /* Xlib.h:1145:21 */
  6614  type XIC = uintptr /* Xlib.h:1146:21 */
  6615  
  6616  type XIMProc = uintptr /* Xlib.h:1148:14 */
  6617  
  6618  type XICProc = uintptr /* Xlib.h:1154:14 */
  6619  
  6620  type XIDProc = uintptr /* Xlib.h:1160:14 */
  6621  
  6622  type XIMStyle = uint32 /* Xlib.h:1166:23 */
  6623  
  6624  type XIMStyles = struct {
  6625  	Fcount_styles     uint16
  6626  	F__ccgo_pad1      [2]byte
  6627  	Fsupported_styles uintptr
  6628  } /* Xlib.h:1171:3 */
  6629  
  6630  type XVaNestedList = uintptr /* Xlib.h:1233:14 */
  6631  
  6632  type XIMCallback = struct {
  6633  	Fclient_data XPointer
  6634  	Fcallback    XIMProc
  6635  } /* Xlib.h:1238:3 */
  6636  
  6637  type XICCallback = struct {
  6638  	Fclient_data XPointer
  6639  	Fcallback    XICProc
  6640  } /* Xlib.h:1243:3 */
  6641  
  6642  type XIMFeedback = uint32 /* Xlib.h:1245:23 */
  6643  
  6644  type X_XIMText = struct {
  6645  	Flength            uint16
  6646  	F__ccgo_pad1       [2]byte
  6647  	Ffeedback          uintptr
  6648  	Fencoding_is_wchar int32
  6649  	Fstring            struct{ Fmulti_byte uintptr }
  6650  } /* Xlib.h:1257:9 */
  6651  
  6652  type XIMText = X_XIMText /* Xlib.h:1265:3 */
  6653  
  6654  type XIMPreeditState = uint32 /* Xlib.h:1267:24 */
  6655  
  6656  type X_XIMPreeditStateNotifyCallbackStruct = struct{ Fstate XIMPreeditState } /* Xlib.h:1273:9 */
  6657  
  6658  type XIMPreeditStateNotifyCallbackStruct = X_XIMPreeditStateNotifyCallbackStruct /* Xlib.h:1275:3 */
  6659  
  6660  type XIMResetState = uint32 /* Xlib.h:1277:24 */
  6661  
  6662  type XIMStringConversionFeedback = uint32 /* Xlib.h:1282:23 */
  6663  
  6664  type X_XIMStringConversionText = struct {
  6665  	Flength            uint16
  6666  	F__ccgo_pad1       [2]byte
  6667  	Ffeedback          uintptr
  6668  	Fencoding_is_wchar int32
  6669  	Fstring            struct{ Fmbs uintptr }
  6670  } /* Xlib.h:1291:9 */
  6671  
  6672  type XIMStringConversionText = X_XIMStringConversionText /* Xlib.h:1299:3 */
  6673  
  6674  type XIMStringConversionPosition = uint16 /* Xlib.h:1301:24 */
  6675  
  6676  type XIMStringConversionType = uint16 /* Xlib.h:1303:24 */
  6677  
  6678  type XIMStringConversionOperation = uint16 /* Xlib.h:1310:24 */
  6679  
  6680  type XIMCaretDirection = uint32 /* Xlib.h:1323:3 */
  6681  
  6682  type X_XIMStringConversionCallbackStruct = struct {
  6683  	Fposition    XIMStringConversionPosition
  6684  	F__ccgo_pad1 [2]byte
  6685  	Fdirection   XIMCaretDirection
  6686  	Foperation   XIMStringConversionOperation
  6687  	Ffactor      uint16
  6688  	Ftext        uintptr
  6689  } /* Xlib.h:1325:9 */
  6690  
  6691  type XIMStringConversionCallbackStruct = X_XIMStringConversionCallbackStruct /* Xlib.h:1331:3 */
  6692  
  6693  type X_XIMPreeditDrawCallbackStruct = struct {
  6694  	Fcaret      int32
  6695  	Fchg_first  int32
  6696  	Fchg_length int32
  6697  	Ftext       uintptr
  6698  } /* Xlib.h:1333:9 */
  6699  
  6700  type XIMPreeditDrawCallbackStruct = X_XIMPreeditDrawCallbackStruct /* Xlib.h:1338:3 */
  6701  
  6702  type XIMCaretStyle = uint32 /* Xlib.h:1344:3 */
  6703  
  6704  type X_XIMPreeditCaretCallbackStruct = struct {
  6705  	Fposition  int32
  6706  	Fdirection XIMCaretDirection
  6707  	Fstyle     XIMCaretStyle
  6708  } /* Xlib.h:1346:9 */
  6709  
  6710  type XIMPreeditCaretCallbackStruct = X_XIMPreeditCaretCallbackStruct /* Xlib.h:1350:3 */
  6711  
  6712  type XIMStatusDataType = uint32 /* Xlib.h:1355:3 */
  6713  
  6714  type X_XIMStatusDrawCallbackStruct = struct {
  6715  	Ftype XIMStatusDataType
  6716  	Fdata struct{ Ftext uintptr }
  6717  } /* Xlib.h:1357:9 */
  6718  
  6719  type XIMStatusDrawCallbackStruct = X_XIMStatusDrawCallbackStruct /* Xlib.h:1363:3 */
  6720  
  6721  type X_XIMHotKeyTrigger = struct {
  6722  	Fkeysym        KeySym
  6723  	Fmodifier      int32
  6724  	Fmodifier_mask int32
  6725  } /* Xlib.h:1365:9 */
  6726  
  6727  type XIMHotKeyTrigger = X_XIMHotKeyTrigger /* Xlib.h:1369:3 */
  6728  
  6729  type X_XIMHotKeyTriggers = struct {
  6730  	Fnum_hot_key int32
  6731  	Fkey         uintptr
  6732  } /* Xlib.h:1371:9 */
  6733  
  6734  type XIMHotKeyTriggers = X_XIMHotKeyTriggers /* Xlib.h:1374:3 */
  6735  
  6736  type XIMHotKeyState = uint32 /* Xlib.h:1376:24 */
  6737  
  6738  type XIMValuesList = struct {
  6739  	Fcount_values     uint16
  6740  	F__ccgo_pad1      [2]byte
  6741  	Fsupported_values uintptr
  6742  } /* Xlib.h:1384:3 */
  6743  
  6744  type XErrorHandler = uintptr /* Xlib.h:1843:13 */
  6745  
  6746  type XIOErrorHandler = uintptr /* Xlib.h:1853:13 */
  6747  
  6748  type XIOErrorExitHandler = uintptr /* Xlib.h:1861:14 */
  6749  
  6750  type XConnectionWatchProc = uintptr /* Xlib.h:3959:14 */
  6751  
  6752  // Definitions for the X window system used by server and c bindings
  6753  
  6754  // This packet-construction scheme makes the following assumptions:
  6755  //
  6756  // 1. The compiler is able
  6757  // to generate code which addresses one- and two-byte quantities.
  6758  // In the worst case, this would be done with bit-fields.  If bit-fields
  6759  // are used it may be necessary to reorder the request fields in this file,
  6760  // depending on the order in which the machine assigns bit fields to
  6761  // machine words.  There may also be a problem with sign extension,
  6762  // as K+R specify that bitfields are always unsigned.
  6763  //
  6764  // 2. 2- and 4-byte fields in packet structures must be ordered by hand
  6765  // such that they are naturally-aligned, so that no compiler will ever
  6766  // insert padding bytes.
  6767  //
  6768  // 3. All packets are hand-padded to a multiple of 4 bytes, for
  6769  // the same reason.
  6770  
  6771  //**********************************************************
  6772  //
  6773  // Copyright 1987, 1998  The Open Group
  6774  //
  6775  // Permission to use, copy, modify, distribute, and sell this software and its
  6776  // documentation for any purpose is hereby granted without fee, provided that
  6777  // the above copyright notice appear in all copies and that both that
  6778  // copyright notice and this permission notice appear in supporting
  6779  // documentation.
  6780  //
  6781  // The above copyright notice and this permission notice shall be included in
  6782  // all copies or substantial portions of the Software.
  6783  //
  6784  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  6785  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  6786  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  6787  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  6788  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  6789  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  6790  //
  6791  // Except as contained in this notice, the name of The Open Group shall not be
  6792  // used in advertising or otherwise to promote the sale, use or other dealings
  6793  // in this Software without prior written authorization from The Open Group.
  6794  //
  6795  //
  6796  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  6797  //
  6798  //                         All Rights Reserved
  6799  //
  6800  // Permission to use, copy, modify, and distribute this software and its
  6801  // documentation for any purpose and without fee is hereby granted,
  6802  // provided that the above copyright notice appear in all copies and that
  6803  // both that copyright notice and this permission notice appear in
  6804  // supporting documentation, and that the name of Digital not be
  6805  // used in advertising or publicity pertaining to distribution of the
  6806  // software without specific, written prior permission.
  6807  //
  6808  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  6809  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  6810  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  6811  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  6812  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  6813  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  6814  // SOFTWARE.
  6815  //
  6816  // *****************************************************************
  6817  
  6818  //**********************************************************
  6819  //
  6820  // Copyright 1987, 1998  The Open Group
  6821  //
  6822  // Permission to use, copy, modify, distribute, and sell this software and its
  6823  // documentation for any purpose is hereby granted without fee, provided that
  6824  // the above copyright notice appear in all copies and that both that
  6825  // copyright notice and this permission notice appear in supporting
  6826  // documentation.
  6827  //
  6828  // The above copyright notice and this permission notice shall be included in
  6829  // all copies or substantial portions of the Software.
  6830  //
  6831  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  6832  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  6833  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  6834  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  6835  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  6836  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  6837  //
  6838  // Except as contained in this notice, the name of The Open Group shall not be
  6839  // used in advertising or otherwise to promote the sale, use or other dealings
  6840  // in this Software without prior written authorization from The Open Group.
  6841  //
  6842  //
  6843  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  6844  //
  6845  //                         All Rights Reserved
  6846  //
  6847  // Permission to use, copy, modify, and distribute this software and its
  6848  // documentation for any purpose and without fee is hereby granted,
  6849  // provided that the above copyright notice appear in all copies and that
  6850  // both that copyright notice and this permission notice appear in
  6851  // supporting documentation, and that the name of Digital not be
  6852  // used in advertising or publicity pertaining to distribution of the
  6853  // software without specific, written prior permission.
  6854  //
  6855  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  6856  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  6857  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  6858  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  6859  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  6860  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  6861  // SOFTWARE.
  6862  //
  6863  // *****************************************************************
  6864  //  Xmd.h: MACHINE DEPENDENT DECLARATIONS.
  6865  
  6866  // Special per-machine configuration flags.
  6867  
  6868  // Definition of macro used to set constants for size of network structures;
  6869  // machines with preprocessors that can't handle all of the sz_ symbols
  6870  // can define this macro to be sizeof(x) if and only if their compiler doesn't
  6871  // pad out structures (esp. the xTextElt structure which contains only two
  6872  // one-byte fields).  Network structures should always define sz_symbols.
  6873  //
  6874  // The sz_ prefix is used instead of something more descriptive so that the
  6875  // symbols are no more than 32 characters long (which causes problems for some
  6876  // compilers and preprocessors).
  6877  //
  6878  // The extra indirection is to get macro arguments to expand correctly before
  6879  // the concatenation, rather than afterward.
  6880  
  6881  // Bitfield suffixes for the protocol structure elements, if you
  6882  // need them.  Note that bitfields are not guaranteed to be signed
  6883  // (or even unsigned) according to ANSI C.
  6884  type INT32 = int32 /* Xmd.h:100:14 */
  6885  type INT16 = int16 /* Xmd.h:102:15 */
  6886  
  6887  type INT8 = int8 /* Xmd.h:104:24 */
  6888  
  6889  type CARD64 = uint64 /* Xmd.h:110:28 */
  6890  type CARD32 = uint32 /* Xmd.h:111:23 */
  6891  type CARD16 = uint16 /* Xmd.h:113:24 */
  6892  type CARD8 = uint8   /* Xmd.h:114:24 */
  6893  
  6894  type BITS32 = CARD32 /* Xmd.h:116:17 */
  6895  type BITS16 = CARD16 /* Xmd.h:117:17 */
  6896  
  6897  type BYTE = CARD8 /* Xmd.h:119:16 */
  6898  type BOOL = CARD8 /* Xmd.h:120:16 */
  6899  
  6900  // was definitions for sign-extending bitfields on architectures without
  6901  // native types smaller than 64-bit, now just backwards compatibility
  6902  
  6903  // this version should leave result of type (t *), but that should only be
  6904  // used when not in MUSTCOPY
  6905  
  6906  //**********************************************************
  6907  //
  6908  // Copyright 1987, 1998  The Open Group
  6909  //
  6910  // Permission to use, copy, modify, distribute, and sell this software and its
  6911  // documentation for any purpose is hereby granted without fee, provided that
  6912  // the above copyright notice appear in all copies and that both that
  6913  // copyright notice and this permission notice appear in supporting
  6914  // documentation.
  6915  //
  6916  // The above copyright notice and this permission notice shall be included in
  6917  // all copies or substantial portions of the Software.
  6918  //
  6919  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  6920  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  6921  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  6922  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  6923  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  6924  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  6925  //
  6926  // Except as contained in this notice, the name of The Open Group shall not be
  6927  // used in advertising or otherwise to promote the sale, use or other dealings
  6928  // in this Software without prior written authorization from The Open Group.
  6929  //
  6930  //
  6931  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  6932  //
  6933  //                         All Rights Reserved
  6934  //
  6935  // Permission to use, copy, modify, and distribute this software and its
  6936  // documentation for any purpose and without fee is hereby granted,
  6937  // provided that the above copyright notice appear in all copies and that
  6938  // both that copyright notice and this permission notice appear in
  6939  // supporting documentation, and that the name of Digital not be
  6940  // used in advertising or publicity pertaining to distribution of the
  6941  // software without specific, written prior permission.
  6942  //
  6943  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  6944  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  6945  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  6946  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  6947  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  6948  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  6949  // SOFTWARE.
  6950  //
  6951  // *****************************************************************
  6952  //**********************************************************
  6953  //
  6954  // Copyright 1987, 1998  The Open Group
  6955  //
  6956  // Permission to use, copy, modify, distribute, and sell this software and its
  6957  // documentation for any purpose is hereby granted without fee, provided that
  6958  // the above copyright notice appear in all copies and that both that
  6959  // copyright notice and this permission notice appear in supporting
  6960  // documentation.
  6961  //
  6962  // The above copyright notice and this permission notice shall be included in
  6963  // all copies or substantial portions of the Software.
  6964  //
  6965  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  6966  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  6967  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  6968  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  6969  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  6970  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  6971  //
  6972  // Except as contained in this notice, the name of The Open Group shall not be
  6973  // used in advertising or otherwise to promote the sale, use or other dealings
  6974  // in this Software without prior written authorization from The Open Group.
  6975  //
  6976  //
  6977  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  6978  //
  6979  //                         All Rights Reserved
  6980  //
  6981  // Permission to use, copy, modify, and distribute this software and its
  6982  // documentation for any purpose and without fee is hereby granted,
  6983  // provided that the above copyright notice appear in all copies and that
  6984  // both that copyright notice and this permission notice appear in
  6985  // supporting documentation, and that the name of Digital not be
  6986  // used in advertising or publicity pertaining to distribution of the
  6987  // software without specific, written prior permission.
  6988  //
  6989  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  6990  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  6991  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  6992  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  6993  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  6994  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  6995  // SOFTWARE.
  6996  //
  6997  // *****************************************************************
  6998  
  6999  // Used by PolySegment
  7000  
  7001  type X_xSegment = struct {
  7002  	Fx1 INT16
  7003  	Fy1 INT16
  7004  	Fx2 INT16
  7005  	Fy2 INT16
  7006  } /* Xprotostr.h:54:9 */
  7007  
  7008  // was definitions for sign-extending bitfields on architectures without
  7009  // native types smaller than 64-bit, now just backwards compatibility
  7010  
  7011  // this version should leave result of type (t *), but that should only be
  7012  // used when not in MUSTCOPY
  7013  
  7014  //**********************************************************
  7015  //
  7016  // Copyright 1987, 1998  The Open Group
  7017  //
  7018  // Permission to use, copy, modify, distribute, and sell this software and its
  7019  // documentation for any purpose is hereby granted without fee, provided that
  7020  // the above copyright notice appear in all copies and that both that
  7021  // copyright notice and this permission notice appear in supporting
  7022  // documentation.
  7023  //
  7024  // The above copyright notice and this permission notice shall be included in
  7025  // all copies or substantial portions of the Software.
  7026  //
  7027  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7028  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7029  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7030  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7031  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7032  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7033  //
  7034  // Except as contained in this notice, the name of The Open Group shall not be
  7035  // used in advertising or otherwise to promote the sale, use or other dealings
  7036  // in this Software without prior written authorization from The Open Group.
  7037  //
  7038  //
  7039  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7040  //
  7041  //                         All Rights Reserved
  7042  //
  7043  // Permission to use, copy, modify, and distribute this software and its
  7044  // documentation for any purpose and without fee is hereby granted,
  7045  // provided that the above copyright notice appear in all copies and that
  7046  // both that copyright notice and this permission notice appear in
  7047  // supporting documentation, and that the name of Digital not be
  7048  // used in advertising or publicity pertaining to distribution of the
  7049  // software without specific, written prior permission.
  7050  //
  7051  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7052  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7053  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7054  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7055  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7056  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7057  // SOFTWARE.
  7058  //
  7059  // *****************************************************************
  7060  //**********************************************************
  7061  //
  7062  // Copyright 1987, 1998  The Open Group
  7063  //
  7064  // Permission to use, copy, modify, distribute, and sell this software and its
  7065  // documentation for any purpose is hereby granted without fee, provided that
  7066  // the above copyright notice appear in all copies and that both that
  7067  // copyright notice and this permission notice appear in supporting
  7068  // documentation.
  7069  //
  7070  // The above copyright notice and this permission notice shall be included in
  7071  // all copies or substantial portions of the Software.
  7072  //
  7073  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7074  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7075  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7076  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7077  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7078  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7079  //
  7080  // Except as contained in this notice, the name of The Open Group shall not be
  7081  // used in advertising or otherwise to promote the sale, use or other dealings
  7082  // in this Software without prior written authorization from The Open Group.
  7083  //
  7084  //
  7085  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7086  //
  7087  //                         All Rights Reserved
  7088  //
  7089  // Permission to use, copy, modify, and distribute this software and its
  7090  // documentation for any purpose and without fee is hereby granted,
  7091  // provided that the above copyright notice appear in all copies and that
  7092  // both that copyright notice and this permission notice appear in
  7093  // supporting documentation, and that the name of Digital not be
  7094  // used in advertising or publicity pertaining to distribution of the
  7095  // software without specific, written prior permission.
  7096  //
  7097  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7098  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7099  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7100  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7101  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7102  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7103  // SOFTWARE.
  7104  //
  7105  // *****************************************************************
  7106  
  7107  // Used by PolySegment
  7108  
  7109  type XSegment1 = X_xSegment /* Xprotostr.h:56:3 */
  7110  
  7111  // POINT
  7112  
  7113  type X_xPoint = struct {
  7114  	Fx INT16
  7115  	Fy INT16
  7116  } /* Xprotostr.h:60:9 */
  7117  
  7118  // POINT
  7119  
  7120  type XPoint1 = X_xPoint /* Xprotostr.h:62:3 */
  7121  
  7122  type X_xRectangle = struct {
  7123  	Fx      INT16
  7124  	Fy      INT16
  7125  	Fwidth  CARD16
  7126  	Fheight CARD16
  7127  } /* Xprotostr.h:64:9 */
  7128  
  7129  type XRectangle1 = X_xRectangle /* Xprotostr.h:67:3 */
  7130  
  7131  //  ARC
  7132  
  7133  type X_xArc = struct {
  7134  	Fx      INT16
  7135  	Fy      INT16
  7136  	Fwidth  CARD16
  7137  	Fheight CARD16
  7138  	Fangle1 INT16
  7139  	Fangle2 INT16
  7140  } /* Xprotostr.h:71:9 */
  7141  
  7142  //  ARC
  7143  
  7144  type XArc1 = X_xArc /* Xprotostr.h:75:3 */
  7145  
  7146  // Define constants for the sizes of the network packets.  The sz_ prefix is
  7147  // used instead of something more descriptive so that the symbols are no more
  7148  // than 32 characters in length (which causes problems for some compilers).
  7149  
  7150  // For the purpose of the structure definitions in this file,
  7151  // we must redefine the following types in terms of Xmd.h's types, which may
  7152  // include bit fields.  All of these are #undef'd at the end of this file,
  7153  // restoring the definitions in X.h.
  7154  
  7155  type KeyButMask = CARD16 /* Xproto.h:259:16 */
  7156  
  7157  //****************
  7158  //    Connection setup structures.  See Chapter 8: Connection Setup
  7159  //    of the X Window System Protocol specification for details.
  7160  // ****************
  7161  
  7162  // Client initiates handshake with this data, followed by the strings
  7163  // for the auth protocol & data.
  7164  type XConnClientPrefix = struct {
  7165  	FbyteOrder        CARD8
  7166  	Fpad              BYTE
  7167  	FmajorVersion     CARD16
  7168  	FminorVersion     CARD16
  7169  	FnbytesAuthProto  CARD16
  7170  	FnbytesAuthString CARD16
  7171  	Fpad2             CARD16
  7172  } /* Xproto.h:276:3 */
  7173  
  7174  // Server response to xConnClientPrefix.
  7175  //
  7176  // If success == Success, this is followed by xConnSetup and
  7177  // numRoots xWindowRoot structs.
  7178  //
  7179  // If success == Failure, this is followed by a reason string.
  7180  //
  7181  // The protocol also defines a case of success == Authenticate, but
  7182  // that doesn't seem to have ever been implemented by the X Consortium.
  7183  type XConnSetupPrefix = struct {
  7184  	Fsuccess      CARD8
  7185  	FlengthReason BYTE
  7186  	FmajorVersion CARD16
  7187  	FminorVersion CARD16
  7188  	Flength       CARD16
  7189  } /* Xproto.h:294:3 */
  7190  
  7191  type XConnSetup = struct {
  7192  	Frelease            CARD32
  7193  	FridBase            CARD32
  7194  	FridMask            CARD32
  7195  	FmotionBufferSize   CARD32
  7196  	FnbytesVendor       CARD16
  7197  	FmaxRequestSize     CARD16
  7198  	FnumRoots           CARD8
  7199  	FnumFormats         CARD8
  7200  	FimageByteOrder     CARD8
  7201  	FbitmapBitOrder     CARD8
  7202  	FbitmapScanlineUnit CARD8
  7203  	FbitmapScanlinePad  CARD8
  7204  	FminKeyCode         CARD8
  7205  	FmaxKeyCode         CARD8
  7206  	Fpad2               CARD32
  7207  } /* Xproto.h:312:3 */
  7208  
  7209  type XPixmapFormat = struct {
  7210  	Fdepth        CARD8
  7211  	FbitsPerPixel CARD8
  7212  	FscanLinePad  CARD8
  7213  	Fpad1         CARD8
  7214  	Fpad2         CARD32
  7215  } /* Xproto.h:320:3 */
  7216  
  7217  // window root
  7218  
  7219  type XDepth = struct {
  7220  	Fdepth    CARD8
  7221  	Fpad1     CARD8
  7222  	FnVisuals CARD16
  7223  	Fpad2     CARD32
  7224  } /* Xproto.h:329:7 */
  7225  
  7226  type XVisualType = struct {
  7227  	FvisualID        CARD32
  7228  	Fclass           CARD8
  7229  	FbitsPerRGB      CARD8
  7230  	FcolormapEntries CARD16
  7231  	FredMask         CARD32
  7232  	FgreenMask       CARD32
  7233  	FblueMask        CARD32
  7234  	Fpad             CARD32
  7235  } /* Xproto.h:342:7 */
  7236  
  7237  type XWindowRoot = struct {
  7238  	FwindowId         CARD32
  7239  	FdefaultColormap  CARD32
  7240  	FwhitePixel       CARD32
  7241  	FblackPixel       CARD32
  7242  	FcurrentInputMask CARD32
  7243  	FpixWidth         CARD16
  7244  	FpixHeight        CARD16
  7245  	FmmWidth          CARD16
  7246  	FmmHeight         CARD16
  7247  	FminInstalledMaps CARD16
  7248  	FmaxInstalledMaps CARD16
  7249  	FrootVisualID     CARD32
  7250  	FbackingStore     CARD8
  7251  	FsaveUnders       BOOL
  7252  	FrootDepth        CARD8
  7253  	FnDepths          CARD8
  7254  } /* Xproto.h:357:3 */
  7255  
  7256  // ****************************************************************
  7257  //
  7258  // Structure Defns
  7259  //   Structures needed for replies
  7260  //
  7261  
  7262  // Used in GetMotionEvents
  7263  
  7264  type XTimecoord = struct {
  7265  	Ftime CARD32
  7266  	Fx    INT16
  7267  	Fy    INT16
  7268  } /* Xproto.h:370:3 */
  7269  
  7270  type XHostEntry = struct {
  7271  	Ffamily CARD8
  7272  	Fpad    BYTE
  7273  	Flength CARD16
  7274  } /* Xproto.h:376:3 */
  7275  
  7276  type XCharInfo = struct {
  7277  	FleftSideBearing  INT16
  7278  	FrightSideBearing INT16
  7279  	FcharacterWidth   INT16
  7280  	Fascent           INT16
  7281  	Fdescent          INT16
  7282  	Fattributes       CARD16
  7283  } /* Xproto.h:385:3 */
  7284  
  7285  type XFontProp1 = struct {
  7286  	Fname  CARD32
  7287  	Fvalue CARD32
  7288  } /* Xproto.h:390:3 */
  7289  
  7290  // non-aligned big-endian font ID follows this struct
  7291  type XTextElt = struct {
  7292  	Flen   CARD8
  7293  	Fdelta INT8
  7294  } /* Xproto.h:399:3 */
  7295  
  7296  type XColorItem = struct {
  7297  	Fpixel CARD32
  7298  	Fred   CARD16
  7299  	Fgreen CARD16
  7300  	Fblue  CARD16
  7301  	Fflags CARD8
  7302  	Fpad   CARD8
  7303  } /* Xproto.h:407:3 */
  7304  
  7305  type Xrgb = struct {
  7306  	Fred   CARD16
  7307  	Fgreen CARD16
  7308  	Fblue  CARD16
  7309  	Fpad   CARD16
  7310  } /* Xproto.h:412:3 */
  7311  
  7312  type KEYCODE = CARD8 /* Xproto.h:414:15 */
  7313  
  7314  // ****************
  7315  //
  7316  // XRep:
  7317  //    meant to be 32 byte quantity
  7318  //
  7319  
  7320  // GenericReply is the common format of all replies.  The "data" items
  7321  //    are specific to each individual reply type.
  7322  
  7323  type XGenericReply = struct {
  7324  	Ftype           BYTE
  7325  	Fdata1          BYTE
  7326  	FsequenceNumber CARD16
  7327  	Flength         CARD32
  7328  	Fdata00         CARD32
  7329  	Fdata01         CARD32
  7330  	Fdata02         CARD32
  7331  	Fdata03         CARD32
  7332  	Fdata04         CARD32
  7333  	Fdata05         CARD32
  7334  } /* Xproto.h:436:7 */
  7335  
  7336  // Individual reply formats.
  7337  
  7338  type XGetWindowAttributesReply = struct {
  7339  	Ftype               BYTE
  7340  	FbackingStore       CARD8
  7341  	FsequenceNumber     CARD16
  7342  	Flength             CARD32
  7343  	FvisualID           CARD32
  7344  	Fclass              CARD16
  7345  	FbitGravity         CARD8
  7346  	FwinGravity         CARD8
  7347  	FbackingBitPlanes   CARD32
  7348  	FbackingPixel       CARD32
  7349  	FsaveUnder          BOOL
  7350  	FmapInstalled       BOOL
  7351  	FmapState           CARD8
  7352  	Foverride           BOOL
  7353  	Fcolormap           CARD32
  7354  	FallEventMasks      CARD32
  7355  	FyourEventMask      CARD32
  7356  	FdoNotPropagateMask CARD16
  7357  	Fpad                CARD16
  7358  } /* Xproto.h:464:7 */
  7359  
  7360  type XGetGeometryReply = struct {
  7361  	Ftype           BYTE
  7362  	Fdepth          CARD8
  7363  	FsequenceNumber CARD16
  7364  	Flength         CARD32
  7365  	Froot           CARD32
  7366  	Fx              INT16
  7367  	Fy              INT16
  7368  	Fwidth          CARD16
  7369  	Fheight         CARD16
  7370  	FborderWidth    CARD16
  7371  	Fpad1           CARD16
  7372  	Fpad2           CARD32
  7373  	Fpad3           CARD32
  7374  } /* Xproto.h:478:7 */
  7375  
  7376  type XQueryTreeReply = struct {
  7377  	Ftype           BYTE
  7378  	Fpad1           BYTE
  7379  	FsequenceNumber CARD16
  7380  	Flength         CARD32
  7381  	Froot           CARD32
  7382  	Fparent         CARD32
  7383  	FnChildren      CARD16
  7384  	Fpad2           CARD16
  7385  	Fpad3           CARD32
  7386  	Fpad4           CARD32
  7387  	Fpad5           CARD32
  7388  } /* Xproto.h:491:7 */
  7389  
  7390  type XInternAtomReply = struct {
  7391  	Ftype           BYTE
  7392  	Fpad1           BYTE
  7393  	FsequenceNumber CARD16
  7394  	Flength         CARD32
  7395  	Fatom           CARD32
  7396  	Fpad2           CARD32
  7397  	Fpad3           CARD32
  7398  	Fpad4           CARD32
  7399  	Fpad5           CARD32
  7400  	Fpad6           CARD32
  7401  } /* Xproto.h:504:7 */
  7402  
  7403  type XGetAtomNameReply = struct {
  7404  	Ftype           BYTE
  7405  	Fpad1           BYTE
  7406  	FsequenceNumber CARD16
  7407  	Flength         CARD32
  7408  	FnameLength     CARD16
  7409  	Fpad2           CARD16
  7410  	Fpad3           CARD32
  7411  	Fpad4           CARD32
  7412  	Fpad5           CARD32
  7413  	Fpad6           CARD32
  7414  	Fpad7           CARD32
  7415  } /* Xproto.h:518:7 */
  7416  
  7417  type XGetPropertyReply = struct {
  7418  	Ftype           BYTE
  7419  	Fformat         CARD8
  7420  	FsequenceNumber CARD16
  7421  	Flength         CARD32
  7422  	FpropertyType   CARD32
  7423  	FbytesAfter     CARD32
  7424  	FnItems         CARD32
  7425  	Fpad1           CARD32
  7426  	Fpad2           CARD32
  7427  	Fpad3           CARD32
  7428  } /* Xproto.h:531:7 */
  7429  
  7430  type XListPropertiesReply = struct {
  7431  	Ftype           BYTE
  7432  	Fpad1           BYTE
  7433  	FsequenceNumber CARD16
  7434  	Flength         CARD32
  7435  	FnProperties    CARD16
  7436  	Fpad2           CARD16
  7437  	Fpad3           CARD32
  7438  	Fpad4           CARD32
  7439  	Fpad5           CARD32
  7440  	Fpad6           CARD32
  7441  	Fpad7           CARD32
  7442  } /* Xproto.h:545:7 */
  7443  
  7444  type XGetSelectionOwnerReply = struct {
  7445  	Ftype           BYTE
  7446  	Fpad1           BYTE
  7447  	FsequenceNumber CARD16
  7448  	Flength         CARD32
  7449  	Fowner          CARD32
  7450  	Fpad2           CARD32
  7451  	Fpad3           CARD32
  7452  	Fpad4           CARD32
  7453  	Fpad5           CARD32
  7454  	Fpad6           CARD32
  7455  } /* Xproto.h:558:7 */
  7456  
  7457  type XGrabPointerReply = struct {
  7458  	Ftype           BYTE
  7459  	Fstatus         BYTE
  7460  	FsequenceNumber CARD16
  7461  	Flength         CARD32
  7462  	Fpad1           CARD32
  7463  	Fpad2           CARD32
  7464  	Fpad3           CARD32
  7465  	Fpad4           CARD32
  7466  	Fpad5           CARD32
  7467  	Fpad6           CARD32
  7468  } /* Xproto.h:571:7 */
  7469  
  7470  type XGrabKeyboardReply = XGrabPointerReply /* Xproto.h:573:27 */
  7471  
  7472  type XQueryPointerReply = struct {
  7473  	Ftype           BYTE
  7474  	FsameScreen     BOOL
  7475  	FsequenceNumber CARD16
  7476  	Flength         CARD32
  7477  	Froot           CARD32
  7478  	Fchild          CARD32
  7479  	FrootX          INT16
  7480  	FrootY          INT16
  7481  	FwinX           INT16
  7482  	FwinY           INT16
  7483  	Fmask           CARD16
  7484  	Fpad1           CARD16
  7485  	Fpad            CARD32
  7486  } /* Xproto.h:585:7 */
  7487  
  7488  type XGetMotionEventsReply = struct {
  7489  	Ftype           BYTE
  7490  	Fpad1           BYTE
  7491  	FsequenceNumber CARD16
  7492  	Flength         CARD32
  7493  	FnEvents        CARD32
  7494  	Fpad2           CARD32
  7495  	Fpad3           CARD32
  7496  	Fpad4           CARD32
  7497  	Fpad5           CARD32
  7498  	Fpad6           CARD32
  7499  } /* Xproto.h:598:7 */
  7500  
  7501  type XTranslateCoordsReply = struct {
  7502  	Ftype           BYTE
  7503  	FsameScreen     BOOL
  7504  	FsequenceNumber CARD16
  7505  	Flength         CARD32
  7506  	Fchild          CARD32
  7507  	FdstX           INT16
  7508  	FdstY           INT16
  7509  	Fpad2           CARD32
  7510  	Fpad3           CARD32
  7511  	Fpad4           CARD32
  7512  	Fpad5           CARD32
  7513  } /* Xproto.h:611:7 */
  7514  
  7515  type XGetInputFocusReply = struct {
  7516  	Ftype           BYTE
  7517  	FrevertTo       CARD8
  7518  	FsequenceNumber CARD16
  7519  	Flength         CARD32
  7520  	Ffocus          CARD32
  7521  	Fpad1           CARD32
  7522  	Fpad2           CARD32
  7523  	Fpad3           CARD32
  7524  	Fpad4           CARD32
  7525  	Fpad5           CARD32
  7526  } /* Xproto.h:624:7 */
  7527  
  7528  type XQueryKeymapReply = struct {
  7529  	Ftype           BYTE
  7530  	Fpad1           BYTE
  7531  	FsequenceNumber CARD16
  7532  	Flength         CARD32
  7533  	Fmap            [32]BYTE
  7534  } /* Xproto.h:632:7 */
  7535  
  7536  // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply
  7537  type X_xQueryFontReply = struct {
  7538  	Ftype           BYTE
  7539  	Fpad1           BYTE
  7540  	FsequenceNumber CARD16
  7541  	Flength         CARD32
  7542  	FminBounds      XCharInfo
  7543  	Fwalign1        CARD32
  7544  	FmaxBounds      XCharInfo
  7545  	Fwalign2        CARD32
  7546  	FminCharOrByte2 CARD16
  7547  	FmaxCharOrByte2 CARD16
  7548  	FdefaultChar    CARD16
  7549  	FnFontProps     CARD16
  7550  	FdrawDirection  CARD8
  7551  	FminByte1       CARD8
  7552  	FmaxByte1       CARD8
  7553  	FallCharsExist  BOOL
  7554  	FfontAscent     INT16
  7555  	FfontDescent    INT16
  7556  	FnCharInfos     CARD32
  7557  } /* Xproto.h:635:9 */
  7558  
  7559  // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply
  7560  type XQueryFontReply = X_xQueryFontReply /* Xproto.h:652:3 */
  7561  
  7562  type XQueryTextExtentsReply = struct {
  7563  	Ftype           BYTE
  7564  	FdrawDirection  CARD8
  7565  	FsequenceNumber CARD16
  7566  	Flength         CARD32
  7567  	FfontAscent     INT16
  7568  	FfontDescent    INT16
  7569  	FoverallAscent  INT16
  7570  	FoverallDescent INT16
  7571  	FoverallWidth   INT32
  7572  	FoverallLeft    INT32
  7573  	FoverallRight   INT32
  7574  	Fpad            CARD32
  7575  } /* Xproto.h:663:7 */
  7576  
  7577  type XListFontsReply = struct {
  7578  	Ftype           BYTE
  7579  	Fpad1           BYTE
  7580  	FsequenceNumber CARD16
  7581  	Flength         CARD32
  7582  	FnFonts         CARD16
  7583  	Fpad2           CARD16
  7584  	Fpad3           CARD32
  7585  	Fpad4           CARD32
  7586  	Fpad5           CARD32
  7587  	Fpad6           CARD32
  7588  	Fpad7           CARD32
  7589  } /* Xproto.h:677:7 */
  7590  
  7591  // Warning: this MUST match (up to component renaming) xQueryFontReply
  7592  type XListFontsWithInfoReply = struct {
  7593  	Ftype           BYTE
  7594  	FnameLength     CARD8
  7595  	FsequenceNumber CARD16
  7596  	Flength         CARD32
  7597  	FminBounds      XCharInfo
  7598  	Fwalign1        CARD32
  7599  	FmaxBounds      XCharInfo
  7600  	Fwalign2        CARD32
  7601  	FminCharOrByte2 CARD16
  7602  	FmaxCharOrByte2 CARD16
  7603  	FdefaultChar    CARD16
  7604  	FnFontProps     CARD16
  7605  	FdrawDirection  CARD8
  7606  	FminByte1       CARD8
  7607  	FmaxByte1       CARD8
  7608  	FallCharsExist  BOOL
  7609  	FfontAscent     INT16
  7610  	FfontDescent    INT16
  7611  	FnReplies       CARD32
  7612  } /* Xproto.h:697:3 */
  7613  
  7614  type XGetFontPathReply = struct {
  7615  	Ftype           BYTE
  7616  	Fpad1           BYTE
  7617  	FsequenceNumber CARD16
  7618  	Flength         CARD32
  7619  	FnPaths         CARD16
  7620  	Fpad2           CARD16
  7621  	Fpad3           CARD32
  7622  	Fpad4           CARD32
  7623  	Fpad5           CARD32
  7624  	Fpad6           CARD32
  7625  	Fpad7           CARD32
  7626  } /* Xproto.h:711:7 */
  7627  
  7628  type XGetImageReply = struct {
  7629  	Ftype           BYTE
  7630  	Fdepth          CARD8
  7631  	FsequenceNumber CARD16
  7632  	Flength         CARD32
  7633  	Fvisual         CARD32
  7634  	Fpad3           CARD32
  7635  	Fpad4           CARD32
  7636  	Fpad5           CARD32
  7637  	Fpad6           CARD32
  7638  	Fpad7           CARD32
  7639  } /* Xproto.h:724:7 */
  7640  
  7641  type XListInstalledColormapsReply = struct {
  7642  	Ftype           BYTE
  7643  	Fpad1           BYTE
  7644  	FsequenceNumber CARD16
  7645  	Flength         CARD32
  7646  	FnColormaps     CARD16
  7647  	Fpad2           CARD16
  7648  	Fpad3           CARD32
  7649  	Fpad4           CARD32
  7650  	Fpad5           CARD32
  7651  	Fpad6           CARD32
  7652  	Fpad7           CARD32
  7653  } /* Xproto.h:738:7 */
  7654  
  7655  type XAllocColorReply = struct {
  7656  	Ftype           BYTE
  7657  	Fpad1           BYTE
  7658  	FsequenceNumber CARD16
  7659  	Flength         CARD32
  7660  	Fred            CARD16
  7661  	Fgreen          CARD16
  7662  	Fblue           CARD16
  7663  	Fpad2           CARD16
  7664  	Fpixel          CARD32
  7665  	Fpad3           CARD32
  7666  	Fpad4           CARD32
  7667  	Fpad5           CARD32
  7668  } /* Xproto.h:751:7 */
  7669  
  7670  type XAllocNamedColorReply = struct {
  7671  	Ftype           BYTE
  7672  	Fpad1           BYTE
  7673  	FsequenceNumber CARD16
  7674  	Flength         CARD32
  7675  	Fpixel          CARD32
  7676  	FexactRed       CARD16
  7677  	FexactGreen     CARD16
  7678  	FexactBlue      CARD16
  7679  	FscreenRed      CARD16
  7680  	FscreenGreen    CARD16
  7681  	FscreenBlue     CARD16
  7682  	Fpad2           CARD32
  7683  	Fpad3           CARD32
  7684  } /* Xproto.h:763:7 */
  7685  
  7686  type XAllocColorCellsReply = struct {
  7687  	Ftype           BYTE
  7688  	Fpad1           BYTE
  7689  	FsequenceNumber CARD16
  7690  	Flength         CARD32
  7691  	FnPixels        CARD16
  7692  	FnMasks         CARD16
  7693  	Fpad3           CARD32
  7694  	Fpad4           CARD32
  7695  	Fpad5           CARD32
  7696  	Fpad6           CARD32
  7697  	Fpad7           CARD32
  7698  } /* Xproto.h:776:7 */
  7699  
  7700  type XAllocColorPlanesReply = struct {
  7701  	Ftype           BYTE
  7702  	Fpad1           BYTE
  7703  	FsequenceNumber CARD16
  7704  	Flength         CARD32
  7705  	FnPixels        CARD16
  7706  	Fpad2           CARD16
  7707  	FredMask        CARD32
  7708  	FgreenMask      CARD32
  7709  	FblueMask       CARD32
  7710  	Fpad3           CARD32
  7711  	Fpad4           CARD32
  7712  } /* Xproto.h:788:7 */
  7713  
  7714  type XQueryColorsReply = struct {
  7715  	Ftype           BYTE
  7716  	Fpad1           BYTE
  7717  	FsequenceNumber CARD16
  7718  	Flength         CARD32
  7719  	FnColors        CARD16
  7720  	Fpad2           CARD16
  7721  	Fpad3           CARD32
  7722  	Fpad4           CARD32
  7723  	Fpad5           CARD32
  7724  	Fpad6           CARD32
  7725  	Fpad7           CARD32
  7726  } /* Xproto.h:802:7 */
  7727  
  7728  type XLookupColorReply = struct {
  7729  	Ftype           BYTE
  7730  	Fpad1           BYTE
  7731  	FsequenceNumber CARD16
  7732  	Flength         CARD32
  7733  	FexactRed       CARD16
  7734  	FexactGreen     CARD16
  7735  	FexactBlue      CARD16
  7736  	FscreenRed      CARD16
  7737  	FscreenGreen    CARD16
  7738  	FscreenBlue     CARD16
  7739  	Fpad3           CARD32
  7740  	Fpad4           CARD32
  7741  	Fpad5           CARD32
  7742  } /* Xproto.h:814:7 */
  7743  
  7744  type XQueryBestSizeReply = struct {
  7745  	Ftype           BYTE
  7746  	Fpad1           BYTE
  7747  	FsequenceNumber CARD16
  7748  	Flength         CARD32
  7749  	Fwidth          CARD16
  7750  	Fheight         CARD16
  7751  	Fpad3           CARD32
  7752  	Fpad4           CARD32
  7753  	Fpad5           CARD32
  7754  	Fpad6           CARD32
  7755  	Fpad7           CARD32
  7756  } /* Xproto.h:827:7 */
  7757  
  7758  type XQueryExtensionReply = struct {
  7759  	Ftype           BYTE
  7760  	Fpad1           BYTE
  7761  	FsequenceNumber CARD16
  7762  	Flength         CARD32
  7763  	Fpresent        BOOL
  7764  	Fmajor_opcode   CARD8
  7765  	Ffirst_event    CARD8
  7766  	Ffirst_error    CARD8
  7767  	Fpad3           CARD32
  7768  	Fpad4           CARD32
  7769  	Fpad5           CARD32
  7770  	Fpad6           CARD32
  7771  	Fpad7           CARD32
  7772  } /* Xproto.h:843:7 */
  7773  
  7774  type XListExtensionsReply = struct {
  7775  	Ftype           BYTE
  7776  	FnExtensions    CARD8
  7777  	FsequenceNumber CARD16
  7778  	Flength         CARD32
  7779  	Fpad2           CARD32
  7780  	Fpad3           CARD32
  7781  	Fpad4           CARD32
  7782  	Fpad5           CARD32
  7783  	Fpad6           CARD32
  7784  	Fpad7           CARD32
  7785  } /* Xproto.h:856:7 */
  7786  
  7787  type XSetMappingReply = struct {
  7788  	Ftype           BYTE
  7789  	Fsuccess        CARD8
  7790  	FsequenceNumber CARD16
  7791  	Flength         CARD32
  7792  	Fpad2           CARD32
  7793  	Fpad3           CARD32
  7794  	Fpad4           CARD32
  7795  	Fpad5           CARD32
  7796  	Fpad6           CARD32
  7797  	Fpad7           CARD32
  7798  }                                                /* Xproto.h:870:7 */
  7799  type XSetPointerMappingReply = XSetMappingReply  /* Xproto.h:871:26 */
  7800  type XSetModifierMappingReply = XSetMappingReply /* Xproto.h:872:26 */
  7801  
  7802  type XGetPointerMappingReply = struct {
  7803  	Ftype           BYTE
  7804  	FnElts          CARD8
  7805  	FsequenceNumber CARD16
  7806  	Flength         CARD32
  7807  	Fpad2           CARD32
  7808  	Fpad3           CARD32
  7809  	Fpad4           CARD32
  7810  	Fpad5           CARD32
  7811  	Fpad6           CARD32
  7812  	Fpad7           CARD32
  7813  } /* Xproto.h:885:7 */
  7814  
  7815  type XGetKeyboardMappingReply = struct {
  7816  	Ftype              BYTE
  7817  	FkeySymsPerKeyCode CARD8
  7818  	FsequenceNumber    CARD16
  7819  	Flength            CARD32
  7820  	Fpad2              CARD32
  7821  	Fpad3              CARD32
  7822  	Fpad4              CARD32
  7823  	Fpad5              CARD32
  7824  	Fpad6              CARD32
  7825  	Fpad7              CARD32
  7826  } /* Xproto.h:898:3 */
  7827  
  7828  type XGetModifierMappingReply = struct {
  7829  	Ftype              BYTE
  7830  	FnumKeyPerModifier CARD8
  7831  	FsequenceNumber    CARD16
  7832  	Flength            CARD32
  7833  	Fpad1              CARD32
  7834  	Fpad2              CARD32
  7835  	Fpad3              CARD32
  7836  	Fpad4              CARD32
  7837  	Fpad5              CARD32
  7838  	Fpad6              CARD32
  7839  } /* Xproto.h:911:3 */
  7840  
  7841  type XGetKeyboardControlReply = struct {
  7842  	Ftype             BYTE
  7843  	FglobalAutoRepeat BOOL
  7844  	FsequenceNumber   CARD16
  7845  	Flength           CARD32
  7846  	FledMask          CARD32
  7847  	FkeyClickPercent  CARD8
  7848  	FbellPercent      CARD8
  7849  	FbellPitch        CARD16
  7850  	FbellDuration     CARD16
  7851  	Fpad              CARD16
  7852  	Fmap              [32]BYTE
  7853  } /* Xproto.h:923:7 */
  7854  
  7855  type XGetPointerControlReply = struct {
  7856  	Ftype             BYTE
  7857  	Fpad1             BYTE
  7858  	FsequenceNumber   CARD16
  7859  	Flength           CARD32
  7860  	FaccelNumerator   CARD16
  7861  	FaccelDenominator CARD16
  7862  	Fthreshold        CARD16
  7863  	Fpad2             CARD16
  7864  	Fpad3             CARD32
  7865  	Fpad4             CARD32
  7866  	Fpad5             CARD32
  7867  	Fpad6             CARD32
  7868  } /* Xproto.h:937:7 */
  7869  
  7870  type XGetScreenSaverReply = struct {
  7871  	Ftype           BYTE
  7872  	Fpad1           BYTE
  7873  	FsequenceNumber CARD16
  7874  	Flength         CARD32
  7875  	Ftimeout        CARD16
  7876  	Finterval       CARD16
  7877  	FpreferBlanking BOOL
  7878  	FallowExposures BOOL
  7879  	Fpad2           CARD16
  7880  	Fpad3           CARD32
  7881  	Fpad4           CARD32
  7882  	Fpad5           CARD32
  7883  	Fpad6           CARD32
  7884  } /* Xproto.h:952:7 */
  7885  
  7886  type XListHostsReply = struct {
  7887  	Ftype           BYTE
  7888  	Fenabled        BOOL
  7889  	FsequenceNumber CARD16
  7890  	Flength         CARD32
  7891  	FnHosts         CARD16
  7892  	Fpad1           CARD16
  7893  	Fpad3           CARD32
  7894  	Fpad4           CARD32
  7895  	Fpad5           CARD32
  7896  	Fpad6           CARD32
  7897  	Fpad7           CARD32
  7898  } /* Xproto.h:966:7 */
  7899  
  7900  // ****************************************************************
  7901  //
  7902  // Xerror
  7903  //    All errors  are 32 bytes
  7904  //
  7905  
  7906  type XError = struct {
  7907  	Ftype           BYTE
  7908  	FerrorCode      BYTE
  7909  	FsequenceNumber CARD16
  7910  	FresourceID     CARD32
  7911  	FminorCode      CARD16
  7912  	FmajorCode      CARD8
  7913  	Fpad1           BYTE
  7914  	Fpad3           CARD32
  7915  	Fpad4           CARD32
  7916  	Fpad5           CARD32
  7917  	Fpad6           CARD32
  7918  	Fpad7           CARD32
  7919  } /* Xproto.h:989:3 */
  7920  
  7921  // ****************************************************************
  7922  //
  7923  // xEvent
  7924  //    All events are 32 bytes
  7925  //
  7926  
  7927  type X_xEvent = struct {
  7928  	Fu struct {
  7929  		F__ccgo_pad1 [0]uint32
  7930  		Fu           struct {
  7931  			Ftype           BYTE
  7932  			Fdetail         BYTE
  7933  			FsequenceNumber CARD16
  7934  		}
  7935  		F__ccgo_pad2 [28]byte
  7936  	}
  7937  } /* Xproto.h:996:9 */
  7938  
  7939  // ****************************************************************
  7940  //
  7941  // xEvent
  7942  //    All events are 32 bytes
  7943  //
  7944  
  7945  type XEvent1 = X_xEvent /* Xproto.h:1214:3 */
  7946  
  7947  // ********************************************************
  7948  //
  7949  //
  7950  // Generic event
  7951  //
  7952  // Those events are not part of the core protocol spec and can be used by
  7953  // various extensions.
  7954  // type is always GenericEvent
  7955  // extension is the minor opcode of the extension the event belongs to.
  7956  // evtype is the actual event type, unique __per extension__.
  7957  //
  7958  // GenericEvents can be longer than 32 bytes, with the length field
  7959  // specifying the number of 4 byte blocks after the first 32 bytes.
  7960  //
  7961  //
  7962  type XGenericEvent1 = struct {
  7963  	Ftype           BYTE
  7964  	Fextension      CARD8
  7965  	FsequenceNumber CARD16
  7966  	Flength         CARD32
  7967  	Fevtype         CARD16
  7968  	Fpad2           CARD16
  7969  	Fpad3           CARD32
  7970  	Fpad4           CARD32
  7971  	Fpad5           CARD32
  7972  	Fpad6           CARD32
  7973  	Fpad7           CARD32
  7974  } /* Xproto.h:1244:3 */
  7975  
  7976  // KeymapNotify events are not included in the above union because they
  7977  //    are different from all other events: they do not have a "detail"
  7978  //    or "sequenceNumber", so there is room for a 248-bit key mask.
  7979  
  7980  type XKeymapEvent1 = struct {
  7981  	Ftype BYTE
  7982  	Fmap  [31]BYTE
  7983  } /* Xproto.h:1255:7 */
  7984  
  7985  // XReply is the union of all the replies above whose "fixed part"
  7986  // fits in 32 bytes.  It does NOT include GetWindowAttributesReply,
  7987  // QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply
  7988  // ListFontsWithInfoReply
  7989  
  7990  type XReply = struct{ Fgeneric XGenericReply } /* Xproto.h:1303:3 */
  7991  
  7992  // ****************************************************************
  7993  //
  7994  // REQUESTS
  7995  //
  7996  
  7997  // Request structure
  7998  
  7999  type X_xReq = struct {
  8000  	FreqType CARD8
  8001  	Fdata    CARD8
  8002  	Flength  CARD16
  8003  } /* Xproto.h:1314:9 */
  8004  
  8005  // ****************************************************************
  8006  //
  8007  // REQUESTS
  8008  //
  8009  
  8010  // Request structure
  8011  
  8012  type XReq = X_xReq /* Xproto.h:1319:3 */
  8013  
  8014  // ****************************************************************
  8015  //
  8016  //  structures that follow request.
  8017  //
  8018  
  8019  // ResourceReq is used for any request which has a resource ID
  8020  //    (or Atom or Time) as its one and only argument.
  8021  
  8022  type XResourceReq = struct {
  8023  	FreqType CARD8
  8024  	Fpad     BYTE
  8025  	Flength  CARD16
  8026  	Fid      CARD32
  8027  } /* Xproto.h:1333:7 */
  8028  
  8029  type XCreateWindowReq = struct {
  8030  	FreqType     CARD8
  8031  	Fdepth       CARD8
  8032  	Flength      CARD16
  8033  	Fwid         CARD32
  8034  	Fparent      CARD32
  8035  	Fx           INT16
  8036  	Fy           INT16
  8037  	Fwidth       CARD16
  8038  	Fheight      CARD16
  8039  	FborderWidth CARD16
  8040  	Fclass       CARD16
  8041  	Fvisual      CARD32
  8042  	Fmask        CARD32
  8043  } /* Xproto.h:1349:3 */
  8044  
  8045  type XChangeWindowAttributesReq = struct {
  8046  	FreqType   CARD8
  8047  	Fpad       BYTE
  8048  	Flength    CARD16
  8049  	Fwindow    CARD32
  8050  	FvalueMask CARD32
  8051  } /* Xproto.h:1357:3 */
  8052  
  8053  type XChangeSaveSetReq = struct {
  8054  	FreqType CARD8
  8055  	Fmode    BYTE
  8056  	Flength  CARD16
  8057  	Fwindow  CARD32
  8058  } /* Xproto.h:1364:3 */
  8059  
  8060  type XReparentWindowReq = struct {
  8061  	FreqType CARD8
  8062  	Fpad     BYTE
  8063  	Flength  CARD16
  8064  	Fwindow  CARD32
  8065  	Fparent  CARD32
  8066  	Fx       INT16
  8067  	Fy       INT16
  8068  } /* Xproto.h:1372:3 */
  8069  
  8070  type XConfigureWindowReq = struct {
  8071  	FreqType CARD8
  8072  	Fpad     CARD8
  8073  	Flength  CARD16
  8074  	Fwindow  CARD32
  8075  	Fmask    CARD16
  8076  	Fpad2    CARD16
  8077  } /* Xproto.h:1381:3 */
  8078  
  8079  type XCirculateWindowReq = struct {
  8080  	FreqType   CARD8
  8081  	Fdirection CARD8
  8082  	Flength    CARD16
  8083  	Fwindow    CARD32
  8084  } /* Xproto.h:1388:3 */
  8085  
  8086  type XInternAtomReq = struct {
  8087  	FreqType      CARD8
  8088  	FonlyIfExists BOOL
  8089  	Flength       CARD16
  8090  	Fnbytes       CARD16
  8091  	Fpad          CARD16
  8092  } /* Xproto.h:1396:3 */
  8093  
  8094  type XChangePropertyReq = struct {
  8095  	FreqType  CARD8
  8096  	Fmode     CARD8
  8097  	Flength   CARD16
  8098  	Fwindow   CARD32
  8099  	Fproperty CARD32
  8100  	Ftype     CARD32
  8101  	Fformat   CARD8
  8102  	Fpad      [3]BYTE
  8103  	FnUnits   CARD32
  8104  } /* Xproto.h:1407:3 */
  8105  
  8106  type XDeletePropertyReq = struct {
  8107  	FreqType  CARD8
  8108  	Fpad      BYTE
  8109  	Flength   CARD16
  8110  	Fwindow   CARD32
  8111  	Fproperty CARD32
  8112  } /* Xproto.h:1415:3 */
  8113  
  8114  type XGetPropertyReq = struct {
  8115  	FreqType    CARD8
  8116  	Fdelete     BOOL
  8117  	Flength     CARD16
  8118  	Fwindow     CARD32
  8119  	Fproperty   CARD32
  8120  	Ftype       CARD32
  8121  	FlongOffset CARD32
  8122  	FlongLength CARD32
  8123  } /* Xproto.h:1429:3 */
  8124  
  8125  type XSetSelectionOwnerReq = struct {
  8126  	FreqType   CARD8
  8127  	Fpad       BYTE
  8128  	Flength    CARD16
  8129  	Fwindow    CARD32
  8130  	Fselection CARD32
  8131  	Ftime      CARD32
  8132  } /* Xproto.h:1438:3 */
  8133  
  8134  type XConvertSelectionReq = struct {
  8135  	FreqType   CARD8
  8136  	Fpad       BYTE
  8137  	Flength    CARD16
  8138  	Frequestor CARD32
  8139  	Fselection CARD32
  8140  	Ftarget    CARD32
  8141  	Fproperty  CARD32
  8142  	Ftime      CARD32
  8143  } /* Xproto.h:1447:7 */
  8144  
  8145  type XSendEventReq = struct {
  8146  	FreqType     CARD8
  8147  	Fpropagate   BOOL
  8148  	Flength      CARD16
  8149  	Fdestination CARD32
  8150  	FeventMask   CARD32
  8151  	Fevent       XEvent1
  8152  } /* Xproto.h:1456:3 */
  8153  
  8154  type XGrabPointerReq = struct {
  8155  	FreqType      CARD8
  8156  	FownerEvents  BOOL
  8157  	Flength       CARD16
  8158  	FgrabWindow   CARD32
  8159  	FeventMask    CARD16
  8160  	FpointerMode  BYTE
  8161  	FkeyboardMode BYTE
  8162  	FconfineTo    CARD32
  8163  	Fcursor       CARD32
  8164  	Ftime         CARD32
  8165  } /* Xproto.h:1468:3 */
  8166  
  8167  type XGrabButtonReq = struct {
  8168  	FreqType      CARD8
  8169  	FownerEvents  BOOL
  8170  	Flength       CARD16
  8171  	FgrabWindow   CARD32
  8172  	FeventMask    CARD16
  8173  	FpointerMode  BYTE
  8174  	FkeyboardMode BYTE
  8175  	FconfineTo    CARD32
  8176  	Fcursor       CARD32
  8177  	Fbutton       CARD8
  8178  	Fpad          BYTE
  8179  	Fmodifiers    CARD16
  8180  } /* Xproto.h:1482:3 */
  8181  
  8182  type XUngrabButtonReq = struct {
  8183  	FreqType    CARD8
  8184  	Fbutton     CARD8
  8185  	Flength     CARD16
  8186  	FgrabWindow CARD32
  8187  	Fmodifiers  CARD16
  8188  	Fpad        CARD16
  8189  } /* Xproto.h:1491:3 */
  8190  
  8191  type XChangeActivePointerGrabReq = struct {
  8192  	FreqType   CARD8
  8193  	Fpad       BYTE
  8194  	Flength    CARD16
  8195  	Fcursor    CARD32
  8196  	Ftime      CARD32
  8197  	FeventMask CARD16
  8198  	Fpad2      CARD16
  8199  } /* Xproto.h:1501:3 */
  8200  
  8201  type XGrabKeyboardReq = struct {
  8202  	FreqType      CARD8
  8203  	FownerEvents  BOOL
  8204  	Flength       CARD16
  8205  	FgrabWindow   CARD32
  8206  	Ftime         CARD32
  8207  	FpointerMode  BYTE
  8208  	FkeyboardMode BYTE
  8209  	Fpad          CARD16
  8210  } /* Xproto.h:1511:3 */
  8211  
  8212  type XGrabKeyReq = struct {
  8213  	FreqType      CARD8
  8214  	FownerEvents  BOOL
  8215  	Flength       CARD16
  8216  	FgrabWindow   CARD32
  8217  	Fmodifiers    CARD16
  8218  	Fkey          CARD8
  8219  	FpointerMode  BYTE
  8220  	FkeyboardMode BYTE
  8221  	Fpad1         BYTE
  8222  	Fpad2         BYTE
  8223  	Fpad3         BYTE
  8224  } /* Xproto.h:1522:3 */
  8225  
  8226  type XUngrabKeyReq = struct {
  8227  	FreqType    CARD8
  8228  	Fkey        CARD8
  8229  	Flength     CARD16
  8230  	FgrabWindow CARD32
  8231  	Fmodifiers  CARD16
  8232  	Fpad        CARD16
  8233  } /* Xproto.h:1531:3 */
  8234  
  8235  type XAllowEventsReq = struct {
  8236  	FreqType CARD8
  8237  	Fmode    CARD8
  8238  	Flength  CARD16
  8239  	Ftime    CARD32
  8240  } /* Xproto.h:1538:3 */
  8241  
  8242  type XGetMotionEventsReq = struct {
  8243  	FreqType CARD8
  8244  	Fpad     BYTE
  8245  	Flength  CARD16
  8246  	Fwindow  CARD32
  8247  	Fstart   CARD32
  8248  	Fstop    CARD32
  8249  } /* Xproto.h:1546:3 */
  8250  
  8251  type XTranslateCoordsReq = struct {
  8252  	FreqType CARD8
  8253  	Fpad     BYTE
  8254  	Flength  CARD16
  8255  	FsrcWid  CARD32
  8256  	FdstWid  CARD32
  8257  	FsrcX    INT16
  8258  	FsrcY    INT16
  8259  } /* Xproto.h:1554:3 */
  8260  
  8261  type XWarpPointerReq = struct {
  8262  	FreqType   CARD8
  8263  	Fpad       BYTE
  8264  	Flength    CARD16
  8265  	FsrcWid    CARD32
  8266  	FdstWid    CARD32
  8267  	FsrcX      INT16
  8268  	FsrcY      INT16
  8269  	FsrcWidth  CARD16
  8270  	FsrcHeight CARD16
  8271  	FdstX      INT16
  8272  	FdstY      INT16
  8273  } /* Xproto.h:1564:3 */
  8274  
  8275  type XSetInputFocusReq = struct {
  8276  	FreqType  CARD8
  8277  	FrevertTo CARD8
  8278  	Flength   CARD16
  8279  	Ffocus    CARD32
  8280  	Ftime     CARD32
  8281  } /* Xproto.h:1572:3 */
  8282  
  8283  type XOpenFontReq = struct {
  8284  	FreqType CARD8
  8285  	Fpad     BYTE
  8286  	Flength  CARD16
  8287  	Ffid     CARD32
  8288  	Fnbytes  CARD16
  8289  	Fpad1    BYTE
  8290  	Fpad2    BYTE
  8291  } /* Xproto.h:1581:3 */
  8292  
  8293  type XQueryTextExtentsReq = struct {
  8294  	FreqType   CARD8
  8295  	FoddLength BOOL
  8296  	Flength    CARD16
  8297  	Ffid       CARD32
  8298  } /* Xproto.h:1588:7 */
  8299  
  8300  type XListFontsReq = struct {
  8301  	FreqType  CARD8
  8302  	Fpad      BYTE
  8303  	Flength   CARD16
  8304  	FmaxNames CARD16
  8305  	Fnbytes   CARD16
  8306  } /* Xproto.h:1596:3 */
  8307  
  8308  type XListFontsWithInfoReq = XListFontsReq /* Xproto.h:1598:23 */
  8309  
  8310  type XSetFontPathReq = struct {
  8311  	FreqType CARD8
  8312  	Fpad     BYTE
  8313  	Flength  CARD16
  8314  	FnFonts  CARD16
  8315  	Fpad1    BYTE
  8316  	Fpad2    BYTE
  8317  } /* Xproto.h:1606:3 */
  8318  
  8319  type XCreatePixmapReq = struct {
  8320  	FreqType  CARD8
  8321  	Fdepth    CARD8
  8322  	Flength   CARD16
  8323  	Fpid      CARD32
  8324  	Fdrawable CARD32
  8325  	Fwidth    CARD16
  8326  	Fheight   CARD16
  8327  } /* Xproto.h:1615:3 */
  8328  
  8329  type XCreateGCReq = struct {
  8330  	FreqType  CARD8
  8331  	Fpad      BYTE
  8332  	Flength   CARD16
  8333  	Fgc       CARD32
  8334  	Fdrawable CARD32
  8335  	Fmask     CARD32
  8336  } /* Xproto.h:1624:3 */
  8337  
  8338  type XChangeGCReq = struct {
  8339  	FreqType CARD8
  8340  	Fpad     BYTE
  8341  	Flength  CARD16
  8342  	Fgc      CARD32
  8343  	Fmask    CARD32
  8344  } /* Xproto.h:1632:3 */
  8345  
  8346  type XCopyGCReq = struct {
  8347  	FreqType CARD8
  8348  	Fpad     BYTE
  8349  	Flength  CARD16
  8350  	FsrcGC   CARD32
  8351  	FdstGC   CARD32
  8352  	Fmask    CARD32
  8353  } /* Xproto.h:1640:3 */
  8354  
  8355  type XSetDashesReq = struct {
  8356  	FreqType    CARD8
  8357  	Fpad        BYTE
  8358  	Flength     CARD16
  8359  	Fgc         CARD32
  8360  	FdashOffset CARD16
  8361  	FnDashes    CARD16
  8362  } /* Xproto.h:1649:3 */
  8363  
  8364  type XSetClipRectanglesReq = struct {
  8365  	FreqType  CARD8
  8366  	Fordering BYTE
  8367  	Flength   CARD16
  8368  	Fgc       CARD32
  8369  	FxOrigin  INT16
  8370  	FyOrigin  INT16
  8371  } /* Xproto.h:1657:3 */
  8372  
  8373  type XClearAreaReq = struct {
  8374  	FreqType   CARD8
  8375  	Fexposures BOOL
  8376  	Flength    CARD16
  8377  	Fwindow    CARD32
  8378  	Fx         INT16
  8379  	Fy         INT16
  8380  	Fwidth     CARD16
  8381  	Fheight    CARD16
  8382  } /* Xproto.h:1666:3 */
  8383  
  8384  type XCopyAreaReq = struct {
  8385  	FreqType     CARD8
  8386  	Fpad         BYTE
  8387  	Flength      CARD16
  8388  	FsrcDrawable CARD32
  8389  	FdstDrawable CARD32
  8390  	Fgc          CARD32
  8391  	FsrcX        INT16
  8392  	FsrcY        INT16
  8393  	FdstX        INT16
  8394  	FdstY        INT16
  8395  	Fwidth       CARD16
  8396  	Fheight      CARD16
  8397  } /* Xproto.h:1676:3 */
  8398  
  8399  type XCopyPlaneReq = struct {
  8400  	FreqType     CARD8
  8401  	Fpad         BYTE
  8402  	Flength      CARD16
  8403  	FsrcDrawable CARD32
  8404  	FdstDrawable CARD32
  8405  	Fgc          CARD32
  8406  	FsrcX        INT16
  8407  	FsrcY        INT16
  8408  	FdstX        INT16
  8409  	FdstY        INT16
  8410  	Fwidth       CARD16
  8411  	Fheight      CARD16
  8412  	FbitPlane    CARD32
  8413  } /* Xproto.h:1687:3 */
  8414  
  8415  type XPolyPointReq = struct {
  8416  	FreqType   CARD8
  8417  	FcoordMode BYTE
  8418  	Flength    CARD16
  8419  	Fdrawable  CARD32
  8420  	Fgc        CARD32
  8421  } /* Xproto.h:1695:3 */
  8422  
  8423  type XPolyLineReq = XPolyPointReq /* Xproto.h:1697:23 */ // same request structure
  8424  
  8425  // The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc
  8426  
  8427  type XPolySegmentReq = struct {
  8428  	FreqType  CARD8
  8429  	Fpad      BYTE
  8430  	Flength   CARD16
  8431  	Fdrawable CARD32
  8432  	Fgc       CARD32
  8433  } /* Xproto.h:1707:3 */
  8434  
  8435  type XPolyArcReq = XPolySegmentReq           /* Xproto.h:1709:25 */
  8436  type XPolyRectangleReq = XPolySegmentReq     /* Xproto.h:1710:25 */
  8437  type XPolyFillRectangleReq = XPolySegmentReq /* Xproto.h:1711:25 */
  8438  type XPolyFillArcReq = XPolySegmentReq       /* Xproto.h:1712:25 */
  8439  
  8440  type X_FillPolyReq = struct {
  8441  	FreqType   CARD8
  8442  	Fpad       BYTE
  8443  	Flength    CARD16
  8444  	Fdrawable  CARD32
  8445  	Fgc        CARD32
  8446  	Fshape     BYTE
  8447  	FcoordMode BYTE
  8448  	Fpad1      CARD16
  8449  } /* Xproto.h:1714:9 */
  8450  
  8451  type XFillPolyReq = X_FillPolyReq /* Xproto.h:1723:3 */
  8452  
  8453  type X_PutImageReq = struct {
  8454  	FreqType  CARD8
  8455  	Fformat   CARD8
  8456  	Flength   CARD16
  8457  	Fdrawable CARD32
  8458  	Fgc       CARD32
  8459  	Fwidth    CARD16
  8460  	Fheight   CARD16
  8461  	FdstX     INT16
  8462  	FdstY     INT16
  8463  	FleftPad  CARD8
  8464  	Fdepth    CARD8
  8465  	Fpad      CARD16
  8466  } /* Xproto.h:1726:9 */
  8467  
  8468  type XPutImageReq = X_PutImageReq /* Xproto.h:1737:3 */
  8469  
  8470  type XGetImageReq = struct {
  8471  	FreqType   CARD8
  8472  	Fformat    CARD8
  8473  	Flength    CARD16
  8474  	Fdrawable  CARD32
  8475  	Fx         INT16
  8476  	Fy         INT16
  8477  	Fwidth     CARD16
  8478  	Fheight    CARD16
  8479  	FplaneMask CARD32
  8480  } /* Xproto.h:1747:3 */
  8481  
  8482  // the following used by PolyText8 and PolyText16
  8483  
  8484  type XPolyTextReq = struct {
  8485  	FreqType  CARD8
  8486  	Fpad      CARD8
  8487  	Flength   CARD16
  8488  	Fdrawable CARD32
  8489  	Fgc       CARD32
  8490  	Fx        INT16
  8491  	Fy        INT16
  8492  } /* Xproto.h:1758:3 */
  8493  
  8494  type XPolyText8Req = XPolyTextReq  /* Xproto.h:1760:22 */
  8495  type XPolyText16Req = XPolyTextReq /* Xproto.h:1761:22 */
  8496  
  8497  type XImageTextReq = struct {
  8498  	FreqType  CARD8
  8499  	FnChars   BYTE
  8500  	Flength   CARD16
  8501  	Fdrawable CARD32
  8502  	Fgc       CARD32
  8503  	Fx        INT16
  8504  	Fy        INT16
  8505  } /* Xproto.h:1770:3 */
  8506  
  8507  type XImageText8Req = XImageTextReq  /* Xproto.h:1772:23 */
  8508  type XImageText16Req = XImageTextReq /* Xproto.h:1773:23 */
  8509  
  8510  type XCreateColormapReq = struct {
  8511  	FreqType CARD8
  8512  	Falloc   BYTE
  8513  	Flength  CARD16
  8514  	Fmid     CARD32
  8515  	Fwindow  CARD32
  8516  	Fvisual  CARD32
  8517  } /* Xproto.h:1782:3 */
  8518  
  8519  type XCopyColormapAndFreeReq = struct {
  8520  	FreqType CARD8
  8521  	Fpad     BYTE
  8522  	Flength  CARD16
  8523  	Fmid     CARD32
  8524  	FsrcCmap CARD32
  8525  } /* Xproto.h:1790:3 */
  8526  
  8527  type XAllocColorReq = struct {
  8528  	FreqType CARD8
  8529  	Fpad     BYTE
  8530  	Flength  CARD16
  8531  	Fcmap    CARD32
  8532  	Fred     CARD16
  8533  	Fgreen   CARD16
  8534  	Fblue    CARD16
  8535  	Fpad2    CARD16
  8536  } /* Xproto.h:1799:3 */
  8537  
  8538  type XAllocNamedColorReq = struct {
  8539  	FreqType CARD8
  8540  	Fpad     BYTE
  8541  	Flength  CARD16
  8542  	Fcmap    CARD32
  8543  	Fnbytes  CARD16
  8544  	Fpad1    BYTE
  8545  	Fpad2    BYTE
  8546  } /* Xproto.h:1808:3 */
  8547  
  8548  type XAllocColorCellsReq = struct {
  8549  	FreqType    CARD8
  8550  	Fcontiguous BOOL
  8551  	Flength     CARD16
  8552  	Fcmap       CARD32
  8553  	Fcolors     CARD16
  8554  	Fplanes     CARD16
  8555  } /* Xproto.h:1816:3 */
  8556  
  8557  type XAllocColorPlanesReq = struct {
  8558  	FreqType    CARD8
  8559  	Fcontiguous BOOL
  8560  	Flength     CARD16
  8561  	Fcmap       CARD32
  8562  	Fcolors     CARD16
  8563  	Fred        CARD16
  8564  	Fgreen      CARD16
  8565  	Fblue       CARD16
  8566  } /* Xproto.h:1824:3 */
  8567  
  8568  type XFreeColorsReq = struct {
  8569  	FreqType   CARD8
  8570  	Fpad       BYTE
  8571  	Flength    CARD16
  8572  	Fcmap      CARD32
  8573  	FplaneMask CARD32
  8574  } /* Xproto.h:1832:3 */
  8575  
  8576  type XStoreColorsReq = struct {
  8577  	FreqType CARD8
  8578  	Fpad     BYTE
  8579  	Flength  CARD16
  8580  	Fcmap    CARD32
  8581  } /* Xproto.h:1839:3 */
  8582  
  8583  type XStoreNamedColorReq = struct {
  8584  	FreqType CARD8
  8585  	Fflags   CARD8
  8586  	Flength  CARD16
  8587  	Fcmap    CARD32
  8588  	Fpixel   CARD32
  8589  	Fnbytes  CARD16
  8590  	Fpad1    BYTE
  8591  	Fpad2    BYTE
  8592  } /* Xproto.h:1849:7 */
  8593  
  8594  type XQueryColorsReq = struct {
  8595  	FreqType CARD8
  8596  	Fpad     BYTE
  8597  	Flength  CARD16
  8598  	Fcmap    CARD32
  8599  } /* Xproto.h:1856:3 */
  8600  
  8601  type XLookupColorReq = struct {
  8602  	FreqType CARD8
  8603  	Fpad     BYTE
  8604  	Flength  CARD16
  8605  	Fcmap    CARD32
  8606  	Fnbytes  CARD16
  8607  	Fpad1    BYTE
  8608  	Fpad2    BYTE
  8609  } /* Xproto.h:1865:3 */
  8610  
  8611  type XCreateCursorReq = struct {
  8612  	FreqType   CARD8
  8613  	Fpad       BYTE
  8614  	Flength    CARD16
  8615  	Fcid       CARD32
  8616  	Fsource    CARD32
  8617  	Fmask      CARD32
  8618  	FforeRed   CARD16
  8619  	FforeGreen CARD16
  8620  	FforeBlue  CARD16
  8621  	FbackRed   CARD16
  8622  	FbackGreen CARD16
  8623  	FbackBlue  CARD16
  8624  	Fx         CARD16
  8625  	Fy         CARD16
  8626  } /* Xproto.h:1876:3 */
  8627  
  8628  type XCreateGlyphCursorReq = struct {
  8629  	FreqType    CARD8
  8630  	Fpad        BYTE
  8631  	Flength     CARD16
  8632  	Fcid        CARD32
  8633  	Fsource     CARD32
  8634  	Fmask       CARD32
  8635  	FsourceChar CARD16
  8636  	FmaskChar   CARD16
  8637  	FforeRed    CARD16
  8638  	FforeGreen  CARD16
  8639  	FforeBlue   CARD16
  8640  	FbackRed    CARD16
  8641  	FbackGreen  CARD16
  8642  	FbackBlue   CARD16
  8643  } /* Xproto.h:1887:3 */
  8644  
  8645  type XRecolorCursorReq = struct {
  8646  	FreqType   CARD8
  8647  	Fpad       BYTE
  8648  	Flength    CARD16
  8649  	Fcursor    CARD32
  8650  	FforeRed   CARD16
  8651  	FforeGreen CARD16
  8652  	FforeBlue  CARD16
  8653  	FbackRed   CARD16
  8654  	FbackGreen CARD16
  8655  	FbackBlue  CARD16
  8656  } /* Xproto.h:1896:3 */
  8657  
  8658  type XQueryBestSizeReq = struct {
  8659  	FreqType  CARD8
  8660  	Fclass    CARD8
  8661  	Flength   CARD16
  8662  	Fdrawable CARD32
  8663  	Fwidth    CARD16
  8664  	Fheight   CARD16
  8665  } /* Xproto.h:1908:3 */
  8666  
  8667  type XQueryExtensionReq = struct {
  8668  	FreqType CARD8
  8669  	Fpad     BYTE
  8670  	Flength  CARD16
  8671  	Fnbytes  CARD16
  8672  	Fpad1    BYTE
  8673  	Fpad2    BYTE
  8674  } /* Xproto.h:1916:3 */
  8675  
  8676  type XSetModifierMappingReq = struct {
  8677  	FreqType           CARD8
  8678  	FnumKeyPerModifier CARD8
  8679  	Flength            CARD16
  8680  } /* Xproto.h:1922:3 */
  8681  
  8682  type XSetPointerMappingReq = struct {
  8683  	FreqType CARD8
  8684  	FnElts   CARD8
  8685  	Flength  CARD16
  8686  } /* Xproto.h:1928:3 */
  8687  
  8688  type XGetKeyboardMappingReq = struct {
  8689  	FreqType      CARD8
  8690  	Fpad          BYTE
  8691  	Flength       CARD16
  8692  	FfirstKeyCode CARD8
  8693  	Fcount        CARD8
  8694  	Fpad1         CARD16
  8695  } /* Xproto.h:1937:3 */
  8696  
  8697  type XChangeKeyboardMappingReq = struct {
  8698  	FreqType           CARD8
  8699  	FkeyCodes          CARD8
  8700  	Flength            CARD16
  8701  	FfirstKeyCode      CARD8
  8702  	FkeySymsPerKeyCode CARD8
  8703  	Fpad1              CARD16
  8704  } /* Xproto.h:1946:3 */
  8705  
  8706  type XChangeKeyboardControlReq = struct {
  8707  	FreqType CARD8
  8708  	Fpad     BYTE
  8709  	Flength  CARD16
  8710  	Fmask    CARD32
  8711  } /* Xproto.h:1953:3 */
  8712  
  8713  type XBellReq = struct {
  8714  	FreqType CARD8
  8715  	Fpercent INT8
  8716  	Flength  CARD16
  8717  } /* Xproto.h:1959:3 */
  8718  
  8719  type XChangePointerControlReq = struct {
  8720  	FreqType    CARD8
  8721  	Fpad        BYTE
  8722  	Flength     CARD16
  8723  	FaccelNum   INT16
  8724  	FaccelDenum INT16
  8725  	Fthreshold  INT16
  8726  	FdoAccel    BOOL
  8727  	FdoThresh   BOOL
  8728  } /* Xproto.h:1968:3 */
  8729  
  8730  type XSetScreenSaverReq = struct {
  8731  	FreqType     CARD8
  8732  	Fpad         BYTE
  8733  	Flength      CARD16
  8734  	Ftimeout     INT16
  8735  	Finterval    INT16
  8736  	FpreferBlank BYTE
  8737  	FallowExpose BYTE
  8738  	Fpad2        CARD16
  8739  } /* Xproto.h:1977:3 */
  8740  
  8741  type XChangeHostsReq = struct {
  8742  	FreqType    CARD8
  8743  	Fmode       BYTE
  8744  	Flength     CARD16
  8745  	FhostFamily CARD8
  8746  	Fpad        BYTE
  8747  	FhostLength CARD16
  8748  } /* Xproto.h:1986:3 */
  8749  
  8750  type XListHostsReq = struct {
  8751  	FreqType CARD8
  8752  	Fpad     BYTE
  8753  	Flength  CARD16
  8754  } /* Xproto.h:1992:7 */
  8755  
  8756  type XChangeModeReq = struct {
  8757  	FreqType CARD8
  8758  	Fmode    BYTE
  8759  	Flength  CARD16
  8760  } /* Xproto.h:1998:7 */
  8761  
  8762  type XSetAccessControlReq = XChangeModeReq /* Xproto.h:2000:24 */
  8763  type XSetCloseDownModeReq = XChangeModeReq /* Xproto.h:2001:24 */
  8764  type XForceScreenSaverReq = XChangeModeReq /* Xproto.h:2002:24 */
  8765  
  8766  type XRotatePropertiesReq = struct {
  8767  	FreqType    CARD8
  8768  	Fpad        BYTE
  8769  	Flength     CARD16
  8770  	Fwindow     CARD32
  8771  	FnAtoms     CARD16
  8772  	FnPositions INT16
  8773  } /* Xproto.h:2011:7 */
  8774  
  8775  type X_XFreeFuncs = struct {
  8776  	Fatoms         FreeFuncType
  8777  	Fmodifiermap   FreeModmapType
  8778  	Fkey_bindings  FreeFuncType
  8779  	Fcontext_db    FreeFuncType
  8780  	FdefaultCCCs   FreeFuncType
  8781  	FclientCmaps   FreeFuncType
  8782  	FintensityMaps FreeFuncType
  8783  	Fim_filters    FreeFuncType
  8784  	Fxkb           FreeFuncType
  8785  } /* Xlib.h:255:1 */
  8786  
  8787  type X_XSQEvent = struct {
  8788  	Fnext        uintptr
  8789  	Fevent       XEvent
  8790  	Fqserial_num uint32
  8791  } /* Xlib.h:255:1 */
  8792  
  8793  type X_XExten = struct {
  8794  	Fnext          uintptr
  8795  	Fcodes         XExtCodes
  8796  	Fcreate_GC     CreateGCType
  8797  	Fcopy_GC       CopyGCType
  8798  	Fflush_GC      FlushGCType
  8799  	Ffree_GC       FreeGCType
  8800  	Fcreate_Font   CreateFontType
  8801  	Ffree_Font     FreeFontType
  8802  	Fclose_display CloseDisplayType
  8803  	Ferror         ErrorType
  8804  	Ferror_string  ErrorStringType
  8805  	Fname          uintptr
  8806  	Ferror_values  PrintErrorType
  8807  	Fbefore_flush  BeforeFlushType
  8808  	Fnext_flush    uintptr
  8809  } /* Xlib.h:255:1 */
  8810  
  8811  type X_XInternalAsync = struct {
  8812  	Fnext    uintptr
  8813  	Fhandler uintptr
  8814  	Fdata    XPointer
  8815  } /* Xlib.h:255:1 */
  8816  
  8817  type X_XLockPtrs = struct {
  8818  	Flock_display   uintptr
  8819  	Funlock_display uintptr
  8820  } /* Xlib.h:255:1 */
  8821  
  8822  type X_XConnectionInfo = struct {
  8823  	Ffd            int32
  8824  	Fread_callback X_XInternalConnectionProc
  8825  	Fcall_data     XPointer
  8826  	Fwatch_data    uintptr
  8827  	Fnext          uintptr
  8828  } /* Xlib.h:255:1 */
  8829  
  8830  type X_XConnWatchInfo = struct {
  8831  	Ffn          XConnectionWatchProc
  8832  	Fclient_data XPointer
  8833  	Fnext        uintptr
  8834  } /* Xlib.h:255:1 */
  8835  
  8836  // access "last_request_read" and "request" with 64bit
  8837  // warning: the value argument of the SET-macros must not
  8838  // have any side-effects because it may get called twice.
  8839  // accessors for 32-bit unsigned long
  8840  
  8841  // widen a 32-bit sequence number to a 64 sequence number.
  8842  // This macro makes the following assumptions:
  8843  // - ulseq refers to a sequence that has already been sent
  8844  // - ulseq means the most recent possible sequence number
  8845  //   with these lower 32 bits.
  8846  //
  8847  // The following optimization is used:
  8848  // The comparison result is taken a 0 or 1 to avoid a branch.
  8849  
  8850  // _QEvent datatype for use in input queueing.
  8851  type X_XQEvent = X_XSQEvent /* Xlibint.h:331:3 */
  8852  
  8853  // POSIX.1-2008 extended locale interface (see locale.h).
  8854  // Definition of locale_t.
  8855  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  8856  //    This file is part of the GNU C Library.
  8857  //
  8858  //    The GNU C Library is free software; you can redistribute it and/or
  8859  //    modify it under the terms of the GNU Lesser General Public
  8860  //    License as published by the Free Software Foundation; either
  8861  //    version 2.1 of the License, or (at your option) any later version.
  8862  //
  8863  //    The GNU C Library is distributed in the hope that it will be useful,
  8864  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8865  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  8866  //    Lesser General Public License for more details.
  8867  //
  8868  //    You should have received a copy of the GNU Lesser General Public
  8869  //    License along with the GNU C Library; if not, see
  8870  //    <https://www.gnu.org/licenses/>.
  8871  
  8872  // Definition of struct __locale_struct and __locale_t.
  8873  //    Copyright (C) 1997-2020 Free Software Foundation, Inc.
  8874  //    This file is part of the GNU C Library.
  8875  //    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
  8876  //
  8877  //    The GNU C Library is free software; you can redistribute it and/or
  8878  //    modify it under the terms of the GNU Lesser General Public
  8879  //    License as published by the Free Software Foundation; either
  8880  //    version 2.1 of the License, or (at your option) any later version.
  8881  //
  8882  //    The GNU C Library is distributed in the hope that it will be useful,
  8883  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8884  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  8885  //    Lesser General Public License for more details.
  8886  //
  8887  //    You should have received a copy of the GNU Lesser General Public
  8888  //    License along with the GNU C Library; if not, see
  8889  //    <https://www.gnu.org/licenses/>.
  8890  
  8891  // POSIX.1-2008: the locale_t type, representing a locale context
  8892  //    (implementation-namespace version).  This type should be treated
  8893  //    as opaque by applications; some details are exposed for the sake of
  8894  //    efficiency in e.g. ctype functions.
  8895  
  8896  type X__locale_struct = struct {
  8897  	F__locales       [13]uintptr
  8898  	F__ctype_b       uintptr
  8899  	F__ctype_tolower uintptr
  8900  	F__ctype_toupper uintptr
  8901  	F__names         [13]uintptr
  8902  } /* __locale_t.h:28:1 */
  8903  
  8904  type X__locale_t = uintptr /* __locale_t.h:42:32 */
  8905  
  8906  type Locale_t = X__locale_t /* locale_t.h:24:20 */
  8907  
  8908  // the new Xfuncs.h
  8909  
  8910  // the ANSI C way
  8911  
  8912  //
  8913  //  O/S-dependent (mis)feature macro definitions
  8914  //
  8915  // Copyright 1991, 1998  The Open Group
  8916  //
  8917  // Permission to use, copy, modify, distribute, and sell this software and its
  8918  // documentation for any purpose is hereby granted without fee, provided that
  8919  // the above copyright notice appear in all copies and that both that
  8920  // copyright notice and this permission notice appear in supporting
  8921  // documentation.
  8922  //
  8923  // The above copyright notice and this permission notice shall be included in
  8924  // all copies or substantial portions of the Software.
  8925  //
  8926  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  8927  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  8928  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  8929  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  8930  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  8931  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  8932  //
  8933  // Except as contained in this notice, the name of The Open Group shall not be
  8934  // used in advertising or otherwise to promote the sale, use or other dealings
  8935  // in this Software without prior written authorization from The Open Group.
  8936  //
  8937  
  8938  // Utek leaves kernel macros around in include files (bleah)
  8939  
  8940  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  8941  //    This file is part of the GNU C Library.
  8942  //
  8943  //    The GNU C Library is free software; you can redistribute it and/or
  8944  //    modify it under the terms of the GNU Lesser General Public
  8945  //    License as published by the Free Software Foundation; either
  8946  //    version 2.1 of the License, or (at your option) any later version.
  8947  //
  8948  //    The GNU C Library is distributed in the hope that it will be useful,
  8949  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8950  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  8951  //    Lesser General Public License for more details.
  8952  //
  8953  //    You should have received a copy of the GNU Lesser General Public
  8954  //    License along with the GNU C Library; if not, see
  8955  //    <https://www.gnu.org/licenses/>.
  8956  
  8957  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  8958  
  8959  // Handle feature test macros at the start of a header.
  8960  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  8961  //    This file is part of the GNU C Library.
  8962  //
  8963  //    The GNU C Library is free software; you can redistribute it and/or
  8964  //    modify it under the terms of the GNU Lesser General Public
  8965  //    License as published by the Free Software Foundation; either
  8966  //    version 2.1 of the License, or (at your option) any later version.
  8967  //
  8968  //    The GNU C Library is distributed in the hope that it will be useful,
  8969  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8970  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  8971  //    Lesser General Public License for more details.
  8972  //
  8973  //    You should have received a copy of the GNU Lesser General Public
  8974  //    License along with the GNU C Library; if not, see
  8975  //    <https://www.gnu.org/licenses/>.
  8976  
  8977  // This header is internal to glibc and should not be included outside
  8978  //    of glibc headers.  Headers including it must define
  8979  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  8980  //    cannot have multiple include guards because ISO C feature test
  8981  //    macros depend on the definition of the macro when an affected
  8982  //    header is included, not when the first system header is
  8983  //    included.
  8984  
  8985  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  8986  //    This file is part of the GNU C Library.
  8987  //
  8988  //    The GNU C Library is free software; you can redistribute it and/or
  8989  //    modify it under the terms of the GNU Lesser General Public
  8990  //    License as published by the Free Software Foundation; either
  8991  //    version 2.1 of the License, or (at your option) any later version.
  8992  //
  8993  //    The GNU C Library is distributed in the hope that it will be useful,
  8994  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8995  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  8996  //    Lesser General Public License for more details.
  8997  //
  8998  //    You should have received a copy of the GNU Lesser General Public
  8999  //    License along with the GNU C Library; if not, see
  9000  //    <https://www.gnu.org/licenses/>.
  9001  
  9002  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  9003  //    macro.
  9004  
  9005  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  9006  //    macro.  Most but not all symbols enabled by that macro in TS
  9007  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
  9008  //    still require that macro in C2X.
  9009  
  9010  // ISO/IEC TS 18661-4:2015 defines the
  9011  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  9012  //    functions, the symbols from this TS are enabled unconditionally in
  9013  //    C2X.
  9014  
  9015  // ISO/IEC TS 18661-3:2015 defines the
  9016  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  9017  
  9018  // Get size_t, wchar_t and NULL from <stddef.h>.
  9019  // Copyright (C) 1989-2020 Free Software Foundation, Inc.
  9020  //
  9021  // This file is part of GCC.
  9022  //
  9023  // GCC is free software; you can redistribute it and/or modify
  9024  // it under the terms of the GNU General Public License as published by
  9025  // the Free Software Foundation; either version 3, or (at your option)
  9026  // any later version.
  9027  //
  9028  // GCC is distributed in the hope that it will be useful,
  9029  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  9030  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9031  // GNU General Public License for more details.
  9032  //
  9033  // Under Section 7 of GPL version 3, you are granted additional
  9034  // permissions described in the GCC Runtime Library Exception, version
  9035  // 3.1, as published by the Free Software Foundation.
  9036  //
  9037  // You should have received a copy of the GNU General Public License and
  9038  // a copy of the GCC Runtime Library Exception along with this program;
  9039  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  9040  // <http://www.gnu.org/licenses/>.
  9041  
  9042  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  9043  
  9044  // Any one of these symbols __need_* means that GNU libc
  9045  //    wants us just to define one data type.  So don't define
  9046  //    the symbols that indicate this file's entire job has been done.
  9047  
  9048  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  9049  //    There's no way to win with the other order!  Sun lossage.
  9050  
  9051  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  9052  //    Just ignore it.
  9053  
  9054  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  9055  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  9056  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  9057  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  9058  //    If we find that the macros are still defined at this point, we must
  9059  //    invoke them so that the type is defined as expected.
  9060  
  9061  // In case nobody has defined these types, but we aren't running under
  9062  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  9063  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  9064  //    parts of GCC is compiled by an older compiler, that actually
  9065  //    include gstddef.h, such as collect2.
  9066  
  9067  // Signed type of difference of two pointers.
  9068  
  9069  // Define this type if we are doing the whole job,
  9070  //    or if we want this type in particular.
  9071  
  9072  // If this symbol has done its job, get rid of it.
  9073  
  9074  // Unsigned type of `sizeof' something.
  9075  
  9076  // Define this type if we are doing the whole job,
  9077  //    or if we want this type in particular.
  9078  
  9079  // Wide character type.
  9080  //    Locale-writers should change this as necessary to
  9081  //    be big enough to hold unique values not between 0 and 127,
  9082  //    and not (wchar_t) -1, for each defined multibyte character.
  9083  
  9084  // Define this type if we are doing the whole job,
  9085  //    or if we want this type in particular.
  9086  
  9087  // A null pointer constant.
  9088  
  9089  // Offset of member MEMBER in a struct of type TYPE.
  9090  
  9091  // XPG requires a few symbols from <sys/wait.h> being defined.
  9092  // Definitions of flag bits for `waitpid' et al.
  9093  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  9094  //    This file is part of the GNU C Library.
  9095  //
  9096  //    The GNU C Library is free software; you can redistribute it and/or
  9097  //    modify it under the terms of the GNU Lesser General Public
  9098  //    License as published by the Free Software Foundation; either
  9099  //    version 2.1 of the License, or (at your option) any later version.
  9100  //
  9101  //    The GNU C Library is distributed in the hope that it will be useful,
  9102  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9103  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9104  //    Lesser General Public License for more details.
  9105  //
  9106  //    You should have received a copy of the GNU Lesser General Public
  9107  //    License along with the GNU C Library; if not, see
  9108  //    <https://www.gnu.org/licenses/>.
  9109  
  9110  // Bits in the third argument to `waitpid'.
  9111  
  9112  // Bits in the fourth argument to `waitid'.
  9113  
  9114  // The following values are used by the `waitid' function.
  9115  
  9116  // The Linux kernel defines these bare, rather than an enum,
  9117  //    which causes a conflict if the include order is reversed.
  9118  
  9119  type Idtype_t = uint32 /* waitflags.h:57:3 */
  9120  // Definitions of status bits for `wait' et al.
  9121  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  9122  //    This file is part of the GNU C Library.
  9123  //
  9124  //    The GNU C Library is free software; you can redistribute it and/or
  9125  //    modify it under the terms of the GNU Lesser General Public
  9126  //    License as published by the Free Software Foundation; either
  9127  //    version 2.1 of the License, or (at your option) any later version.
  9128  //
  9129  //    The GNU C Library is distributed in the hope that it will be useful,
  9130  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9131  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9132  //    Lesser General Public License for more details.
  9133  //
  9134  //    You should have received a copy of the GNU Lesser General Public
  9135  //    License along with the GNU C Library; if not, see
  9136  //    <https://www.gnu.org/licenses/>.
  9137  
  9138  // Everything extant so far uses these same bits.
  9139  
  9140  // If WIFEXITED(STATUS), the low-order 8 bits of the status.
  9141  
  9142  // If WIFSIGNALED(STATUS), the terminating signal.
  9143  
  9144  // If WIFSTOPPED(STATUS), the signal that stopped the child.
  9145  
  9146  // Nonzero if STATUS indicates normal termination.
  9147  
  9148  // Nonzero if STATUS indicates termination by a signal.
  9149  
  9150  // Nonzero if STATUS indicates the child is stopped.
  9151  
  9152  // Nonzero if STATUS indicates the child continued after a stop.  We only
  9153  //    define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
  9154  
  9155  // Nonzero if STATUS indicates the child dumped core.
  9156  
  9157  // Macros for constructing status values.
  9158  
  9159  // Define the macros <sys/wait.h> also would define this way.
  9160  
  9161  // _FloatN API tests for enablement.
  9162  // Macros to control TS 18661-3 glibc features on x86.
  9163  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  9164  //    This file is part of the GNU C Library.
  9165  //
  9166  //    The GNU C Library is free software; you can redistribute it and/or
  9167  //    modify it under the terms of the GNU Lesser General Public
  9168  //    License as published by the Free Software Foundation; either
  9169  //    version 2.1 of the License, or (at your option) any later version.
  9170  //
  9171  //    The GNU C Library is distributed in the hope that it will be useful,
  9172  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9173  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9174  //    Lesser General Public License for more details.
  9175  //
  9176  //    You should have received a copy of the GNU Lesser General Public
  9177  //    License along with the GNU C Library; if not, see
  9178  //    <https://www.gnu.org/licenses/>.
  9179  
  9180  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9181  //    This file is part of the GNU C Library.
  9182  //
  9183  //    The GNU C Library is free software; you can redistribute it and/or
  9184  //    modify it under the terms of the GNU Lesser General Public
  9185  //    License as published by the Free Software Foundation; either
  9186  //    version 2.1 of the License, or (at your option) any later version.
  9187  //
  9188  //    The GNU C Library is distributed in the hope that it will be useful,
  9189  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9190  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9191  //    Lesser General Public License for more details.
  9192  //
  9193  //    You should have received a copy of the GNU Lesser General Public
  9194  //    License along with the GNU C Library; if not, see
  9195  //    <https://www.gnu.org/licenses/>.
  9196  
  9197  // Defined to 1 if the current compiler invocation provides a
  9198  //    floating-point type with the IEEE 754 binary128 format, and this
  9199  //    glibc includes corresponding *f128 interfaces for it.  The required
  9200  //    libgcc support was added some time after the basic compiler
  9201  //    support, for x86_64 and x86.
  9202  
  9203  // Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
  9204  //    from the default float, double and long double types in this glibc.
  9205  
  9206  // Defined to 1 if the current compiler invocation provides a
  9207  //    floating-point type with the right format for _Float64x, and this
  9208  //    glibc includes corresponding *f64x interfaces for it.
  9209  
  9210  // Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
  9211  //    of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
  9212  //    the format of _Float128, which must be different from that of long
  9213  //    double.
  9214  
  9215  // Defined to concatenate the literal suffix to be used with _Float128
  9216  //    types, if __HAVE_FLOAT128 is 1.
  9217  
  9218  // Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
  9219  
  9220  // The remaining of this file provides support for older compilers.
  9221  
  9222  // The type _Float128 exists only since GCC 7.0.
  9223  
  9224  // __builtin_huge_valf128 doesn't exist before GCC 7.0.
  9225  
  9226  // Older GCC has only a subset of built-in functions for _Float128 on
  9227  //    x86, and __builtin_infq is not usable in static initializers.
  9228  //    Converting a narrower sNaN to _Float128 produces a quiet NaN, so
  9229  //    attempts to use _Float128 sNaNs will not work properly with older
  9230  //    compilers.
  9231  
  9232  // In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
  9233  //    e.g.: __builtin_signbitf128, before GCC 6.  However, there has never
  9234  //    been a __builtin_signbitf128 in GCC and the type-generic builtin is
  9235  //    only available since GCC 6.
  9236  
  9237  // Macros to control TS 18661-3 glibc features where the same
  9238  //    definitions are appropriate for all platforms.
  9239  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  9240  //    This file is part of the GNU C Library.
  9241  //
  9242  //    The GNU C Library is free software; you can redistribute it and/or
  9243  //    modify it under the terms of the GNU Lesser General Public
  9244  //    License as published by the Free Software Foundation; either
  9245  //    version 2.1 of the License, or (at your option) any later version.
  9246  //
  9247  //    The GNU C Library is distributed in the hope that it will be useful,
  9248  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9249  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9250  //    Lesser General Public License for more details.
  9251  //
  9252  //    You should have received a copy of the GNU Lesser General Public
  9253  //    License along with the GNU C Library; if not, see
  9254  //    <https://www.gnu.org/licenses/>.
  9255  
  9256  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9257  //    This file is part of the GNU C Library.
  9258  //
  9259  //    The GNU C Library is free software; you can redistribute it and/or
  9260  //    modify it under the terms of the GNU Lesser General Public
  9261  //    License as published by the Free Software Foundation; either
  9262  //    version 2.1 of the License, or (at your option) any later version.
  9263  //
  9264  //    The GNU C Library is distributed in the hope that it will be useful,
  9265  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9266  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9267  //    Lesser General Public License for more details.
  9268  //
  9269  //    You should have received a copy of the GNU Lesser General Public
  9270  //    License along with the GNU C Library; if not, see
  9271  //    <https://www.gnu.org/licenses/>.
  9272  
  9273  // Properties of long double type.  ldbl-96 version.
  9274  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  9275  //    This file is part of the GNU C Library.
  9276  //
  9277  //    The GNU C Library is free software; you can redistribute it and/or
  9278  //    modify it under the terms of the GNU Lesser General Public
  9279  //    License  published by the Free Software Foundation; either
  9280  //    version 2.1 of the License, or (at your option) any later version.
  9281  //
  9282  //    The GNU C Library is distributed in the hope that it will be useful,
  9283  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9284  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9285  //    Lesser General Public License for more details.
  9286  //
  9287  //    You should have received a copy of the GNU Lesser General Public
  9288  //    License along with the GNU C Library; if not, see
  9289  //    <https://www.gnu.org/licenses/>.
  9290  
  9291  // long double is distinct from double, so there is nothing to
  9292  //    define here.
  9293  
  9294  // This header should be included at the bottom of each bits/floatn.h.
  9295  //    It defines the following macros for each _FloatN and _FloatNx type,
  9296  //    where the same definitions, or definitions based only on the macros
  9297  //    in bits/floatn.h, are appropriate for all glibc configurations.
  9298  
  9299  // Defined to 1 if the current compiler invocation provides a
  9300  //    floating-point type with the right format for this type, and this
  9301  //    glibc includes corresponding *fN or *fNx interfaces for it.
  9302  
  9303  // Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
  9304  //    type is the first with its format in the sequence of (the default
  9305  //    choices for) float, double, long double, _Float16, _Float32,
  9306  //    _Float64, _Float128, _Float32x, _Float64x, _Float128x for this
  9307  //    glibc; that is, if functions present once per floating-point format
  9308  //    rather than once per type are present for this type.
  9309  //
  9310  //    All configurations supported by glibc have _Float32 the same format
  9311  //    as float, _Float64 and _Float32x the same format as double, the
  9312  //    _Float64x the same format as either long double or _Float128.  No
  9313  //    configurations support _Float128x or, as of GCC 7, have compiler
  9314  //    support for a type meeting the requirements for _Float128x.
  9315  
  9316  // Defined to 1 if the corresponding _FloatN type is not binary compatible
  9317  //    with the corresponding ISO C type in the current compilation unit as
  9318  //    opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
  9319  //    in glibc.
  9320  
  9321  // Defined to 1 if any _FloatN or _FloatNx types that are not
  9322  //    ABI-distinct are however distinct types at the C language level (so
  9323  //    for the purposes of __builtin_types_compatible_p and _Generic).
  9324  
  9325  // Defined to concatenate the literal suffix to be used with _FloatN
  9326  //    or _FloatNx types, if __HAVE_<type> is 1.  The corresponding
  9327  //    literal suffixes exist since GCC 7, for C only.
  9328  
  9329  // Defined to a complex type if __HAVE_<type> is 1.
  9330  
  9331  // The remaining of this file provides support for older compilers.
  9332  
  9333  // If double, long double and _Float64 all have the same set of
  9334  //    values, TS 18661-3 requires the usual arithmetic conversions on
  9335  //    long double and _Float64 to produce _Float64.  For this to be the
  9336  //    case when building with a compiler without a distinct _Float64
  9337  //    type, _Float64 must be a typedef for long double, not for
  9338  //    double.
  9339  
  9340  // Returned by `div'.
  9341  type Div_t = struct {
  9342  	Fquot int32
  9343  	Frem  int32
  9344  } /* stdlib.h:62:5 */
  9345  
  9346  // Returned by `ldiv'.
  9347  type Ldiv_t = struct {
  9348  	Fquot int32
  9349  	Frem  int32
  9350  } /* stdlib.h:70:5 */
  9351  
  9352  // Returned by `lldiv'.
  9353  type Lldiv_t = struct {
  9354  	Fquot int64
  9355  	Frem  int64
  9356  } /* stdlib.h:80:5 */
  9357  
  9358  // Reentrant versions of the `random' family of functions.
  9359  //    These functions all use the following data structure to contain
  9360  //    state, rather than global state variables.
  9361  
  9362  type Random_data = struct {
  9363  	Ffptr      uintptr
  9364  	Frptr      uintptr
  9365  	Fstate     uintptr
  9366  	Frand_type int32
  9367  	Frand_deg  int32
  9368  	Frand_sep  int32
  9369  	Fend_ptr   uintptr
  9370  } /* stdlib.h:423:1 */
  9371  
  9372  // Data structure for communication with thread safe versions.  This
  9373  //    type is to be regarded as opaque.  It's only exported because users
  9374  //    have to allocate objects of this type.
  9375  type Drand48_data = struct {
  9376  	F__x     [3]uint16
  9377  	F__old_x [3]uint16
  9378  	F__c     uint16
  9379  	F__init  uint16
  9380  	F__a     uint64
  9381  } /* stdlib.h:490:1 */
  9382  
  9383  // Shorthand for type of comparison functions.
  9384  type X__compar_fn_t = uintptr /* stdlib.h:808:13 */
  9385  
  9386  // Floating-point inline functions for stdlib.h.
  9387  //    Copyright (C) 2012-2020 Free Software Foundation, Inc.
  9388  //    This file is part of the GNU C Library.
  9389  //
  9390  //    The GNU C Library is free software; you can redistribute it and/or
  9391  //    modify it under the terms of the GNU Lesser General Public
  9392  //    License as published by the Free Software Foundation; either
  9393  //    version 2.1 of the License, or (at your option) any later version.
  9394  //
  9395  //    The GNU C Library is distributed in the hope that it will be useful,
  9396  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9397  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9398  //    Lesser General Public License for more details.
  9399  //
  9400  //    You should have received a copy of the GNU Lesser General Public
  9401  //    License along with the GNU C Library; if not, see
  9402  //    <https://www.gnu.org/licenses/>.
  9403  
  9404  // Define some macros helping to catch buffer overflows.
  9405  
  9406  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9407  //    This file is part of the GNU C Library.
  9408  //
  9409  //    The GNU C Library is free software; you can redistribute it and/or
  9410  //    modify it under the terms of the GNU Lesser General Public
  9411  //    License as published by the Free Software Foundation; either
  9412  //    version 2.1 of the License, or (at your option) any later version.
  9413  //
  9414  //    The GNU C Library is distributed in the hope that it will be useful,
  9415  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9416  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9417  //    Lesser General Public License for more details.
  9418  //
  9419  //    You should have received a copy of the GNU Lesser General Public
  9420  //    License along with the GNU C Library; if not, see
  9421  //    <https://www.gnu.org/licenses/>.
  9422  
  9423  //	ISO C99 Standard: 7.21 String handling	<string.h>
  9424  
  9425  //
  9426  //
  9427  // Copyright 1989, 1991, 1998  The Open Group
  9428  //
  9429  // Permission to use, copy, modify, distribute, and sell this software and its
  9430  // documentation for any purpose is hereby granted without fee, provided that
  9431  // the above copyright notice appear in all copies and that both that
  9432  // copyright notice and this permission notice appear in supporting
  9433  // documentation.
  9434  //
  9435  // The above copyright notice and this permission notice shall be included in
  9436  // all copies or substantial portions of the Software.
  9437  //
  9438  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9439  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9440  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9441  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9442  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9443  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9444  //
  9445  // Except as contained in this notice, the name of The Open Group shall not be
  9446  // used in advertising or otherwise to promote the sale, use or other dealings
  9447  // in this Software without prior written authorization from The Open Group.
  9448  //  *
  9449  //
  9450  
  9451  // Definitions to make function prototypes manageable
  9452  
  9453  // The following definitions can be used for locking requests in multi-threaded
  9454  // address spaces.
  9455  // Author: Stephen Gildea, MIT X Consortium
  9456  //
  9457  // declarations for C Threads locking
  9458  
  9459  type LockInfoPtr = uintptr /* Xlibint.h:365:29 */
  9460  // Data - Place data in the buffer and pad the end to provide
  9461  // 32 bit word alignment.  Transmit if the buffer fills.
  9462  //
  9463  // "dpy" is a pointer to a Display.
  9464  // "data" is a pointer to a data buffer.
  9465  // "len" is the length of the data buffer.
  9466  
  9467  // Allocate bytes from the buffer.  No padding is done, so if
  9468  // the length is not a multiple of 4, the caller must be
  9469  // careful to leave the buffer aligned after sending the
  9470  // current request.
  9471  //
  9472  // "type" is the type of the pointer being assigned to.
  9473  // "ptr" is the pointer being assigned to.
  9474  // "n" is the number of bytes to allocate.
  9475  //
  9476  // Example:
  9477  //    xTextElt *elt;
  9478  //    BufAlloc (xTextElt *, elt, nbytes)
  9479  
  9480  // Xlib manual is bogus
  9481  
  9482  // CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit
  9483  // character.  If the character is in the column and exists, then return the
  9484  // appropriate metrics (note that fonts with common per-character metrics will
  9485  // return min_bounds).  If none of these hold true, try again with the default
  9486  // char.
  9487  
  9488  // CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and
  9489  // column.  This is used for fonts that have more than row zero.
  9490  
  9491  // srcvar must be a variable for large architecture version
  9492  
  9493  type X_XAsyncHandler = X_XInternalAsync /* Xlibint.h:784:3 */
  9494  
  9495  // This struct is part of the ABI and is defined by value
  9496  // in user-code. This means that we cannot make
  9497  // the sequence-numbers 64bit.
  9498  type X_XAsyncEState = struct {
  9499  	Fmin_sequence_number uint32
  9500  	Fmax_sequence_number uint32
  9501  	Ferror_code          uint8
  9502  	Fmajor_opcode        uint8
  9503  	Fminor_opcode        uint16
  9504  	Flast_error_received uint8
  9505  	F__ccgo_pad1         [3]byte
  9506  	Ferror_count         int32
  9507  } /* Xlibint.h:791:9 */
  9508  
  9509  // This struct is part of the ABI and is defined by value
  9510  // in user-code. This means that we cannot make
  9511  // the sequence-numbers 64bit.
  9512  type X_XAsyncErrorState = X_XAsyncEState /* Xlibint.h:799:3 */
  9513  
  9514  type FreeFuncType = uintptr /* Xlibint.h:809:14 */
  9515  
  9516  type FreeModmapType = uintptr /* Xlibint.h:813:13 */
  9517  
  9518  // This structure is private to the library.
  9519  type X_XFreeFuncRec = X_XFreeFuncs /* Xlibint.h:830:3 */
  9520  
  9521  // types for InitExt.c
  9522  type CreateGCType = uintptr /* Xlibint.h:833:13 */
  9523  
  9524  type CopyGCType = uintptr /* Xlibint.h:839:13 */
  9525  
  9526  type FlushGCType = uintptr /* Xlibint.h:845:13 */
  9527  
  9528  type FreeGCType = uintptr /* Xlibint.h:851:13 */
  9529  
  9530  type CreateFontType = uintptr /* Xlibint.h:857:13 */
  9531  
  9532  type FreeFontType = uintptr /* Xlibint.h:863:13 */
  9533  
  9534  type CloseDisplayType = uintptr /* Xlibint.h:869:13 */
  9535  
  9536  type ErrorType = uintptr /* Xlibint.h:874:13 */
  9537  
  9538  type ErrorStringType = uintptr /* Xlibint.h:881:13 */
  9539  
  9540  type PrintErrorType = uintptr /* Xlibint.h:889:14 */
  9541  
  9542  type BeforeFlushType = uintptr /* Xlibint.h:895:14 */
  9543  
  9544  // This structure is private to the library.
  9545  type X_XExtension = X_XExten /* Xlibint.h:921:3 */
  9546  
  9547  // internal connections for IMs
  9548  
  9549  type X_XInternalConnectionProc = uintptr /* Xlibint.h:1282:14 */
  9550  
  9551  //**********************************************************
  9552  //
  9553  // Copyright 1987, 1998  The Open Group
  9554  //
  9555  // Permission to use, copy, modify, distribute, and sell this software and its
  9556  // documentation for any purpose is hereby granted without fee, provided that
  9557  // the above copyright notice appear in all copies and that both that
  9558  // copyright notice and this permission notice appear in supporting
  9559  // documentation.
  9560  //
  9561  // The above copyright notice and this permission notice shall be included in
  9562  // all copies or substantial portions of the Software.
  9563  //
  9564  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9565  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9566  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9567  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9568  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9569  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9570  //
  9571  // Except as contained in this notice, the name of The Open Group shall not be
  9572  // used in advertising or otherwise to promote the sale, use or other dealings
  9573  // in this Software without prior written authorization from The Open Group.
  9574  //
  9575  //
  9576  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  9577  //
  9578  //                         All Rights Reserved
  9579  //
  9580  // Permission to use, copy, modify, and distribute this software and its
  9581  // documentation for any purpose and without fee is hereby granted,
  9582  // provided that the above copyright notice appear in all copies and that
  9583  // both that copyright notice and this permission notice appear in
  9584  // supporting documentation, and that the name of Digital not be
  9585  // used in advertising or publicity pertaining to distribution of the
  9586  // software without specific, written prior permission.
  9587  //
  9588  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  9589  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  9590  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  9591  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  9592  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  9593  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  9594  // SOFTWARE.
  9595  //
  9596  // *****************************************************************
  9597  
  9598  // You must include <X11/Xlib.h> before including this file
  9599  //
  9600  //
  9601  // Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
  9602  //
  9603  // Permission to use, copy, modify, distribute, and sell this software and its
  9604  // documentation for any purpose is hereby granted without fee, provided that
  9605  // the above copyright notice appear in all copies and that both that
  9606  // copyright notice and this permission notice appear in supporting
  9607  // documentation.
  9608  //
  9609  // The above copyright notice and this permission notice shall be included in
  9610  // all copies or substantial portions of the Software.
  9611  //
  9612  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9613  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9614  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9615  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9616  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9617  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9618  //
  9619  // Except as contained in this notice, the name of The Open Group shall not be
  9620  // used in advertising or otherwise to promote the sale, use or other dealings
  9621  // in this Software without prior written authorization from The Open Group.
  9622  //
  9623  
  9624  //	Xlib.h - Header definition and support file for the C subroutine
  9625  //	interface library (Xlib) to the X Window System Protocol (V11).
  9626  //	Structures and symbols starting with "_" are private to the library.
  9627  //**********************************************************
  9628  //
  9629  // Copyright 1987, 1998  The Open Group
  9630  //
  9631  // Permission to use, copy, modify, distribute, and sell this software and its
  9632  // documentation for any purpose is hereby granted without fee, provided that
  9633  // the above copyright notice appear in all copies and that both that
  9634  // copyright notice and this permission notice appear in supporting
  9635  // documentation.
  9636  //
  9637  // The above copyright notice and this permission notice shall be included in
  9638  // all copies or substantial portions of the Software.
  9639  //
  9640  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9641  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9642  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9643  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9644  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9645  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9646  //
  9647  // Except as contained in this notice, the name of The Open Group shall not be
  9648  // used in advertising or otherwise to promote the sale, use or other dealings
  9649  // in this Software without prior written authorization from The Open Group.
  9650  //
  9651  //
  9652  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  9653  //
  9654  //                         All Rights Reserved
  9655  //
  9656  // Permission to use, copy, modify, and distribute this software and its
  9657  // documentation for any purpose and without fee is hereby granted,
  9658  // provided that the above copyright notice appear in all copies and that
  9659  // both that copyright notice and this permission notice appear in
  9660  // supporting documentation, and that the name of Digital not be
  9661  // used in advertising or publicity pertaining to distribution of the
  9662  // software without specific, written prior permission.
  9663  //
  9664  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  9665  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  9666  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  9667  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  9668  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  9669  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  9670  // SOFTWARE.
  9671  //
  9672  // *****************************************************************
  9673  
  9674  // default keysyms
  9675  
  9676  //**********************************************************
  9677  // Copyright 1987, 1994, 1998  The Open Group
  9678  //
  9679  // Permission to use, copy, modify, distribute, and sell this software and its
  9680  // documentation for any purpose is hereby granted without fee, provided that
  9681  // the above copyright notice appear in all copies and that both that
  9682  // copyright notice and this permission notice appear in supporting
  9683  // documentation.
  9684  //
  9685  // The above copyright notice and this permission notice shall be included
  9686  // in all copies or substantial portions of the Software.
  9687  //
  9688  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  9689  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  9690  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  9691  // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
  9692  // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  9693  // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  9694  // OTHER DEALINGS IN THE SOFTWARE.
  9695  //
  9696  // Except as contained in this notice, the name of The Open Group shall
  9697  // not be used in advertising or otherwise to promote the sale, use or
  9698  // other dealings in this Software without prior written authorization
  9699  // from The Open Group.
  9700  //
  9701  //
  9702  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
  9703  //
  9704  //                         All Rights Reserved
  9705  //
  9706  // Permission to use, copy, modify, and distribute this software and its
  9707  // documentation for any purpose and without fee is hereby granted,
  9708  // provided that the above copyright notice appear in all copies and that
  9709  // both that copyright notice and this permission notice appear in
  9710  // supporting documentation, and that the name of Digital not be
  9711  // used in advertising or publicity pertaining to distribution of the
  9712  // software without specific, written prior permission.
  9713  //
  9714  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  9715  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  9716  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  9717  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  9718  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  9719  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  9720  // SOFTWARE.
  9721  //
  9722  // *****************************************************************
  9723  
  9724  // The "X11 Window System Protocol" standard defines in Appendix A the
  9725  // keysym codes. These 29-bit integer values identify characters or
  9726  // functions associated with each key (e.g., via the visible
  9727  // engraving) of a keyboard layout. This file assigns mnemonic macro
  9728  // names for these keysyms.
  9729  //
  9730  // This file is also compiled (by src/util/makekeys.c in libX11) into
  9731  // hash tables that can be accessed with X11 library functions such as
  9732  // XStringToKeysym() and XKeysymToString().
  9733  //
  9734  // Where a keysym corresponds one-to-one to an ISO 10646 / Unicode
  9735  // character, this is noted in a comment that provides both the U+xxxx
  9736  // Unicode position, as well as the official Unicode name of the
  9737  // character.
  9738  //
  9739  // Where the correspondence is either not one-to-one or semantically
  9740  // unclear, the Unicode position and name are enclosed in
  9741  // parentheses. Such legacy keysyms should be considered deprecated
  9742  // and are not recommended for use in future keyboard mappings.
  9743  //
  9744  // For any future extension of the keysyms with characters already
  9745  // found in ISO 10646 / Unicode, the following algorithm shall be
  9746  // used. The new keysym code position will simply be the character's
  9747  // Unicode number plus 0x01000000. The keysym values in the range
  9748  // 0x01000100 to 0x0110ffff are reserved to represent Unicode
  9749  // characters in the range U+0100 to U+10FFFF.
  9750  //
  9751  // While most newer Unicode-based X11 clients do already accept
  9752  // Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it
  9753  // will remain necessary for clients -- in the interest of
  9754  // compatibility with existing servers -- to also understand the
  9755  // existing legacy keysym values in the range 0x0100 to 0x20ff.
  9756  //
  9757  // Where several mnemonic names are defined for the same keysym in this
  9758  // file, all but the first one listed should be considered deprecated.
  9759  //
  9760  // Mnemonic names for keysyms are defined in this file with lines
  9761  // that match one of these Perl regular expressions:
  9762  //
  9763  //    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/
  9764  //    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
  9765  //    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
  9766  //
  9767  // Before adding new keysyms, please do consider the following: In
  9768  // addition to the keysym names defined in this file, the
  9769  // XStringToKeysym() and XKeysymToString() functions will also handle
  9770  // any keysym string of the form "U0020" to "U007E" and "U00A0" to
  9771  // "U10FFFF" for all possible Unicode characters. In other words,
  9772  // every possible Unicode character has already a keysym string
  9773  // defined algorithmically, even if it is not listed here. Therefore,
  9774  // defining an additional keysym macro is only necessary where a
  9775  // non-hexadecimal mnemonic name is needed, or where the new keysym
  9776  // does not represent any existing Unicode character.
  9777  //
  9778  // When adding new keysyms to this file, do not forget to also update the
  9779  // following as needed:
  9780  //
  9781  //   - the mappings in src/KeyBind.c in the libX11 repo
  9782  //     https://gitlab.freedesktop.org/xorg/lib/libx11
  9783  //
  9784  //   - the protocol specification in specs/keysyms.xml in this repo
  9785  //     https://gitlab.freedesktop.org/xorg/proto/xorgproto
  9786  //
  9787  
  9788  // TTY function keys, cleverly chosen to map to ASCII, for convenience of
  9789  // programming, but could have been arbitrary (at the cost of lookup
  9790  // tables in client code).
  9791  
  9792  // International & multi-key character composition
  9793  
  9794  // Japanese keyboard support
  9795  
  9796  // 0xff31 thru 0xff3f are under XK_KOREAN
  9797  
  9798  // Cursor control & motion
  9799  
  9800  // Misc functions
  9801  
  9802  // Keypad functions, keypad numbers cleverly chosen to map to ASCII
  9803  
  9804  // Auxiliary functions; note the duplicate definitions for left and right
  9805  // function keys;  Sun keyboards and a few other manufacturers have such
  9806  // function key groups on the left and/or right sides of the keyboard.
  9807  // We've not found a keyboard with more than 35 function keys total.
  9808  
  9809  // Modifiers
  9810  
  9811  // Keyboard (XKB) Extension function and modifier keys
  9812  // (from Appendix C of "The X Keyboard Extension: Protocol Specification")
  9813  // Byte 3 = 0xfe
  9814  
  9815  // extra dead elements for German T3 layout
  9816  
  9817  // dead vowels for universal syllable entry
  9818  
  9819  // Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method
  9820  
  9821  // 3270 Terminal Keys
  9822  // Byte 3 = 0xfd
  9823  
  9824  // Latin 1
  9825  // (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
  9826  // Byte 3 = 0
  9827  
  9828  // Latin 2
  9829  // Byte 3 = 1
  9830  
  9831  // Latin 3
  9832  // Byte 3 = 2
  9833  
  9834  // Latin 4
  9835  // Byte 3 = 3
  9836  
  9837  // Latin 8
  9838  
  9839  // Latin 9
  9840  // Byte 3 = 0x13
  9841  
  9842  // Katakana
  9843  // Byte 3 = 4
  9844  
  9845  // Arabic
  9846  // Byte 3 = 5
  9847  
  9848  // Cyrillic
  9849  // Byte 3 = 6
  9850  
  9851  // Greek
  9852  // (based on an early draft of, and not quite identical to, ISO/IEC 8859-7)
  9853  // Byte 3 = 7
  9854  
  9855  // Technical
  9856  // (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html)
  9857  // Byte 3 = 8
  9858  
  9859  // Special
  9860  // (from the DEC VT100 Special Graphics Character Set)
  9861  // Byte 3 = 9
  9862  
  9863  // Publishing
  9864  // (these are probably from a long forgotten DEC Publishing
  9865  // font that once shipped with DECwrite)
  9866  // Byte 3 = 0x0a
  9867  
  9868  // APL
  9869  // Byte 3 = 0x0b
  9870  
  9871  // Hebrew
  9872  // Byte 3 = 0x0c
  9873  
  9874  // Thai
  9875  // Byte 3 = 0x0d
  9876  
  9877  // Korean
  9878  // Byte 3 = 0x0e
  9879  
  9880  // Hangul Consonant Characters
  9881  
  9882  // Hangul Vowel Characters
  9883  
  9884  // Hangul syllable-final (JongSeong) Characters
  9885  
  9886  // Ancient Hangul Consonant Characters
  9887  
  9888  // Ancient Hangul Vowel Characters
  9889  
  9890  // Ancient Hangul syllable-final (JongSeong) Characters
  9891  
  9892  // Korean currency symbol
  9893  
  9894  // Armenian
  9895  
  9896  // Georgian
  9897  
  9898  // Azeri (and other Turkic or Caucasian languages)
  9899  
  9900  // latin
  9901  // those are not really Caucasus
  9902  // For Inupiak
  9903  
  9904  // Vietnamese
  9905  
  9906  // one, two and three are defined above.
  9907  
  9908  // Sinhala (http://unicode.org/charts/PDF/U0D80.pdf)
  9909  // http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html
  9910  
  9911  // The Xlib structs are full of implicit padding to properly align members.
  9912  //    We can't clean that up without breaking ABI, so tell clang not to bother
  9913  //    complaining about it.
  9914  
  9915  // Bitmask returned by XParseGeometry().  Each bit tells if the corresponding
  9916  // value (x, y, width, height) was found in the parsed string.
  9917  
  9918  // new version containing base_width, base_height, and win_gravity fields;
  9919  // used with WM_NORMAL_HINTS.
  9920  type XSizeHints = struct {
  9921  	Fflags      int32
  9922  	Fx          int32
  9923  	Fy          int32
  9924  	Fwidth      int32
  9925  	Fheight     int32
  9926  	Fmin_width  int32
  9927  	Fmin_height int32
  9928  	Fmax_width  int32
  9929  	Fmax_height int32
  9930  	Fwidth_inc  int32
  9931  	Fheight_inc int32
  9932  	Fmin_aspect struct {
  9933  		Fx int32
  9934  		Fy int32
  9935  	}
  9936  	Fmax_aspect struct {
  9937  		Fx int32
  9938  		Fy int32
  9939  	}
  9940  	Fbase_width  int32
  9941  	Fbase_height int32
  9942  	Fwin_gravity int32
  9943  } /* Xutil.h:94:3 */
  9944  
  9945  // The next block of definitions are for window manager properties that
  9946  // clients and applications use for communication.
  9947  
  9948  // flags argument in size hints
  9949  
  9950  // obsolete
  9951  
  9952  type XWMHints = struct {
  9953  	Fflags         int32
  9954  	Finput         int32
  9955  	Finitial_state int32
  9956  	Ficon_pixmap   Pixmap
  9957  	Ficon_window   Window
  9958  	Ficon_x        int32
  9959  	Ficon_y        int32
  9960  	Ficon_mask     Pixmap
  9961  	Fwindow_group  XID
  9962  } /* Xutil.h:130:3 */
  9963  
  9964  // definition for flags of XWMHints
  9965  
  9966  // definitions for initial window state
  9967  
  9968  // Obsolete states no longer defined by ICCCM
  9969  // some wm's may put it on inactive menu
  9970  
  9971  // new structure for manipulating TEXT properties; used with WM_NAME,
  9972  // WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
  9973  type XTextProperty = struct {
  9974  	Fvalue    uintptr
  9975  	Fencoding Atom
  9976  	Fformat   int32
  9977  	Fnitems   uint32
  9978  } /* Xutil.h:168:3 */
  9979  
  9980  type XICCEncodingStyle = uint32 /* Xutil.h:181:3 */
  9981  
  9982  type XIconSize = struct {
  9983  	Fmin_width  int32
  9984  	Fmin_height int32
  9985  	Fmax_width  int32
  9986  	Fmax_height int32
  9987  	Fwidth_inc  int32
  9988  	Fheight_inc int32
  9989  } /* Xutil.h:187:3 */
  9990  
  9991  type XClassHint = struct {
  9992  	Fres_name  uintptr
  9993  	Fres_class uintptr
  9994  } /* Xutil.h:192:3 */
  9995  
  9996  // These macros are used to give some sugar to the image routines so that
  9997  // naive people are more comfortable with them.
  9998  
  9999  // Compose sequence status structure, used in calling XLookupString.
 10000  type X_XComposeStatus = struct {
 10001  	Fcompose_ptr   XPointer
 10002  	Fchars_matched int32
 10003  } /* Xutil.h:231:9 */
 10004  
 10005  // These macros are used to give some sugar to the image routines so that
 10006  // naive people are more comfortable with them.
 10007  
 10008  // Compose sequence status structure, used in calling XLookupString.
 10009  type XComposeStatus = X_XComposeStatus /* Xutil.h:234:3 */
 10010  
 10011  // Keysym macros, used on Keysyms to test for classes of symbols
 10012  
 10013  // opaque reference to Region data type
 10014  type X_XRegion = struct {
 10015  	Fsize     int32
 10016  	FnumRects int32
 10017  	Frects    uintptr
 10018  	Fextents  BOX
 10019  } /* Xutil.h:273:9 */
 10020  
 10021  // Keysym macros, used on Keysyms to test for classes of symbols
 10022  
 10023  // opaque reference to Region data type
 10024  type Region = uintptr /* Xutil.h:273:25 */
 10025  
 10026  // Return values from XRectInRegion()
 10027  
 10028  // Information used by the visual utility routines to find desired visual
 10029  // type from the many visuals a display may support.
 10030  
 10031  type XVisualInfo = struct {
 10032  	Fvisual        uintptr
 10033  	Fvisualid      VisualID
 10034  	Fscreen        int32
 10035  	Fdepth         int32
 10036  	Fclass         int32
 10037  	Fred_mask      uint32
 10038  	Fgreen_mask    uint32
 10039  	Fblue_mask     uint32
 10040  	Fcolormap_size int32
 10041  	Fbits_per_rgb  int32
 10042  } /* Xutil.h:302:3 */
 10043  
 10044  // This defines a window manager property that clients may use to
 10045  // share standard color maps of type RGB_COLOR_MAP:
 10046  type XStandardColormap = struct {
 10047  	Fcolormap   Colormap
 10048  	Fred_max    uint32
 10049  	Fred_mult   uint32
 10050  	Fgreen_max  uint32
 10051  	Fgreen_mult uint32
 10052  	Fblue_max   uint32
 10053  	Fblue_mult  uint32
 10054  	Fbase_pixel uint32
 10055  	Fvisualid   VisualID
 10056  	Fkillid     XID
 10057  } /* Xutil.h:331:3 */
 10058  
 10059  // return codes for XReadBitmapFile and XWriteBitmapFile
 10060  
 10061  // ***************************************************************
 10062  //
 10063  //
 10064  // Context Management
 10065  //
 10066  //
 10067  
 10068  // Associative lookup table return codes
 10069  
 10070  type XContext = int32 /* Xutil.h:357:13 */
 10071  
 10072  // Copyright © 2000 SuSE, Inc.
 10073  //
 10074  // Permission to use, copy, modify, distribute, and sell this software and its
 10075  // documentation for any purpose is hereby granted without fee, provided that
 10076  // the above copyright notice appear in all copies and that both that
 10077  // copyright notice and this permission notice appear in supporting
 10078  // documentation, and that the name of SuSE not be used in advertising or
 10079  // publicity pertaining to distribution of the software without specific,
 10080  // written prior permission.  SuSE makes no representations about the
 10081  // suitability of this software for any purpose.  It is provided "as is"
 10082  // without express or implied warranty.
 10083  //
 10084  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 10085  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 10086  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 10087  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 10088  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 10089  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 10090  //
 10091  // Author:  Keith Packard, SuSE, Inc.
 10092  
 10093  //**********************************************************
 10094  //
 10095  // Copyright 1987, 1998  The Open Group
 10096  //
 10097  // Permission to use, copy, modify, distribute, and sell this software and its
 10098  // documentation for any purpose is hereby granted without fee, provided that
 10099  // the above copyright notice appear in all copies and that both that
 10100  // copyright notice and this permission notice appear in supporting
 10101  // documentation.
 10102  //
 10103  // The above copyright notice and this permission notice shall be included in
 10104  // all copies or substantial portions of the Software.
 10105  //
 10106  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10107  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10108  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10109  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10110  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10111  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10112  //
 10113  // Except as contained in this notice, the name of The Open Group shall not be
 10114  // used in advertising or otherwise to promote the sale, use or other dealings
 10115  // in this Software without prior written authorization from The Open Group.
 10116  //
 10117  //
 10118  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 10119  //
 10120  //                         All Rights Reserved
 10121  //
 10122  // Permission to use, copy, modify, and distribute this software and its
 10123  // documentation for any purpose and without fee is hereby granted,
 10124  // provided that the above copyright notice appear in all copies and that
 10125  // both that copyright notice and this permission notice appear in
 10126  // supporting documentation, and that the name of Digital not be
 10127  // used in advertising or publicity pertaining to distribution of the
 10128  // software without specific, written prior permission.
 10129  //
 10130  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 10131  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 10132  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 10133  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 10134  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 10135  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 10136  // SOFTWARE.
 10137  //
 10138  // *****************************************************************
 10139  // Copyright © 2000 SuSE, Inc.
 10140  //
 10141  // Permission to use, copy, modify, distribute, and sell this software and its
 10142  // documentation for any purpose is hereby granted without fee, provided that
 10143  // the above copyright notice appear in all copies and that both that
 10144  // copyright notice and this permission notice appear in supporting
 10145  // documentation, and that the name of SuSE not be used in advertising or
 10146  // publicity pertaining to distribution of the software without specific,
 10147  // written prior permission.  SuSE makes no representations about the
 10148  // suitability of this software for any purpose.  It is provided "as is"
 10149  // without express or implied warranty.
 10150  //
 10151  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 10152  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 10153  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 10154  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 10155  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 10156  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 10157  //
 10158  // Author:  Keith Packard, SuSE, Inc.
 10159  
 10160  //**********************************************************
 10161  //
 10162  // Copyright (c) 1999  The XFree86 Project Inc.
 10163  //
 10164  // All Rights Reserved.
 10165  //
 10166  // The above copyright notice and this permission notice shall be included in
 10167  // all copies or substantial portions of the Software.
 10168  //
 10169  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10170  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10171  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10172  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10173  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10174  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10175  //
 10176  // Except as contained in this notice, the name of The XFree86 Project
 10177  // Inc. shall not be used in advertising or otherwise to promote the
 10178  // sale, use or other dealings in this Software without prior written
 10179  // authorization from The XFree86 Project Inc..
 10180  //
 10181  
 10182  // *
 10183  // Types definitions shared between server and clients
 10184  //
 10185  
 10186  type Pointer = uintptr /* Xdefs.h:53:14 */
 10187  
 10188  type ClientPtr = uintptr /* Xdefs.h:57:24 */
 10189  
 10190  type FontPtr = uintptr /* Xdefs.h:81:22 */ // also in fonts/include/font.h
 10191  
 10192  type FSID = uint32 /* Xdefs.h:91:23 */
 10193  
 10194  type AccContext = FSID /* Xdefs.h:97:14 */
 10195  
 10196  // OS independent time value
 10197  //    XXX Should probably go in Xos.h
 10198  type OSTimePtr = uintptr /* Xdefs.h:101:24 */
 10199  
 10200  type BlockHandlerProcPtr = uintptr /* Xdefs.h:104:14 */
 10201  
 10202  type Glyph = XID      /* render.h:29:14 */
 10203  type GlyphSet = XID   /* render.h:30:14 */
 10204  type Picture = XID    /* render.h:31:14 */
 10205  type PictFormat = XID /* render.h:32:14 */
 10206  
 10207  // #define X_RenderTransform		    16
 10208  // 0.5
 10209  // 0.6
 10210  // 0.8
 10211  // 0.9
 10212  // 0.10
 10213  
 10214  // Operators only available in version 0.2
 10215  
 10216  // Operators only available in version 0.11
 10217  
 10218  // Filters included in 0.6
 10219  // Filters included in 0.10
 10220  
 10221  // Subpixel orders included in 0.6
 10222  
 10223  // Extended repeat attributes included in 0.10
 10224  
 10225  // data structures
 10226  
 10227  type XDirectFormat = struct {
 10228  	Fred       CARD16
 10229  	FredMask   CARD16
 10230  	Fgreen     CARD16
 10231  	FgreenMask CARD16
 10232  	Fblue      CARD16
 10233  	FblueMask  CARD16
 10234  	Falpha     CARD16
 10235  	FalphaMask CARD16
 10236  } /* renderproto.h:61:3 */
 10237  
 10238  type XPictFormInfo = struct {
 10239  	Fid       CARD32
 10240  	Ftype     CARD8
 10241  	Fdepth    CARD8
 10242  	Fpad1     CARD16
 10243  	Fdirect   XDirectFormat
 10244  	Fcolormap CARD32
 10245  } /* renderproto.h:72:3 */
 10246  
 10247  type XPictVisual = struct {
 10248  	Fvisual CARD32
 10249  	Fformat CARD32
 10250  } /* renderproto.h:79:3 */
 10251  
 10252  type XPictDepth = struct {
 10253  	Fdepth        CARD8
 10254  	Fpad1         CARD8
 10255  	FnPictVisuals CARD16
 10256  	Fpad2         CARD32
 10257  } /* renderproto.h:88:3 */
 10258  
 10259  type XPictScreen = struct {
 10260  	FnDepth   CARD32
 10261  	Ffallback CARD32
 10262  } /* renderproto.h:95:3 */
 10263  
 10264  type XIndexValue = struct {
 10265  	Fpixel CARD32
 10266  	Fred   CARD16
 10267  	Fgreen CARD16
 10268  	Fblue  CARD16
 10269  	Falpha CARD16
 10270  } /* renderproto.h:105:3 */
 10271  
 10272  type XRenderColor = struct {
 10273  	Fred   CARD16
 10274  	Fgreen CARD16
 10275  	Fblue  CARD16
 10276  	Falpha CARD16
 10277  } /* renderproto.h:114:3 */
 10278  
 10279  type XPointFixed = struct {
 10280  	Fx INT32
 10281  	Fy INT32
 10282  } /* renderproto.h:121:3 */
 10283  
 10284  type XLineFixed = struct {
 10285  	Fp1 XPointFixed
 10286  	Fp2 XPointFixed
 10287  } /* renderproto.h:128:3 */
 10288  
 10289  type XTriangle = struct {
 10290  	Fp1 XPointFixed
 10291  	Fp2 XPointFixed
 10292  	Fp3 XPointFixed
 10293  } /* renderproto.h:134:3 */
 10294  
 10295  type XTrapezoid = struct {
 10296  	Ftop    INT32
 10297  	Fbottom INT32
 10298  	Fleft   XLineFixed
 10299  	Fright  XLineFixed
 10300  } /* renderproto.h:143:3 */
 10301  
 10302  type XGlyphInfo = struct {
 10303  	Fwidth  CARD16
 10304  	Fheight CARD16
 10305  	Fx      INT16
 10306  	Fy      INT16
 10307  	FxOff   INT16
 10308  	FyOff   INT16
 10309  } /* renderproto.h:154:3 */
 10310  
 10311  type XGlyphElt = struct {
 10312  	Flen    CARD8
 10313  	Fpad1   CARD8
 10314  	Fpad2   CARD16
 10315  	Fdeltax INT16
 10316  	Fdeltay INT16
 10317  } /* renderproto.h:164:3 */
 10318  
 10319  type XSpanFix = struct {
 10320  	Fl INT32
 10321  	Fr INT32
 10322  	Fy INT32
 10323  } /* renderproto.h:170:3 */
 10324  
 10325  type XTrap = struct {
 10326  	Ftop XSpanFix
 10327  	Fbot XSpanFix
 10328  } /* renderproto.h:176:3 */
 10329  
 10330  // requests and replies
 10331  type XRenderQueryVersionReq = struct {
 10332  	FreqType       CARD8
 10333  	FrenderReqType CARD8
 10334  	Flength        CARD16
 10335  	FmajorVersion  CARD32
 10336  	FminorVersion  CARD32
 10337  } /* renderproto.h:189:3 */
 10338  
 10339  type XRenderQueryVersionReply = struct {
 10340  	Ftype           BYTE
 10341  	Fpad1           BYTE
 10342  	FsequenceNumber CARD16
 10343  	Flength         CARD32
 10344  	FmajorVersion   CARD32
 10345  	FminorVersion   CARD32
 10346  	Fpad2           CARD32
 10347  	Fpad3           CARD32
 10348  	Fpad4           CARD32
 10349  	Fpad5           CARD32
 10350  } /* renderproto.h:204:3 */
 10351  
 10352  type XRenderQueryPictFormatsReq = struct {
 10353  	FreqType       CARD8
 10354  	FrenderReqType CARD8
 10355  	Flength        CARD16
 10356  } /* renderproto.h:212:3 */
 10357  
 10358  type XRenderQueryPictFormatsReply = struct {
 10359  	Ftype           BYTE
 10360  	Fpad1           BYTE
 10361  	FsequenceNumber CARD16
 10362  	Flength         CARD32
 10363  	FnumFormats     CARD32
 10364  	FnumScreens     CARD32
 10365  	FnumDepths      CARD32
 10366  	FnumVisuals     CARD32
 10367  	FnumSubpixel    CARD32
 10368  	Fpad5           CARD32
 10369  } /* renderproto.h:227:3 */
 10370  
 10371  type XRenderQueryPictIndexValuesReq = struct {
 10372  	FreqType       CARD8
 10373  	FrenderReqType CARD8
 10374  	Flength        CARD16
 10375  	Fformat        CARD32
 10376  } /* renderproto.h:236:3 */
 10377  
 10378  type XRenderQueryPictIndexValuesReply = struct {
 10379  	Ftype           BYTE
 10380  	Fpad1           BYTE
 10381  	FsequenceNumber CARD16
 10382  	Flength         CARD32
 10383  	FnumIndexValues CARD32
 10384  	Fpad2           CARD32
 10385  	Fpad3           CARD32
 10386  	Fpad4           CARD32
 10387  	Fpad5           CARD32
 10388  	Fpad6           CARD32
 10389  } /* renderproto.h:251:3 */
 10390  
 10391  type XRenderCreatePictureReq = struct {
 10392  	FreqType       CARD8
 10393  	FrenderReqType CARD8
 10394  	Flength        CARD16
 10395  	Fpid           CARD32
 10396  	Fdrawable      CARD32
 10397  	Fformat        CARD32
 10398  	Fmask          CARD32
 10399  } /* renderproto.h:263:3 */
 10400  
 10401  type XRenderChangePictureReq = struct {
 10402  	FreqType       CARD8
 10403  	FrenderReqType CARD8
 10404  	Flength        CARD16
 10405  	Fpicture       CARD32
 10406  	Fmask          CARD32
 10407  } /* renderproto.h:273:3 */
 10408  
 10409  type XRenderSetPictureClipRectanglesReq = struct {
 10410  	FreqType       CARD8
 10411  	FrenderReqType CARD8
 10412  	Flength        CARD16
 10413  	Fpicture       CARD32
 10414  	FxOrigin       INT16
 10415  	FyOrigin       INT16
 10416  } /* renderproto.h:284:3 */
 10417  
 10418  type XRenderFreePictureReq = struct {
 10419  	FreqType       CARD8
 10420  	FrenderReqType CARD8
 10421  	Flength        CARD16
 10422  	Fpicture       CARD32
 10423  } /* renderproto.h:293:3 */
 10424  
 10425  type XRenderCompositeReq = struct {
 10426  	FreqType       CARD8
 10427  	FrenderReqType CARD8
 10428  	Flength        CARD16
 10429  	Fop            CARD8
 10430  	Fpad1          CARD8
 10431  	Fpad2          CARD16
 10432  	Fsrc           CARD32
 10433  	Fmask          CARD32
 10434  	Fdst           CARD32
 10435  	FxSrc          INT16
 10436  	FySrc          INT16
 10437  	FxMask         INT16
 10438  	FyMask         INT16
 10439  	FxDst          INT16
 10440  	FyDst          INT16
 10441  	Fwidth         CARD16
 10442  	Fheight        CARD16
 10443  } /* renderproto.h:315:3 */
 10444  
 10445  type XRenderScaleReq = struct {
 10446  	FreqType       CARD8
 10447  	FrenderReqType CARD8
 10448  	Flength        CARD16
 10449  	Fsrc           CARD32
 10450  	Fdst           CARD32
 10451  	FcolorScale    CARD32
 10452  	FalphaScale    CARD32
 10453  	FxSrc          INT16
 10454  	FySrc          INT16
 10455  	FxDst          INT16
 10456  	FyDst          INT16
 10457  	Fwidth         CARD16
 10458  	Fheight        CARD16
 10459  } /* renderproto.h:333:3 */
 10460  
 10461  type XRenderTrapezoidsReq = struct {
 10462  	FreqType       CARD8
 10463  	FrenderReqType CARD8
 10464  	Flength        CARD16
 10465  	Fop            CARD8
 10466  	Fpad1          CARD8
 10467  	Fpad2          CARD16
 10468  	Fsrc           CARD32
 10469  	Fdst           CARD32
 10470  	FmaskFormat    CARD32
 10471  	FxSrc          INT16
 10472  	FySrc          INT16
 10473  } /* renderproto.h:349:3 */
 10474  
 10475  type XRenderTrianglesReq = struct {
 10476  	FreqType       CARD8
 10477  	FrenderReqType CARD8
 10478  	Flength        CARD16
 10479  	Fop            CARD8
 10480  	Fpad1          CARD8
 10481  	Fpad2          CARD16
 10482  	Fsrc           CARD32
 10483  	Fdst           CARD32
 10484  	FmaskFormat    CARD32
 10485  	FxSrc          INT16
 10486  	FySrc          INT16
 10487  } /* renderproto.h:365:3 */
 10488  
 10489  type XRenderTriStripReq = struct {
 10490  	FreqType       CARD8
 10491  	FrenderReqType CARD8
 10492  	Flength        CARD16
 10493  	Fop            CARD8
 10494  	Fpad1          CARD8
 10495  	Fpad2          CARD16
 10496  	Fsrc           CARD32
 10497  	Fdst           CARD32
 10498  	FmaskFormat    CARD32
 10499  	FxSrc          INT16
 10500  	FySrc          INT16
 10501  } /* renderproto.h:381:3 */
 10502  
 10503  type XRenderTriFanReq = struct {
 10504  	FreqType       CARD8
 10505  	FrenderReqType CARD8
 10506  	Flength        CARD16
 10507  	Fop            CARD8
 10508  	Fpad1          CARD8
 10509  	Fpad2          CARD16
 10510  	Fsrc           CARD32
 10511  	Fdst           CARD32
 10512  	FmaskFormat    CARD32
 10513  	FxSrc          INT16
 10514  	FySrc          INT16
 10515  } /* renderproto.h:397:3 */
 10516  
 10517  type XRenderCreateGlyphSetReq = struct {
 10518  	FreqType       CARD8
 10519  	FrenderReqType CARD8
 10520  	Flength        CARD16
 10521  	Fgsid          CARD32
 10522  	Fformat        CARD32
 10523  } /* renderproto.h:407:3 */
 10524  
 10525  type XRenderReferenceGlyphSetReq = struct {
 10526  	FreqType       CARD8
 10527  	FrenderReqType CARD8
 10528  	Flength        CARD16
 10529  	Fgsid          CARD32
 10530  	Fexisting      CARD32
 10531  } /* renderproto.h:417:3 */
 10532  
 10533  type XRenderFreeGlyphSetReq = struct {
 10534  	FreqType       CARD8
 10535  	FrenderReqType CARD8
 10536  	Flength        CARD16
 10537  	Fglyphset      CARD32
 10538  } /* renderproto.h:426:3 */
 10539  
 10540  type XRenderAddGlyphsReq = struct {
 10541  	FreqType       CARD8
 10542  	FrenderReqType CARD8
 10543  	Flength        CARD16
 10544  	Fglyphset      CARD32
 10545  	Fnglyphs       CARD32
 10546  } /* renderproto.h:436:3 */
 10547  
 10548  type XRenderFreeGlyphsReq = struct {
 10549  	FreqType       CARD8
 10550  	FrenderReqType CARD8
 10551  	Flength        CARD16
 10552  	Fglyphset      CARD32
 10553  } /* renderproto.h:445:3 */
 10554  
 10555  type XRenderCompositeGlyphsReq = struct {
 10556  	FreqType       CARD8
 10557  	FrenderReqType CARD8
 10558  	Flength        CARD16
 10559  	Fop            CARD8
 10560  	Fpad1          CARD8
 10561  	Fpad2          CARD16
 10562  	Fsrc           CARD32
 10563  	Fdst           CARD32
 10564  	FmaskFormat    CARD32
 10565  	Fglyphset      CARD32
 10566  	FxSrc          INT16
 10567  	FySrc          INT16
 10568  } /* renderproto.h:462:3 */
 10569  type XRenderCompositeGlyphs8Req = struct {
 10570  	FreqType       CARD8
 10571  	FrenderReqType CARD8
 10572  	Flength        CARD16
 10573  	Fop            CARD8
 10574  	Fpad1          CARD8
 10575  	Fpad2          CARD16
 10576  	Fsrc           CARD32
 10577  	Fdst           CARD32
 10578  	FmaskFormat    CARD32
 10579  	Fglyphset      CARD32
 10580  	FxSrc          INT16
 10581  	FySrc          INT16
 10582  } /* renderproto.h:462:30 */
 10583  type XRenderCompositeGlyphs16Req = struct {
 10584  	FreqType       CARD8
 10585  	FrenderReqType CARD8
 10586  	Flength        CARD16
 10587  	Fop            CARD8
 10588  	Fpad1          CARD8
 10589  	Fpad2          CARD16
 10590  	Fsrc           CARD32
 10591  	Fdst           CARD32
 10592  	FmaskFormat    CARD32
 10593  	Fglyphset      CARD32
 10594  	FxSrc          INT16
 10595  	FySrc          INT16
 10596  } /* renderproto.h:463:1 */
 10597  type XRenderCompositeGlyphs32Req = struct {
 10598  	FreqType       CARD8
 10599  	FrenderReqType CARD8
 10600  	Flength        CARD16
 10601  	Fop            CARD8
 10602  	Fpad1          CARD8
 10603  	Fpad2          CARD16
 10604  	Fsrc           CARD32
 10605  	Fdst           CARD32
 10606  	FmaskFormat    CARD32
 10607  	Fglyphset      CARD32
 10608  	FxSrc          INT16
 10609  	FySrc          INT16
 10610  } /* renderproto.h:463:30 */
 10611  
 10612  // 0.1 and higher
 10613  
 10614  type XRenderFillRectanglesReq = struct {
 10615  	FreqType       CARD8
 10616  	FrenderReqType CARD8
 10617  	Flength        CARD16
 10618  	Fop            CARD8
 10619  	Fpad1          CARD8
 10620  	Fpad2          CARD16
 10621  	Fdst           CARD32
 10622  	Fcolor         XRenderColor
 10623  } /* renderproto.h:480:3 */
 10624  
 10625  // 0.5 and higher
 10626  
 10627  type XRenderCreateCursorReq = struct {
 10628  	FreqType       CARD8
 10629  	FrenderReqType CARD8
 10630  	Flength        CARD16
 10631  	Fcid           CARD32
 10632  	Fsrc           CARD32
 10633  	Fx             CARD16
 10634  	Fy             CARD16
 10635  } /* renderproto.h:494:3 */
 10636  
 10637  // 0.6 and higher
 10638  
 10639  // This can't use an array because 32-bit values may be in bitfields
 10640  type XRenderTransform = struct {
 10641  	Fmatrix11 INT32
 10642  	Fmatrix12 INT32
 10643  	Fmatrix13 INT32
 10644  	Fmatrix21 INT32
 10645  	Fmatrix22 INT32
 10646  	Fmatrix23 INT32
 10647  	Fmatrix31 INT32
 10648  	Fmatrix32 INT32
 10649  	Fmatrix33 INT32
 10650  } /* renderproto.h:513:3 */
 10651  
 10652  type XRenderSetPictureTransformReq = struct {
 10653  	FreqType       CARD8
 10654  	FrenderReqType CARD8
 10655  	Flength        CARD16
 10656  	Fpicture       CARD32
 10657  	Ftransform     XRenderTransform
 10658  } /* renderproto.h:523:3 */
 10659  
 10660  type XRenderQueryFiltersReq = struct {
 10661  	FreqType       CARD8
 10662  	FrenderReqType CARD8
 10663  	Flength        CARD16
 10664  	Fdrawable      CARD32
 10665  } /* renderproto.h:532:3 */
 10666  
 10667  type XRenderQueryFiltersReply = struct {
 10668  	Ftype           BYTE
 10669  	Fpad1           BYTE
 10670  	FsequenceNumber CARD16
 10671  	Flength         CARD32
 10672  	FnumAliases     CARD32
 10673  	FnumFilters     CARD32
 10674  	Fpad2           CARD32
 10675  	Fpad3           CARD32
 10676  	Fpad4           CARD32
 10677  	Fpad5           CARD32
 10678  } /* renderproto.h:547:3 */
 10679  
 10680  type XRenderSetPictureFilterReq = struct {
 10681  	FreqType       CARD8
 10682  	FrenderReqType CARD8
 10683  	Flength        CARD16
 10684  	Fpicture       CARD32
 10685  	Fnbytes        CARD16
 10686  	Fpad           CARD16
 10687  } /* renderproto.h:558:3 */
 10688  
 10689  // 0.8 and higher
 10690  
 10691  type XAnimCursorElt = struct {
 10692  	Fcursor CARD32
 10693  	Fdelay  CARD32
 10694  } /* renderproto.h:567:3 */
 10695  
 10696  type XRenderCreateAnimCursorReq = struct {
 10697  	FreqType       CARD8
 10698  	FrenderReqType CARD8
 10699  	Flength        CARD16
 10700  	Fcid           CARD32
 10701  } /* renderproto.h:576:3 */
 10702  
 10703  // 0.9 and higher
 10704  
 10705  type XRenderAddTrapsReq = struct {
 10706  	FreqType       CARD8
 10707  	FrenderReqType CARD8
 10708  	Flength        CARD16
 10709  	Fpicture       CARD32
 10710  	FxOff          INT16
 10711  	FyOff          INT16
 10712  } /* renderproto.h:589:3 */
 10713  
 10714  // 0.10 and higher
 10715  
 10716  type XRenderCreateSolidFillReq = struct {
 10717  	FreqType       CARD8
 10718  	FrenderReqType CARD8
 10719  	Flength        CARD16
 10720  	Fpid           CARD32
 10721  	Fcolor         XRenderColor
 10722  } /* renderproto.h:601:3 */
 10723  
 10724  type XRenderCreateLinearGradientReq = struct {
 10725  	FreqType       CARD8
 10726  	FrenderReqType CARD8
 10727  	Flength        CARD16
 10728  	Fpid           CARD32
 10729  	Fp1            XPointFixed
 10730  	Fp2            XPointFixed
 10731  	FnStops        CARD32
 10732  } /* renderproto.h:613:3 */
 10733  
 10734  type XRenderCreateRadialGradientReq = struct {
 10735  	FreqType       CARD8
 10736  	FrenderReqType CARD8
 10737  	Flength        CARD16
 10738  	Fpid           CARD32
 10739  	Finner         XPointFixed
 10740  	Fouter         XPointFixed
 10741  	Finner_radius  INT32
 10742  	Fouter_radius  INT32
 10743  	FnStops        CARD32
 10744  } /* renderproto.h:627:3 */
 10745  
 10746  type XRenderCreateConicalGradientReq = struct {
 10747  	FreqType       CARD8
 10748  	FrenderReqType CARD8
 10749  	Flength        CARD16
 10750  	Fpid           CARD32
 10751  	Fcenter        XPointFixed
 10752  	Fangle         INT32
 10753  	FnStops        CARD32
 10754  } /* renderproto.h:639:3 */
 10755  
 10756  //
 10757  // Copyright © 2000 SuSE, Inc.
 10758  //
 10759  // Permission to use, copy, modify, distribute, and sell this software and its
 10760  // documentation for any purpose is hereby granted without fee, provided that
 10761  // the above copyright notice appear in all copies and that both that
 10762  // copyright notice and this permission notice appear in supporting
 10763  // documentation, and that the name of SuSE not be used in advertising or
 10764  // publicity pertaining to distribution of the software without specific,
 10765  // written prior permission.  SuSE makes no representations about the
 10766  // suitability of this software for any purpose.  It is provided "as is"
 10767  // without express or implied warranty.
 10768  //
 10769  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 10770  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 10771  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 10772  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 10773  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 10774  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 10775  //
 10776  // Author:  Keith Packard, SuSE, Inc.
 10777  
 10778  //
 10779  //
 10780  // Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
 10781  //
 10782  // Permission to use, copy, modify, distribute, and sell this software and its
 10783  // documentation for any purpose is hereby granted without fee, provided that
 10784  // the above copyright notice appear in all copies and that both that
 10785  // copyright notice and this permission notice appear in supporting
 10786  // documentation.
 10787  //
 10788  // The above copyright notice and this permission notice shall be included in
 10789  // all copies or substantial portions of the Software.
 10790  //
 10791  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10792  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10793  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10794  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10795  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10796  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10797  //
 10798  // Except as contained in this notice, the name of The Open Group shall not be
 10799  // used in advertising or otherwise to promote the sale, use or other dealings
 10800  // in this Software without prior written authorization from The Open Group.
 10801  //
 10802  
 10803  //	Xlib.h - Header definition and support file for the C subroutine
 10804  //	interface library (Xlib) to the X Window System Protocol (V11).
 10805  //	Structures and symbols starting with "_" are private to the library.
 10806  //
 10807  //
 10808  // Copyright 1989, 1991, 1998  The Open Group
 10809  //
 10810  // Permission to use, copy, modify, distribute, and sell this software and its
 10811  // documentation for any purpose is hereby granted without fee, provided that
 10812  // the above copyright notice appear in all copies and that both that
 10813  // copyright notice and this permission notice appear in supporting
 10814  // documentation.
 10815  //
 10816  // The above copyright notice and this permission notice shall be included in
 10817  // all copies or substantial portions of the Software.
 10818  //
 10819  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10820  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10821  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10822  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10823  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10824  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10825  //
 10826  // Except as contained in this notice, the name of The Open Group shall not be
 10827  // used in advertising or otherwise to promote the sale, use or other dealings
 10828  // in this Software without prior written authorization from The Open Group.
 10829  //  *
 10830  //
 10831  
 10832  // Definitions to make function prototypes manageable
 10833  
 10834  //
 10835  //  O/S-dependent (mis)feature macro definitions
 10836  //
 10837  // Copyright 1991, 1998  The Open Group
 10838  //
 10839  // Permission to use, copy, modify, distribute, and sell this software and its
 10840  // documentation for any purpose is hereby granted without fee, provided that
 10841  // the above copyright notice appear in all copies and that both that
 10842  // copyright notice and this permission notice appear in supporting
 10843  // documentation.
 10844  //
 10845  // The above copyright notice and this permission notice shall be included in
 10846  // all copies or substantial portions of the Software.
 10847  //
 10848  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10849  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10850  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10851  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10852  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10853  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10854  //
 10855  // Except as contained in this notice, the name of The Open Group shall not be
 10856  // used in advertising or otherwise to promote the sale, use or other dealings
 10857  // in this Software without prior written authorization from The Open Group.
 10858  //
 10859  
 10860  //**********************************************************
 10861  //
 10862  // Copyright 1987, 1998  The Open Group
 10863  //
 10864  // Permission to use, copy, modify, distribute, and sell this software and its
 10865  // documentation for any purpose is hereby granted without fee, provided that
 10866  // the above copyright notice appear in all copies and that both that
 10867  // copyright notice and this permission notice appear in supporting
 10868  // documentation.
 10869  //
 10870  // The above copyright notice and this permission notice shall be included in
 10871  // all copies or substantial portions of the Software.
 10872  //
 10873  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10874  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10875  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10876  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10877  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10878  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10879  //
 10880  // Except as contained in this notice, the name of The Open Group shall not be
 10881  // used in advertising or otherwise to promote the sale, use or other dealings
 10882  // in this Software without prior written authorization from The Open Group.
 10883  //
 10884  //
 10885  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 10886  //
 10887  //                         All Rights Reserved
 10888  //
 10889  // Permission to use, copy, modify, and distribute this software and its
 10890  // documentation for any purpose and without fee is hereby granted,
 10891  // provided that the above copyright notice appear in all copies and that
 10892  // both that copyright notice and this permission notice appear in
 10893  // supporting documentation, and that the name of Digital not be
 10894  // used in advertising or publicity pertaining to distribution of the
 10895  // software without specific, written prior permission.
 10896  //
 10897  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 10898  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 10899  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 10900  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 10901  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 10902  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 10903  // SOFTWARE.
 10904  //
 10905  // *****************************************************************
 10906  
 10907  // Copyright © 2000 SuSE, Inc.
 10908  //
 10909  // Permission to use, copy, modify, distribute, and sell this software and its
 10910  // documentation for any purpose is hereby granted without fee, provided that
 10911  // the above copyright notice appear in all copies and that both that
 10912  // copyright notice and this permission notice appear in supporting
 10913  // documentation, and that the name of SuSE not be used in advertising or
 10914  // publicity pertaining to distribution of the software without specific,
 10915  // written prior permission.  SuSE makes no representations about the
 10916  // suitability of this software for any purpose.  It is provided "as is"
 10917  // without express or implied warranty.
 10918  //
 10919  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 10920  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 10921  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 10922  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 10923  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 10924  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 10925  //
 10926  // Author:  Keith Packard, SuSE, Inc.
 10927  
 10928  type XRenderDirectFormat = struct {
 10929  	Fred       int16
 10930  	FredMask   int16
 10931  	Fgreen     int16
 10932  	FgreenMask int16
 10933  	Fblue      int16
 10934  	FblueMask  int16
 10935  	Falpha     int16
 10936  	FalphaMask int16
 10937  } /* Xrender.h:44:3 */
 10938  
 10939  type XRenderPictFormat = struct {
 10940  	Fid       PictFormat
 10941  	Ftype     int32
 10942  	Fdepth    int32
 10943  	Fdirect   XRenderDirectFormat
 10944  	Fcolormap Colormap
 10945  } /* Xrender.h:52:3 */
 10946  
 10947  type X_XRenderPictureAttributes = struct {
 10948  	Frepeat             int32
 10949  	Falpha_map          Picture
 10950  	Falpha_x_origin     int32
 10951  	Falpha_y_origin     int32
 10952  	Fclip_x_origin      int32
 10953  	Fclip_y_origin      int32
 10954  	Fclip_mask          Pixmap
 10955  	Fgraphics_exposures int32
 10956  	Fsubwindow_mode     int32
 10957  	Fpoly_edge          int32
 10958  	Fpoly_mode          int32
 10959  	Fdither             Atom
 10960  	Fcomponent_alpha    int32
 10961  } /* Xrender.h:67:9 */
 10962  
 10963  type XRenderPictureAttributes = X_XRenderPictureAttributes /* Xrender.h:81:3 */
 10964  
 10965  type XRenderColor1 = struct {
 10966  	Fred   uint16
 10967  	Fgreen uint16
 10968  	Fblue  uint16
 10969  	Falpha uint16
 10970  } /* Xrender.h:88:3 */
 10971  
 10972  type X_XGlyphInfo = struct {
 10973  	Fwidth  uint16
 10974  	Fheight uint16
 10975  	Fx      int16
 10976  	Fy      int16
 10977  	FxOff   int16
 10978  	FyOff   int16
 10979  } /* Xrender.h:90:9 */
 10980  
 10981  type XGlyphInfo1 = X_XGlyphInfo /* Xrender.h:97:3 */
 10982  
 10983  type X_XGlyphElt8 = struct {
 10984  	Fglyphset GlyphSet
 10985  	Fchars    uintptr
 10986  	Fnchars   int32
 10987  	FxOff     int32
 10988  	FyOff     int32
 10989  } /* Xrender.h:99:9 */
 10990  
 10991  type XGlyphElt8 = X_XGlyphElt8 /* Xrender.h:105:3 */
 10992  
 10993  type X_XGlyphElt16 = struct {
 10994  	Fglyphset GlyphSet
 10995  	Fchars    uintptr
 10996  	Fnchars   int32
 10997  	FxOff     int32
 10998  	FyOff     int32
 10999  } /* Xrender.h:107:9 */
 11000  
 11001  type XGlyphElt16 = X_XGlyphElt16 /* Xrender.h:113:3 */
 11002  
 11003  type X_XGlyphElt32 = struct {
 11004  	Fglyphset GlyphSet
 11005  	Fchars    uintptr
 11006  	Fnchars   int32
 11007  	FxOff     int32
 11008  	FyOff     int32
 11009  } /* Xrender.h:115:9 */
 11010  
 11011  type XGlyphElt32 = X_XGlyphElt32 /* Xrender.h:121:3 */
 11012  
 11013  type XDouble = float64 /* Xrender.h:123:16 */
 11014  
 11015  type X_XPointDouble = struct {
 11016  	Fx XDouble
 11017  	Fy XDouble
 11018  } /* Xrender.h:125:9 */
 11019  
 11020  type XPointDouble = X_XPointDouble /* Xrender.h:127:3 */
 11021  
 11022  type XFixed = int32 /* Xrender.h:132:13 */
 11023  
 11024  type X_XPointFixed = struct {
 11025  	Fx XFixed
 11026  	Fy XFixed
 11027  } /* Xrender.h:134:9 */
 11028  
 11029  type XPointFixed1 = X_XPointFixed /* Xrender.h:136:3 */
 11030  
 11031  type X_XLineFixed = struct {
 11032  	Fp1 XPointFixed1
 11033  	Fp2 XPointFixed1
 11034  } /* Xrender.h:138:9 */
 11035  
 11036  type XLineFixed1 = X_XLineFixed /* Xrender.h:140:3 */
 11037  
 11038  type X_XTriangle = struct {
 11039  	Fp1 XPointFixed1
 11040  	Fp2 XPointFixed1
 11041  	Fp3 XPointFixed1
 11042  } /* Xrender.h:142:9 */
 11043  
 11044  type XTriangle1 = X_XTriangle /* Xrender.h:144:3 */
 11045  
 11046  type X_XCircle = struct {
 11047  	Fx      XFixed
 11048  	Fy      XFixed
 11049  	Fradius XFixed
 11050  } /* Xrender.h:146:9 */
 11051  
 11052  type XCircle = X_XCircle /* Xrender.h:150:3 */
 11053  
 11054  type X_XTrapezoid = struct {
 11055  	Ftop    XFixed
 11056  	Fbottom XFixed
 11057  	Fleft   XLineFixed1
 11058  	Fright  XLineFixed1
 11059  } /* Xrender.h:152:9 */
 11060  
 11061  type XTrapezoid1 = X_XTrapezoid /* Xrender.h:155:3 */
 11062  
 11063  type X_XTransform = struct{ Fmatrix [3][3]XFixed } /* Xrender.h:157:9 */
 11064  
 11065  type XTransform = X_XTransform /* Xrender.h:159:3 */
 11066  
 11067  type X_XFilters = struct {
 11068  	Fnfilter int32
 11069  	Ffilter  uintptr
 11070  	Fnalias  int32
 11071  	Falias   uintptr
 11072  } /* Xrender.h:161:9 */
 11073  
 11074  type XFilters = X_XFilters /* Xrender.h:166:3 */
 11075  
 11076  type X_XIndexValue = struct {
 11077  	Fpixel uint32
 11078  	Fred   uint16
 11079  	Fgreen uint16
 11080  	Fblue  uint16
 11081  	Falpha uint16
 11082  } /* Xrender.h:168:9 */
 11083  
 11084  type XIndexValue1 = X_XIndexValue /* Xrender.h:171:3 */
 11085  
 11086  type X_XAnimCursor = struct {
 11087  	Fcursor Cursor
 11088  	Fdelay  uint32
 11089  } /* Xrender.h:173:9 */
 11090  
 11091  type XAnimCursor = X_XAnimCursor /* Xrender.h:176:3 */
 11092  
 11093  type X_XSpanFix = struct {
 11094  	Fleft  XFixed
 11095  	Fright XFixed
 11096  	Fy     XFixed
 11097  } /* Xrender.h:178:9 */
 11098  
 11099  type XSpanFix1 = X_XSpanFix /* Xrender.h:180:3 */
 11100  
 11101  type X_XTrap = struct {
 11102  	Ftop    XSpanFix1
 11103  	Fbottom XSpanFix1
 11104  } /* Xrender.h:182:9 */
 11105  
 11106  type XTrap1 = X_XTrap /* Xrender.h:184:3 */
 11107  
 11108  type X_XLinearGradient = struct {
 11109  	Fp1 XPointFixed1
 11110  	Fp2 XPointFixed1
 11111  } /* Xrender.h:186:9 */
 11112  
 11113  type XLinearGradient = X_XLinearGradient /* Xrender.h:189:3 */
 11114  
 11115  type X_XRadialGradient = struct {
 11116  	Finner XCircle
 11117  	Fouter XCircle
 11118  } /* Xrender.h:191:9 */
 11119  
 11120  type XRadialGradient = X_XRadialGradient /* Xrender.h:194:3 */
 11121  
 11122  type X_XConicalGradient = struct {
 11123  	Fcenter XPointFixed1
 11124  	Fangle  XFixed
 11125  } /* Xrender.h:196:9 */
 11126  
 11127  type XConicalGradient = X_XConicalGradient /* Xrender.h:199:3 */
 11128  
 11129  type XRenderVisual = struct {
 11130  	Fvisual uintptr
 11131  	Fformat uintptr
 11132  } /* Xrenderint.h:37:3 */
 11133  
 11134  type XRenderDepth = struct {
 11135  	Fdepth    int32
 11136  	Fnvisuals int32
 11137  	Fvisuals  uintptr
 11138  } /* Xrenderint.h:43:3 */
 11139  
 11140  type XRenderScreen = struct {
 11141  	Fdepths   uintptr
 11142  	Fndepths  int32
 11143  	Ffallback uintptr
 11144  	Fsubpixel int32
 11145  } /* Xrenderint.h:50:3 */
 11146  
 11147  type X_XRenderInfo = struct {
 11148  	Fmajor_version int32
 11149  	Fminor_version int32
 11150  	Fformat        uintptr
 11151  	Fnformat       int32
 11152  	Fscreen        uintptr
 11153  	Fnscreen       int32
 11154  	Fdepth         uintptr
 11155  	Fndepth        int32
 11156  	Fvisual        uintptr
 11157  	Fnvisual       int32
 11158  	Fsubpixel      uintptr
 11159  	Fnsubpixel     int32
 11160  	Ffilter        uintptr
 11161  	Fnfilter       int32
 11162  	Ffilter_alias  uintptr
 11163  	Fnfilter_alias int32
 11164  } /* Xrenderint.h:52:9 */
 11165  
 11166  type XRenderInfo = X_XRenderInfo /* Xrenderint.h:69:3 */
 11167  
 11168  // replaces XRenderExtDisplayInfo
 11169  type X_XRenderExtDisplayInfo = struct {
 11170  	Fnext    uintptr
 11171  	Fdisplay uintptr
 11172  	Fcodes   uintptr
 11173  	Finfo    uintptr
 11174  } /* Xrenderint.h:72:9 */
 11175  
 11176  // replaces XRenderExtDisplayInfo
 11177  type XRenderExtDisplayInfo = X_XRenderExtDisplayInfo /* Xrenderint.h:77:3 */
 11178  
 11179  // replaces XExtensionInfo
 11180  type X_XRenderExtInfo = struct {
 11181  	Fhead      uintptr
 11182  	Fcur       uintptr
 11183  	Fndisplays int32
 11184  } /* Xrenderint.h:80:9 */
 11185  
 11186  // replaces XExtensionInfo
 11187  type XRenderExtInfo = X_XRenderExtInfo /* Xrenderint.h:84:3 */
 11188  
 11189  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11190  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11191  // except on WORD64 machines where it is 64 bits.
 11192  
 11193  func XXRenderAddTraps(tls *libc.TLS, dpy uintptr, picture Picture, xOff int32, yOff int32, traps uintptr, ntrap int32) { /* AddTrap.c:31:1: */
 11194  	bp := tls.Alloc(4)
 11195  	defer tls.Free(4)
 11196  
 11197  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11198  	var req uintptr
 11199  	var n int32
 11200  	var len int32
 11201  	var max_req uint32
 11202  	if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11203  		max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size
 11204  	} else {
 11205  		max_req = uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size)
 11206  	}
 11207  
 11208  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11209  		return
 11210  	}
 11211  
 11212  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11213  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 11214  	}
 11215  	for ntrap != 0 {
 11216  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddTraps), uint32(Sz_xRenderAddTrapsReq))
 11217  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11218  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddTraps)
 11219  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).Fpicture = picture
 11220  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FxOff = INT16(xOff)
 11221  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FyOff = INT16(yOff)
 11222  		n = ntrap
 11223  		len = ((int32(n)) * (int32(Sz_xTrap) >> 2))
 11224  		if uint32(len) > (max_req - uint32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) {
 11225  			n = (int32((max_req - uint32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xTrap) >> 2))))
 11226  			len = ((int32(n)) * (int32(Sz_xTrap) >> 2))
 11227  		}
 11228  		if (uint32(int32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 11229  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11230  				{
 11231  					// var _BRdat CARD32 at bp, 4
 11232  					var _BRlen CARD32 = (CARD32(int32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) - 1))
 11233  					(*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 11234  					*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 11235  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 11236  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 11237  					{
 11238  						if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 11239  							libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 11240  							*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 11241  						} else {
 11242  							x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 11243  						}
 11244  					}
 11245  
 11246  				}
 11247  			} else {
 11248  				len = len
 11249  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11250  			}
 11251  		} else {
 11252  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11253  		}
 11254  		len <<= 2
 11255  		{
 11256  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 11257  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint32(int32(len)))
 11258  				*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3)))
 11259  			} else {
 11260  				x11.X_XSend(tls, dpy, traps, len)
 11261  			}
 11262  		}
 11263  
 11264  		ntrap = ntrap - (n)
 11265  		traps += 24 * (uintptr(n))
 11266  	}
 11267  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11268  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 11269  	}
 11270  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11271  		(*struct {
 11272  			f func(*libc.TLS, uintptr) int32
 11273  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11274  	}
 11275  }
 11276  
 11277  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11278  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11279  // except on WORD64 machines where it is 64 bits.
 11280  
 11281  func XXRenderParseColor(tls *libc.TLS, dpy uintptr, spec uintptr, def uintptr) int32 { /* Color.c:30:1: */
 11282  	bp := tls.Alloc(20)
 11283  	defer tls.Free(20)
 11284  
 11285  	if !(libc.Xstrncmp(tls, spec, ts /* "rgba:" */, uint32(5)) != 0) {
 11286  		// var elements [4]uint16 at bp, 8
 11287  
 11288  		var pShort uintptr
 11289  		var i int32
 11290  		var n int32
 11291  		var c int8
 11292  
 11293  		spec += uintptr(5)
 11294  		// Attempt to parse the value portion.
 11295  		pShort = bp /* &elements[0] */
 11296  		i = 0
 11297  	__1:
 11298  		if !(i < 4) {
 11299  			goto __3
 11300  		}
 11301  		{
 11302  			n = 0
 11303  			*(*uint16)(unsafe.Pointer(pShort)) = uint16(0)
 11304  			for (int32(*(*int8)(unsafe.Pointer(spec))) != '/') && (int32(*(*int8)(unsafe.Pointer(spec))) != 0) {
 11305  				if libc.PreIncInt32(&n, 1) > 4 {
 11306  					return 0
 11307  				}
 11308  				c = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&spec, 1)))
 11309  				libc.AssignShlPtrUint16(pShort, int(4))
 11310  				if (int32(c) >= '0') && (int32(c) <= '9') {
 11311  					*(*uint16)(unsafe.Pointer(pShort)) |= uint16((int32(c) - '0'))
 11312  				} else if (int32(c) >= 'a') && (int32(c) <= 'f') {
 11313  					*(*uint16)(unsafe.Pointer(pShort)) |= uint16((int32(c) - ('a' - 10)))
 11314  				} else {
 11315  					return 0
 11316  				}
 11317  			}
 11318  			if n == 0 {
 11319  				return 0
 11320  			}
 11321  			if n < 4 {
 11322  				*(*uint16)(unsafe.Pointer(pShort)) = (uint16((uint32(*(*uint16)(unsafe.Pointer(pShort))) * uint32(0xFFFF)) / (uint32((int32(1) << (n * 4)) - 1))))
 11323  			}
 11324  
 11325  		}
 11326  		goto __2
 11327  	__2:
 11328  		i++
 11329  		pShort += 2
 11330  		spec++
 11331  		goto __1
 11332  		goto __3
 11333  	__3:
 11334  		;
 11335  		(*XRenderColor1)(unsafe.Pointer(def)).Fred = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */))
 11336  		(*XRenderColor1)(unsafe.Pointer(def)).Fgreen = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 1*2))
 11337  		(*XRenderColor1)(unsafe.Pointer(def)).Fblue = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 2*2))
 11338  		(*XRenderColor1)(unsafe.Pointer(def)).Falpha = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 3*2))
 11339  	} else {
 11340  		// var coreColor XColor at bp+8, 12
 11341  
 11342  		var colormap Colormap
 11343  
 11344  		colormap = (*Screen)(unsafe.Pointer(((*struct {
 11345  			Fext_data            uintptr
 11346  			Fprivate1            uintptr
 11347  			Ffd                  int32
 11348  			Fprivate2            int32
 11349  			Fproto_major_version int32
 11350  			Fproto_minor_version int32
 11351  			Fvendor              uintptr
 11352  			Fprivate3            XID
 11353  			Fprivate4            XID
 11354  			Fprivate5            XID
 11355  			Fprivate6            int32
 11356  			Fresource_alloc      uintptr
 11357  			Fbyte_order          int32
 11358  			Fbitmap_unit         int32
 11359  			Fbitmap_pad          int32
 11360  			Fbitmap_bit_order    int32
 11361  			Fnformats            int32
 11362  			Fpixmap_format       uintptr
 11363  			Fprivate8            int32
 11364  			Frelease             int32
 11365  			Fprivate9            uintptr
 11366  			Fprivate10           uintptr
 11367  			Fqlen                int32
 11368  			Flast_request_read   uint32
 11369  			Frequest             uint32
 11370  			Fprivate11           XPointer
 11371  			Fprivate12           XPointer
 11372  			Fprivate13           XPointer
 11373  			Fprivate14           XPointer
 11374  			Fmax_request_size    uint32
 11375  			Fdb                  uintptr
 11376  			Fprivate15           uintptr
 11377  			Fdisplay_name        uintptr
 11378  			Fdefault_screen      int32
 11379  			Fnscreens            int32
 11380  			Fscreens             uintptr
 11381  			Fmotion_buffer       uint32
 11382  			Fprivate16           uint32
 11383  			Fmin_keycode         int32
 11384  			Fmax_keycode         int32
 11385  			Fprivate17           XPointer
 11386  			Fprivate18           XPointer
 11387  			Fprivate19           int32
 11388  			Fxdefaults           uintptr
 11389  		})(unsafe.Pointer((dpy))).Fscreens + uintptr(((*struct {
 11390  			Fext_data            uintptr
 11391  			Fprivate1            uintptr
 11392  			Ffd                  int32
 11393  			Fprivate2            int32
 11394  			Fproto_major_version int32
 11395  			Fproto_minor_version int32
 11396  			Fvendor              uintptr
 11397  			Fprivate3            XID
 11398  			Fprivate4            XID
 11399  			Fprivate5            XID
 11400  			Fprivate6            int32
 11401  			Fresource_alloc      uintptr
 11402  			Fbyte_order          int32
 11403  			Fbitmap_unit         int32
 11404  			Fbitmap_pad          int32
 11405  			Fbitmap_bit_order    int32
 11406  			Fnformats            int32
 11407  			Fpixmap_format       uintptr
 11408  			Fprivate8            int32
 11409  			Frelease             int32
 11410  			Fprivate9            uintptr
 11411  			Fprivate10           uintptr
 11412  			Fqlen                int32
 11413  			Flast_request_read   uint32
 11414  			Frequest             uint32
 11415  			Fprivate11           XPointer
 11416  			Fprivate12           XPointer
 11417  			Fprivate13           XPointer
 11418  			Fprivate14           XPointer
 11419  			Fmax_request_size    uint32
 11420  			Fdb                  uintptr
 11421  			Fprivate15           uintptr
 11422  			Fdisplay_name        uintptr
 11423  			Fdefault_screen      int32
 11424  			Fnscreens            int32
 11425  			Fscreens             uintptr
 11426  			Fmotion_buffer       uint32
 11427  			Fprivate16           uint32
 11428  			Fmin_keycode         int32
 11429  			Fmax_keycode         int32
 11430  			Fprivate17           XPointer
 11431  			Fprivate18           XPointer
 11432  			Fprivate19           int32
 11433  			Fxdefaults           uintptr
 11434  		})(unsafe.Pointer(dpy)).Fdefault_screen))*80))).Fcmap
 11435  		if !(x11.XXParseColor(tls, dpy, colormap, spec, bp+8 /* &coreColor */) != 0) {
 11436  			return 0
 11437  		}
 11438  		(*XRenderColor1)(unsafe.Pointer(def)).Fred = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fred
 11439  		(*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fgreen
 11440  		(*XRenderColor1)(unsafe.Pointer(def)).Fblue = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fblue
 11441  		(*XRenderColor1)(unsafe.Pointer(def)).Falpha = uint16(0xffff)
 11442  	}
 11443  	(*XRenderColor1)(unsafe.Pointer(def)).Fred = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fred) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff))
 11444  	(*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fgreen) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff))
 11445  	(*XRenderColor1)(unsafe.Pointer(def)).Fblue = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fblue) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff))
 11446  	return 1
 11447  }
 11448  
 11449  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11450  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11451  // except on WORD64 machines where it is 64 bits.
 11452  
 11453  func XXRenderComposite(tls *libc.TLS, dpy uintptr, op int32, src Picture, mask Picture, dst Picture, src_x int32, src_y int32, mask_x int32, mask_y int32, dst_x int32, dst_y int32, width uint32, height uint32) { /* Composite.c:31:1: */
 11454  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11455  	var req uintptr
 11456  
 11457  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11458  		return
 11459  	}
 11460  
 11461  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11462  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 11463  	}
 11464  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderComposite), uint32(Sz_xRenderCompositeReq))
 11465  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11466  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderComposite)
 11467  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 11468  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fsrc = src
 11469  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fmask = mask
 11470  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fdst = dst
 11471  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FxSrc = INT16(src_x)
 11472  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FySrc = INT16(src_y)
 11473  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FxMask = INT16(mask_x)
 11474  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FyMask = INT16(mask_y)
 11475  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FxDst = INT16(dst_x)
 11476  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FyDst = INT16(dst_y)
 11477  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fwidth = CARD16(width)
 11478  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fheight = CARD16(height)
 11479  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11480  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 11481  	}
 11482  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11483  		(*struct {
 11484  			f func(*libc.TLS, uintptr) int32
 11485  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11486  	}
 11487  }
 11488  
 11489  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11490  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11491  // except on WORD64 machines where it is 64 bits.
 11492  
 11493  func XXRenderCreateCursor(tls *libc.TLS, dpy uintptr, source Picture, x uint32, y uint32) Cursor { /* Cursor.c:30:1: */
 11494  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11495  	var cid Cursor
 11496  	var req uintptr
 11497  
 11498  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11499  		return Cursor(0)
 11500  	}
 11501  
 11502  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11503  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 11504  	}
 11505  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateCursor), uint32(Sz_xRenderCreateCursorReq))
 11506  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11507  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateCursor)
 11508  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fcid = libc.AssignUint32(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 11509  		Fext_data            uintptr
 11510  		Fprivate1            uintptr
 11511  		Ffd                  int32
 11512  		Fprivate2            int32
 11513  		Fproto_major_version int32
 11514  		Fproto_minor_version int32
 11515  		Fvendor              uintptr
 11516  		Fprivate3            XID
 11517  		Fprivate4            XID
 11518  		Fprivate5            XID
 11519  		Fprivate6            int32
 11520  		Fresource_alloc      uintptr
 11521  		Fbyte_order          int32
 11522  		Fbitmap_unit         int32
 11523  		Fbitmap_pad          int32
 11524  		Fbitmap_bit_order    int32
 11525  		Fnformats            int32
 11526  		Fpixmap_format       uintptr
 11527  		Fprivate8            int32
 11528  		Frelease             int32
 11529  		Fprivate9            uintptr
 11530  		Fprivate10           uintptr
 11531  		Fqlen                int32
 11532  		Flast_request_read   uint32
 11533  		Frequest             uint32
 11534  		Fprivate11           XPointer
 11535  		Fprivate12           XPointer
 11536  		Fprivate13           XPointer
 11537  		Fprivate14           XPointer
 11538  		Fmax_request_size    uint32
 11539  		Fdb                  uintptr
 11540  		Fprivate15           uintptr
 11541  		Fdisplay_name        uintptr
 11542  		Fdefault_screen      int32
 11543  		Fnscreens            int32
 11544  		Fscreens             uintptr
 11545  		Fmotion_buffer       uint32
 11546  		Fprivate16           uint32
 11547  		Fmin_keycode         int32
 11548  		Fmax_keycode         int32
 11549  		Fprivate17           XPointer
 11550  		Fprivate18           XPointer
 11551  		Fprivate19           int32
 11552  		Fxdefaults           uintptr
 11553  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))
 11554  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fsrc = source
 11555  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fx = CARD16(x)
 11556  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fy = CARD16(y)
 11557  
 11558  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11559  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 11560  	}
 11561  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11562  		(*struct {
 11563  			f func(*libc.TLS, uintptr) int32
 11564  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11565  	}
 11566  	return cid
 11567  }
 11568  
 11569  func XXRenderCreateAnimCursor(tls *libc.TLS, dpy uintptr, ncursor int32, cursors uintptr) Cursor { /* Cursor.c:55:1: */
 11570  	bp := tls.Alloc(4)
 11571  	defer tls.Free(4)
 11572  
 11573  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11574  	var cid Cursor
 11575  	var req uintptr
 11576  	var len int32
 11577  
 11578  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11579  		return Cursor(0)
 11580  	}
 11581  
 11582  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11583  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 11584  	}
 11585  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateAnimCursor), uint32(Sz_xRenderCreateAnimCursorReq))
 11586  	(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11587  	(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateAnimCursor)
 11588  	(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Fcid = libc.AssignUint32(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 11589  		Fext_data            uintptr
 11590  		Fprivate1            uintptr
 11591  		Ffd                  int32
 11592  		Fprivate2            int32
 11593  		Fproto_major_version int32
 11594  		Fproto_minor_version int32
 11595  		Fvendor              uintptr
 11596  		Fprivate3            XID
 11597  		Fprivate4            XID
 11598  		Fprivate5            XID
 11599  		Fprivate6            int32
 11600  		Fresource_alloc      uintptr
 11601  		Fbyte_order          int32
 11602  		Fbitmap_unit         int32
 11603  		Fbitmap_pad          int32
 11604  		Fbitmap_bit_order    int32
 11605  		Fnformats            int32
 11606  		Fpixmap_format       uintptr
 11607  		Fprivate8            int32
 11608  		Frelease             int32
 11609  		Fprivate9            uintptr
 11610  		Fprivate10           uintptr
 11611  		Fqlen                int32
 11612  		Flast_request_read   uint32
 11613  		Frequest             uint32
 11614  		Fprivate11           XPointer
 11615  		Fprivate12           XPointer
 11616  		Fprivate13           XPointer
 11617  		Fprivate14           XPointer
 11618  		Fmax_request_size    uint32
 11619  		Fdb                  uintptr
 11620  		Fprivate15           uintptr
 11621  		Fdisplay_name        uintptr
 11622  		Fdefault_screen      int32
 11623  		Fnscreens            int32
 11624  		Fscreens             uintptr
 11625  		Fmotion_buffer       uint32
 11626  		Fprivate16           uint32
 11627  		Fmin_keycode         int32
 11628  		Fmax_keycode         int32
 11629  		Fprivate17           XPointer
 11630  		Fprivate18           XPointer
 11631  		Fprivate19           int32
 11632  		Fxdefaults           uintptr
 11633  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))
 11634  
 11635  	len = ((int32(ncursor) * Sz_xAnimCursorElt) >> 2)
 11636  	if (uint32(int32((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 11637  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11638  			{
 11639  				// var _BRdat CARD32 at bp, 4
 11640  				var _BRlen CARD32 = (CARD32(int32((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) - 1))
 11641  				(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 11642  				*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 11643  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 11644  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 11645  				{
 11646  					if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 11647  						libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 11648  						*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 11649  					} else {
 11650  						x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 11651  					}
 11652  				}
 11653  
 11654  			}
 11655  		} else {
 11656  			len = len
 11657  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11658  		}
 11659  	} else {
 11660  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11661  	}
 11662  	len <<= 2
 11663  	{
 11664  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 11665  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, cursors, uint32(int32(len)))
 11666  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3)))
 11667  		} else {
 11668  			x11.X_XSend(tls, dpy, cursors, len)
 11669  		}
 11670  	}
 11671  
 11672  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11673  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 11674  	}
 11675  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11676  		(*struct {
 11677  			f func(*libc.TLS, uintptr) int32
 11678  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11679  	}
 11680  	return cid
 11681  }
 11682  
 11683  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11684  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11685  // except on WORD64 machines where it is 64 bits.
 11686  
 11687  // precompute the maximum size of batching request allowed
 11688  
 11689  func XXRenderFillRectangle(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, x int32, y int32, width uint32, height uint32) { /* FillRect.c:35:1: */
 11690  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11691  	var rect uintptr
 11692  	var req uintptr
 11693  
 11694  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11695  		return
 11696  	}
 11697  
 11698  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11699  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 11700  	}
 11701  
 11702  	req = (*Display)(unsafe.Pointer(dpy)).Flast_req
 11703  	// if same as previous request, with same drawable, batch requests
 11704  	if (((((((((int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType) == (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType) == X_RenderFillRectangles)) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop) == op)) && ((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst == dst)) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fred))) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fgreen))) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fblue))) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha) == int32((*XRenderColor1)(unsafe.Pointer(color)).Falpha))) && (((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(Sz_xRectangle)) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax)) && (((int32((*Display)(unsafe.Pointer(dpy)).Fbufptr) - int32(req)) / 1) < (Sz_xRenderFillRectanglesReq + (FRCTSPERBATCH * Sz_xRectangle))) {
 11705  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((int32(Sz_xRectangle) >> 2))
 11706  		rect = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 11707  		*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xRectangle))
 11708  	} else {
 11709  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), (uint32(Sz_xRenderFillRectanglesReq + Sz_xRectangle)))
 11710  
 11711  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11712  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles)
 11713  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 11714  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = dst
 11715  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred
 11716  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen
 11717  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue
 11718  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha
 11719  
 11720  		rect = ((req) + uintptr(1)*20)
 11721  	}
 11722  	(*XRectangle1)(unsafe.Pointer(rect)).Fx = INT16(x)
 11723  	(*XRectangle1)(unsafe.Pointer(rect)).Fy = INT16(y)
 11724  	(*XRectangle1)(unsafe.Pointer(rect)).Fwidth = CARD16(width)
 11725  	(*XRectangle1)(unsafe.Pointer(rect)).Fheight = CARD16(height)
 11726  
 11727  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11728  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 11729  	}
 11730  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11731  		(*struct {
 11732  			f func(*libc.TLS, uintptr) int32
 11733  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11734  	}
 11735  }
 11736  
 11737  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11738  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11739  // except on WORD64 machines where it is 64 bits.
 11740  
 11741  // precompute the maximum size of batching request allowed
 11742  
 11743  func XXRenderFillRectangles(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, rectangles uintptr, n_rects int32) { /* FillRects.c:35:1: */
 11744  	bp := tls.Alloc(4)
 11745  	defer tls.Free(4)
 11746  
 11747  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11748  	var req uintptr
 11749  	var len int32
 11750  	var n int32
 11751  
 11752  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11753  		return
 11754  	}
 11755  
 11756  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11757  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 11758  	}
 11759  
 11760  	for n_rects != 0 {
 11761  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), uint32(Sz_xRenderFillRectanglesReq))
 11762  
 11763  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11764  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles)
 11765  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 11766  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = dst
 11767  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred
 11768  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen
 11769  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue
 11770  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha
 11771  
 11772  		n = n_rects
 11773  		len = ((int32(n)) << 1)
 11774  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (uint32(len) > (uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)))) {
 11775  			n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) >> 1))
 11776  			len = ((int32(n)) << 1)
 11777  		}
 11778  		if (uint32(int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 11779  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11780  				{
 11781  					// var _BRdat CARD32 at bp, 4
 11782  					var _BRlen CARD32 = (CARD32(int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) - 1))
 11783  					(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 11784  					*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 11785  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 11786  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 11787  					{
 11788  						if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 11789  							libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 11790  							*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 11791  						} else {
 11792  							x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 11793  						}
 11794  					}
 11795  
 11796  				}
 11797  			} else {
 11798  				len = len
 11799  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11800  			}
 11801  		} else {
 11802  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11803  		}
 11804  		len <<= 2 /* watch out for macros... */
 11805  		{
 11806  			if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 11807  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rectangles, uint32(int32(len)))
 11808  				*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3)))
 11809  			} else {
 11810  				x11.X_XSend(tls, dpy, rectangles, len)
 11811  			}
 11812  		}
 11813  
 11814  		n_rects = n_rects - (n)
 11815  		rectangles += 8 * (uintptr(n))
 11816  	}
 11817  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11818  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 11819  	}
 11820  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11821  		(*struct {
 11822  			f func(*libc.TLS, uintptr) int32
 11823  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11824  	}
 11825  }
 11826  
 11827  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11828  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11829  // except on WORD64 machines where it is 64 bits.
 11830  
 11831  // Copyright (C) 1992-2020 Free Software Foundation, Inc.
 11832  //
 11833  // This file is part of GCC.
 11834  //
 11835  // GCC is free software; you can redistribute it and/or modify it under
 11836  // the terms of the GNU General Public License as published by the Free
 11837  // Software Foundation; either version 3, or (at your option) any later
 11838  // version.
 11839  //
 11840  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 11841  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 11842  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 11843  // for more details.
 11844  //
 11845  // Under Section 7 of GPL version 3, you are granted additional
 11846  // permissions described in the GCC Runtime Library Exception, version
 11847  // 3.1, as published by the Free Software Foundation.
 11848  //
 11849  // You should have received a copy of the GNU General Public License and
 11850  // a copy of the GCC Runtime Library Exception along with this program;
 11851  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 11852  // <http://www.gnu.org/licenses/>.
 11853  
 11854  // This administrivia gets added to the beginning of limits.h
 11855  //    if the system has its own version of limits.h.
 11856  
 11857  // We use _GCC_LIMITS_H_ because we want this not to match
 11858  //    any macros that the system's limits.h uses for its own purposes.
 11859  
 11860  // Use "..." so that we find syslimits.h only in this same directory.
 11861  // syslimits.h stands for the system's own limits.h file.
 11862  //    If we can use it ok unmodified, then we install this text.
 11863  //    If fixincludes fixes it, then the fixed version is installed
 11864  //    instead of this text.
 11865  
 11866  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 11867  //    This file is part of the GNU C Library.
 11868  //
 11869  //    The GNU C Library is free software; you can redistribute it and/or
 11870  //    modify it under the terms of the GNU Lesser General Public
 11871  //    License as published by the Free Software Foundation; either
 11872  //    version 2.1 of the License, or (at your option) any later version.
 11873  //
 11874  //    The GNU C Library is distributed in the hope that it will be useful,
 11875  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 11876  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 11877  //    Lesser General Public License for more details.
 11878  //
 11879  //    You should have received a copy of the GNU Lesser General Public
 11880  //    License along with the GNU C Library; if not, see
 11881  //    <https://www.gnu.org/licenses/>.
 11882  
 11883  //	ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types	<limits.h>
 11884  
 11885  // Handle feature test macros at the start of a header.
 11886  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
 11887  //    This file is part of the GNU C Library.
 11888  //
 11889  //    The GNU C Library is free software; you can redistribute it and/or
 11890  //    modify it under the terms of the GNU Lesser General Public
 11891  //    License as published by the Free Software Foundation; either
 11892  //    version 2.1 of the License, or (at your option) any later version.
 11893  //
 11894  //    The GNU C Library is distributed in the hope that it will be useful,
 11895  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 11896  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 11897  //    Lesser General Public License for more details.
 11898  //
 11899  //    You should have received a copy of the GNU Lesser General Public
 11900  //    License along with the GNU C Library; if not, see
 11901  //    <https://www.gnu.org/licenses/>.
 11902  
 11903  // This header is internal to glibc and should not be included outside
 11904  //    of glibc headers.  Headers including it must define
 11905  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
 11906  //    cannot have multiple include guards because ISO C feature test
 11907  //    macros depend on the definition of the macro when an affected
 11908  //    header is included, not when the first system header is
 11909  //    included.
 11910  
 11911  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 11912  //    This file is part of the GNU C Library.
 11913  //
 11914  //    The GNU C Library is free software; you can redistribute it and/or
 11915  //    modify it under the terms of the GNU Lesser General Public
 11916  //    License as published by the Free Software Foundation; either
 11917  //    version 2.1 of the License, or (at your option) any later version.
 11918  //
 11919  //    The GNU C Library is distributed in the hope that it will be useful,
 11920  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 11921  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 11922  //    Lesser General Public License for more details.
 11923  //
 11924  //    You should have received a copy of the GNU Lesser General Public
 11925  //    License along with the GNU C Library; if not, see
 11926  //    <https://www.gnu.org/licenses/>.
 11927  
 11928  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
 11929  //    macro.
 11930  
 11931  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
 11932  //    macro.  Most but not all symbols enabled by that macro in TS
 11933  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
 11934  //    still require that macro in C2X.
 11935  
 11936  // ISO/IEC TS 18661-4:2015 defines the
 11937  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
 11938  //    functions, the symbols from this TS are enabled unconditionally in
 11939  //    C2X.
 11940  
 11941  // ISO/IEC TS 18661-3:2015 defines the
 11942  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
 11943  
 11944  // Maximum length of any multibyte character in any locale.
 11945  //    We define this value here since the gcc header does not define
 11946  //    the correct value.
 11947  
 11948  // If we are not using GNU CC we have to define all the symbols ourself.
 11949  //    Otherwise use gcc's definitions (see below).
 11950  
 11951  // Get the compiler's limits.h, which defines almost all the ISO constants.
 11952  //
 11953  //     We put this #include_next outside the double inclusion check because
 11954  //     it should be possible to include this file more than once and still get
 11955  //     the definitions from gcc's header.
 11956  
 11957  // The <limits.h> files in some gcc versions don't define LLONG_MIN,
 11958  //    LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for
 11959  //    ages are available.
 11960  
 11961  // The integer width macros are not defined by GCC's <limits.h> before
 11962  //    GCC 7, or if _GNU_SOURCE rather than
 11963  //    __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
 11964  
 11965  // POSIX adds things to <limits.h>.
 11966  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 11967  //    This file is part of the GNU C Library.
 11968  //
 11969  //    The GNU C Library is free software; you can redistribute it and/or
 11970  //    modify it under the terms of the GNU Lesser General Public
 11971  //    License as published by the Free Software Foundation; either
 11972  //    version 2.1 of the License, or (at your option) any later version.
 11973  //
 11974  //    The GNU C Library is distributed in the hope that it will be useful,
 11975  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 11976  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 11977  //    Lesser General Public License for more details.
 11978  //
 11979  //    You should have received a copy of the GNU Lesser General Public
 11980  //    License along with the GNU C Library; if not, see
 11981  //    <https://www.gnu.org/licenses/>.
 11982  
 11983  //	POSIX Standard: 2.9.2 Minimum Values	Added to <limits.h>
 11984  //
 11985  //	Never include this file directly; use <limits.h> instead.
 11986  
 11987  // Determine the wordsize from the preprocessor defines.
 11988  
 11989  // These are the standard-mandated minimum values.
 11990  
 11991  // Minimum number of operations in one list I/O call.
 11992  
 11993  // Minimal number of outstanding asynchronous I/O operations.
 11994  
 11995  // Maximum length of arguments to `execve', including environment.
 11996  
 11997  // Maximum simultaneous processes per real user ID.
 11998  
 11999  // Minimal number of timer expiration overruns.
 12000  
 12001  // Maximum length of a host name (not including the terminating null)
 12002  //    as returned from the GETHOSTNAME function.
 12003  
 12004  // Maximum link count of a file.
 12005  
 12006  // Maximum length of login name.
 12007  
 12008  // Number of bytes in a terminal canonical input queue.
 12009  
 12010  // Number of bytes for which space will be
 12011  //    available in a terminal input queue.
 12012  
 12013  // Maximum number of message queues open for a process.
 12014  
 12015  // Maximum number of supported message priorities.
 12016  
 12017  // Number of bytes in a filename.
 12018  
 12019  // Number of simultaneous supplementary group IDs per process.
 12020  
 12021  // Number of files one process can have open at once.
 12022  
 12023  // Number of bytes in a pathname.
 12024  
 12025  // Number of bytes than can be written atomically to a pipe.
 12026  
 12027  // The number of repeated occurrences of a BRE permitted by the
 12028  //    REGEXEC and REGCOMP functions when using the interval notation.
 12029  
 12030  // Minimal number of realtime signals reserved for the application.
 12031  
 12032  // Number of semaphores a process can have.
 12033  
 12034  // Maximal value of a semaphore.
 12035  
 12036  // Number of pending realtime signals.
 12037  
 12038  // Largest value of a `ssize_t'.
 12039  
 12040  // Number of streams a process can have open at once.
 12041  
 12042  // The number of bytes in a symbolic link.
 12043  
 12044  // The number of symbolic links that can be traversed in the
 12045  //    resolution of a pathname in the absence of a loop.
 12046  
 12047  // Number of timer for a process.
 12048  
 12049  // Maximum number of characters in a tty name.
 12050  
 12051  // Maximum length of a timezone name (element of `tzname').
 12052  
 12053  // Maximum clock resolution in nanoseconds.
 12054  
 12055  // Get the implementation-specific values for the above.
 12056  // Minimum guaranteed maximum values for system limits.  Linux version.
 12057  //    Copyright (C) 1993-2020 Free Software Foundation, Inc.
 12058  //    This file is part of the GNU C Library.
 12059  //
 12060  //    The GNU C Library is free software; you can redistribute it and/or
 12061  //    modify it under the terms of the GNU Lesser General Public License as
 12062  //    published by the Free Software Foundation; either version 2.1 of the
 12063  //    License, or (at your option) any later version.
 12064  //
 12065  //    The GNU C Library is distributed in the hope that it will be useful,
 12066  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12067  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12068  //    Lesser General Public License for more details.
 12069  //
 12070  //    You should have received a copy of the GNU Lesser General Public
 12071  //    License along with the GNU C Library; see the file COPYING.LIB.  If
 12072  //    not, see <https://www.gnu.org/licenses/>.
 12073  
 12074  // The kernel header pollutes the namespace with the NR_OPEN symbol
 12075  //    and defines LINK_MAX although filesystems have different maxima.  A
 12076  //    similar thing is true for OPEN_MAX: the limit can be changed at
 12077  //    runtime and therefore the macro must not be defined.  Remove this
 12078  //    after including the header if necessary.
 12079  
 12080  // The kernel sources contain a file with all the needed information.
 12081  // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
 12082  
 12083  // Have to remove NR_OPEN?
 12084  // Have to remove LINK_MAX?
 12085  // Have to remove OPEN_MAX?
 12086  // Have to remove ARG_MAX?
 12087  
 12088  // The number of data keys per process.
 12089  // This is the value this implementation supports.
 12090  
 12091  // Controlling the iterations of destructors for thread-specific data.
 12092  // Number of iterations this implementation does.
 12093  
 12094  // The number of threads per process.
 12095  // We have no predefined limit on the number of threads.
 12096  
 12097  // Maximum amount by which a process can descrease its asynchronous I/O
 12098  //    priority level.
 12099  
 12100  // Minimum size for a thread.  We are free to choose a reasonable value.
 12101  
 12102  // Maximum number of timer expiration overruns.
 12103  
 12104  // Maximum tty name length.
 12105  
 12106  // Maximum login name length.  This is arbitrary.
 12107  
 12108  // Maximum host name length.
 12109  
 12110  // Maximum message queue priority level.
 12111  
 12112  // Maximum value the semaphore can have.
 12113  
 12114  // ssize_t is not formally required to be the signed type
 12115  //    corresponding to size_t, but it is for all configurations supported
 12116  //    by glibc.
 12117  
 12118  // This value is a guaranteed minimum maximum.
 12119  //    The current maximum can be got from `sysconf'.
 12120  
 12121  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 12122  //    This file is part of the GNU C Library.
 12123  //
 12124  //    The GNU C Library is free software; you can redistribute it and/or
 12125  //    modify it under the terms of the GNU Lesser General Public
 12126  //    License as published by the Free Software Foundation; either
 12127  //    version 2.1 of the License, or (at your option) any later version.
 12128  //
 12129  //    The GNU C Library is distributed in the hope that it will be useful,
 12130  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12131  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12132  //    Lesser General Public License for more details.
 12133  //
 12134  //    You should have received a copy of the GNU Lesser General Public
 12135  //    License along with the GNU C Library; if not, see
 12136  //    <https://www.gnu.org/licenses/>.
 12137  
 12138  // Never include this file directly; include <limits.h> instead.
 12139  
 12140  // The maximum `ibase' and `obase' values allowed by the `bc' utility.
 12141  
 12142  // The maximum number of elements allowed in an array by the `bc' utility.
 12143  
 12144  // The maximum `scale' value allowed by the `bc' utility.
 12145  
 12146  // The maximum length of a string constant accepted by the `bc' utility.
 12147  
 12148  // The maximum number of weights that can be assigned to an entry of
 12149  //    the LC_COLLATE `order' keyword in the locale definition file.
 12150  
 12151  // The maximum number of expressions that can be nested
 12152  //    within parentheses by the `expr' utility.
 12153  
 12154  // The maximum length, in bytes, of an input line.
 12155  
 12156  // The maximum number of repeated occurrences of a regular expression
 12157  //    permitted when using the interval notation `\{M,N\}'.
 12158  
 12159  // The maximum number of bytes in a character class name.  We have no
 12160  //    fixed limit, 2048 is a high number.
 12161  
 12162  // These values are implementation-specific,
 12163  //    and may vary within the implementation.
 12164  //    Their precise values can be obtained from sysconf.
 12165  
 12166  // This value is defined like this in regex.h.
 12167  
 12168  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 12169  //
 12170  // This file is part of GCC.
 12171  //
 12172  // GCC is free software; you can redistribute it and/or modify it under
 12173  // the terms of the GNU General Public License as published by the Free
 12174  // Software Foundation; either version 3, or (at your option) any later
 12175  // version.
 12176  //
 12177  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 12178  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 12179  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 12180  // for more details.
 12181  //
 12182  // Under Section 7 of GPL version 3, you are granted additional
 12183  // permissions described in the GCC Runtime Library Exception, version
 12184  // 3.1, as published by the Free Software Foundation.
 12185  //
 12186  // You should have received a copy of the GNU General Public License and
 12187  // a copy of the GCC Runtime Library Exception along with this program;
 12188  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 12189  // <http://www.gnu.org/licenses/>.
 12190  
 12191  // Number of bits in a `char'.
 12192  
 12193  // Maximum length of a multibyte character.
 12194  
 12195  // Minimum and maximum values a `signed char' can hold.
 12196  
 12197  // Maximum value an `unsigned char' can hold.  (Minimum is 0).
 12198  
 12199  // Minimum and maximum values a `char' can hold.
 12200  
 12201  // Minimum and maximum values a `signed short int' can hold.
 12202  
 12203  // Maximum value an `unsigned short int' can hold.  (Minimum is 0).
 12204  
 12205  // Minimum and maximum values a `signed int' can hold.
 12206  
 12207  // Maximum value an `unsigned int' can hold.  (Minimum is 0).
 12208  
 12209  // Minimum and maximum values a `signed long int' can hold.
 12210  //    (Same as `int').
 12211  
 12212  // Maximum value an `unsigned long int' can hold.  (Minimum is 0).
 12213  
 12214  // Minimum and maximum values a `signed long long int' can hold.
 12215  
 12216  // Maximum value an `unsigned long long int' can hold.  (Minimum is 0).
 12217  
 12218  // This administrivia gets added to the end of limits.h
 12219  //    if the system has its own version of limits.h.
 12220  
 12221  func XXRenderQueryFilters(tls *libc.TLS, dpy uintptr, drawable Drawable) uintptr { /* Filter.c:30:10: */
 12222  	bp := tls.Alloc(33)
 12223  	defer tls.Free(33)
 12224  
 12225  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12226  	var xri uintptr
 12227  	var req uintptr
 12228  	// var rep XRenderQueryFiltersReply at bp, 32
 12229  
 12230  	var filters uintptr
 12231  	var name uintptr
 12232  	// var len int8 at bp+32, 1
 12233  
 12234  	var i int32
 12235  	var nbytes uint32
 12236  	var nbytesAlias uint32
 12237  	var nbytesName uint32
 12238  	var reply_left uint32
 12239  
 12240  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12241  		return uintptr(0)
 12242  	}
 12243  
 12244  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 12245  		return uintptr(0)
 12246  	}
 12247  
 12248  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 12249  	if (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version < 6 {
 12250  		return uintptr(0)
 12251  	}
 12252  
 12253  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12254  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 12255  	}
 12256  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryFilters), uint32(Sz_xRenderQueryFiltersReq))
 12257  	(*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12258  	(*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryFilters)
 12259  	(*XRenderQueryFiltersReq)(unsafe.Pointer(req)).Fdrawable = drawable
 12260  	if !(x11.X_XReply(tls, dpy, bp /* &rep */, 0, XFalse) != 0) {
 12261  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12262  			(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12263  		}
 12264  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12265  			(*struct {
 12266  				f func(*libc.TLS, uintptr) int32
 12267  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12268  		}
 12269  		return uintptr(0)
 12270  	}
 12271  
 12272  	// Limit each component of combined size to 1/4 the max, which is far
 12273  	// more than they should ever possibly need.
 12274  	if (((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) && ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(uintptr(0)))))) && ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(int16(0))))) {
 12275  		// Compute total number of bytes for filter names
 12276  		nbytes = ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength << 2)
 12277  		nbytesAlias = ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases * CARD32(2))
 12278  		if ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases & CARD32(1)) != 0 {
 12279  			nbytesAlias = nbytesAlias + (uint32(2))
 12280  		}
 12281  		nbytesName = (nbytes - nbytesAlias)
 12282  
 12283  		// Allocate one giant block for the whole data structure
 12284  		filters = libc.Xmalloc(tls, func() uint32 {
 12285  			if (((CARD32(unsafe.Sizeof(XFilters{})) + ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters * CARD32(unsafe.Sizeof(uintptr(0))))) + ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases * CARD32(unsafe.Sizeof(int16(0))))) + nbytesName) == CARD32(0) {
 12286  				return uint32(1)
 12287  			}
 12288  			return (uint32(((CARD32(unsafe.Sizeof(XFilters{})) + ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters * CARD32(unsafe.Sizeof(uintptr(0))))) + ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases * CARD32(unsafe.Sizeof(int16(0))))) + nbytesName))
 12289  		}())
 12290  	} else {
 12291  		filters = uintptr(0)
 12292  	}
 12293  
 12294  	if !(filters != 0) {
 12295  		x11.X_XEatDataWords(tls, dpy, (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength)
 12296  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12297  			(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12298  		}
 12299  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12300  			(*struct {
 12301  				f func(*libc.TLS, uintptr) int32
 12302  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12303  		}
 12304  		return uintptr(0)
 12305  	}
 12306  
 12307  	// Layout:
 12308  	//	XFilters
 12309  	//	numFilters  char * pointers to filter names
 12310  	//	numAliases  short alias values
 12311  	//	nbytesName  char strings
 12312  
 12313  	(*XFilters)(unsafe.Pointer(filters)).Fnfilter = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters)
 12314  	(*XFilters)(unsafe.Pointer(filters)).Fnalias = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)
 12315  	(*XFilters)(unsafe.Pointer(filters)).Ffilter = (filters + uintptr(1)*16)
 12316  	(*XFilters)(unsafe.Pointer(filters)).Falias = ((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters)*4)
 12317  	name = ((*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)*2)
 12318  
 12319  	// Read the filter aliases
 12320  	x11.X_XReadPad(tls, dpy, (*XFilters)(unsafe.Pointer(filters)).Falias, (int32(CARD32(2) * (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)))
 12321  	reply_left = ((CARD32(8) + (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength) - (CARD32(2) * (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases))
 12322  
 12323  	// Read the filter names
 12324  	for i = 0; CARD32(i) < (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters; i++ {
 12325  		var l int32
 12326  		x11.X_XRead(tls, dpy, bp+32 /* &len */, 1)
 12327  		reply_left--
 12328  		l = (int32(*(*int8)(unsafe.Pointer(bp + 32 /* len */))) & 0xff)
 12329  		if (uint32(l) + uint32(1)) > nbytesName {
 12330  			x11.X_XEatDataWords(tls, dpy, reply_left)
 12331  			libc.Xfree(tls, filters)
 12332  			if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12333  				(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12334  			}
 12335  			if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12336  				(*struct {
 12337  					f func(*libc.TLS, uintptr) int32
 12338  				})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12339  			}
 12340  			return uintptr(0)
 12341  		}
 12342  		nbytesName = nbytesName - (uint32(l + 1))
 12343  		*(*uintptr)(unsafe.Pointer((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr(i)*4)) = name
 12344  		x11.X_XRead(tls, dpy, name, int32(l))
 12345  		reply_left = reply_left - (uint32(l))
 12346  		*(*int8)(unsafe.Pointer(name + uintptr(l))) = int8(0)
 12347  		name += (uintptr(l + 1))
 12348  	}
 12349  	i = ((int32(name) - int32(((*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)*2))) / 1)
 12350  
 12351  	if (i & 3) != 0 {
 12352  		x11.X_XEatData(tls, dpy, (uint32(4 - (i & 3))))
 12353  	}
 12354  
 12355  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12356  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12357  	}
 12358  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12359  		(*struct {
 12360  			f func(*libc.TLS, uintptr) int32
 12361  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12362  	}
 12363  	return filters
 12364  }
 12365  
 12366  func XXRenderSetPictureFilter(tls *libc.TLS, dpy uintptr, picture Picture, filter uintptr, params uintptr, nparams int32) { /* Filter.c:153:1: */
 12367  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12368  	var req uintptr
 12369  	var nbytes int32 = int32(libc.Xstrlen(tls, filter))
 12370  
 12371  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12372  		return
 12373  	}
 12374  
 12375  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12376  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 12377  	}
 12378  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureFilter), uint32(Sz_xRenderSetPictureFilterReq))
 12379  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12380  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureFilter)
 12381  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fpicture = picture
 12382  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fnbytes = CARD16(nbytes)
 12383  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((((nbytes + 3) >> 2) + nparams))
 12384  	{
 12385  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12386  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, filter, uint32(nbytes))
 12387  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nbytes) + 3) & libc.CplInt32(3)))
 12388  		} else {
 12389  			x11.X_XSend(tls, dpy, filter, int32(nbytes))
 12390  		}
 12391  	}
 12392  
 12393  	{
 12394  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nparams << 2))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12395  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, params, uint32((nparams << 2)))
 12396  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nparams << 2) + 3) & libc.CplInt32(3)))
 12397  		} else {
 12398  			x11.X_XSend(tls, dpy, params, (int32(nparams << 2)))
 12399  		}
 12400  	}
 12401  
 12402  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12403  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12404  	}
 12405  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12406  		(*struct {
 12407  			f func(*libc.TLS, uintptr) int32
 12408  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12409  	}
 12410  }
 12411  
 12412  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 12413  // matters on alpha.  Note that this macro assumes that int is 32 bits
 12414  // except on WORD64 machines where it is 64 bits.
 12415  
 12416  func XXRenderCreateGlyphSet(tls *libc.TLS, dpy uintptr, format uintptr) GlyphSet { /* Glyph.c:31:1: */
 12417  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12418  	var gsid GlyphSet
 12419  	var req uintptr
 12420  
 12421  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12422  		return GlyphSet(0)
 12423  	}
 12424  
 12425  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12426  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 12427  	}
 12428  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateGlyphSet), uint32(Sz_xRenderCreateGlyphSetReq))
 12429  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12430  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateGlyphSet)
 12431  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fgsid = libc.AssignUint32(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 12432  		Fext_data            uintptr
 12433  		Fprivate1            uintptr
 12434  		Ffd                  int32
 12435  		Fprivate2            int32
 12436  		Fproto_major_version int32
 12437  		Fproto_minor_version int32
 12438  		Fvendor              uintptr
 12439  		Fprivate3            XID
 12440  		Fprivate4            XID
 12441  		Fprivate5            XID
 12442  		Fprivate6            int32
 12443  		Fresource_alloc      uintptr
 12444  		Fbyte_order          int32
 12445  		Fbitmap_unit         int32
 12446  		Fbitmap_pad          int32
 12447  		Fbitmap_bit_order    int32
 12448  		Fnformats            int32
 12449  		Fpixmap_format       uintptr
 12450  		Fprivate8            int32
 12451  		Frelease             int32
 12452  		Fprivate9            uintptr
 12453  		Fprivate10           uintptr
 12454  		Fqlen                int32
 12455  		Flast_request_read   uint32
 12456  		Frequest             uint32
 12457  		Fprivate11           XPointer
 12458  		Fprivate12           XPointer
 12459  		Fprivate13           XPointer
 12460  		Fprivate14           XPointer
 12461  		Fmax_request_size    uint32
 12462  		Fdb                  uintptr
 12463  		Fprivate15           uintptr
 12464  		Fdisplay_name        uintptr
 12465  		Fdefault_screen      int32
 12466  		Fnscreens            int32
 12467  		Fscreens             uintptr
 12468  		Fmotion_buffer       uint32
 12469  		Fprivate16           uint32
 12470  		Fmin_keycode         int32
 12471  		Fmax_keycode         int32
 12472  		Fprivate17           XPointer
 12473  		Fprivate18           XPointer
 12474  		Fprivate19           int32
 12475  		Fxdefaults           uintptr
 12476  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))
 12477  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fformat = (*XRenderPictFormat)(unsafe.Pointer(format)).Fid
 12478  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12479  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12480  	}
 12481  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12482  		(*struct {
 12483  			f func(*libc.TLS, uintptr) int32
 12484  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12485  	}
 12486  	return gsid
 12487  }
 12488  
 12489  func XXRenderReferenceGlyphSet(tls *libc.TLS, dpy uintptr, existing GlyphSet) GlyphSet { /* Glyph.c:50:1: */
 12490  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12491  	var gsid GlyphSet
 12492  	var req uintptr
 12493  
 12494  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12495  		return GlyphSet(0)
 12496  	}
 12497  
 12498  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12499  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 12500  	}
 12501  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderReferenceGlyphSet), uint32(Sz_xRenderReferenceGlyphSetReq))
 12502  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12503  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderReferenceGlyphSet)
 12504  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fgsid = libc.AssignUint32(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 12505  		Fext_data            uintptr
 12506  		Fprivate1            uintptr
 12507  		Ffd                  int32
 12508  		Fprivate2            int32
 12509  		Fproto_major_version int32
 12510  		Fproto_minor_version int32
 12511  		Fvendor              uintptr
 12512  		Fprivate3            XID
 12513  		Fprivate4            XID
 12514  		Fprivate5            XID
 12515  		Fprivate6            int32
 12516  		Fresource_alloc      uintptr
 12517  		Fbyte_order          int32
 12518  		Fbitmap_unit         int32
 12519  		Fbitmap_pad          int32
 12520  		Fbitmap_bit_order    int32
 12521  		Fnformats            int32
 12522  		Fpixmap_format       uintptr
 12523  		Fprivate8            int32
 12524  		Frelease             int32
 12525  		Fprivate9            uintptr
 12526  		Fprivate10           uintptr
 12527  		Fqlen                int32
 12528  		Flast_request_read   uint32
 12529  		Frequest             uint32
 12530  		Fprivate11           XPointer
 12531  		Fprivate12           XPointer
 12532  		Fprivate13           XPointer
 12533  		Fprivate14           XPointer
 12534  		Fmax_request_size    uint32
 12535  		Fdb                  uintptr
 12536  		Fprivate15           uintptr
 12537  		Fdisplay_name        uintptr
 12538  		Fdefault_screen      int32
 12539  		Fnscreens            int32
 12540  		Fscreens             uintptr
 12541  		Fmotion_buffer       uint32
 12542  		Fprivate16           uint32
 12543  		Fmin_keycode         int32
 12544  		Fmax_keycode         int32
 12545  		Fprivate17           XPointer
 12546  		Fprivate18           XPointer
 12547  		Fprivate19           int32
 12548  		Fxdefaults           uintptr
 12549  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))
 12550  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fexisting = existing
 12551  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12552  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12553  	}
 12554  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12555  		(*struct {
 12556  			f func(*libc.TLS, uintptr) int32
 12557  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12558  	}
 12559  	return gsid
 12560  }
 12561  
 12562  func XXRenderFreeGlyphSet(tls *libc.TLS, dpy uintptr, glyphset GlyphSet) { /* Glyph.c:69:1: */
 12563  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12564  	var req uintptr
 12565  
 12566  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12567  		return
 12568  	}
 12569  
 12570  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12571  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 12572  	}
 12573  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphSet), uint32(Sz_xRenderFreeGlyphSetReq))
 12574  	(*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12575  	(*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphSet)
 12576  	(*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).Fglyphset = glyphset
 12577  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12578  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12579  	}
 12580  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12581  		(*struct {
 12582  			f func(*libc.TLS, uintptr) int32
 12583  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12584  	}
 12585  }
 12586  
 12587  func XXRenderAddGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, glyphs uintptr, nglyphs int32, images uintptr, nbyte_images int32) { /* Glyph.c:85:1: */
 12588  	bp := tls.Alloc(4)
 12589  	defer tls.Free(4)
 12590  
 12591  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12592  	var req uintptr
 12593  	var len int32
 12594  
 12595  	if (nbyte_images & 3) != 0 {
 12596  		nbyte_images = nbyte_images + (4 - (nbyte_images & 3))
 12597  	}
 12598  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12599  		return
 12600  	}
 12601  
 12602  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12603  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 12604  	}
 12605  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddGlyphs), uint32(Sz_xRenderAddGlyphsReq))
 12606  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12607  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddGlyphs)
 12608  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fglyphset = glyphset
 12609  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fnglyphs = CARD32(nglyphs)
 12610  	len = (int32(((nglyphs * (Sz_xGlyphInfo + 4)) + nbyte_images) >> 2))
 12611  	if (uint32(int32((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 12612  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 12613  			{
 12614  				// var _BRdat CARD32 at bp, 4
 12615  				var _BRlen CARD32 = (CARD32(int32((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) - 1))
 12616  				(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 12617  				*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 12618  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 12619  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 12620  				{
 12621  					if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 12622  						libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 12623  						*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 12624  					} else {
 12625  						x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 12626  					}
 12627  				}
 12628  
 12629  			}
 12630  		} else {
 12631  			len = len
 12632  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 12633  		}
 12634  	} else {
 12635  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 12636  	}
 12637  	{
 12638  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nglyphs * 4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 12639  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, gids, uint32((nglyphs * 4)))
 12640  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nglyphs * 4) + 3) & libc.CplInt32(3)))
 12641  		} else {
 12642  			x11.X_XSend(tls, dpy, gids, (int32(nglyphs * 4)))
 12643  		}
 12644  	}
 12645  
 12646  	{
 12647  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nglyphs * Sz_xGlyphInfo))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 12648  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, glyphs, uint32((nglyphs * Sz_xGlyphInfo)))
 12649  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nglyphs * Sz_xGlyphInfo) + 3) & libc.CplInt32(3)))
 12650  		} else {
 12651  			x11.X_XSend(tls, dpy, glyphs, (int32(nglyphs * Sz_xGlyphInfo)))
 12652  		}
 12653  	}
 12654  
 12655  	{
 12656  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbyte_images))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12657  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, images, uint32(nbyte_images))
 12658  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nbyte_images) + 3) & libc.CplInt32(3)))
 12659  		} else {
 12660  			x11.X_XSend(tls, dpy, images, int32(nbyte_images))
 12661  		}
 12662  	}
 12663  
 12664  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12665  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12666  	}
 12667  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12668  		(*struct {
 12669  			f func(*libc.TLS, uintptr) int32
 12670  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12671  	}
 12672  }
 12673  
 12674  func XXRenderFreeGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, nglyphs int32) { /* Glyph.c:116:1: */
 12675  	bp := tls.Alloc(4)
 12676  	defer tls.Free(4)
 12677  
 12678  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12679  	var req uintptr
 12680  	var len int32
 12681  
 12682  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12683  		return
 12684  	}
 12685  
 12686  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12687  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 12688  	}
 12689  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphs), uint32(Sz_xRenderFreeGlyphsReq))
 12690  	(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12691  	(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphs)
 12692  	(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Fglyphset = glyphset
 12693  	len = int32(nglyphs)
 12694  	if (uint32(int32((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 12695  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 12696  			{
 12697  				// var _BRdat CARD32 at bp, 4
 12698  				var _BRlen CARD32 = (CARD32(int32((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) - 1))
 12699  				(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 12700  				*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 12701  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 12702  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 12703  				{
 12704  					if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 12705  						libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 12706  						*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 12707  					} else {
 12708  						x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 12709  					}
 12710  				}
 12711  
 12712  			}
 12713  		} else {
 12714  			len = len
 12715  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 12716  		}
 12717  	} else {
 12718  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 12719  	}
 12720  	len <<= 2
 12721  	{
 12722  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 12723  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, gids, uint32(int32(len)))
 12724  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3)))
 12725  		} else {
 12726  			x11.X_XSend(tls, dpy, gids, len)
 12727  		}
 12728  	}
 12729  
 12730  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12731  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12732  	}
 12733  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12734  		(*struct {
 12735  			f func(*libc.TLS, uintptr) int32
 12736  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12737  	}
 12738  }
 12739  
 12740  func XXRenderCompositeString8(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:140:1: */
 12741  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12742  	var req uintptr
 12743  	var len int32
 12744  	var elt uintptr
 12745  	var nbytes int32
 12746  
 12747  	if !(nchar != 0) {
 12748  		return
 12749  	}
 12750  
 12751  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12752  		return
 12753  	}
 12754  
 12755  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12756  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 12757  	}
 12758  
 12759  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint32(Sz_xRenderCompositeGlyphs8Req))
 12760  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12761  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8)
 12762  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 12763  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src
 12764  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst
 12765  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 12766  		if maskFormat != 0 {
 12767  			return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
 12768  		}
 12769  		return uint32(None)
 12770  	}()
 12771  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset
 12772  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 12773  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 12774  
 12775  	// xGlyphElt must be aligned on a 32-bit boundary; this is
 12776  	// easily done by filling no more than 252 glyphs in each
 12777  	// bucket
 12778  
 12779  	len = (int32((Sz_xGlyphElt * (((nchar + 252) - 1) / 252)) + nchar))
 12780  
 12781  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + 3) >> 2)) // convert to number of 32-bit words
 12782  
 12783  	// If the entire request does not fit into the remaining space in the
 12784  	// buffer, flush the buffer first.
 12785  
 12786  	if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12787  		x11.X_XFlush(tls, dpy)
 12788  	}
 12789  
 12790  	for nchar > 252 {
 12791  		nbytes = (252 + Sz_xGlyphElt)
 12792  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12793  			x11.X_XFlush(tls, dpy)
 12794  		}
 12795  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 12796  		libc.Xmemset(tls, elt, 0, uint32(nbytes))
 12797  		*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes))
 12798  
 12799  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(252)
 12800  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 12801  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 12802  		xDst = 0
 12803  		yDst = 0
 12804  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, uint32(252))
 12805  		nchar = (nchar - 252)
 12806  		string += uintptr(252)
 12807  	}
 12808  
 12809  	if nchar != 0 {
 12810  		nbytes = (((nchar + Sz_xGlyphElt) + 3) & libc.CplInt32(3))
 12811  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12812  			x11.X_XFlush(tls, dpy)
 12813  		}
 12814  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 12815  		libc.Xmemset(tls, elt, 0, uint32(nbytes))
 12816  		*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes))
 12817  
 12818  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar)
 12819  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 12820  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 12821  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, uint32(nchar))
 12822  	}
 12823  
 12824  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12825  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12826  	}
 12827  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12828  		(*struct {
 12829  			f func(*libc.TLS, uintptr) int32
 12830  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12831  	}
 12832  }
 12833  
 12834  func XXRenderCompositeString16(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:225:1: */
 12835  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12836  	var req uintptr
 12837  	var len int32
 12838  	var elt uintptr
 12839  	var nbytes int32
 12840  
 12841  	if !(nchar != 0) {
 12842  		return
 12843  	}
 12844  
 12845  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12846  		return
 12847  	}
 12848  
 12849  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12850  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 12851  	}
 12852  
 12853  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint32(Sz_xRenderCompositeGlyphs16Req))
 12854  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12855  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16)
 12856  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 12857  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src
 12858  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst
 12859  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 12860  		if maskFormat != 0 {
 12861  			return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
 12862  		}
 12863  		return uint32(None)
 12864  	}()
 12865  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset
 12866  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 12867  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 12868  
 12869  	len = (int32((Sz_xGlyphElt * (((nchar + 254) - 1) / 254)) + (nchar * 2)))
 12870  
 12871  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + 3) >> 2)) // convert to number of 32-bit words
 12872  
 12873  	// If the entire request does not fit into the remaining space in the
 12874  	// buffer, flush the buffer first.
 12875  
 12876  	if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12877  		x11.X_XFlush(tls, dpy)
 12878  	}
 12879  
 12880  	for nchar > 254 {
 12881  		nbytes = ((254 * 2) + Sz_xGlyphElt)
 12882  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12883  			x11.X_XFlush(tls, dpy)
 12884  		}
 12885  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 12886  		libc.Xmemset(tls, elt, 0, uint32(nbytes))
 12887  		*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes))
 12888  
 12889  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254)
 12890  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 12891  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 12892  		xDst = 0
 12893  		yDst = 0
 12894  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint32(254 * 2)))
 12895  		nchar = (nchar - 254)
 12896  		string += 2 * (uintptr(254))
 12897  	}
 12898  
 12899  	if nchar != 0 {
 12900  		nbytes = ((((nchar * 2) + Sz_xGlyphElt) + 3) & libc.CplInt32(3))
 12901  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12902  			x11.X_XFlush(tls, dpy)
 12903  		}
 12904  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 12905  		libc.Xmemset(tls, elt, 0, uint32(nbytes))
 12906  		*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes))
 12907  
 12908  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar)
 12909  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 12910  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 12911  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint32(nchar * 2)))
 12912  	}
 12913  
 12914  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12915  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 12916  	}
 12917  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12918  		(*struct {
 12919  			f func(*libc.TLS, uintptr) int32
 12920  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12921  	}
 12922  }
 12923  
 12924  func XXRenderCompositeString32(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:305:1: */
 12925  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12926  	var req uintptr
 12927  	var len int32
 12928  	var elt uintptr
 12929  	var nbytes int32
 12930  
 12931  	if !(nchar != 0) {
 12932  		return
 12933  	}
 12934  
 12935  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12936  		return
 12937  	}
 12938  
 12939  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12940  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 12941  	}
 12942  
 12943  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint32(Sz_xRenderCompositeGlyphs32Req))
 12944  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12945  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32)
 12946  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 12947  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src
 12948  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst
 12949  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 12950  		if maskFormat != 0 {
 12951  			return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
 12952  		}
 12953  		return uint32(None)
 12954  	}()
 12955  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset
 12956  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 12957  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 12958  
 12959  	len = (int32((Sz_xGlyphElt * (((nchar + 254) - 1) / 254)) + (nchar * 4)))
 12960  
 12961  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + 3) >> 2)) // convert to number of 32-bit words
 12962  
 12963  	// If the entire request does not fit into the remaining space in the
 12964  	// buffer, flush the buffer first.
 12965  
 12966  	if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12967  		x11.X_XFlush(tls, dpy)
 12968  	}
 12969  
 12970  	for nchar > 254 {
 12971  		nbytes = ((254 * 4) + Sz_xGlyphElt)
 12972  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12973  			x11.X_XFlush(tls, dpy)
 12974  		}
 12975  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 12976  		libc.Xmemset(tls, elt, 0, uint32(nbytes))
 12977  		*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes))
 12978  
 12979  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254)
 12980  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 12981  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 12982  		xDst = 0
 12983  		yDst = 0
 12984  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint32(254 * 4)))
 12985  		nchar = (nchar - 254)
 12986  		string += 4 * (uintptr(254))
 12987  	}
 12988  
 12989  	if nchar != 0 {
 12990  		nbytes = ((nchar * 4) + Sz_xGlyphElt)
 12991  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12992  			x11.X_XFlush(tls, dpy)
 12993  		}
 12994  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 12995  		libc.Xmemset(tls, elt, 0, uint32(nbytes))
 12996  		*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes))
 12997  
 12998  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar)
 12999  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13000  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13001  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint32(nchar * 4)))
 13002  	}
 13003  
 13004  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13005  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13006  	}
 13007  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13008  		(*struct {
 13009  			f func(*libc.TLS, uintptr) int32
 13010  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13011  	}
 13012  }
 13013  
 13014  func XXRenderCompositeText8(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:385:1: */
 13015  	bp := tls.Alloc(4)
 13016  	defer tls.Free(4)
 13017  
 13018  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13019  	var req uintptr
 13020  	// var glyphset GlyphSet at bp, 4
 13021  
 13022  	var len int32
 13023  	var elen int32
 13024  	var elt uintptr
 13025  	var i int32
 13026  	var chars uintptr
 13027  	var nchars int32
 13028  
 13029  	if !(nelt != 0) {
 13030  		return
 13031  	}
 13032  
 13033  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13034  		return
 13035  	}
 13036  
 13037  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13038  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 13039  	}
 13040  
 13041  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint32(Sz_xRenderCompositeGlyphs8Req))
 13042  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13043  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8)
 13044  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13045  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src
 13046  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst
 13047  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13048  		if maskFormat != 0 {
 13049  			return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
 13050  		}
 13051  		return uint32(None)
 13052  	}()
 13053  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset
 13054  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13055  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13056  
 13057  	// Compute the space necessary
 13058  	len = 0
 13059  
 13060  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset
 13061  	for i = 0; i < nelt; i++ {
 13062  		// Check for glyphset change
 13063  		if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13064  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset
 13065  			len = len + (int32((Sz_xGlyphElt + 4)) >> 2)
 13066  		}
 13067  		nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars
 13068  		// xGlyphElt must be aligned on a 32-bit boundary; this is
 13069  		// easily done by filling no more than 252 glyphs in each
 13070  		// bucket
 13071  		elen = (int32((Sz_xGlyphElt * (((nchars + 252) - 1) / 252)) + nchars))
 13072  		len = len + ((elen + 3) >> 2)
 13073  	}
 13074  
 13075  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 13076  
 13077  	// Send the glyphs
 13078  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset
 13079  	for i = 0; i < nelt; i++ {
 13080  		// Switch glyphsets
 13081  		if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13082  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset
 13083  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13084  				x11.X_XFlush(tls, dpy)
 13085  			}
 13086  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13087  			libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt))
 13088  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13089  
 13090  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff)
 13091  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0)
 13092  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0)
 13093  			{
 13094  				if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 13095  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &glyphset */, uint32(4))
 13096  					*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 13097  				} else {
 13098  					x11.X_XSend(tls, dpy, bp /* &glyphset */, 4)
 13099  				}
 13100  			}
 13101  
 13102  		}
 13103  		nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars
 13104  		xDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).FxOff
 13105  		yDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).FyOff
 13106  		chars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fchars
 13107  		for nchars != 0 {
 13108  			var this_chars int32
 13109  			if nchars > 252 {
 13110  				this_chars = 252
 13111  			} else {
 13112  				this_chars = nchars
 13113  			}
 13114  
 13115  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13116  				x11.X_XFlush(tls, dpy)
 13117  			}
 13118  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13119  			libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt))
 13120  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13121  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars)
 13122  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13123  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13124  			xDst = 0
 13125  			yDst = 0
 13126  			{
 13127  				if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((this_chars))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13128  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint32(this_chars))
 13129  					*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((this_chars) + 3) & libc.CplInt32(3)))
 13130  				} else {
 13131  					x11.X_XSend(tls, dpy, chars, int32(this_chars))
 13132  				}
 13133  			}
 13134  
 13135  			nchars = nchars - (this_chars)
 13136  			chars += uintptr(this_chars)
 13137  		}
 13138  	}
 13139  
 13140  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13141  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13142  	}
 13143  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13144  		(*struct {
 13145  			f func(*libc.TLS, uintptr) int32
 13146  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13147  	}
 13148  }
 13149  
 13150  func XXRenderCompositeText16(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:498:1: */
 13151  	bp := tls.Alloc(4)
 13152  	defer tls.Free(4)
 13153  
 13154  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13155  	var req uintptr
 13156  	// var glyphset GlyphSet at bp, 4
 13157  
 13158  	var len int32
 13159  	var elen int32
 13160  	var elt uintptr
 13161  	var i int32
 13162  	var chars uintptr
 13163  	var nchars int32
 13164  
 13165  	if !(nelt != 0) {
 13166  		return
 13167  	}
 13168  
 13169  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13170  		return
 13171  	}
 13172  
 13173  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13174  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 13175  	}
 13176  
 13177  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint32(Sz_xRenderCompositeGlyphs16Req))
 13178  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13179  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16)
 13180  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13181  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fsrc = src
 13182  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fdst = dst
 13183  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13184  		if maskFormat != 0 {
 13185  			return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
 13186  		}
 13187  		return uint32(None)
 13188  	}()
 13189  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fglyphset = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset
 13190  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13191  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13192  
 13193  	// Compute the space necessary
 13194  	len = 0
 13195  
 13196  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset
 13197  	for i = 0; i < nelt; i++ {
 13198  		// Check for glyphset change
 13199  		if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13200  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset
 13201  			len = len + (int32((Sz_xGlyphElt + 4)) >> 2)
 13202  		}
 13203  		nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars
 13204  		// xGlyphElt must be aligned on a 32-bit boundary; this is
 13205  		// easily done by filling no more than 254 glyphs in each
 13206  		// bucket
 13207  		elen = (int32((Sz_xGlyphElt * (((nchars + 254) - 1) / 254)) + (nchars * 2)))
 13208  		len = len + ((elen + 3) >> 2)
 13209  	}
 13210  
 13211  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 13212  
 13213  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset
 13214  	for i = 0; i < nelt; i++ {
 13215  		// Switch glyphsets
 13216  		if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13217  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset
 13218  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13219  				x11.X_XFlush(tls, dpy)
 13220  			}
 13221  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13222  			libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt))
 13223  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13224  
 13225  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff)
 13226  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0)
 13227  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0)
 13228  			{
 13229  				if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 13230  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &glyphset */, uint32(4))
 13231  					*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 13232  				} else {
 13233  					x11.X_XSend(tls, dpy, bp /* &glyphset */, 4)
 13234  				}
 13235  			}
 13236  
 13237  		}
 13238  		nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars
 13239  		xDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).FxOff
 13240  		yDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).FyOff
 13241  		chars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fchars
 13242  		for nchars != 0 {
 13243  			var this_chars int32
 13244  			if nchars > 254 {
 13245  				this_chars = 254
 13246  			} else {
 13247  				this_chars = nchars
 13248  			}
 13249  			var this_bytes int32 = (this_chars * 2)
 13250  
 13251  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13252  				x11.X_XFlush(tls, dpy)
 13253  			}
 13254  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13255  			libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt))
 13256  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13257  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars)
 13258  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13259  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13260  			xDst = 0
 13261  			yDst = 0
 13262  			{
 13263  				if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((this_bytes))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 13264  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint32(this_bytes))
 13265  					*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((this_bytes) + 3) & libc.CplInt32(3)))
 13266  				} else {
 13267  					x11.X_XSend(tls, dpy, chars, int32(this_bytes))
 13268  				}
 13269  			}
 13270  
 13271  			nchars = nchars - (this_chars)
 13272  			chars += 2 * (uintptr(this_chars))
 13273  		}
 13274  	}
 13275  
 13276  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13277  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13278  	}
 13279  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13280  		(*struct {
 13281  			f func(*libc.TLS, uintptr) int32
 13282  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13283  	}
 13284  }
 13285  
 13286  func XXRenderCompositeText32(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:609:1: */
 13287  	bp := tls.Alloc(4)
 13288  	defer tls.Free(4)
 13289  
 13290  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13291  	var req uintptr
 13292  	// var glyphset GlyphSet at bp, 4
 13293  
 13294  	var len int32
 13295  	var elen int32
 13296  	var elt uintptr
 13297  	var i int32
 13298  	var chars uintptr
 13299  	var nchars int32
 13300  
 13301  	if !(nelt != 0) {
 13302  		return
 13303  	}
 13304  
 13305  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13306  		return
 13307  	}
 13308  
 13309  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13310  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 13311  	}
 13312  
 13313  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint32(Sz_xRenderCompositeGlyphs32Req))
 13314  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13315  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32)
 13316  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13317  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fsrc = src
 13318  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fdst = dst
 13319  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13320  		if maskFormat != 0 {
 13321  			return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
 13322  		}
 13323  		return uint32(None)
 13324  	}()
 13325  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fglyphset = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset
 13326  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13327  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13328  
 13329  	// Compute the space necessary
 13330  	len = 0
 13331  
 13332  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset
 13333  	for i = 0; i < nelt; i++ {
 13334  		// Check for glyphset change
 13335  		if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13336  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset
 13337  			len = len + (int32((Sz_xGlyphElt + 4)) >> 2)
 13338  		}
 13339  		nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars
 13340  		elen = (int32((Sz_xGlyphElt * (((nchars + 254) - 1) / 254)) + (nchars * 4)))
 13341  		len = len + ((elen + 3) >> 2)
 13342  	}
 13343  
 13344  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 13345  
 13346  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset
 13347  	for i = 0; i < nelt; i++ {
 13348  		// Switch glyphsets
 13349  		if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13350  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset
 13351  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13352  				x11.X_XFlush(tls, dpy)
 13353  			}
 13354  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13355  			libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt))
 13356  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13357  
 13358  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff)
 13359  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0)
 13360  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0)
 13361  			{
 13362  				if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 13363  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &glyphset */, uint32(4))
 13364  					*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 13365  				} else {
 13366  					x11.X_XSend(tls, dpy, bp /* &glyphset */, 4)
 13367  				}
 13368  			}
 13369  
 13370  		}
 13371  		nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars
 13372  		xDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).FxOff
 13373  		yDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).FyOff
 13374  		chars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fchars
 13375  		for nchars != 0 {
 13376  			var this_chars int32
 13377  			if nchars > 254 {
 13378  				this_chars = 254
 13379  			} else {
 13380  				this_chars = nchars
 13381  			}
 13382  			var this_bytes int32 = (this_chars * 4)
 13383  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13384  				x11.X_XFlush(tls, dpy)
 13385  			}
 13386  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13387  			libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt))
 13388  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13389  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars)
 13390  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13391  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13392  			xDst = 0
 13393  			yDst = 0
 13394  			{
 13395  				if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((this_bytes))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13396  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint32(this_bytes))
 13397  					*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((this_bytes) + 3) & libc.CplInt32(3)))
 13398  				} else {
 13399  					x11.X_XSend(tls, dpy, chars, int32(this_bytes))
 13400  				}
 13401  			}
 13402  
 13403  			nchars = nchars - (this_chars)
 13404  			chars += 4 * (uintptr(this_chars))
 13405  		}
 13406  	}
 13407  
 13408  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13409  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13410  	}
 13411  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13412  		(*struct {
 13413  			f func(*libc.TLS, uintptr) int32
 13414  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13415  	}
 13416  }
 13417  
 13418  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 13419  // matters on alpha.  Note that this macro assumes that int is 32 bits
 13420  // except on WORD64 machines where it is 64 bits.
 13421  
 13422  //***********************************************************************
 13423  //
 13424  // Copyright 1987, 1998  The Open Group
 13425  //
 13426  // Permission to use, copy, modify, distribute, and sell this software and its
 13427  // documentation for any purpose is hereby granted without fee, provided that
 13428  // the above copyright notice appear in all copies and that both that
 13429  // copyright notice and this permission notice appear in supporting
 13430  // documentation.
 13431  //
 13432  // The above copyright notice and this permission notice shall be included in
 13433  // all copies or substantial portions of the Software.
 13434  //
 13435  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 13436  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 13437  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 13438  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 13439  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 13440  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 13441  //
 13442  // Except as contained in this notice, the name of The Open Group shall not be
 13443  // used in advertising or otherwise to promote the sale, use or other dealings
 13444  // in this Software without prior written authorization from The Open Group.
 13445  //
 13446  //
 13447  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 13448  //
 13449  //                         All Rights Reserved
 13450  //
 13451  // Permission to use, copy, modify, and distribute this software and its
 13452  // documentation for any purpose and without fee is hereby granted,
 13453  // provided that the above copyright notice appear in all copies and that
 13454  // both that copyright notice and this permission notice appear in
 13455  // supporting documentation, and that the name of Digital not be
 13456  // used in advertising or publicity pertaining to distribution of the
 13457  // software without specific, written prior permission.
 13458  //
 13459  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 13460  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 13461  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 13462  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 13463  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 13464  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 13465  // SOFTWARE.
 13466  //
 13467  // ***********************************************************************
 13468  
 13469  type Box = struct {
 13470  	Fx1 int16
 13471  	Fx2 int16
 13472  	Fy1 int16
 13473  	Fy2 int16
 13474  } /* Xregion.h:53:3 */
 13475  type BOX = struct {
 13476  	Fx1 int16
 13477  	Fx2 int16
 13478  	Fy1 int16
 13479  	Fy2 int16
 13480  } /* Xregion.h:53:8 */
 13481  type BoxRec = struct {
 13482  	Fx1 int16
 13483  	Fx2 int16
 13484  	Fy1 int16
 13485  	Fy2 int16
 13486  }                     /* Xregion.h:53:13 */
 13487  type BoxPtr = uintptr /* Xregion.h:53:21 */
 13488  
 13489  type RECTANGLE = struct {
 13490  	Fx      int16
 13491  	Fy      int16
 13492  	Fwidth  int16
 13493  	Fheight int16
 13494  } /* Xregion.h:57:2 */
 13495  type RectangleRec = struct {
 13496  	Fx      int16
 13497  	Fy      int16
 13498  	Fwidth  int16
 13499  	Fheight int16
 13500  }                           /* Xregion.h:57:13 */
 13501  type RectanglePtr = uintptr /* Xregion.h:57:27 */
 13502  
 13503  //   clip region
 13504  
 13505  type REGION = X_XRegion /* Xregion.h:80:3 */
 13506  
 13507  // Xutil.h contains the declaration:
 13508  // typedef struct _XRegion *Region;
 13509  
 13510  // 1 if two BOXs overlap.
 13511  //  0 if two BOXs do not overlap.
 13512  //  Remember, x2 and y2 are not in the region
 13513  
 13514  //  update region extents
 13515  
 13516  //   Check to see if there is enough memory in the present region.
 13517  
 13518  // this routine checks to see if the previous rectangle is the same
 13519  //  or subsumes the new rectangle to add.
 13520  
 13521  //  add a rectangle to the given Region
 13522  
 13523  //  add a rectangle to the given Region
 13524  
 13525  // number of points to buffer before sending them off
 13526  // to scanlines() :  Must be an even number
 13527  
 13528  // used to allocate buffers for points and link
 13529  // the buffers together
 13530  type X_POINTBLOCK = struct {
 13531  	Fpts  [200]XPoint
 13532  	Fnext uintptr
 13533  } /* Xregion.h:185:9 */
 13534  
 13535  // Xutil.h contains the declaration:
 13536  // typedef struct _XRegion *Region;
 13537  
 13538  // 1 if two BOXs overlap.
 13539  //  0 if two BOXs do not overlap.
 13540  //  Remember, x2 and y2 are not in the region
 13541  
 13542  //  update region extents
 13543  
 13544  //   Check to see if there is enough memory in the present region.
 13545  
 13546  // this routine checks to see if the previous rectangle is the same
 13547  //  or subsumes the new rectangle to add.
 13548  
 13549  //  add a rectangle to the given Region
 13550  
 13551  //  add a rectangle to the given Region
 13552  
 13553  // number of points to buffer before sending them off
 13554  // to scanlines() :  Must be an even number
 13555  
 13556  // used to allocate buffers for points and link
 13557  // the buffers together
 13558  type POINTBLOCK = X_POINTBLOCK /* Xregion.h:188:3 */
 13559  
 13560  func _XRenderProcessPictureAttributes(tls *libc.TLS, dpy uintptr, req uintptr, valuemask uint32, attributes uintptr) { /* Picture.c:32:1: */
 13561  	bp := tls.Alloc(128)
 13562  	defer tls.Free(128)
 13563  
 13564  	// var values [32]uint32 at bp, 128
 13565  
 13566  	var value uintptr = bp /* values */
 13567  	var nvalues uint32
 13568  
 13569  	if (valuemask & (uint32(int32(1) << 0))) != 0 {
 13570  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Frepeat)
 13571  	}
 13572  	if (valuemask & (uint32(int32(1) << 1))) != 0 {
 13573  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_map
 13574  	}
 13575  	if (valuemask & (uint32(int32(1) << 2))) != 0 {
 13576  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_x_origin)
 13577  	}
 13578  	if (valuemask & (uint32(int32(1) << 3))) != 0 {
 13579  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_y_origin)
 13580  	}
 13581  	if (valuemask & (uint32(int32(1) << 4))) != 0 {
 13582  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_x_origin)
 13583  	}
 13584  	if (valuemask & (uint32(int32(1) << 5))) != 0 {
 13585  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_y_origin)
 13586  	}
 13587  	if (valuemask & (uint32(int32(1) << 6))) != 0 {
 13588  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_mask
 13589  	}
 13590  	if (valuemask & (uint32(int32(1) << 7))) != 0 {
 13591  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fgraphics_exposures)
 13592  	}
 13593  	if (valuemask & (uint32(int32(1) << 8))) != 0 {
 13594  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fsubwindow_mode)
 13595  	}
 13596  	if (valuemask & (uint32(int32(1) << 9))) != 0 {
 13597  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_edge)
 13598  	}
 13599  	if (valuemask & (uint32(int32(1) << 10))) != 0 {
 13600  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_mode)
 13601  	}
 13602  	if (valuemask & (uint32(int32(1) << 11))) != 0 {
 13603  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fdither
 13604  	}
 13605  	if (valuemask & (uint32(int32(1) << 12))) != 0 {
 13606  		*(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fcomponent_alpha)
 13607  	}
 13608  
 13609  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((libc.AssignUint32(&nvalues, (uint32(int32((value - bp /* &values[0] */) / 4))))))
 13610  
 13611  	nvalues <<= 2 /* watch out for macros... */
 13612  	{
 13613  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((int32(nvalues)))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 13614  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* values */, uint32(int32(int32(nvalues))))
 13615  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((int32(nvalues)) + 3) & libc.CplInt32(3)))
 13616  		} else {
 13617  			x11.X_XSend(tls, dpy, bp /* values */, int32(nvalues))
 13618  		}
 13619  	}
 13620  
 13621  }
 13622  
 13623  func XXRenderCreatePicture(tls *libc.TLS, dpy uintptr, drawable Drawable, format uintptr, valuemask uint32, attributes uintptr) Picture { /* Picture.c:75:1: */
 13624  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13625  	var pid Picture
 13626  	var req uintptr
 13627  
 13628  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13629  		return Picture(0)
 13630  	}
 13631  
 13632  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13633  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 13634  	}
 13635  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreatePicture), uint32(Sz_xRenderCreatePictureReq))
 13636  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13637  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreatePicture)
 13638  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 13639  		Fext_data            uintptr
 13640  		Fprivate1            uintptr
 13641  		Ffd                  int32
 13642  		Fprivate2            int32
 13643  		Fproto_major_version int32
 13644  		Fproto_minor_version int32
 13645  		Fvendor              uintptr
 13646  		Fprivate3            XID
 13647  		Fprivate4            XID
 13648  		Fprivate5            XID
 13649  		Fprivate6            int32
 13650  		Fresource_alloc      uintptr
 13651  		Fbyte_order          int32
 13652  		Fbitmap_unit         int32
 13653  		Fbitmap_pad          int32
 13654  		Fbitmap_bit_order    int32
 13655  		Fnformats            int32
 13656  		Fpixmap_format       uintptr
 13657  		Fprivate8            int32
 13658  		Frelease             int32
 13659  		Fprivate9            uintptr
 13660  		Fprivate10           uintptr
 13661  		Fqlen                int32
 13662  		Flast_request_read   uint32
 13663  		Frequest             uint32
 13664  		Fprivate11           XPointer
 13665  		Fprivate12           XPointer
 13666  		Fprivate13           XPointer
 13667  		Fprivate14           XPointer
 13668  		Fmax_request_size    uint32
 13669  		Fdb                  uintptr
 13670  		Fprivate15           uintptr
 13671  		Fdisplay_name        uintptr
 13672  		Fdefault_screen      int32
 13673  		Fnscreens            int32
 13674  		Fscreens             uintptr
 13675  		Fmotion_buffer       uint32
 13676  		Fprivate16           uint32
 13677  		Fmin_keycode         int32
 13678  		Fmax_keycode         int32
 13679  		Fprivate17           XPointer
 13680  		Fprivate18           XPointer
 13681  		Fprivate19           int32
 13682  		Fxdefaults           uintptr
 13683  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))
 13684  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fdrawable = drawable
 13685  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fformat = (*XRenderPictFormat)(unsafe.Pointer(format)).Fid
 13686  	if libc.AssignPtrUint32(req+16 /* &.mask */, valuemask) != 0 {
 13687  		_XRenderProcessPictureAttributes(tls, dpy,
 13688  			req,
 13689  			valuemask,
 13690  			attributes)
 13691  	}
 13692  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13693  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13694  	}
 13695  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13696  		(*struct {
 13697  			f func(*libc.TLS, uintptr) int32
 13698  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13699  	}
 13700  	return pid
 13701  }
 13702  
 13703  func XXRenderChangePicture(tls *libc.TLS, dpy uintptr, picture Picture, valuemask uint32, attributes uintptr) { /* Picture.c:104:1: */
 13704  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13705  	var req uintptr
 13706  
 13707  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13708  		return
 13709  	}
 13710  
 13711  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13712  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 13713  	}
 13714  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderChangePicture), uint32(Sz_xRenderChangePictureReq))
 13715  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13716  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderChangePicture)
 13717  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).Fpicture = picture
 13718  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).Fmask = valuemask
 13719  	_XRenderProcessPictureAttributes(tls, dpy,
 13720  		req,
 13721  		valuemask,
 13722  		attributes)
 13723  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13724  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13725  	}
 13726  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13727  		(*struct {
 13728  			f func(*libc.TLS, uintptr) int32
 13729  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13730  	}
 13731  }
 13732  
 13733  func _XRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, info uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:128:1: */
 13734  	bp := tls.Alloc(4)
 13735  	defer tls.Free(4)
 13736  
 13737  	var req uintptr
 13738  	var len int32
 13739  
 13740  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureClipRectangles), uint32(Sz_xRenderSetPictureClipRectanglesReq))
 13741  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13742  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureClipRectangles)
 13743  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Fpicture = picture
 13744  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FxOrigin = INT16(xOrigin)
 13745  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FyOrigin = INT16(yOrigin)
 13746  	len = ((int32(n)) << 1)
 13747  	if (uint32(int32((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 13748  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 13749  			{
 13750  				// var _BRdat CARD32 at bp, 4
 13751  				var _BRlen CARD32 = (CARD32(int32((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) - 1))
 13752  				(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 13753  				*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 13754  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 13755  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 13756  				{
 13757  					if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 13758  						libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 13759  						*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 13760  					} else {
 13761  						x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 13762  					}
 13763  				}
 13764  
 13765  			}
 13766  		} else {
 13767  			len = 1
 13768  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 13769  		}
 13770  	} else {
 13771  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 13772  	}
 13773  	len <<= 2
 13774  	{
 13775  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 13776  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rects, uint32(int32(len)))
 13777  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3)))
 13778  		} else {
 13779  			x11.X_XSend(tls, dpy, rects, len)
 13780  		}
 13781  	}
 13782  
 13783  }
 13784  
 13785  func XXRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:152:1: */
 13786  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13787  
 13788  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13789  		return
 13790  	}
 13791  
 13792  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13793  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 13794  	}
 13795  	_XRenderSetPictureClipRectangles(tls, dpy, info, picture,
 13796  		xOrigin, yOrigin, rects, n)
 13797  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13798  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13799  	}
 13800  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13801  		(*struct {
 13802  			f func(*libc.TLS, uintptr) int32
 13803  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13804  	}
 13805  }
 13806  
 13807  func XXRenderSetPictureClipRegion(tls *libc.TLS, dpy uintptr, picture Picture, r Region) { /* Picture.c:170:1: */
 13808  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13809  	var i int32
 13810  	var xr uintptr
 13811  	var pr uintptr
 13812  	var pb uintptr
 13813  	var total uint32
 13814  
 13815  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13816  		return
 13817  	}
 13818  
 13819  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13820  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 13821  	}
 13822  	total = (uint32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) * uint32(unsafe.Sizeof(XRectangle{})))
 13823  	if libc.AssignUintptr(&xr, x11.X_XAllocTemp(tls, dpy, total)) != 0 {
 13824  		pr = xr
 13825  		pb = (*X_XRegion)(unsafe.Pointer(r)).Frects
 13826  		i = int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects)
 13827  	__1:
 13828  		if !(libc.PreDecInt32(&i, 1) >= 0) {
 13829  			goto __3
 13830  		}
 13831  		{
 13832  			(*XRectangle)(unsafe.Pointer(pr)).Fx = (*BOX)(unsafe.Pointer(pb)).Fx1
 13833  			(*XRectangle)(unsafe.Pointer(pr)).Fy = (*BOX)(unsafe.Pointer(pb)).Fy1
 13834  			(*XRectangle)(unsafe.Pointer(pr)).Fwidth = (uint16(int32((*BOX)(unsafe.Pointer(pb)).Fx2) - int32((*BOX)(unsafe.Pointer(pb)).Fx1)))
 13835  			(*XRectangle)(unsafe.Pointer(pr)).Fheight = (uint16(int32((*BOX)(unsafe.Pointer(pb)).Fy2) - int32((*BOX)(unsafe.Pointer(pb)).Fy1)))
 13836  
 13837  		}
 13838  		goto __2
 13839  	__2:
 13840  		pr += 8
 13841  		pb += 8
 13842  		goto __1
 13843  		goto __3
 13844  	__3:
 13845  	}
 13846  	if (xr != 0) || !(int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) != 0) {
 13847  		_XRenderSetPictureClipRectangles(tls, dpy, info, picture, 0, 0,
 13848  			xr, int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects))
 13849  	}
 13850  	if xr != 0 {
 13851  		x11.X_XFreeTemp(tls, dpy, xr, total)
 13852  	}
 13853  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13854  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13855  	}
 13856  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13857  		(*struct {
 13858  			f func(*libc.TLS, uintptr) int32
 13859  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13860  	}
 13861  }
 13862  
 13863  func XXRenderSetPictureTransform(tls *libc.TLS, dpy uintptr, picture Picture, transform uintptr) { /* Picture.c:201:1: */
 13864  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13865  	var req uintptr
 13866  
 13867  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13868  		return
 13869  	}
 13870  
 13871  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13872  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 13873  	}
 13874  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureTransform), uint32(Sz_xRenderSetPictureTransformReq))
 13875  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13876  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureTransform)
 13877  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Fpicture = picture
 13878  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix11 = INT32(*(*XFixed)(unsafe.Pointer((transform /* &.matrix */))))
 13879  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix12 = INT32(*(*XFixed)(unsafe.Pointer((transform /* &.matrix */) + 1*4)))
 13880  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix13 = INT32(*(*XFixed)(unsafe.Pointer((transform /* &.matrix */) + 2*4)))
 13881  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix21 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12))))
 13882  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix22 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12) + 1*4)))
 13883  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix23 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12) + 2*4)))
 13884  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix31 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12))))
 13885  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix32 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12) + 1*4)))
 13886  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix33 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12) + 2*4)))
 13887  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13888  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13889  	}
 13890  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13891  		(*struct {
 13892  			f func(*libc.TLS, uintptr) int32
 13893  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13894  	}
 13895  
 13896  }
 13897  
 13898  func XXRenderFreePicture(tls *libc.TLS, dpy uintptr, picture Picture) { /* Picture.c:229:1: */
 13899  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13900  	var req uintptr
 13901  
 13902  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13903  		return
 13904  	}
 13905  
 13906  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13907  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 13908  	}
 13909  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreePicture), uint32(Sz_xRenderFreePictureReq))
 13910  	(*XRenderFreePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13911  	(*XRenderFreePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreePicture)
 13912  	(*XRenderFreePictureReq)(unsafe.Pointer(req)).Fpicture = picture
 13913  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13914  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13915  	}
 13916  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13917  		(*struct {
 13918  			f func(*libc.TLS, uintptr) int32
 13919  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13920  	}
 13921  }
 13922  
 13923  func XXRenderCreateSolidFill(tls *libc.TLS, dpy uintptr, color uintptr) Picture { /* Picture.c:246:9: */
 13924  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13925  	var pid Picture
 13926  	var req uintptr
 13927  
 13928  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13929  		return Picture(0)
 13930  	}
 13931  
 13932  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13933  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 13934  	}
 13935  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateSolidFill), uint32(Sz_xRenderCreateSolidFillReq))
 13936  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13937  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateSolidFill)
 13938  
 13939  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 13940  		Fext_data            uintptr
 13941  		Fprivate1            uintptr
 13942  		Ffd                  int32
 13943  		Fprivate2            int32
 13944  		Fproto_major_version int32
 13945  		Fproto_minor_version int32
 13946  		Fvendor              uintptr
 13947  		Fprivate3            XID
 13948  		Fprivate4            XID
 13949  		Fprivate5            XID
 13950  		Fprivate6            int32
 13951  		Fresource_alloc      uintptr
 13952  		Fbyte_order          int32
 13953  		Fbitmap_unit         int32
 13954  		Fbitmap_pad          int32
 13955  		Fbitmap_bit_order    int32
 13956  		Fnformats            int32
 13957  		Fpixmap_format       uintptr
 13958  		Fprivate8            int32
 13959  		Frelease             int32
 13960  		Fprivate9            uintptr
 13961  		Fprivate10           uintptr
 13962  		Fqlen                int32
 13963  		Flast_request_read   uint32
 13964  		Frequest             uint32
 13965  		Fprivate11           XPointer
 13966  		Fprivate12           XPointer
 13967  		Fprivate13           XPointer
 13968  		Fprivate14           XPointer
 13969  		Fmax_request_size    uint32
 13970  		Fdb                  uintptr
 13971  		Fprivate15           uintptr
 13972  		Fdisplay_name        uintptr
 13973  		Fdefault_screen      int32
 13974  		Fnscreens            int32
 13975  		Fscreens             uintptr
 13976  		Fmotion_buffer       uint32
 13977  		Fprivate16           uint32
 13978  		Fmin_keycode         int32
 13979  		Fmax_keycode         int32
 13980  		Fprivate17           XPointer
 13981  		Fprivate18           XPointer
 13982  		Fprivate19           int32
 13983  		Fxdefaults           uintptr
 13984  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))
 13985  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred
 13986  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen
 13987  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue
 13988  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha
 13989  
 13990  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13991  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 13992  	}
 13993  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13994  		(*struct {
 13995  			f func(*libc.TLS, uintptr) int32
 13996  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13997  	}
 13998  	return pid
 13999  }
 14000  
 14001  func XXRenderCreateLinearGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:271:9: */
 14002  	bp := tls.Alloc(4)
 14003  	defer tls.Free(4)
 14004  
 14005  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14006  	var pid Picture
 14007  	var req uintptr
 14008  	var len int32
 14009  
 14010  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14011  		return Picture(0)
 14012  	}
 14013  
 14014  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14015  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 14016  	}
 14017  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateLinearGradient), uint32(Sz_xRenderCreateLinearGradientReq))
 14018  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14019  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateLinearGradient)
 14020  
 14021  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14022  		Fext_data            uintptr
 14023  		Fprivate1            uintptr
 14024  		Ffd                  int32
 14025  		Fprivate2            int32
 14026  		Fproto_major_version int32
 14027  		Fproto_minor_version int32
 14028  		Fvendor              uintptr
 14029  		Fprivate3            XID
 14030  		Fprivate4            XID
 14031  		Fprivate5            XID
 14032  		Fprivate6            int32
 14033  		Fresource_alloc      uintptr
 14034  		Fbyte_order          int32
 14035  		Fbitmap_unit         int32
 14036  		Fbitmap_pad          int32
 14037  		Fbitmap_bit_order    int32
 14038  		Fnformats            int32
 14039  		Fpixmap_format       uintptr
 14040  		Fprivate8            int32
 14041  		Frelease             int32
 14042  		Fprivate9            uintptr
 14043  		Fprivate10           uintptr
 14044  		Fqlen                int32
 14045  		Flast_request_read   uint32
 14046  		Frequest             uint32
 14047  		Fprivate11           XPointer
 14048  		Fprivate12           XPointer
 14049  		Fprivate13           XPointer
 14050  		Fprivate14           XPointer
 14051  		Fmax_request_size    uint32
 14052  		Fdb                  uintptr
 14053  		Fprivate15           uintptr
 14054  		Fdisplay_name        uintptr
 14055  		Fdefault_screen      int32
 14056  		Fnscreens            int32
 14057  		Fscreens             uintptr
 14058  		Fmotion_buffer       uint32
 14059  		Fprivate16           uint32
 14060  		Fmin_keycode         int32
 14061  		Fmax_keycode         int32
 14062  		Fprivate17           XPointer
 14063  		Fprivate18           XPointer
 14064  		Fprivate19           int32
 14065  		Fxdefaults           uintptr
 14066  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))
 14067  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fx = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fx)
 14068  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fy = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fy)
 14069  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fx = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fx)
 14070  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fy = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fy)
 14071  
 14072  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops)
 14073  	len = (int32(nStops) * 3)
 14074  	if (uint32(int32((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 14075  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14076  			{
 14077  				// var _BRdat CARD32 at bp, 4
 14078  				var _BRlen CARD32 = (CARD32(int32((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) - 1))
 14079  				(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14080  				*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 14081  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 14082  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 14083  				{
 14084  					if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14085  						libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 14086  						*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 14087  					} else {
 14088  						x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 14089  					}
 14090  				}
 14091  
 14092  			}
 14093  		} else {
 14094  			len = 6
 14095  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14096  		}
 14097  	} else {
 14098  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14099  	}
 14100  	{
 14101  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14102  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint32((nStops * 4)))
 14103  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3)))
 14104  		} else {
 14105  			x11.X_XSend(tls, dpy, stops, (int32(nStops * 4)))
 14106  		}
 14107  	}
 14108  
 14109  	{
 14110  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14111  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint32((nStops * 8)))
 14112  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3)))
 14113  		} else {
 14114  			x11.X_XSend(tls, dpy, colors, (int32(nStops * 8)))
 14115  		}
 14116  	}
 14117  
 14118  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14119  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 14120  	}
 14121  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14122  		(*struct {
 14123  			f func(*libc.TLS, uintptr) int32
 14124  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14125  	}
 14126  	return pid
 14127  }
 14128  
 14129  func XXRenderCreateRadialGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:305:9: */
 14130  	bp := tls.Alloc(4)
 14131  	defer tls.Free(4)
 14132  
 14133  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14134  	var pid Picture
 14135  	var req uintptr
 14136  	var len int32
 14137  
 14138  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14139  		return Picture(0)
 14140  	}
 14141  
 14142  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14143  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 14144  	}
 14145  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateRadialGradient), uint32(Sz_xRenderCreateRadialGradientReq))
 14146  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14147  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateRadialGradient)
 14148  
 14149  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14150  		Fext_data            uintptr
 14151  		Fprivate1            uintptr
 14152  		Ffd                  int32
 14153  		Fprivate2            int32
 14154  		Fproto_major_version int32
 14155  		Fproto_minor_version int32
 14156  		Fvendor              uintptr
 14157  		Fprivate3            XID
 14158  		Fprivate4            XID
 14159  		Fprivate5            XID
 14160  		Fprivate6            int32
 14161  		Fresource_alloc      uintptr
 14162  		Fbyte_order          int32
 14163  		Fbitmap_unit         int32
 14164  		Fbitmap_pad          int32
 14165  		Fbitmap_bit_order    int32
 14166  		Fnformats            int32
 14167  		Fpixmap_format       uintptr
 14168  		Fprivate8            int32
 14169  		Frelease             int32
 14170  		Fprivate9            uintptr
 14171  		Fprivate10           uintptr
 14172  		Fqlen                int32
 14173  		Flast_request_read   uint32
 14174  		Frequest             uint32
 14175  		Fprivate11           XPointer
 14176  		Fprivate12           XPointer
 14177  		Fprivate13           XPointer
 14178  		Fprivate14           XPointer
 14179  		Fmax_request_size    uint32
 14180  		Fdb                  uintptr
 14181  		Fprivate15           uintptr
 14182  		Fdisplay_name        uintptr
 14183  		Fdefault_screen      int32
 14184  		Fnscreens            int32
 14185  		Fscreens             uintptr
 14186  		Fmotion_buffer       uint32
 14187  		Fprivate16           uint32
 14188  		Fmin_keycode         int32
 14189  		Fmax_keycode         int32
 14190  		Fprivate17           XPointer
 14191  		Fprivate18           XPointer
 14192  		Fprivate19           int32
 14193  		Fxdefaults           uintptr
 14194  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))
 14195  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fx = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fx)
 14196  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fy = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fy)
 14197  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fx = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fx)
 14198  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fy = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fy)
 14199  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner_radius = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fradius)
 14200  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter_radius = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fradius)
 14201  
 14202  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops)
 14203  	len = (int32(nStops) * 3)
 14204  	if (uint32(int32((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 14205  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14206  			{
 14207  				// var _BRdat CARD32 at bp, 4
 14208  				var _BRlen CARD32 = (CARD32(int32((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) - 1))
 14209  				(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14210  				*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 14211  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 14212  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 14213  				{
 14214  					if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14215  						libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 14216  						*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 14217  					} else {
 14218  						x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 14219  					}
 14220  				}
 14221  
 14222  			}
 14223  		} else {
 14224  			len = 6
 14225  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14226  		}
 14227  	} else {
 14228  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14229  	}
 14230  	{
 14231  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14232  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint32((nStops * 4)))
 14233  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3)))
 14234  		} else {
 14235  			x11.X_XSend(tls, dpy, stops, (int32(nStops * 4)))
 14236  		}
 14237  	}
 14238  
 14239  	{
 14240  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14241  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint32((nStops * 8)))
 14242  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3)))
 14243  		} else {
 14244  			x11.X_XSend(tls, dpy, colors, (int32(nStops * 8)))
 14245  		}
 14246  	}
 14247  
 14248  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14249  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 14250  	}
 14251  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14252  		(*struct {
 14253  			f func(*libc.TLS, uintptr) int32
 14254  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14255  	}
 14256  	return pid
 14257  }
 14258  
 14259  func XXRenderCreateConicalGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:341:9: */
 14260  	bp := tls.Alloc(4)
 14261  	defer tls.Free(4)
 14262  
 14263  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14264  	var pid Picture
 14265  	var req uintptr
 14266  	var len int32
 14267  
 14268  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14269  		return Picture(0)
 14270  	}
 14271  
 14272  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14273  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 14274  	}
 14275  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateConicalGradient), uint32(Sz_xRenderCreateConicalGradientReq))
 14276  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14277  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateConicalGradient)
 14278  
 14279  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14280  		Fext_data            uintptr
 14281  		Fprivate1            uintptr
 14282  		Ffd                  int32
 14283  		Fprivate2            int32
 14284  		Fproto_major_version int32
 14285  		Fproto_minor_version int32
 14286  		Fvendor              uintptr
 14287  		Fprivate3            XID
 14288  		Fprivate4            XID
 14289  		Fprivate5            XID
 14290  		Fprivate6            int32
 14291  		Fresource_alloc      uintptr
 14292  		Fbyte_order          int32
 14293  		Fbitmap_unit         int32
 14294  		Fbitmap_pad          int32
 14295  		Fbitmap_bit_order    int32
 14296  		Fnformats            int32
 14297  		Fpixmap_format       uintptr
 14298  		Fprivate8            int32
 14299  		Frelease             int32
 14300  		Fprivate9            uintptr
 14301  		Fprivate10           uintptr
 14302  		Fqlen                int32
 14303  		Flast_request_read   uint32
 14304  		Frequest             uint32
 14305  		Fprivate11           XPointer
 14306  		Fprivate12           XPointer
 14307  		Fprivate13           XPointer
 14308  		Fprivate14           XPointer
 14309  		Fmax_request_size    uint32
 14310  		Fdb                  uintptr
 14311  		Fprivate15           uintptr
 14312  		Fdisplay_name        uintptr
 14313  		Fdefault_screen      int32
 14314  		Fnscreens            int32
 14315  		Fscreens             uintptr
 14316  		Fmotion_buffer       uint32
 14317  		Fprivate16           uint32
 14318  		Fmin_keycode         int32
 14319  		Fmax_keycode         int32
 14320  		Fprivate17           XPointer
 14321  		Fprivate18           XPointer
 14322  		Fprivate19           int32
 14323  		Fxdefaults           uintptr
 14324  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))
 14325  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fx = INT32((*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fx)
 14326  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fy = INT32((*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fy)
 14327  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fangle = INT32((*XConicalGradient)(unsafe.Pointer(gradient)).Fangle)
 14328  
 14329  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops)
 14330  	len = (int32(nStops) * 3)
 14331  	if (uint32(int32((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 14332  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14333  			{
 14334  				// var _BRdat CARD32 at bp, 4
 14335  				var _BRlen CARD32 = (CARD32(int32((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) - 1))
 14336  				(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14337  				*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 14338  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 14339  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 14340  				{
 14341  					if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14342  						libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 14343  						*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 14344  					} else {
 14345  						x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 14346  					}
 14347  				}
 14348  
 14349  			}
 14350  		} else {
 14351  			len = 6
 14352  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14353  		}
 14354  	} else {
 14355  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14356  	}
 14357  	{
 14358  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14359  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint32((nStops * 4)))
 14360  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3)))
 14361  		} else {
 14362  			x11.X_XSend(tls, dpy, stops, (int32(nStops * 4)))
 14363  		}
 14364  	}
 14365  
 14366  	{
 14367  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14368  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint32((nStops * 8)))
 14369  			*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3)))
 14370  		} else {
 14371  			x11.X_XSend(tls, dpy, colors, (int32(nStops * 8)))
 14372  		}
 14373  	}
 14374  
 14375  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14376  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 14377  	}
 14378  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14379  		(*struct {
 14380  			f func(*libc.TLS, uintptr) int32
 14381  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14382  	}
 14383  	return pid
 14384  }
 14385  
 14386  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14387  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14388  // except on WORD64 machines where it is 64 bits.
 14389  
 14390  type X_Edge = struct {
 14391  	Fedge      XLineFixed1
 14392  	Fcurrent_x XFixed
 14393  	FclockWise int32
 14394  	Fnext      uintptr
 14395  	Fprev      uintptr
 14396  } /* Poly.c:29:9 */
 14397  
 14398  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14399  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14400  // except on WORD64 machines where it is 64 bits.
 14401  
 14402  type Edge = X_Edge /* Poly.c:29:22 */
 14403  
 14404  func sCompareEdge(tls *libc.TLS, o1 uintptr, o2 uintptr) int32 { /* Poly.c:39:1: */
 14405  	var e1 uintptr = o1
 14406  	var e2 uintptr = o2
 14407  
 14408  	return ((*Edge)(unsafe.Pointer(e1)).Fedge.Fp1.Fy - (*Edge)(unsafe.Pointer(e2)).Fedge.Fp1.Fy)
 14409  }
 14410  
 14411  func sXRenderComputeX(tls *libc.TLS, line uintptr, y XFixed) XFixed { /* Poly.c:47:1: */
 14412  	var dx XFixed = ((*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fx - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx)
 14413  	var ex float64 = ((float64(y - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy)) * float64(dx))
 14414  	var dy XFixed = ((*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fy - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy)
 14415  
 14416  	return ((*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx + (libc.Int32FromFloat64(ex / float64(dy))))
 14417  }
 14418  
 14419  func sXRenderComputeInverseSlope(tls *libc.TLS, l uintptr) float64 { /* Poly.c:57:1: */
 14420  	return (((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp2.Fx - (*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx)) / float64(65536)) / ((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp2.Fy - (*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy)) / float64(65536)))
 14421  }
 14422  
 14423  func sXRenderComputeXIntercept(tls *libc.TLS, l uintptr, inverse_slope float64) float64 { /* Poly.c:64:1: */
 14424  	return (((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx)) / float64(65536)) - (inverse_slope * ((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy)) / float64(65536))))
 14425  }
 14426  
 14427  func sXRenderComputeIntersect(tls *libc.TLS, l1 uintptr, l2 uintptr) XFixed { /* Poly.c:70:1: */
 14428  	// x = m1y + b1
 14429  	// x = m2y + b2
 14430  	// m1y + b1 = m2y + b2
 14431  	// y * (m1 - m2) = b2 - b1
 14432  	// y = (b2 - b1) / (m1 - m2)
 14433  	var m1 float64 = sXRenderComputeInverseSlope(tls, l1)
 14434  	var b1 float64 = sXRenderComputeXIntercept(tls, l1, m1)
 14435  	var m2 float64 = sXRenderComputeInverseSlope(tls, l2)
 14436  	var b2 float64 = sXRenderComputeXIntercept(tls, l2, m2)
 14437  
 14438  	return (libc.Int32FromFloat64(((b2 - b1) / (m1 - m2)) * float64(65536)))
 14439  }
 14440  
 14441  func sXRenderComputeTrapezoids(tls *libc.TLS, edges uintptr, nedges int32, winding int32, traps uintptr) int32 { /* Poly.c:88:1: */
 14442  	var ntraps int32 = 0
 14443  	var inactive int32
 14444  	var active uintptr
 14445  	var e uintptr
 14446  	var en uintptr
 14447  	var next uintptr
 14448  	var y XFixed
 14449  	var next_y XFixed
 14450  	var intersect XFixed
 14451  
 14452  	libc.Xqsort(tls, edges, uint32(nedges), uint32(unsafe.Sizeof(Edge{})), *(*uintptr)(unsafe.Pointer(&struct {
 14453  		f func(*libc.TLS, uintptr, uintptr) int32
 14454  	}{sCompareEdge})))
 14455  
 14456  	y = (*Edge)(unsafe.Pointer(edges)).Fedge.Fp1.Fy
 14457  	active = uintptr(0)
 14458  	inactive = 0
 14459  	for (active != 0) || (inactive < nedges) {
 14460  		// insert new active edges into list
 14461  		for inactive < nedges {
 14462  			e = (edges + uintptr(inactive)*32)
 14463  			if (*Edge)(unsafe.Pointer(e)).Fedge.Fp1.Fy > y {
 14464  				break
 14465  			}
 14466  			// move this edge into the active list
 14467  			inactive++
 14468  			(*Edge)(unsafe.Pointer(e)).Fnext = active
 14469  			(*Edge)(unsafe.Pointer(e)).Fprev = uintptr(0)
 14470  			if active != 0 {
 14471  				(*Edge)(unsafe.Pointer(active)).Fprev = e
 14472  			}
 14473  			active = e
 14474  		}
 14475  		// compute x coordinates along this group
 14476  		for e = active; e != 0; e = (*Edge)(unsafe.Pointer(e)).Fnext {
 14477  			(*Edge)(unsafe.Pointer(e)).Fcurrent_x = sXRenderComputeX(tls, (e /* &.edge */), y)
 14478  		}
 14479  
 14480  		// sort active list
 14481  		for e = active; e != 0; e = next {
 14482  			next = (*Edge)(unsafe.Pointer(e)).Fnext
 14483  			// Find one later in the list that belongs before the
 14484  			// current one
 14485  			for en = next; en != 0; en = (*Edge)(unsafe.Pointer(en)).Fnext {
 14486  				if ((*Edge)(unsafe.Pointer(en)).Fcurrent_x < (*Edge)(unsafe.Pointer(e)).Fcurrent_x) || (((*Edge)(unsafe.Pointer(en)).Fcurrent_x == (*Edge)(unsafe.Pointer(e)).Fcurrent_x) && ((*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx < (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx)) {
 14487  					// insert en before e
 14488  					//
 14489  					// extract en
 14490  					(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(en)).Fnext
 14491  					if (*Edge)(unsafe.Pointer(en)).Fnext != 0 {
 14492  						(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(en)).Fprev
 14493  					}
 14494  					// insert en
 14495  					if (*Edge)(unsafe.Pointer(e)).Fprev != 0 {
 14496  						(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = en
 14497  					} else {
 14498  						active = en
 14499  					}
 14500  					(*Edge)(unsafe.Pointer(en)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev
 14501  					(*Edge)(unsafe.Pointer(e)).Fprev = en
 14502  					(*Edge)(unsafe.Pointer(en)).Fnext = e
 14503  					// start over at en
 14504  					next = en
 14505  					break
 14506  				}
 14507  			}
 14508  		}
 14509  		// find next inflection point
 14510  		next_y = (*Edge)(unsafe.Pointer(active)).Fedge.Fp2.Fy
 14511  		for e = active; e != 0; e = en {
 14512  			if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy < next_y {
 14513  				next_y = (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy
 14514  			}
 14515  			en = (*Edge)(unsafe.Pointer(e)).Fnext
 14516  			// check intersect
 14517  			if (en != 0) && ((*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx > (*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx) {
 14518  				intersect = sXRenderComputeIntersect(tls, (e /* &.edge */), ((*Edge)(unsafe.Pointer(e)).Fnext /* &.edge */))
 14519  				// make sure this point is below the actual intersection
 14520  				intersect = (intersect + 1)
 14521  				if intersect < next_y {
 14522  					next_y = intersect
 14523  				}
 14524  			}
 14525  		}
 14526  		// check next inactive point
 14527  		if (inactive < nedges) && ((*Edge)(unsafe.Pointer(edges+uintptr(inactive)*32)).Fedge.Fp1.Fy < next_y) {
 14528  			next_y = (*Edge)(unsafe.Pointer(edges + uintptr(inactive)*32)).Fedge.Fp1.Fy
 14529  		}
 14530  
 14531  		// walk the list generating trapezoids
 14532  		for e = active; (e != 0) && (libc.AssignUintptr(&en, (*Edge)(unsafe.Pointer(e)).Fnext) != 0); e = (*Edge)(unsafe.Pointer(en)).Fnext {
 14533  			(*XTrapezoid1)(unsafe.Pointer(traps)).Ftop = y
 14534  			(*XTrapezoid1)(unsafe.Pointer(traps)).Fbottom = next_y
 14535  			(*XTrapezoid1)(unsafe.Pointer(traps)).Fleft = (*Edge)(unsafe.Pointer(e)).Fedge
 14536  			(*XTrapezoid1)(unsafe.Pointer(traps)).Fright = (*Edge)(unsafe.Pointer(en)).Fedge
 14537  			traps += 40
 14538  			ntraps++
 14539  		}
 14540  
 14541  		y = next_y
 14542  
 14543  		// delete inactive edges from list
 14544  		for e = active; e != 0; e = next {
 14545  			next = (*Edge)(unsafe.Pointer(e)).Fnext
 14546  			if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy <= y {
 14547  				if (*Edge)(unsafe.Pointer(e)).Fprev != 0 {
 14548  					(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(e)).Fnext
 14549  				} else {
 14550  					active = (*Edge)(unsafe.Pointer(e)).Fnext
 14551  				}
 14552  				if (*Edge)(unsafe.Pointer(e)).Fnext != 0 {
 14553  					(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev
 14554  				}
 14555  			}
 14556  		}
 14557  	}
 14558  	return ntraps
 14559  }
 14560  
 14561  func XXRenderCompositeDoublePoly(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, fpoints uintptr, npoints int32, winding int32) { /* Poly.c:225:1: */
 14562  	var edges uintptr
 14563  	var traps uintptr
 14564  	var i int32
 14565  	var nedges int32
 14566  	var ntraps int32
 14567  	var x XFixed
 14568  	var y XFixed
 14569  	var prevx XFixed = 0
 14570  	var prevy XFixed = 0
 14571  	var firstx XFixed = 0
 14572  	var firsty XFixed = 0
 14573  	var top XFixed = 0
 14574  	var bottom XFixed = 0 // GCCism
 14575  
 14576  	edges = libc.Xmalloc(tls, func() uint32 {
 14577  		if ((uint32(npoints) * uint32(unsafe.Sizeof(Edge{}))) + ((uint32(npoints * npoints)) * uint32(unsafe.Sizeof(XTrapezoid1{})))) == uint32(0) {
 14578  			return uint32(1)
 14579  		}
 14580  		return ((uint32(npoints) * uint32(unsafe.Sizeof(Edge{}))) + ((uint32(npoints * npoints)) * uint32(unsafe.Sizeof(XTrapezoid1{}))))
 14581  	}())
 14582  	if !(edges != 0) {
 14583  		return
 14584  	}
 14585  	traps = (edges + uintptr(npoints)*32)
 14586  	nedges = 0
 14587  	for i = 0; i <= npoints; i++ {
 14588  		if i == npoints {
 14589  			x = firstx
 14590  			y = firsty
 14591  		} else {
 14592  			x = (libc.Int32FromFloat64(((*XPointDouble)(unsafe.Pointer(fpoints + uintptr(i)*16)).Fx) * float64(65536)))
 14593  			y = (libc.Int32FromFloat64(((*XPointDouble)(unsafe.Pointer(fpoints + uintptr(i)*16)).Fy) * float64(65536)))
 14594  		}
 14595  		if i != 0 {
 14596  			if y < top {
 14597  				top = y
 14598  			} else if y > bottom {
 14599  				bottom = y
 14600  			}
 14601  			if prevy < y {
 14602  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fx = prevx
 14603  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fy = prevy
 14604  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fx = x
 14605  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fy = y
 14606  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).FclockWise = True
 14607  				nedges++
 14608  			} else if prevy > y {
 14609  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fx = x
 14610  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fy = y
 14611  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fx = prevx
 14612  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fy = prevy
 14613  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).FclockWise = False
 14614  				nedges++
 14615  			}
 14616  			// drop horizontal edges
 14617  		} else {
 14618  			top = y
 14619  			bottom = y
 14620  			firstx = x
 14621  			firsty = y
 14622  		}
 14623  		prevx = x
 14624  		prevy = y
 14625  	}
 14626  	ntraps = sXRenderComputeTrapezoids(tls, edges, nedges, winding, traps)
 14627  	// XXX adjust xSrc/xDst
 14628  	XXRenderCompositeTrapezoids(tls, dpy, op, src, dst, maskFormat, xSrc, ySrc, traps, ntraps)
 14629  	libc.Xfree(tls, edges)
 14630  }
 14631  
 14632  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14633  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14634  // except on WORD64 machines where it is 64 bits.
 14635  
 14636  func XXRenderCompositeTrapezoids(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, traps uintptr, ntrap int32) { /* Trap.c:30:1: */
 14637  	bp := tls.Alloc(4)
 14638  	defer tls.Free(4)
 14639  
 14640  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14641  	var req uintptr
 14642  	var n int32
 14643  	var len int32
 14644  	var max_req uint32
 14645  	if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14646  		max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size
 14647  	} else {
 14648  		max_req = uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size)
 14649  	}
 14650  
 14651  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14652  		return
 14653  	}
 14654  
 14655  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14656  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 14657  	}
 14658  	for ntrap != 0 {
 14659  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTrapezoids), uint32(Sz_xRenderTrapezoidsReq))
 14660  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14661  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTrapezoids)
 14662  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 14663  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fsrc = src
 14664  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fdst = dst
 14665  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 14666  			if maskFormat != 0 {
 14667  				return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
 14668  			}
 14669  			return uint32(0)
 14670  		}()
 14671  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 14672  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 14673  		n = ntrap
 14674  		len = ((int32(n)) * (int32(Sz_xTrapezoid) >> 2))
 14675  		if uint32(len) > (max_req - uint32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) {
 14676  			n = (int32((max_req - uint32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xTrapezoid) >> 2))))
 14677  			len = ((int32(n)) * (int32(Sz_xTrapezoid) >> 2))
 14678  		}
 14679  		if (uint32(int32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 14680  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14681  				{
 14682  					// var _BRdat CARD32 at bp, 4
 14683  					var _BRlen CARD32 = (CARD32(int32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) - 1))
 14684  					(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14685  					*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 14686  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 14687  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 14688  					{
 14689  						if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14690  							libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 14691  							*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 14692  						} else {
 14693  							x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 14694  						}
 14695  					}
 14696  
 14697  				}
 14698  			} else {
 14699  				len = len
 14700  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14701  			}
 14702  		} else {
 14703  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14704  		}
 14705  		len <<= 2
 14706  		{
 14707  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14708  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint32(int32(len)))
 14709  				*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3)))
 14710  			} else {
 14711  				x11.X_XSend(tls, dpy, traps, len)
 14712  			}
 14713  		}
 14714  
 14715  		ntrap = ntrap - (n)
 14716  		traps += 40 * (uintptr(n))
 14717  	}
 14718  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14719  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 14720  	}
 14721  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14722  		(*struct {
 14723  			f func(*libc.TLS, uintptr) int32
 14724  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14725  	}
 14726  }
 14727  
 14728  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14729  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14730  // except on WORD64 machines where it is 64 bits.
 14731  
 14732  func XXRenderCompositeTriangles(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, triangles uintptr, ntriangle int32) { /* Tri.c:30:1: */
 14733  	bp := tls.Alloc(4)
 14734  	defer tls.Free(4)
 14735  
 14736  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14737  	var req uintptr
 14738  	var n int32
 14739  	var len int32
 14740  
 14741  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14742  		return
 14743  	}
 14744  
 14745  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14746  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 14747  	}
 14748  	for ntriangle != 0 {
 14749  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriangles), uint32(Sz_xRenderTrianglesReq))
 14750  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14751  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriangles)
 14752  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 14753  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).Fsrc = src
 14754  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).Fdst = dst
 14755  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 14756  			if maskFormat != 0 {
 14757  				return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
 14758  			}
 14759  			return uint32(0)
 14760  		}()
 14761  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 14762  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 14763  		n = ntriangle
 14764  		len = ((int32(n)) * (int32(Sz_xTriangle) >> 2))
 14765  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (uint32(len) > (uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)))) {
 14766  			n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xTriangle) >> 2))))
 14767  			len = ((int32(n)) * (int32(Sz_xTriangle) >> 2))
 14768  		}
 14769  		if (uint32(int32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 14770  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14771  				{
 14772  					// var _BRdat CARD32 at bp, 4
 14773  					var _BRlen CARD32 = (CARD32(int32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) - 1))
 14774  					(*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14775  					*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 14776  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 14777  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 14778  					{
 14779  						if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14780  							libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 14781  							*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 14782  						} else {
 14783  							x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 14784  						}
 14785  					}
 14786  
 14787  				}
 14788  			} else {
 14789  				len = len
 14790  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14791  			}
 14792  		} else {
 14793  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14794  		}
 14795  		len <<= 2
 14796  		{
 14797  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14798  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, triangles, uint32(int32(len)))
 14799  				*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3)))
 14800  			} else {
 14801  				x11.X_XSend(tls, dpy, triangles, len)
 14802  			}
 14803  		}
 14804  
 14805  		ntriangle = ntriangle - (n)
 14806  		triangles += 24 * (uintptr(n))
 14807  	}
 14808  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14809  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 14810  	}
 14811  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14812  		(*struct {
 14813  			f func(*libc.TLS, uintptr) int32
 14814  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14815  	}
 14816  }
 14817  
 14818  func XXRenderCompositeTriStrip(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, points uintptr, npoint int32) { /* Tri.c:75:1: */
 14819  	bp := tls.Alloc(4)
 14820  	defer tls.Free(4)
 14821  
 14822  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14823  	var req uintptr
 14824  	var n int32
 14825  	var len int32
 14826  
 14827  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14828  		return
 14829  	}
 14830  
 14831  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14832  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 14833  	}
 14834  	for npoint > 2 {
 14835  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriStrip), uint32(Sz_xRenderTriStripReq))
 14836  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14837  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriStrip)
 14838  		(*XRenderTriStripReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 14839  		(*XRenderTriStripReq)(unsafe.Pointer(req)).Fsrc = src
 14840  		(*XRenderTriStripReq)(unsafe.Pointer(req)).Fdst = dst
 14841  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 14842  			if maskFormat != 0 {
 14843  				return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
 14844  			}
 14845  			return uint32(0)
 14846  		}()
 14847  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 14848  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 14849  		n = npoint
 14850  		len = ((int32(n)) * (int32(Sz_xPointFixed) >> 2))
 14851  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (uint32(len) > (uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)))) {
 14852  			n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xPointFixed) >> 2))))
 14853  			len = ((int32(n)) * (int32(Sz_xPointFixed) >> 2))
 14854  		}
 14855  		if (uint32(int32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 14856  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14857  				{
 14858  					// var _BRdat CARD32 at bp, 4
 14859  					var _BRlen CARD32 = (CARD32(int32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) - 1))
 14860  					(*XRenderTriStripReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14861  					*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 14862  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 14863  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 14864  					{
 14865  						if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14866  							libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 14867  							*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 14868  						} else {
 14869  							x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 14870  						}
 14871  					}
 14872  
 14873  				}
 14874  			} else {
 14875  				len = len
 14876  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14877  			}
 14878  		} else {
 14879  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14880  		}
 14881  		len <<= 2
 14882  		{
 14883  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14884  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint32(int32(len)))
 14885  				*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3)))
 14886  			} else {
 14887  				x11.X_XSend(tls, dpy, points, len)
 14888  			}
 14889  		}
 14890  
 14891  		npoint = npoint - (n - 2)
 14892  		points += 8 * (uintptr(n - 2))
 14893  	}
 14894  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14895  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 14896  	}
 14897  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14898  		(*struct {
 14899  			f func(*libc.TLS, uintptr) int32
 14900  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14901  	}
 14902  }
 14903  
 14904  func XXRenderCompositeTriFan(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, points uintptr, npoint int32) { /* Tri.c:120:1: */
 14905  	bp := tls.Alloc(4)
 14906  	defer tls.Free(4)
 14907  
 14908  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14909  	var first uintptr = points
 14910  	var p uintptr
 14911  	var req uintptr
 14912  	var n int32
 14913  	var len int32
 14914  
 14915  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14916  		return
 14917  	}
 14918  
 14919  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14920  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 14921  	}
 14922  	points += 8
 14923  	npoint--
 14924  	for npoint > 1 {
 14925  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriFan), (uint32(Sz_xRenderTriFanReq + Sz_xPointFixed)))
 14926  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14927  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriFan)
 14928  		(*XRenderTriFanReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 14929  		(*XRenderTriFanReq)(unsafe.Pointer(req)).Fsrc = src
 14930  		(*XRenderTriFanReq)(unsafe.Pointer(req)).Fdst = dst
 14931  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 14932  			if maskFormat != 0 {
 14933  				return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
 14934  			}
 14935  			return uint32(0)
 14936  		}()
 14937  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 14938  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 14939  		p = (req + uintptr(1)*24)
 14940  		(*XPointFixed)(unsafe.Pointer(p)).Fx = INT32((*XPointFixed1)(unsafe.Pointer(first)).Fx)
 14941  		(*XPointFixed)(unsafe.Pointer(p)).Fy = INT32((*XPointFixed1)(unsafe.Pointer(first)).Fy)
 14942  		n = npoint
 14943  		len = ((int32(n)) * (int32(Sz_xPointFixed) >> 2))
 14944  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (uint32(len) > (uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)))) {
 14945  			n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xPointFixed) >> 2))))
 14946  			len = ((int32(n)) * (int32(Sz_xPointFixed) >> 2))
 14947  		}
 14948  		if (uint32(int32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) {
 14949  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14950  				{
 14951  					// var _BRdat CARD32 at bp, 4
 14952  					var _BRlen CARD32 = (CARD32(int32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) - 1))
 14953  					(*XRenderTriFanReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14954  					*(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))
 14955  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2)))
 14956  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2))
 14957  					{
 14958  						if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14959  							libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4))
 14960  							*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3)))
 14961  						} else {
 14962  							x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4)
 14963  						}
 14964  					}
 14965  
 14966  				}
 14967  			} else {
 14968  				len = len
 14969  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14970  			}
 14971  		} else {
 14972  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14973  		}
 14974  		len <<= 2
 14975  		{
 14976  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14977  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint32(int32(len)))
 14978  				*(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3)))
 14979  			} else {
 14980  				x11.X_XSend(tls, dpy, points, len)
 14981  			}
 14982  		}
 14983  
 14984  		npoint = npoint - (n - 1)
 14985  		points += 8 * (uintptr(n - 1))
 14986  	}
 14987  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14988  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 14989  	}
 14990  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14991  		(*struct {
 14992  			f func(*libc.TLS, uintptr) int32
 14993  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14994  	}
 14995  }
 14996  
 14997  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14998  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14999  // except on WORD64 machines where it is 64 bits.
 15000  
 15001  // Copyright (C) 1992-2020 Free Software Foundation, Inc.
 15002  //
 15003  // This file is part of GCC.
 15004  //
 15005  // GCC is free software; you can redistribute it and/or modify it under
 15006  // the terms of the GNU General Public License as published by the Free
 15007  // Software Foundation; either version 3, or (at your option) any later
 15008  // version.
 15009  //
 15010  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 15011  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 15012  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 15013  // for more details.
 15014  //
 15015  // Under Section 7 of GPL version 3, you are granted additional
 15016  // permissions described in the GCC Runtime Library Exception, version
 15017  // 3.1, as published by the Free Software Foundation.
 15018  //
 15019  // You should have received a copy of the GNU General Public License and
 15020  // a copy of the GCC Runtime Library Exception along with this program;
 15021  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 15022  // <http://www.gnu.org/licenses/>.
 15023  
 15024  // This administrivia gets added to the beginning of limits.h
 15025  //    if the system has its own version of limits.h.
 15026  
 15027  // We use _GCC_LIMITS_H_ because we want this not to match
 15028  //    any macros that the system's limits.h uses for its own purposes.
 15029  
 15030  // Use "..." so that we find syslimits.h only in this same directory.
 15031  // syslimits.h stands for the system's own limits.h file.
 15032  //    If we can use it ok unmodified, then we install this text.
 15033  //    If fixincludes fixes it, then the fixed version is installed
 15034  //    instead of this text.
 15035  
 15036  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15037  //    This file is part of the GNU C Library.
 15038  //
 15039  //    The GNU C Library is free software; you can redistribute it and/or
 15040  //    modify it under the terms of the GNU Lesser General Public
 15041  //    License as published by the Free Software Foundation; either
 15042  //    version 2.1 of the License, or (at your option) any later version.
 15043  //
 15044  //    The GNU C Library is distributed in the hope that it will be useful,
 15045  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15046  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15047  //    Lesser General Public License for more details.
 15048  //
 15049  //    You should have received a copy of the GNU Lesser General Public
 15050  //    License along with the GNU C Library; if not, see
 15051  //    <https://www.gnu.org/licenses/>.
 15052  
 15053  //	ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types	<limits.h>
 15054  
 15055  // Handle feature test macros at the start of a header.
 15056  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
 15057  //    This file is part of the GNU C Library.
 15058  //
 15059  //    The GNU C Library is free software; you can redistribute it and/or
 15060  //    modify it under the terms of the GNU Lesser General Public
 15061  //    License as published by the Free Software Foundation; either
 15062  //    version 2.1 of the License, or (at your option) any later version.
 15063  //
 15064  //    The GNU C Library is distributed in the hope that it will be useful,
 15065  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15066  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15067  //    Lesser General Public License for more details.
 15068  //
 15069  //    You should have received a copy of the GNU Lesser General Public
 15070  //    License along with the GNU C Library; if not, see
 15071  //    <https://www.gnu.org/licenses/>.
 15072  
 15073  // This header is internal to glibc and should not be included outside
 15074  //    of glibc headers.  Headers including it must define
 15075  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
 15076  //    cannot have multiple include guards because ISO C feature test
 15077  //    macros depend on the definition of the macro when an affected
 15078  //    header is included, not when the first system header is
 15079  //    included.
 15080  
 15081  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15082  //    This file is part of the GNU C Library.
 15083  //
 15084  //    The GNU C Library is free software; you can redistribute it and/or
 15085  //    modify it under the terms of the GNU Lesser General Public
 15086  //    License as published by the Free Software Foundation; either
 15087  //    version 2.1 of the License, or (at your option) any later version.
 15088  //
 15089  //    The GNU C Library is distributed in the hope that it will be useful,
 15090  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15091  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15092  //    Lesser General Public License for more details.
 15093  //
 15094  //    You should have received a copy of the GNU Lesser General Public
 15095  //    License along with the GNU C Library; if not, see
 15096  //    <https://www.gnu.org/licenses/>.
 15097  
 15098  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
 15099  //    macro.
 15100  
 15101  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
 15102  //    macro.  Most but not all symbols enabled by that macro in TS
 15103  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
 15104  //    still require that macro in C2X.
 15105  
 15106  // ISO/IEC TS 18661-4:2015 defines the
 15107  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
 15108  //    functions, the symbols from this TS are enabled unconditionally in
 15109  //    C2X.
 15110  
 15111  // ISO/IEC TS 18661-3:2015 defines the
 15112  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
 15113  
 15114  // Maximum length of any multibyte character in any locale.
 15115  //    We define this value here since the gcc header does not define
 15116  //    the correct value.
 15117  
 15118  // If we are not using GNU CC we have to define all the symbols ourself.
 15119  //    Otherwise use gcc's definitions (see below).
 15120  
 15121  // Get the compiler's limits.h, which defines almost all the ISO constants.
 15122  //
 15123  //     We put this #include_next outside the double inclusion check because
 15124  //     it should be possible to include this file more than once and still get
 15125  //     the definitions from gcc's header.
 15126  
 15127  // The <limits.h> files in some gcc versions don't define LLONG_MIN,
 15128  //    LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for
 15129  //    ages are available.
 15130  
 15131  // The integer width macros are not defined by GCC's <limits.h> before
 15132  //    GCC 7, or if _GNU_SOURCE rather than
 15133  //    __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
 15134  
 15135  // POSIX adds things to <limits.h>.
 15136  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15137  //    This file is part of the GNU C Library.
 15138  //
 15139  //    The GNU C Library is free software; you can redistribute it and/or
 15140  //    modify it under the terms of the GNU Lesser General Public
 15141  //    License as published by the Free Software Foundation; either
 15142  //    version 2.1 of the License, or (at your option) any later version.
 15143  //
 15144  //    The GNU C Library is distributed in the hope that it will be useful,
 15145  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15146  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15147  //    Lesser General Public License for more details.
 15148  //
 15149  //    You should have received a copy of the GNU Lesser General Public
 15150  //    License along with the GNU C Library; if not, see
 15151  //    <https://www.gnu.org/licenses/>.
 15152  
 15153  //	POSIX Standard: 2.9.2 Minimum Values	Added to <limits.h>
 15154  //
 15155  //	Never include this file directly; use <limits.h> instead.
 15156  
 15157  // Determine the wordsize from the preprocessor defines.
 15158  
 15159  // These are the standard-mandated minimum values.
 15160  
 15161  // Minimum number of operations in one list I/O call.
 15162  
 15163  // Minimal number of outstanding asynchronous I/O operations.
 15164  
 15165  // Maximum length of arguments to `execve', including environment.
 15166  
 15167  // Maximum simultaneous processes per real user ID.
 15168  
 15169  // Minimal number of timer expiration overruns.
 15170  
 15171  // Maximum length of a host name (not including the terminating null)
 15172  //    as returned from the GETHOSTNAME function.
 15173  
 15174  // Maximum link count of a file.
 15175  
 15176  // Maximum length of login name.
 15177  
 15178  // Number of bytes in a terminal canonical input queue.
 15179  
 15180  // Number of bytes for which space will be
 15181  //    available in a terminal input queue.
 15182  
 15183  // Maximum number of message queues open for a process.
 15184  
 15185  // Maximum number of supported message priorities.
 15186  
 15187  // Number of bytes in a filename.
 15188  
 15189  // Number of simultaneous supplementary group IDs per process.
 15190  
 15191  // Number of files one process can have open at once.
 15192  
 15193  // Number of bytes in a pathname.
 15194  
 15195  // Number of bytes than can be written atomically to a pipe.
 15196  
 15197  // The number of repeated occurrences of a BRE permitted by the
 15198  //    REGEXEC and REGCOMP functions when using the interval notation.
 15199  
 15200  // Minimal number of realtime signals reserved for the application.
 15201  
 15202  // Number of semaphores a process can have.
 15203  
 15204  // Maximal value of a semaphore.
 15205  
 15206  // Number of pending realtime signals.
 15207  
 15208  // Largest value of a `ssize_t'.
 15209  
 15210  // Number of streams a process can have open at once.
 15211  
 15212  // The number of bytes in a symbolic link.
 15213  
 15214  // The number of symbolic links that can be traversed in the
 15215  //    resolution of a pathname in the absence of a loop.
 15216  
 15217  // Number of timer for a process.
 15218  
 15219  // Maximum number of characters in a tty name.
 15220  
 15221  // Maximum length of a timezone name (element of `tzname').
 15222  
 15223  // Maximum clock resolution in nanoseconds.
 15224  
 15225  // Get the implementation-specific values for the above.
 15226  // Minimum guaranteed maximum values for system limits.  Linux version.
 15227  //    Copyright (C) 1993-2020 Free Software Foundation, Inc.
 15228  //    This file is part of the GNU C Library.
 15229  //
 15230  //    The GNU C Library is free software; you can redistribute it and/or
 15231  //    modify it under the terms of the GNU Lesser General Public License as
 15232  //    published by the Free Software Foundation; either version 2.1 of the
 15233  //    License, or (at your option) any later version.
 15234  //
 15235  //    The GNU C Library is distributed in the hope that it will be useful,
 15236  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15237  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15238  //    Lesser General Public License for more details.
 15239  //
 15240  //    You should have received a copy of the GNU Lesser General Public
 15241  //    License along with the GNU C Library; see the file COPYING.LIB.  If
 15242  //    not, see <https://www.gnu.org/licenses/>.
 15243  
 15244  // The kernel header pollutes the namespace with the NR_OPEN symbol
 15245  //    and defines LINK_MAX although filesystems have different maxima.  A
 15246  //    similar thing is true for OPEN_MAX: the limit can be changed at
 15247  //    runtime and therefore the macro must not be defined.  Remove this
 15248  //    after including the header if necessary.
 15249  
 15250  // The kernel sources contain a file with all the needed information.
 15251  // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
 15252  
 15253  // Have to remove NR_OPEN?
 15254  // Have to remove LINK_MAX?
 15255  // Have to remove OPEN_MAX?
 15256  // Have to remove ARG_MAX?
 15257  
 15258  // The number of data keys per process.
 15259  // This is the value this implementation supports.
 15260  
 15261  // Controlling the iterations of destructors for thread-specific data.
 15262  // Number of iterations this implementation does.
 15263  
 15264  // The number of threads per process.
 15265  // We have no predefined limit on the number of threads.
 15266  
 15267  // Maximum amount by which a process can descrease its asynchronous I/O
 15268  //    priority level.
 15269  
 15270  // Minimum size for a thread.  We are free to choose a reasonable value.
 15271  
 15272  // Maximum number of timer expiration overruns.
 15273  
 15274  // Maximum tty name length.
 15275  
 15276  // Maximum login name length.  This is arbitrary.
 15277  
 15278  // Maximum host name length.
 15279  
 15280  // Maximum message queue priority level.
 15281  
 15282  // Maximum value the semaphore can have.
 15283  
 15284  // ssize_t is not formally required to be the signed type
 15285  //    corresponding to size_t, but it is for all configurations supported
 15286  //    by glibc.
 15287  
 15288  // This value is a guaranteed minimum maximum.
 15289  //    The current maximum can be got from `sysconf'.
 15290  
 15291  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15292  //    This file is part of the GNU C Library.
 15293  //
 15294  //    The GNU C Library is free software; you can redistribute it and/or
 15295  //    modify it under the terms of the GNU Lesser General Public
 15296  //    License as published by the Free Software Foundation; either
 15297  //    version 2.1 of the License, or (at your option) any later version.
 15298  //
 15299  //    The GNU C Library is distributed in the hope that it will be useful,
 15300  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15301  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15302  //    Lesser General Public License for more details.
 15303  //
 15304  //    You should have received a copy of the GNU Lesser General Public
 15305  //    License along with the GNU C Library; if not, see
 15306  //    <https://www.gnu.org/licenses/>.
 15307  
 15308  // Never include this file directly; include <limits.h> instead.
 15309  
 15310  // The maximum `ibase' and `obase' values allowed by the `bc' utility.
 15311  
 15312  // The maximum number of elements allowed in an array by the `bc' utility.
 15313  
 15314  // The maximum `scale' value allowed by the `bc' utility.
 15315  
 15316  // The maximum length of a string constant accepted by the `bc' utility.
 15317  
 15318  // The maximum number of weights that can be assigned to an entry of
 15319  //    the LC_COLLATE `order' keyword in the locale definition file.
 15320  
 15321  // The maximum number of expressions that can be nested
 15322  //    within parentheses by the `expr' utility.
 15323  
 15324  // The maximum length, in bytes, of an input line.
 15325  
 15326  // The maximum number of repeated occurrences of a regular expression
 15327  //    permitted when using the interval notation `\{M,N\}'.
 15328  
 15329  // The maximum number of bytes in a character class name.  We have no
 15330  //    fixed limit, 2048 is a high number.
 15331  
 15332  // These values are implementation-specific,
 15333  //    and may vary within the implementation.
 15334  //    Their precise values can be obtained from sysconf.
 15335  
 15336  // This value is defined like this in regex.h.
 15337  
 15338  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15339  //
 15340  // This file is part of GCC.
 15341  //
 15342  // GCC is free software; you can redistribute it and/or modify it under
 15343  // the terms of the GNU General Public License as published by the Free
 15344  // Software Foundation; either version 3, or (at your option) any later
 15345  // version.
 15346  //
 15347  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 15348  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 15349  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 15350  // for more details.
 15351  //
 15352  // Under Section 7 of GPL version 3, you are granted additional
 15353  // permissions described in the GCC Runtime Library Exception, version
 15354  // 3.1, as published by the Free Software Foundation.
 15355  //
 15356  // You should have received a copy of the GNU General Public License and
 15357  // a copy of the GCC Runtime Library Exception along with this program;
 15358  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 15359  // <http://www.gnu.org/licenses/>.
 15360  
 15361  // Number of bits in a `char'.
 15362  
 15363  // Maximum length of a multibyte character.
 15364  
 15365  // Minimum and maximum values a `signed char' can hold.
 15366  
 15367  // Maximum value an `unsigned char' can hold.  (Minimum is 0).
 15368  
 15369  // Minimum and maximum values a `char' can hold.
 15370  
 15371  // Minimum and maximum values a `signed short int' can hold.
 15372  
 15373  // Maximum value an `unsigned short int' can hold.  (Minimum is 0).
 15374  
 15375  // Minimum and maximum values a `signed int' can hold.
 15376  
 15377  // Maximum value an `unsigned int' can hold.  (Minimum is 0).
 15378  
 15379  // Minimum and maximum values a `signed long int' can hold.
 15380  //    (Same as `int').
 15381  
 15382  // Maximum value an `unsigned long int' can hold.  (Minimum is 0).
 15383  
 15384  // Minimum and maximum values a `signed long long int' can hold.
 15385  
 15386  // Maximum value an `unsigned long long int' can hold.  (Minimum is 0).
 15387  
 15388  // This administrivia gets added to the end of limits.h
 15389  //    if the system has its own version of limits.h.
 15390  
 15391  var XXRenderExtensionInfo XRenderExtInfo                                       /* Xrender.c:31:16: */
 15392  var XXRenderExtensionName = *(*[7]int8)(unsafe.Pointer(ts + 6 /* "RENDER" */)) /* Xrender.c:32:6 */
 15393  
 15394  // XRenderExtFindDisplay - look for a display in this extension; keeps a
 15395  // cache of the most-recently used for efficiency. (Replaces
 15396  // XextFindDisplay.)
 15397  func sXRenderExtFindDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) uintptr { /* Xrender.c:41:30: */
 15398  	var dpyinfo uintptr
 15399  
 15400  	// see if this was the most recently accessed display
 15401  	if (libc.AssignUintptr(&dpyinfo, (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur) != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy) {
 15402  		return dpyinfo
 15403  	}
 15404  
 15405  	// look for display in list
 15406  	if x11.X_XLockMutex_fn != 0 {
 15407  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15408  	}
 15409  	for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext {
 15410  		if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy {
 15411  			(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo // cache most recently used
 15412  			if x11.X_XUnlockMutex_fn != 0 {
 15413  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15414  			}
 15415  			return dpyinfo
 15416  		}
 15417  	}
 15418  	if x11.X_XUnlockMutex_fn != 0 {
 15419  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15420  	}
 15421  
 15422  	return uintptr(0)
 15423  }
 15424  
 15425  // If the server is missing support for any of the required depths on
 15426  // any screen, tell the application that Render is not present.
 15427  
 15428  // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps
 15429  
 15430  type X_DepthCheckRec = struct {
 15431  	Fnext    uintptr
 15432  	Fdpy     uintptr
 15433  	Fmissing CARD32
 15434  	Fserial  uint32
 15435  } /* Xrender.c:86:9 */
 15436  
 15437  // If the server is missing support for any of the required depths on
 15438  // any screen, tell the application that Render is not present.
 15439  
 15440  // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps
 15441  
 15442  type DepthCheckRec = X_DepthCheckRec /* Xrender.c:91:3 */
 15443  type DepthCheckPtr = uintptr         /* Xrender.c:91:18 */
 15444  
 15445  var depthChecks DepthCheckPtr /* Xrender.c:93:22: */
 15446  
 15447  func sXRenderDepthCheckErrorHandler(tls *libc.TLS, dpy uintptr, evt uintptr) int32 { /* Xrender.c:96:1: */
 15448  	if (int32((*XErrorEvent)(unsafe.Pointer(evt)).Frequest_code) == X_CreatePixmap) && (int32((*XErrorEvent)(unsafe.Pointer(evt)).Ferror_code) == BadValue) {
 15449  		var d DepthCheckPtr
 15450  		if x11.X_XLockMutex_fn != 0 {
 15451  			(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15452  		}
 15453  		for d = depthChecks; d != 0; d = (*X_DepthCheckRec)(unsafe.Pointer(d)).Fnext {
 15454  			if (*X_DepthCheckRec)(unsafe.Pointer(d)).Fdpy == dpy {
 15455  				if (int32((*XErrorEvent)(unsafe.Pointer(evt)).Fserial - (*X_DepthCheckRec)(unsafe.Pointer(d)).Fserial)) >= 0 {
 15456  					*(*CARD32)(unsafe.Pointer(d + 8 /* &.missing */)) |= (CARD32(uint32(1) << (((*XErrorEvent)(unsafe.Pointer(evt)).Fresourceid) - XID(1))))
 15457  				}
 15458  				break
 15459  			}
 15460  		}
 15461  		if x11.X_XUnlockMutex_fn != 0 {
 15462  			(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15463  		}
 15464  	}
 15465  	return 0
 15466  }
 15467  
 15468  func sXRenderHasDepths(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:115:1: */
 15469  	bp := tls.Alloc(16)
 15470  	defer tls.Free(16)
 15471  
 15472  	var s int32
 15473  
 15474  	for s = 0; s < ((*struct {
 15475  		Fext_data            uintptr
 15476  		Fprivate1            uintptr
 15477  		Ffd                  int32
 15478  		Fprivate2            int32
 15479  		Fproto_major_version int32
 15480  		Fproto_minor_version int32
 15481  		Fvendor              uintptr
 15482  		Fprivate3            XID
 15483  		Fprivate4            XID
 15484  		Fprivate5            XID
 15485  		Fprivate6            int32
 15486  		Fresource_alloc      uintptr
 15487  		Fbyte_order          int32
 15488  		Fbitmap_unit         int32
 15489  		Fbitmap_pad          int32
 15490  		Fbitmap_bit_order    int32
 15491  		Fnformats            int32
 15492  		Fpixmap_format       uintptr
 15493  		Fprivate8            int32
 15494  		Frelease             int32
 15495  		Fprivate9            uintptr
 15496  		Fprivate10           uintptr
 15497  		Fqlen                int32
 15498  		Flast_request_read   uint32
 15499  		Frequest             uint32
 15500  		Fprivate11           XPointer
 15501  		Fprivate12           XPointer
 15502  		Fprivate13           XPointer
 15503  		Fprivate14           XPointer
 15504  		Fmax_request_size    uint32
 15505  		Fdb                  uintptr
 15506  		Fprivate15           uintptr
 15507  		Fdisplay_name        uintptr
 15508  		Fdefault_screen      int32
 15509  		Fnscreens            int32
 15510  		Fscreens             uintptr
 15511  		Fmotion_buffer       uint32
 15512  		Fprivate16           uint32
 15513  		Fmin_keycode         int32
 15514  		Fmax_keycode         int32
 15515  		Fprivate17           XPointer
 15516  		Fprivate18           XPointer
 15517  		Fprivate19           int32
 15518  		Fxdefaults           uintptr
 15519  	})(unsafe.Pointer(dpy)).Fnscreens); s++ {
 15520  		var depths CARD32 = CARD32(0)
 15521  		var missing CARD32
 15522  		var scr uintptr = ((*struct {
 15523  			Fext_data            uintptr
 15524  			Fprivate1            uintptr
 15525  			Ffd                  int32
 15526  			Fprivate2            int32
 15527  			Fproto_major_version int32
 15528  			Fproto_minor_version int32
 15529  			Fvendor              uintptr
 15530  			Fprivate3            XID
 15531  			Fprivate4            XID
 15532  			Fprivate5            XID
 15533  			Fprivate6            int32
 15534  			Fresource_alloc      uintptr
 15535  			Fbyte_order          int32
 15536  			Fbitmap_unit         int32
 15537  			Fbitmap_pad          int32
 15538  			Fbitmap_bit_order    int32
 15539  			Fnformats            int32
 15540  			Fpixmap_format       uintptr
 15541  			Fprivate8            int32
 15542  			Frelease             int32
 15543  			Fprivate9            uintptr
 15544  			Fprivate10           uintptr
 15545  			Fqlen                int32
 15546  			Flast_request_read   uint32
 15547  			Frequest             uint32
 15548  			Fprivate11           XPointer
 15549  			Fprivate12           XPointer
 15550  			Fprivate13           XPointer
 15551  			Fprivate14           XPointer
 15552  			Fmax_request_size    uint32
 15553  			Fdb                  uintptr
 15554  			Fprivate15           uintptr
 15555  			Fdisplay_name        uintptr
 15556  			Fdefault_screen      int32
 15557  			Fnscreens            int32
 15558  			Fscreens             uintptr
 15559  			Fmotion_buffer       uint32
 15560  			Fprivate16           uint32
 15561  			Fmin_keycode         int32
 15562  			Fmax_keycode         int32
 15563  			Fprivate17           XPointer
 15564  			Fprivate18           XPointer
 15565  			Fprivate19           int32
 15566  			Fxdefaults           uintptr
 15567  		})(unsafe.Pointer((dpy))).Fscreens + uintptr(s)*80)
 15568  		var d int32
 15569  
 15570  		for d = 0; d < (*Screen)(unsafe.Pointer(scr)).Fndepths; d++ {
 15571  			depths = depths | (CARD32(uint32(1) << (((*Depth)(unsafe.Pointer((*Screen)(unsafe.Pointer(scr)).Fdepths + uintptr(d)*12)).Fdepth) - 1)))
 15572  		}
 15573  		missing = (^depths & (((((uint32(1) << ((1) - 1)) | (uint32(1) << ((4) - 1))) | (uint32(1) << ((8) - 1))) | (uint32(1) << ((24) - 1))) | (uint32(1) << ((32) - 1))))
 15574  		if missing != 0 {
 15575  			// var dc DepthCheckRec at bp, 16
 15576  
 15577  			var dp uintptr
 15578  			var previousHandler XErrorHandler
 15579  
 15580  			// Ok, this is ugly.  It should be sufficient at this
 15581  			// point to just return False, but Xinerama is broken at
 15582  			// this point and only advertises depths which have an
 15583  			// associated visual.  Of course, the other depths still
 15584  			// work, but the only way to find out is to try them.
 15585  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fdpy = dpy
 15586  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing = CARD32(0)
 15587  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fserial = x11.XXNextRequest(tls, dpy)
 15588  			if x11.X_XLockMutex_fn != 0 {
 15589  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15590  			}
 15591  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext = depthChecks
 15592  			depthChecks = bp /* &dc */
 15593  			if x11.X_XUnlockMutex_fn != 0 {
 15594  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15595  			}
 15596  			// I suspect this is not really thread safe, but Xlib doesn't
 15597  			// provide a lot of options here
 15598  			previousHandler = x11.XXSetErrorHandler(tls, *(*uintptr)(unsafe.Pointer(&struct {
 15599  				f func(*libc.TLS, uintptr, uintptr) int32
 15600  			}{sXRenderDepthCheckErrorHandler})))
 15601  			// Try each missing depth and see if pixmap creation succeeds
 15602  			for d = 1; d <= 32; d++ {
 15603  				// don't check depth 1 == Xcursor recurses...
 15604  				if ((missing & (CARD32(uint32(1) << ((d) - 1)))) != 0) && (d != 1) {
 15605  					var p Pixmap
 15606  					p = x11.XXCreatePixmap(tls, dpy, (*Screen)(unsafe.Pointer(((*struct {
 15607  						Fext_data            uintptr
 15608  						Fprivate1            uintptr
 15609  						Ffd                  int32
 15610  						Fprivate2            int32
 15611  						Fproto_major_version int32
 15612  						Fproto_minor_version int32
 15613  						Fvendor              uintptr
 15614  						Fprivate3            XID
 15615  						Fprivate4            XID
 15616  						Fprivate5            XID
 15617  						Fprivate6            int32
 15618  						Fresource_alloc      uintptr
 15619  						Fbyte_order          int32
 15620  						Fbitmap_unit         int32
 15621  						Fbitmap_pad          int32
 15622  						Fbitmap_bit_order    int32
 15623  						Fnformats            int32
 15624  						Fpixmap_format       uintptr
 15625  						Fprivate8            int32
 15626  						Frelease             int32
 15627  						Fprivate9            uintptr
 15628  						Fprivate10           uintptr
 15629  						Fqlen                int32
 15630  						Flast_request_read   uint32
 15631  						Frequest             uint32
 15632  						Fprivate11           XPointer
 15633  						Fprivate12           XPointer
 15634  						Fprivate13           XPointer
 15635  						Fprivate14           XPointer
 15636  						Fmax_request_size    uint32
 15637  						Fdb                  uintptr
 15638  						Fprivate15           uintptr
 15639  						Fdisplay_name        uintptr
 15640  						Fdefault_screen      int32
 15641  						Fnscreens            int32
 15642  						Fscreens             uintptr
 15643  						Fmotion_buffer       uint32
 15644  						Fprivate16           uint32
 15645  						Fmin_keycode         int32
 15646  						Fmax_keycode         int32
 15647  						Fprivate17           XPointer
 15648  						Fprivate18           XPointer
 15649  						Fprivate19           int32
 15650  						Fxdefaults           uintptr
 15651  					})(unsafe.Pointer((dpy))).Fscreens + uintptr(s)*80))).Froot, uint32(1), uint32(1), uint32(d))
 15652  					x11.XXFreePixmap(tls, dpy, p)
 15653  				}
 15654  			}
 15655  			x11.XXSync(tls, dpy, False)
 15656  			x11.XXSetErrorHandler(tls, previousHandler)
 15657  			// Unhook from the list of depth check records
 15658  			if x11.X_XLockMutex_fn != 0 {
 15659  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15660  			}
 15661  			for dp = uintptr(unsafe.Pointer(&depthChecks)); *(*uintptr)(unsafe.Pointer(dp)) != 0; dp = (*(*uintptr)(unsafe.Pointer(dp)) /* &.next */) {
 15662  				if *(*uintptr)(unsafe.Pointer(dp)) == bp /* &dc */ {
 15663  					*(*uintptr)(unsafe.Pointer(dp)) = (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext
 15664  					break
 15665  				}
 15666  			}
 15667  			if x11.X_XUnlockMutex_fn != 0 {
 15668  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15669  			}
 15670  			if (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing != 0 {
 15671  				return False
 15672  			}
 15673  		}
 15674  	}
 15675  	return True
 15676  }
 15677  
 15678  // XRenderExtAddDisplay - add a display to this extension. (Replaces
 15679  // XextAddDisplay)
 15680  func sXRenderExtAddDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr, ext_name uintptr) uintptr { /* Xrender.c:190:30: */
 15681  	var dpyinfo uintptr
 15682  
 15683  	dpyinfo = libc.Xmalloc(tls, func() uint32 {
 15684  		if (uint32(unsafe.Sizeof(XRenderExtDisplayInfo{}))) == uint32(0) {
 15685  			return uint32(1)
 15686  		}
 15687  		return uint32(unsafe.Sizeof(XRenderExtDisplayInfo{}))
 15688  	}())
 15689  	if !(dpyinfo != 0) {
 15690  		return uintptr(0)
 15691  	}
 15692  	(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay = dpy
 15693  	(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Finfo = uintptr(0)
 15694  
 15695  	if sXRenderHasDepths(tls, dpy) != 0 {
 15696  		(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = x11.XXInitExtension(tls, dpy, ext_name)
 15697  	} else {
 15698  		(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = uintptr(0)
 15699  	}
 15700  
 15701  	// if the server has the extension, then we can initialize the
 15702  	// appropriate function vectors
 15703  	if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes != 0 {
 15704  		x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes)).Fextension,
 15705  			*(*uintptr)(unsafe.Pointer(&struct {
 15706  				f func(*libc.TLS, uintptr, uintptr) int32
 15707  			}{sXRenderCloseDisplay})))
 15708  	} else {
 15709  		// The server doesn't have this extension.
 15710  		// Use a private Xlib-internal extension to hang the close_display
 15711  		// hook on so that the "cache" (extinfo->cur) is properly cleaned.
 15712  		// (XBUG 7955)
 15713  		var codes uintptr = x11.XXAddExtension(tls, dpy)
 15714  		if !(codes != 0) {
 15715  			x11.XXFree(tls, dpyinfo)
 15716  			return uintptr(0)
 15717  		}
 15718  		x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer(codes)).Fextension, *(*uintptr)(unsafe.Pointer(&struct {
 15719  			f func(*libc.TLS, uintptr, uintptr) int32
 15720  		}{sXRenderCloseDisplay})))
 15721  	}
 15722  
 15723  	// now, chain it onto the list
 15724  	if x11.X_XLockMutex_fn != 0 {
 15725  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15726  	}
 15727  	(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead
 15728  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = dpyinfo
 15729  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo
 15730  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays++
 15731  	if x11.X_XUnlockMutex_fn != 0 {
 15732  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15733  	}
 15734  	return dpyinfo
 15735  }
 15736  
 15737  // XRenderExtRemoveDisplay - remove the indicated display from the
 15738  // extension object. (Replaces XextRemoveDisplay.)
 15739  func sXRenderExtRemoveDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) int32 { /* Xrender.c:246:1: */
 15740  	var dpyinfo uintptr
 15741  	var prev uintptr
 15742  
 15743  	// locate this display and its back link so that it can be removed
 15744  	if x11.X_XLockMutex_fn != 0 {
 15745  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15746  	}
 15747  	prev = uintptr(0)
 15748  	for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext {
 15749  		if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy {
 15750  			break
 15751  		}
 15752  		prev = dpyinfo
 15753  	}
 15754  	if !(dpyinfo != 0) {
 15755  		if x11.X_XUnlockMutex_fn != 0 {
 15756  			(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15757  		}
 15758  		return 0 // hmm, actually an error
 15759  	}
 15760  
 15761  	// remove the display from the list; handles going to zero
 15762  	if prev != 0 {
 15763  		(*XRenderExtDisplayInfo)(unsafe.Pointer(prev)).Fnext = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext
 15764  	} else {
 15765  		(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext
 15766  	}
 15767  
 15768  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays--
 15769  	if dpyinfo == (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur {
 15770  		(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = uintptr(0)
 15771  	} // flush cache
 15772  	if x11.X_XUnlockMutex_fn != 0 {
 15773  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15774  	}
 15775  
 15776  	libc.Xfree(tls, dpyinfo)
 15777  	return 1
 15778  }
 15779  
 15780  func XXRenderFindDisplay(tls *libc.TLS, dpy uintptr) uintptr { /* Xrender.c:282:23: */
 15781  	var dpyinfo uintptr
 15782  
 15783  	dpyinfo = sXRenderExtFindDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy)
 15784  	if !(dpyinfo != 0) {
 15785  		dpyinfo = sXRenderExtAddDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy,
 15786  			uintptr(unsafe.Pointer(&XXRenderExtensionName)))
 15787  	}
 15788  	return dpyinfo
 15789  }
 15790  
 15791  func sXRenderCloseDisplay(tls *libc.TLS, dpy uintptr, codes uintptr) int32 { /* Xrender.c:295:1: */
 15792  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 15793  	if (info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0) {
 15794  		x11.XXFree(tls, (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo)
 15795  	}
 15796  
 15797  	return sXRenderExtRemoveDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy)
 15798  }
 15799  
 15800  // ***************************************************************************
 15801  //
 15802  //                                                                          *
 15803  //			    Render public interfaces                        *
 15804  //                                                                          *
 15805  //
 15806  
 15807  func XXRenderQueryExtension(tls *libc.TLS, dpy uintptr, event_basep uintptr, error_basep uintptr) int32 { /* Xrender.c:309:6: */
 15808  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 15809  
 15810  	if (info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 15811  		*(*int32)(unsafe.Pointer(event_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_event
 15812  		*(*int32)(unsafe.Pointer(error_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_error
 15813  		return True
 15814  	} else {
 15815  		return False
 15816  	}
 15817  	return int32(0)
 15818  }
 15819  
 15820  func XXRenderQueryVersion(tls *libc.TLS, dpy uintptr, major_versionp uintptr, minor_versionp uintptr) int32 { /* Xrender.c:323:8: */
 15821  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 15822  	var xri uintptr
 15823  
 15824  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 15825  		return 0
 15826  	}
 15827  
 15828  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 15829  		return 0
 15830  	}
 15831  
 15832  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 15833  	*(*int32)(unsafe.Pointer(major_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version
 15834  	*(*int32)(unsafe.Pointer(minor_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version
 15835  	return 1
 15836  }
 15837  
 15838  func _XRenderFindFormat(tls *libc.TLS, xri uintptr, format PictFormat) uintptr { /* Xrender.c:342:26: */
 15839  	var nf int32
 15840  
 15841  	for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ {
 15842  		if (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fid == format {
 15843  			return ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32)
 15844  		}
 15845  	}
 15846  	return uintptr(0)
 15847  }
 15848  
 15849  func _XRenderFindVisual(tls *libc.TLS, dpy uintptr, vid VisualID) uintptr { /* Xrender.c:353:15: */
 15850  	return x11.X_XVIDtoVisual(tls, dpy, vid)
 15851  }
 15852  
 15853  type X_renderVersionState = struct {
 15854  	Fversion_seq   uint32
 15855  	Ferror         int32
 15856  	Fmajor_version int32
 15857  	Fminor_version int32
 15858  } /* Xrender.c:359:9 */
 15859  
 15860  type X_XrenderVersionState = X_renderVersionState /* Xrender.c:365:3 */
 15861  
 15862  func _XRenderVersionHandler(tls *libc.TLS, dpy uintptr, rep uintptr, buf uintptr, len int32, data XPointer) int32 { /* Xrender.c:368:1: */
 15863  	bp := tls.Alloc(32)
 15864  	defer tls.Free(32)
 15865  
 15866  	// var replbuf XRenderQueryVersionReply at bp, 32
 15867  
 15868  	var repl uintptr
 15869  	var state uintptr = data
 15870  
 15871  	if (*Display)(unsafe.Pointer(dpy)).Flast_request_read != (*X_XrenderVersionState)(unsafe.Pointer(state)).Fversion_seq {
 15872  		return False
 15873  	}
 15874  	if int32((*XGenericReply)(unsafe.Pointer(rep)).Ftype) == X_Error {
 15875  		(*X_XrenderVersionState)(unsafe.Pointer(state)).Ferror = True
 15876  		return False
 15877  	}
 15878  	repl = x11.X_XGetAsyncReply(tls, dpy, bp /* &replbuf */, rep, buf, len,
 15879  		(int32((Sz_xRenderQueryVersionReply - Sz_xReply)) >> 2),
 15880  		True)
 15881  	(*X_XrenderVersionState)(unsafe.Pointer(state)).Fmajor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FmajorVersion)
 15882  	(*X_XrenderVersionState)(unsafe.Pointer(state)).Fminor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FminorVersion)
 15883  	return True
 15884  }
 15885  
 15886  func XXRenderQueryFormats(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:395:1: */
 15887  	bp := tls.Alloc(60)
 15888  	defer tls.Free(60)
 15889  
 15890  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 15891  	// var async X_XAsyncHandler at bp+16, 12
 15892  
 15893  	// var async_state X_XrenderVersionState at bp, 16
 15894  
 15895  	var vreq uintptr
 15896  	// var rep XRenderQueryPictFormatsReply at bp+28, 32
 15897  
 15898  	var req uintptr
 15899  	var xri uintptr
 15900  	var format uintptr
 15901  	var screen uintptr
 15902  	var depth uintptr
 15903  	var visual uintptr
 15904  	var xFormat uintptr
 15905  	var xScreen uintptr
 15906  	var xDepth uintptr
 15907  	var xVisual uintptr
 15908  	var xSubpixel uintptr
 15909  	var xData uintptr
 15910  	var nf int32
 15911  	var ns int32
 15912  	var nd int32
 15913  	var nv int32
 15914  	var rlength uint32
 15915  	var nbytes uint32
 15916  
 15917  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 15918  		return 0
 15919  	}
 15920  
 15921  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15922  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 15923  	}
 15924  	if (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 {
 15925  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15926  			(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 15927  		}
 15928  		return 1
 15929  	}
 15930  	vreq = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryVersion), uint32(Sz_xRenderQueryVersionReq))
 15931  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 15932  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FrenderReqType = CARD8(X_RenderQueryVersion)
 15933  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FmajorVersion = CARD32(RENDER_MAJOR)
 15934  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FminorVersion = CARD32(RENDER_MINOR)
 15935  
 15936  	(*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fversion_seq = (*Display)(unsafe.Pointer(dpy)).Frequest
 15937  	(*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror = False
 15938  	(*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fnext = (*Display)(unsafe.Pointer(dpy)).Fasync_handlers
 15939  	(*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fhandler = *(*uintptr)(unsafe.Pointer(&struct {
 15940  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, XPointer) int32
 15941  	}{_XRenderVersionHandler}))
 15942  	(*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fdata = bp /* &async_state */
 15943  	(*Display)(unsafe.Pointer(dpy)).Fasync_handlers = bp + 16           /* &async */
 15944  
 15945  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictFormats), uint32(Sz_xRenderQueryPictFormatsReq))
 15946  	(*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 15947  	(*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictFormats)
 15948  
 15949  	if !(x11.X_XReply(tls, dpy, bp+28 /* &rep */, 0, XFalse) != 0) {
 15950  		{
 15951  			if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == (bp + 16 /* &async */) {
 15952  				(*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fnext
 15953  			} else {
 15954  				x11.X_XDeqAsyncHandler(tls, dpy, bp+16 /* &async */)
 15955  			}
 15956  		}
 15957  
 15958  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15959  			(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 15960  		}
 15961  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 15962  			(*struct {
 15963  				f func(*libc.TLS, uintptr) int32
 15964  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 15965  		}
 15966  		return 0
 15967  	}
 15968  	{
 15969  		if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == (bp + 16 /* &async */) {
 15970  			(*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fnext
 15971  		} else {
 15972  			x11.X_XDeqAsyncHandler(tls, dpy, bp+16 /* &async */)
 15973  		}
 15974  	}
 15975  
 15976  	if (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror != 0 {
 15977  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15978  			(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 15979  		}
 15980  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 15981  			(*struct {
 15982  				f func(*libc.TLS, uintptr) int32
 15983  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 15984  		}
 15985  		return 0
 15986  	}
 15987  	// Check for the lack of sub-pixel data
 15988  	if ((*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version == 0) && ((*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version < 6) {
 15989  		(*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumSubpixel = CARD32(0)
 15990  	}
 15991  
 15992  	if ((((((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(XRenderPictFormat{})))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumScreens < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(XRenderScreen{}))))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(XRenderDepth{}))))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumVisuals < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(XRenderVisual{}))))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumSubpixel < (CARD32((0x7fffffff / 4) / 4)))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) {
 15993  		xri = libc.Xmalloc(tls, func() uint32 {
 15994  			if ((((CARD32(unsafe.Sizeof(XRenderInfo{})) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats * CARD32(unsafe.Sizeof(XRenderPictFormat{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumScreens * CARD32(unsafe.Sizeof(XRenderScreen{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths * CARD32(unsafe.Sizeof(XRenderDepth{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumVisuals * CARD32(unsafe.Sizeof(XRenderVisual{})))) == CARD32(0) {
 15995  				return uint32(1)
 15996  			}
 15997  			return (uint32((((CARD32(unsafe.Sizeof(XRenderInfo{})) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats * CARD32(unsafe.Sizeof(XRenderPictFormat{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumScreens * CARD32(unsafe.Sizeof(XRenderScreen{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths * CARD32(unsafe.Sizeof(XRenderDepth{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumVisuals * CARD32(unsafe.Sizeof(XRenderVisual{})))))
 15998  		}())
 15999  		rlength = ((((((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats * CARD32(unsafe.Sizeof(XPictFormInfo{}))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumScreens * CARD32(unsafe.Sizeof(XPictScreen{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths * CARD32(unsafe.Sizeof(XPictDepth{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumVisuals * CARD32(unsafe.Sizeof(XPictVisual{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumSubpixel * CARD32(4)))
 16000  		xData = libc.Xmalloc(tls, func() uint32 {
 16001  			if (rlength) == uint32(0) {
 16002  				return uint32(1)
 16003  			}
 16004  			return uint32(rlength)
 16005  		}())
 16006  		nbytes = ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength << 2)
 16007  	} else {
 16008  		xri = uintptr(0)
 16009  		xData = uintptr(0)
 16010  		rlength = libc.AssignUint32(&nbytes, uint32(0))
 16011  	}
 16012  
 16013  	if (!(xri != 0) || !(xData != 0)) || (nbytes < rlength) {
 16014  		if xri != 0 {
 16015  			libc.Xfree(tls, xri)
 16016  		}
 16017  		if xData != 0 {
 16018  			libc.Xfree(tls, xData)
 16019  		}
 16020  		x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength)
 16021  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16022  			(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 16023  		}
 16024  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16025  			(*struct {
 16026  				f func(*libc.TLS, uintptr) int32
 16027  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16028  		}
 16029  		return 0
 16030  	}
 16031  	(*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version
 16032  	(*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version
 16033  	(*XRenderInfo)(unsafe.Pointer(xri)).Fformat = (xri + uintptr(1)*64)
 16034  	(*XRenderInfo)(unsafe.Pointer(xri)).Fnformat = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumFormats)
 16035  	(*XRenderInfo)(unsafe.Pointer(xri)).Fscreen = ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats)*32)
 16036  	(*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumScreens)
 16037  	(*XRenderInfo)(unsafe.Pointer(xri)).Fdepth = ((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumScreens)*16)
 16038  	(*XRenderInfo)(unsafe.Pointer(xri)).Fndepth = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumDepths)
 16039  	(*XRenderInfo)(unsafe.Pointer(xri)).Fvisual = ((*XRenderInfo)(unsafe.Pointer(xri)).Fdepth + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths)*12)
 16040  	(*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumVisuals)
 16041  	x11.X_XRead(tls, dpy, xData, int32(rlength))
 16042  	format = (*XRenderInfo)(unsafe.Pointer(xri)).Fformat
 16043  	xFormat = xData
 16044  	for nf = 0; CARD32(nf) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats; nf++ {
 16045  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fid = (*XPictFormInfo)(unsafe.Pointer(xFormat)).Fid
 16046  		(*XRenderPictFormat)(unsafe.Pointer(format)).Ftype = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Ftype)
 16047  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdepth = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdepth)
 16048  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fred = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fred)
 16049  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FredMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FredMask)
 16050  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fgreen = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fgreen)
 16051  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FgreenMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FgreenMask)
 16052  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fblue = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fblue)
 16053  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FblueMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FblueMask)
 16054  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Falpha = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Falpha)
 16055  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FalphaMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FalphaMask)
 16056  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fcolormap = (*XPictFormInfo)(unsafe.Pointer(xFormat)).Fcolormap
 16057  		format += 32
 16058  		xFormat += 28
 16059  	}
 16060  	xScreen = xFormat
 16061  	screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen
 16062  	depth = (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth
 16063  	visual = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual
 16064  	for ns = 0; ns < (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen; ns++ {
 16065  		(*XRenderScreen)(unsafe.Pointer(screen)).Fdepths = depth
 16066  		(*XRenderScreen)(unsafe.Pointer(screen)).Fndepths = int32((*XPictScreen)(unsafe.Pointer(xScreen)).FnDepth)
 16067  		(*XRenderScreen)(unsafe.Pointer(screen)).Ffallback = _XRenderFindFormat(tls, xri, (*XPictScreen)(unsafe.Pointer(xScreen)).Ffallback)
 16068  		(*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = SubPixelUnknown
 16069  		xDepth = (xScreen + uintptr(1)*8)
 16070  		if CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths {
 16071  			libc.Xfree(tls, xri)
 16072  			libc.Xfree(tls, xData)
 16073  			x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength)
 16074  			if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16075  				(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 16076  			}
 16077  			if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16078  				(*struct {
 16079  					f func(*libc.TLS, uintptr) int32
 16080  				})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16081  			}
 16082  			return 0
 16083  		}
 16084  		*(*CARD32)(unsafe.Pointer(bp + 28 /* &rep */ + 16 /* &.numDepths */)) -= (CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths))
 16085  		for nd = 0; nd < (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths; nd++ {
 16086  			(*XRenderDepth)(unsafe.Pointer(depth)).Fdepth = int32((*XPictDepth)(unsafe.Pointer(xDepth)).Fdepth)
 16087  			(*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals = int32((*XPictDepth)(unsafe.Pointer(xDepth)).FnPictVisuals)
 16088  			(*XRenderDepth)(unsafe.Pointer(depth)).Fvisuals = visual
 16089  			xVisual = (xDepth + uintptr(1)*8)
 16090  			if CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumVisuals {
 16091  				libc.Xfree(tls, xri)
 16092  				libc.Xfree(tls, xData)
 16093  				x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength)
 16094  				if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16095  					(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 16096  				}
 16097  				if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16098  					(*struct {
 16099  						f func(*libc.TLS, uintptr) int32
 16100  					})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16101  				}
 16102  				return 0
 16103  			}
 16104  			*(*CARD32)(unsafe.Pointer(bp + 28 /* &rep */ + 20 /* &.numVisuals */)) -= (CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals))
 16105  			for nv = 0; nv < (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals; nv++ {
 16106  				(*XRenderVisual)(unsafe.Pointer(visual)).Fvisual = _XRenderFindVisual(tls, dpy, (*XPictVisual)(unsafe.Pointer(xVisual)).Fvisual)
 16107  				(*XRenderVisual)(unsafe.Pointer(visual)).Fformat = _XRenderFindFormat(tls, xri, (*XPictVisual)(unsafe.Pointer(xVisual)).Fformat)
 16108  				visual += 8
 16109  				xVisual += 8
 16110  			}
 16111  			depth += 12
 16112  			xDepth = xVisual
 16113  		}
 16114  		screen += 16
 16115  		xScreen = xDepth
 16116  	}
 16117  	xSubpixel = xScreen
 16118  	screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen
 16119  	for ns = 0; CARD32(ns) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumSubpixel; ns++ {
 16120  		(*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = int32(*(*CARD32)(unsafe.Pointer(xSubpixel)))
 16121  		xSubpixel += 4
 16122  		screen += 16
 16123  	}
 16124  	(*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo = xri
 16125  	// Skip any extra data
 16126  	if nbytes > rlength {
 16127  		x11.X_XEatData(tls, dpy, (nbytes - rlength))
 16128  	}
 16129  
 16130  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16131  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 16132  	}
 16133  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16134  		(*struct {
 16135  			f func(*libc.TLS, uintptr) int32
 16136  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16137  	}
 16138  	libc.Xfree(tls, xData)
 16139  	return 1
 16140  }
 16141  
 16142  func XXRenderQuerySubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32) int32 { /* Xrender.c:595:1: */
 16143  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16144  	var xri uintptr
 16145  
 16146  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 16147  		return SubPixelUnknown
 16148  	}
 16149  
 16150  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16151  		return SubPixelUnknown
 16152  	}
 16153  
 16154  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16155  	return (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*16)).Fsubpixel
 16156  }
 16157  
 16158  func XXRenderSetSubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32, subpixel int32) int32 { /* Xrender.c:611:1: */
 16159  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16160  	var xri uintptr
 16161  
 16162  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 16163  		return False
 16164  	}
 16165  
 16166  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16167  		return False
 16168  	}
 16169  
 16170  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16171  	(*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*16)).Fsubpixel = subpixel
 16172  	return True
 16173  }
 16174  
 16175  func XXRenderFindVisualFormat(tls *libc.TLS, dpy uintptr, visual uintptr) uintptr { /* Xrender.c:627:19: */
 16176  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16177  	var nv int32
 16178  	var xri uintptr
 16179  	var xrv uintptr
 16180  
 16181  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 16182  		return uintptr(0)
 16183  	}
 16184  
 16185  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16186  		return uintptr(0)
 16187  	}
 16188  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16189  	nv = 0
 16190  	xrv = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual
 16191  __1:
 16192  	if !(nv < (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual) {
 16193  		goto __3
 16194  	}
 16195  	if (*XRenderVisual)(unsafe.Pointer(xrv)).Fvisual == visual {
 16196  		return (*XRenderVisual)(unsafe.Pointer(xrv)).Fformat
 16197  	}
 16198  	goto __2
 16199  __2:
 16200  	nv++
 16201  	xrv += 8
 16202  	goto __1
 16203  	goto __3
 16204  __3:
 16205  	;
 16206  	return uintptr(0)
 16207  }
 16208  
 16209  func XXRenderFindFormat(tls *libc.TLS, dpy uintptr, mask uint32, template uintptr, count int32) uintptr { /* Xrender.c:645:19: */
 16210  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16211  	var nf int32
 16212  	var xri uintptr
 16213  
 16214  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 16215  		return uintptr(0)
 16216  	}
 16217  
 16218  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16219  		return uintptr(0)
 16220  	}
 16221  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16222  	for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ {
 16223  		if (mask & (uint32(int32(1) << 0))) != 0 {
 16224  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Fid != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fid {
 16225  				continue
 16226  			}
 16227  		}
 16228  		if (mask & (uint32(int32(1) << 1))) != 0 {
 16229  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Ftype != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Ftype {
 16230  				continue
 16231  			}
 16232  		}
 16233  		if (mask & (uint32(int32(1) << 2))) != 0 {
 16234  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Fdepth != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdepth {
 16235  				continue
 16236  			}
 16237  		}
 16238  		if (mask & (uint32(int32(1) << 3))) != 0 {
 16239  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fred) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Fred) {
 16240  				continue
 16241  			}
 16242  		}
 16243  		if (mask & (uint32(int32(1) << 4))) != 0 {
 16244  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FredMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FredMask) {
 16245  				continue
 16246  			}
 16247  		}
 16248  		if (mask & (uint32(int32(1) << 5))) != 0 {
 16249  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fgreen) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Fgreen) {
 16250  				continue
 16251  			}
 16252  		}
 16253  		if (mask & (uint32(int32(1) << 6))) != 0 {
 16254  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FgreenMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FgreenMask) {
 16255  				continue
 16256  			}
 16257  		}
 16258  		if (mask & (uint32(int32(1) << 7))) != 0 {
 16259  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fblue) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Fblue) {
 16260  				continue
 16261  			}
 16262  		}
 16263  		if (mask & (uint32(int32(1) << 8))) != 0 {
 16264  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FblueMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FblueMask) {
 16265  				continue
 16266  			}
 16267  		}
 16268  		if (mask & (uint32(int32(1) << 9))) != 0 {
 16269  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Falpha) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Falpha) {
 16270  				continue
 16271  			}
 16272  		}
 16273  		if (mask & (uint32(int32(1) << 10))) != 0 {
 16274  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FalphaMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FalphaMask) {
 16275  				continue
 16276  			}
 16277  		}
 16278  		if (mask & (uint32(int32(1) << 11))) != 0 {
 16279  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Fcolormap != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fcolormap {
 16280  				continue
 16281  			}
 16282  		}
 16283  		if libc.PostDecInt32(&count, 1) == 0 {
 16284  			return ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32)
 16285  		}
 16286  	}
 16287  	return uintptr(0)
 16288  }
 16289  
 16290  func XXRenderFindStandardFormat(tls *libc.TLS, dpy uintptr, format int32) uintptr { /* Xrender.c:703:19: */
 16291  
 16292  	if (0 <= format) && (format < PictStandardNUM) {
 16293  		return XXRenderFindFormat(tls, dpy,
 16294  			standardFormats[format].Fmask,
 16295  			(uintptr(unsafe.Pointer(&standardFormats)) + uintptr(format)*36 /* &.templ */),
 16296  			0)
 16297  	}
 16298  	return uintptr(0)
 16299  }
 16300  
 16301  var standardFormats = [5]struct {
 16302  	Ftempl XRenderPictFormat
 16303  	Fmask  uint32
 16304  }{{
 16305  	// PictStandardARGB32
 16306  	Ftempl: XRenderPictFormat{ // id
 16307  		Ftype:  PictTypeDirect, // type
 16308  		Fdepth: 32,             // depth
 16309  		Fdirect: XRenderDirectFormat{ // direct
 16310  			Fred:       int16(16),   // direct.red
 16311  			FredMask:   int16(0xff), // direct.redMask
 16312  			Fgreen:     int16(8),    // direct.green
 16313  			FgreenMask: int16(0xff), // direct.blue
 16314  			FblueMask:  int16(0xff), // direct.blueMask
 16315  			Falpha:     int16(24),   // direct.alpha
 16316  			FalphaMask: int16(0xff), // direct.alphaMask
 16317  		}, // colormap
 16318  	},
 16319  	Fmask: (uint32((((((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 3)) | (int32(1) << 4)) | (int32(1) << 5)) | (int32(1) << 6)) | (int32(1) << 7)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))),
 16320  },
 16321  	// PictStandardRGB24
 16322  	{
 16323  		Ftempl: XRenderPictFormat{ // id
 16324  			Ftype:  PictTypeDirect, // type
 16325  			Fdepth: 24,             // depth
 16326  			Fdirect: XRenderDirectFormat{ // direct
 16327  				Fred:       int16(16),   // direct.red
 16328  				FredMask:   int16(0xff), // direct.redMask
 16329  				Fgreen:     int16(8),    // direct.green
 16330  				FgreenMask: int16(0xff), // direct.blue
 16331  				FblueMask:  int16(0xff), // direct.alphaMask
 16332  			}, // colormap
 16333  		},
 16334  		Fmask: (uint32(((((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 3)) | (int32(1) << 4)) | (int32(1) << 5)) | (int32(1) << 6)) | (int32(1) << 7)) | (int32(1) << 8)) | (int32(1) << 10))),
 16335  	},
 16336  	// PictStandardA8
 16337  	{
 16338  		Ftempl: XRenderPictFormat{ // id
 16339  			Ftype:  PictTypeDirect, // type
 16340  			Fdepth: 8,              // depth
 16341  			Fdirect: XRenderDirectFormat{ // direct.alpha
 16342  				FalphaMask: int16(0xff), // direct.alphaMask
 16343  			}, // colormap
 16344  		},
 16345  		Fmask: (uint32(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))),
 16346  	},
 16347  	// PictStandardA4
 16348  	{
 16349  		Ftempl: XRenderPictFormat{ // id
 16350  			Ftype:  PictTypeDirect, // type
 16351  			Fdepth: 4,              // depth
 16352  			Fdirect: XRenderDirectFormat{ // direct.alpha
 16353  				FalphaMask: int16(0x0f), // direct.alphaMask
 16354  			}, // colormap
 16355  		},
 16356  		Fmask: (uint32(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))),
 16357  	},
 16358  	// PictStandardA1
 16359  	{
 16360  		Ftempl: XRenderPictFormat{ // id
 16361  			Ftype:  PictTypeDirect, // type
 16362  			Fdepth: 1,              // depth
 16363  			Fdirect: XRenderDirectFormat{ // direct.alpha
 16364  				FalphaMask: int16(0x01), // direct.alphaMask
 16365  			}, // colormap
 16366  		},
 16367  		Fmask: (uint32(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))),
 16368  	},
 16369  } /* Xrender.c:710:7 */
 16370  
 16371  func XXRenderQueryPictIndexValues(tls *libc.TLS, dpy uintptr, format uintptr, num uintptr) uintptr { /* Xrender.c:856:13: */
 16372  	bp := tls.Alloc(44)
 16373  	defer tls.Free(44)
 16374  
 16375  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16376  	var req uintptr
 16377  	// var rep XRenderQueryPictIndexValuesReply at bp, 32
 16378  
 16379  	var values uintptr
 16380  	var nbytes uint32
 16381  	var nread uint32
 16382  	var rlength uint32
 16383  	var i uint32
 16384  
 16385  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 16386  		return uintptr(0)
 16387  	}
 16388  
 16389  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16390  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy)
 16391  	}
 16392  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictIndexValues), uint32(Sz_xRenderQueryPictIndexValuesReq))
 16393  	(*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 16394  	(*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictIndexValues)
 16395  	(*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).Fformat = (*XRenderPictFormat)(unsafe.Pointer(format)).Fid
 16396  	if !(x11.X_XReply(tls, dpy, bp /* &rep */, 0, XFalse) != 0) {
 16397  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16398  			(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 16399  		}
 16400  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16401  			(*struct {
 16402  				f func(*libc.TLS, uintptr) int32
 16403  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16404  		}
 16405  		return uintptr(0)
 16406  	}
 16407  
 16408  	if ((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) && ((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues < (uint32(0x7fffffff) / uint32(unsafe.Sizeof(XIndexValue1{})))) {
 16409  		// request data length
 16410  		nbytes = (uint32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength << 2))
 16411  		// bytes of actual data in the request
 16412  		nread = (uint32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues * CARD32(Sz_xIndexValue)))
 16413  		// size of array returned to application
 16414  		rlength = (uint32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues * CARD32(unsafe.Sizeof(XIndexValue1{}))))
 16415  
 16416  		// allocate returned data
 16417  		values = libc.Xmalloc(tls, func() uint32 {
 16418  			if (rlength) == uint32(0) {
 16419  				return uint32(1)
 16420  			}
 16421  			return rlength
 16422  		}())
 16423  	} else {
 16424  		nbytes = libc.AssignUint32(&nread, libc.AssignUint32(&rlength, uint32(0)))
 16425  		values = uintptr(0)
 16426  	}
 16427  
 16428  	if !(values != 0) {
 16429  		x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength)
 16430  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16431  			(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 16432  		}
 16433  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16434  			(*struct {
 16435  				f func(*libc.TLS, uintptr) int32
 16436  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16437  		}
 16438  		return uintptr(0)
 16439  	}
 16440  
 16441  	// read the values one at a time and convert
 16442  	*(*int32)(unsafe.Pointer(num)) = int32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues)
 16443  	for i = uint32(0); CARD32(i) < (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues; i++ {
 16444  		// var value XIndexValue at bp+32, 12
 16445  
 16446  		x11.X_XRead(tls, dpy, bp+32 /* &value */, Sz_xIndexValue)
 16447  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fpixel = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fpixel
 16448  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fred = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fred
 16449  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fgreen = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fgreen
 16450  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fblue = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fblue
 16451  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Falpha = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Falpha
 16452  	}
 16453  	// skip any padding
 16454  	if nbytes > nread {
 16455  		x11.X_XEatData(tls, dpy, (uint32(nbytes - nread)))
 16456  	}
 16457  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16458  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy)
 16459  	}
 16460  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16461  		(*struct {
 16462  			f func(*libc.TLS, uintptr) int32
 16463  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16464  	}
 16465  	return values
 16466  }
 16467  
 16468  var ts1 = "rgba:\x00RENDER\x00"
 16469  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data