modernc.org/xrender@v1.0.9/lib/xrender_linux_amd64.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_amd64.go -pkgname xrender -trace-translation-units /tmp/go-generate-2647540015/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                            = 9223372036854775807
   422  	INTPTR_MIN                            = -9223372036854775808
   423  	INT_FAST16_MAX                        = 9223372036854775807
   424  	INT_FAST16_MIN                        = -9223372036854775808
   425  	INT_FAST32_MAX                        = 9223372036854775807
   426  	INT_FAST32_MIN                        = -9223372036854775808
   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  	LONG64                                = 0
   474  	LSBFirst                              = 0
   475  	LT_OBJDIR                             = ".libs/"
   476  	LastExtensionError                    = 255
   477  	LeaveNotify                           = 8
   478  	LeaveWindowMask                       = 32
   479  	LedModeOff                            = 0
   480  	LedModeOn                             = 1
   481  	LineDoubleDash                        = 2
   482  	LineOnOffDash                         = 1
   483  	LineSolid                             = 0
   484  	LockMapIndex                          = 1
   485  	LockMask                              = 2
   486  	LowerHighest                          = 1
   487  	MALLOC_0_RETURNS_NULL                 = 1
   488  	MSBFirst                              = 1
   489  	MapNotify                             = 19
   490  	MapRequest                            = 20
   491  	MappingBusy                           = 1
   492  	MappingFailed                         = 2
   493  	MappingKeyboard                       = 1
   494  	MappingModifier                       = 0
   495  	MappingNotify                         = 34
   496  	MappingPointer                        = 2
   497  	MappingSuccess                        = 0
   498  	Mod1MapIndex                          = 3
   499  	Mod1Mask                              = 8
   500  	Mod2MapIndex                          = 4
   501  	Mod2Mask                              = 16
   502  	Mod3MapIndex                          = 5
   503  	Mod3Mask                              = 32
   504  	Mod4MapIndex                          = 6
   505  	Mod4Mask                              = 64
   506  	Mod5MapIndex                          = 7
   507  	Mod5Mask                              = 128
   508  	MotionNotify                          = 6
   509  	NARROWPROTO                           = 0
   510  	NLOCAL                                = 256
   511  	NeedFunctionPrototypes                = 1
   512  	NeedNestedPrototypes                  = 1
   513  	NeedVarargsPrototypes                 = 1
   514  	NeedWidePrototypes                    = 0
   515  	NoEventMask                           = 0
   516  	NoExpose                              = 14
   517  	NoSymbol                              = 0
   518  	NoValue                               = 0x0000
   519  	Nonconvex                             = 1
   520  	None                                  = 0
   521  	NormalState                           = 1
   522  	NorthEastGravity                      = 3
   523  	NorthGravity                          = 2
   524  	NorthWestGravity                      = 1
   525  	NotUseful                             = 0
   526  	NotifyAncestor                        = 0
   527  	NotifyDetailNone                      = 7
   528  	NotifyGrab                            = 1
   529  	NotifyHint                            = 1
   530  	NotifyInferior                        = 2
   531  	NotifyNonlinear                       = 3
   532  	NotifyNonlinearVirtual                = 4
   533  	NotifyNormal                          = 0
   534  	NotifyPointer                         = 5
   535  	NotifyPointerRoot                     = 6
   536  	NotifyUngrab                          = 2
   537  	NotifyVirtual                         = 1
   538  	NotifyWhileGrabbed                    = 3
   539  	Opposite                              = 4
   540  	OwnerGrabButtonMask                   = 16777216
   541  	PACKAGE                               = "libXrender"
   542  	PACKAGE_BUGREPORT                     = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
   543  	PACKAGE_NAME                          = "libXrender"
   544  	PACKAGE_STRING                        = "libXrender 0.9.10"
   545  	PACKAGE_TARNAME                       = "libXrender"
   546  	PACKAGE_URL                           = ""
   547  	PACKAGE_VERSION                       = "0.9.10"
   548  	PACKAGE_VERSION_MAJOR                 = 0
   549  	PACKAGE_VERSION_MINOR                 = 9
   550  	PACKAGE_VERSION_PATCHLEVEL            = 10
   551  	PAllHints                             = 252
   552  	PAspect                               = 128
   553  	PBaseSize                             = 256
   554  	PDP_ENDIAN                            = 3412
   555  	PMaxSize                              = 32
   556  	PMinSize                              = 16
   557  	PPosition                             = 4
   558  	PResizeInc                            = 64
   559  	PSize                                 = 8
   560  	PTRDIFF_MAX                           = 9223372036854775807
   561  	PTRDIFF_MIN                           = -9223372036854775808
   562  	PTSPERBATCH                           = 1024
   563  	PWinGravity                           = 512
   564  	ParentRelative                        = 1
   565  	PictFormatAlpha                       = 512
   566  	PictFormatAlphaMask                   = 1024
   567  	PictFormatBlue                        = 128
   568  	PictFormatBlueMask                    = 256
   569  	PictFormatColormap                    = 2048
   570  	PictFormatDepth                       = 4
   571  	PictFormatGreen                       = 32
   572  	PictFormatGreenMask                   = 64
   573  	PictFormatID                          = 1
   574  	PictFormatRed                         = 8
   575  	PictFormatRedMask                     = 16
   576  	PictFormatType                        = 2
   577  	PictOpAdd                             = 12
   578  	PictOpAtop                            = 9
   579  	PictOpAtopReverse                     = 10
   580  	PictOpBlendMaximum                    = 0x3e
   581  	PictOpBlendMinimum                    = 0x30
   582  	PictOpClear                           = 0
   583  	PictOpColorBurn                       = 0x36
   584  	PictOpColorDodge                      = 0x35
   585  	PictOpConjointAtop                    = 0x29
   586  	PictOpConjointAtopReverse             = 0x2a
   587  	PictOpConjointClear                   = 0x20
   588  	PictOpConjointDst                     = 0x22
   589  	PictOpConjointIn                      = 0x25
   590  	PictOpConjointInReverse               = 0x26
   591  	PictOpConjointMaximum                 = 0x2b
   592  	PictOpConjointMinimum                 = 0x20
   593  	PictOpConjointOut                     = 0x27
   594  	PictOpConjointOutReverse              = 0x28
   595  	PictOpConjointOver                    = 0x23
   596  	PictOpConjointOverReverse             = 0x24
   597  	PictOpConjointSrc                     = 0x21
   598  	PictOpConjointXor                     = 0x2b
   599  	PictOpDarken                          = 0x33
   600  	PictOpDifference                      = 0x39
   601  	PictOpDisjointAtop                    = 0x19
   602  	PictOpDisjointAtopReverse             = 0x1a
   603  	PictOpDisjointClear                   = 0x10
   604  	PictOpDisjointDst                     = 0x12
   605  	PictOpDisjointIn                      = 0x15
   606  	PictOpDisjointInReverse               = 0x16
   607  	PictOpDisjointMaximum                 = 0x1b
   608  	PictOpDisjointMinimum                 = 0x10
   609  	PictOpDisjointOut                     = 0x17
   610  	PictOpDisjointOutReverse              = 0x18
   611  	PictOpDisjointOver                    = 0x13
   612  	PictOpDisjointOverReverse             = 0x14
   613  	PictOpDisjointSrc                     = 0x11
   614  	PictOpDisjointXor                     = 0x1b
   615  	PictOpDst                             = 2
   616  	PictOpExclusion                       = 0x3a
   617  	PictOpHSLColor                        = 0x3d
   618  	PictOpHSLHue                          = 0x3b
   619  	PictOpHSLLuminosity                   = 0x3e
   620  	PictOpHSLSaturation                   = 0x3c
   621  	PictOpHardLight                       = 0x37
   622  	PictOpIn                              = 5
   623  	PictOpInReverse                       = 6
   624  	PictOpLighten                         = 0x34
   625  	PictOpMaximum                         = 13
   626  	PictOpMinimum                         = 0
   627  	PictOpMultiply                        = 0x30
   628  	PictOpOut                             = 7
   629  	PictOpOutReverse                      = 8
   630  	PictOpOver                            = 3
   631  	PictOpOverReverse                     = 4
   632  	PictOpOverlay                         = 0x32
   633  	PictOpSaturate                        = 13
   634  	PictOpScreen                          = 0x31
   635  	PictOpSoftLight                       = 0x38
   636  	PictOpSrc                             = 1
   637  	PictOpXor                             = 11
   638  	PictStandardA1                        = 4
   639  	PictStandardA4                        = 3
   640  	PictStandardA8                        = 2
   641  	PictStandardARGB32                    = 0
   642  	PictStandardNUM                       = 5
   643  	PictStandardRGB24                     = 1
   644  	PictTypeDirect                        = 1
   645  	PictTypeIndexed                       = 0
   646  	PlaceOnBottom                         = 1
   647  	PlaceOnTop                            = 0
   648  	PointerMotionHintMask                 = 128
   649  	PointerMotionMask                     = 64
   650  	PointerRoot                           = 1
   651  	PointerWindow                         = 0
   652  	PolyEdgeSharp                         = 0
   653  	PolyEdgeSmooth                        = 1
   654  	PolyModeImprecise                     = 1
   655  	PolyModePrecise                       = 0
   656  	PreferBlanking                        = 1
   657  	PropModeAppend                        = 2
   658  	PropModePrepend                       = 1
   659  	PropModeReplace                       = 0
   660  	PropertyChangeMask                    = 4194304
   661  	PropertyDelete                        = 1
   662  	PropertyNewValue                      = 0
   663  	PropertyNotify                        = 28
   664  	PseudoColor                           = 3
   665  	QueuedAfterFlush                      = 2
   666  	QueuedAfterReading                    = 1
   667  	QueuedAlready                         = 0
   668  	RAND_MAX                              = 2147483647
   669  	RENDER_MAJOR                          = 0
   670  	RENDER_MINOR                          = 11
   671  	RENDER_NAME                           = "RENDER"
   672  	RaiseLowest                           = 0
   673  	RectangleIn                           = 1
   674  	RectangleOut                          = 0
   675  	RectanglePart                         = 2
   676  	RenderNumberErrors                    = 5
   677  	RenderNumberRequests                  = 37
   678  	ReparentNotify                        = 21
   679  	RepeatNone                            = 0
   680  	RepeatNormal                          = 1
   681  	RepeatPad                             = 2
   682  	RepeatReflect                         = 3
   683  	ReplayKeyboard                        = 5
   684  	ReplayPointer                         = 2
   685  	ResizeRedirectMask                    = 262144
   686  	ResizeRequest                         = 25
   687  	RetainPermanent                       = 1
   688  	RetainTemporary                       = 2
   689  	RevertToParent                        = 2
   690  	SIG_ATOMIC_MAX                        = 2147483647
   691  	SIG_ATOMIC_MIN                        = -2147483648
   692  	SIZE_MAX                              = 18446744073709551615
   693  	STDC_HEADERS                          = 1
   694  	ScreenSaverActive                     = 1
   695  	ScreenSaverReset                      = 0
   696  	SelectionClear                        = 29
   697  	SelectionNotify                       = 31
   698  	SelectionRequest                      = 30
   699  	SetModeDelete                         = 1
   700  	SetModeInsert                         = 0
   701  	ShiftMapIndex                         = 0
   702  	ShiftMask                             = 1
   703  	SouthEastGravity                      = 9
   704  	SouthGravity                          = 8
   705  	SouthWestGravity                      = 7
   706  	StateHint                             = 2
   707  	StaticColor                           = 2
   708  	StaticGravity                         = 10
   709  	StaticGray                            = 0
   710  	StippleShape                          = 2
   711  	StructureNotifyMask                   = 131072
   712  	SubPixelHorizontalBGR                 = 2
   713  	SubPixelHorizontalRGB                 = 1
   714  	SubPixelNone                          = 5
   715  	SubPixelUnknown                       = 0
   716  	SubPixelVerticalBGR                   = 4
   717  	SubPixelVerticalRGB                   = 3
   718  	SubstructureNotifyMask                = 524288
   719  	SubstructureRedirectMask              = 1048576
   720  	Success                               = 0
   721  	SyncBoth                              = 7
   722  	SyncKeyboard                          = 4
   723  	SyncPointer                           = 1
   724  	TileShape                             = 1
   725  	TopIf                                 = 2
   726  	True                                  = 1
   727  	TrueColor                             = 4
   728  	UINT16_MAX                            = 65535
   729  	UINT32_MAX                            = 4294967295
   730  	UINT64_MAX                            = 18446744073709551615
   731  	UINT8_MAX                             = 255
   732  	UINTMAX_MAX                           = 18446744073709551615
   733  	UINTPTR_MAX                           = 18446744073709551615
   734  	UINT_FAST16_MAX                       = 18446744073709551615
   735  	UINT_FAST32_MAX                       = 18446744073709551615
   736  	UINT_FAST64_MAX                       = 18446744073709551615
   737  	UINT_FAST8_MAX                        = 255
   738  	UINT_LEAST16_MAX                      = 65535
   739  	UINT_LEAST32_MAX                      = 4294967295
   740  	UINT_LEAST64_MAX                      = 18446744073709551615
   741  	UINT_LEAST8_MAX                       = 255
   742  	UNLOCKED                              = 0
   743  	USPosition                            = 1
   744  	USSize                                = 2
   745  	UnmapGravity                          = 0
   746  	UnmapNotify                           = 18
   747  	Unsorted                              = 0
   748  	VERSION                               = "0.9.10"
   749  	VisibilityChangeMask                  = 65536
   750  	VisibilityFullyObscured               = 2
   751  	VisibilityNotify                      = 15
   752  	VisibilityPartiallyObscured           = 1
   753  	VisibilityUnobscured                  = 0
   754  	VisualAllMask                         = 0x1FF
   755  	VisualBitsPerRGBMask                  = 0x100
   756  	VisualBlueMaskMask                    = 0x40
   757  	VisualClassMask                       = 0x8
   758  	VisualColormapSizeMask                = 0x80
   759  	VisualDepthMask                       = 0x4
   760  	VisualGreenMaskMask                   = 0x20
   761  	VisualIDMask                          = 0x1
   762  	VisualNoMask                          = 0x0
   763  	VisualRedMaskMask                     = 0x10
   764  	VisualScreenMask                      = 0x2
   765  	WCHAR_MAX                             = 2147483647
   766  	WCHAR_MIN                             = -2147483648
   767  	WCONTINUED                            = 8
   768  	WEXITED                               = 4
   769  	WINT_MAX                              = 4294967295
   770  	WINT_MIN                              = 0
   771  	WLNSPERBATCH                          = 50
   772  	WNOHANG                               = 1
   773  	WNOWAIT                               = 0x01000000
   774  	WORD64ALIGN                           = 0
   775  	WRCTSPERBATCH                         = 10
   776  	WSTOPPED                              = 2
   777  	WUNTRACED                             = 2
   778  	WestGravity                           = 4
   779  	WhenMapped                            = 1
   780  	WidthValue                            = 0x0004
   781  	WindingRule                           = 1
   782  	WindowGroupHint                       = 64
   783  	WithdrawnState                        = 0
   784  	XBufferOverflow                       = -1
   785  	XCNOENT                               = 2
   786  	XCNOMEM                               = 1
   787  	XCSUCCESS                             = 0
   788  	XConverterNotFound                    = -3
   789  	XIMHighlight                          = 4
   790  	XIMHotKeyStateOFF                     = 2
   791  	XIMHotKeyStateON                      = 1
   792  	XIMInitialState                       = 1
   793  	XIMPreeditArea                        = 0x0001
   794  	XIMPreeditCallbacks                   = 0x0002
   795  	XIMPreeditDisable                     = 2
   796  	XIMPreeditEnable                      = 1
   797  	XIMPreeditNone                        = 0x0010
   798  	XIMPreeditNothing                     = 0x0008
   799  	XIMPreeditPosition                    = 0x0004
   800  	XIMPreeditUnKnown                     = 0
   801  	XIMPreserveState                      = 2
   802  	XIMPrimary                            = 32
   803  	XIMReverse                            = 1
   804  	XIMSecondary                          = 64
   805  	XIMStatusArea                         = 0x0100
   806  	XIMStatusCallbacks                    = 0x0200
   807  	XIMStatusNone                         = 0x0800
   808  	XIMStatusNothing                      = 0x0400
   809  	XIMStringConversionBottomEdge         = 8
   810  	XIMStringConversionBuffer             = 1
   811  	XIMStringConversionChar               = 4
   812  	XIMStringConversionConcealed          = 16
   813  	XIMStringConversionLeftEdge           = 1
   814  	XIMStringConversionLine               = 2
   815  	XIMStringConversionRetrieval          = 2
   816  	XIMStringConversionRightEdge          = 2
   817  	XIMStringConversionSubstitution       = 1
   818  	XIMStringConversionTopEdge            = 4
   819  	XIMStringConversionWord               = 3
   820  	XIMStringConversionWrapped            = 32
   821  	XIMTertiary                           = 128
   822  	XIMUnderline                          = 2
   823  	XIMVisibleToBackword                  = 512
   824  	XIMVisibleToCenter                    = 1024
   825  	XIMVisibleToForward                   = 256
   826  	XK_0                                  = 0x0030
   827  	XK_1                                  = 0x0031
   828  	XK_2                                  = 0x0032
   829  	XK_3                                  = 0x0033
   830  	XK_4                                  = 0x0034
   831  	XK_5                                  = 0x0035
   832  	XK_6                                  = 0x0036
   833  	XK_7                                  = 0x0037
   834  	XK_8                                  = 0x0038
   835  	XK_9                                  = 0x0039
   836  	XK_A                                  = 0x0041
   837  	XK_AE                                 = 0x00c6
   838  	XK_ARABIC                             = 0
   839  	XK_ARMENIAN                           = 0
   840  	XK_Aacute                             = 0x00c1
   841  	XK_Abelowdot                          = 0x1001ea0
   842  	XK_Abreve                             = 0x01c3
   843  	XK_Abreveacute                        = 0x1001eae
   844  	XK_Abrevebelowdot                     = 0x1001eb6
   845  	XK_Abrevegrave                        = 0x1001eb0
   846  	XK_Abrevehook                         = 0x1001eb2
   847  	XK_Abrevetilde                        = 0x1001eb4
   848  	XK_AccessX_Enable                     = 0xfe70
   849  	XK_AccessX_Feedback_Enable            = 0xfe71
   850  	XK_Acircumflex                        = 0x00c2
   851  	XK_Acircumflexacute                   = 0x1001ea4
   852  	XK_Acircumflexbelowdot                = 0x1001eac
   853  	XK_Acircumflexgrave                   = 0x1001ea6
   854  	XK_Acircumflexhook                    = 0x1001ea8
   855  	XK_Acircumflextilde                   = 0x1001eaa
   856  	XK_Adiaeresis                         = 0x00c4
   857  	XK_Agrave                             = 0x00c0
   858  	XK_Ahook                              = 0x1001ea2
   859  	XK_Alt_L                              = 0xffe9
   860  	XK_Alt_R                              = 0xffea
   861  	XK_Amacron                            = 0x03c0
   862  	XK_Aogonek                            = 0x01a1
   863  	XK_Arabic_0                           = 0x1000660
   864  	XK_Arabic_1                           = 0x1000661
   865  	XK_Arabic_2                           = 0x1000662
   866  	XK_Arabic_3                           = 0x1000663
   867  	XK_Arabic_4                           = 0x1000664
   868  	XK_Arabic_5                           = 0x1000665
   869  	XK_Arabic_6                           = 0x1000666
   870  	XK_Arabic_7                           = 0x1000667
   871  	XK_Arabic_8                           = 0x1000668
   872  	XK_Arabic_9                           = 0x1000669
   873  	XK_Arabic_ain                         = 0x05d9
   874  	XK_Arabic_alef                        = 0x05c7
   875  	XK_Arabic_alefmaksura                 = 0x05e9
   876  	XK_Arabic_beh                         = 0x05c8
   877  	XK_Arabic_comma                       = 0x05ac
   878  	XK_Arabic_dad                         = 0x05d6
   879  	XK_Arabic_dal                         = 0x05cf
   880  	XK_Arabic_damma                       = 0x05ef
   881  	XK_Arabic_dammatan                    = 0x05ec
   882  	XK_Arabic_ddal                        = 0x1000688
   883  	XK_Arabic_farsi_yeh                   = 0x10006cc
   884  	XK_Arabic_fatha                       = 0x05ee
   885  	XK_Arabic_fathatan                    = 0x05eb
   886  	XK_Arabic_feh                         = 0x05e1
   887  	XK_Arabic_fullstop                    = 0x10006d4
   888  	XK_Arabic_gaf                         = 0x10006af
   889  	XK_Arabic_ghain                       = 0x05da
   890  	XK_Arabic_ha                          = 0x05e7
   891  	XK_Arabic_hah                         = 0x05cd
   892  	XK_Arabic_hamza                       = 0x05c1
   893  	XK_Arabic_hamza_above                 = 0x1000654
   894  	XK_Arabic_hamza_below                 = 0x1000655
   895  	XK_Arabic_hamzaonalef                 = 0x05c3
   896  	XK_Arabic_hamzaonwaw                  = 0x05c4
   897  	XK_Arabic_hamzaonyeh                  = 0x05c6
   898  	XK_Arabic_hamzaunderalef              = 0x05c5
   899  	XK_Arabic_heh                         = 0x05e7
   900  	XK_Arabic_heh_doachashmee             = 0x10006be
   901  	XK_Arabic_heh_goal                    = 0x10006c1
   902  	XK_Arabic_jeem                        = 0x05cc
   903  	XK_Arabic_jeh                         = 0x1000698
   904  	XK_Arabic_kaf                         = 0x05e3
   905  	XK_Arabic_kasra                       = 0x05f0
   906  	XK_Arabic_kasratan                    = 0x05ed
   907  	XK_Arabic_keheh                       = 0x10006a9
   908  	XK_Arabic_khah                        = 0x05ce
   909  	XK_Arabic_lam                         = 0x05e4
   910  	XK_Arabic_madda_above                 = 0x1000653
   911  	XK_Arabic_maddaonalef                 = 0x05c2
   912  	XK_Arabic_meem                        = 0x05e5
   913  	XK_Arabic_noon                        = 0x05e6
   914  	XK_Arabic_noon_ghunna                 = 0x10006ba
   915  	XK_Arabic_peh                         = 0x100067e
   916  	XK_Arabic_percent                     = 0x100066a
   917  	XK_Arabic_qaf                         = 0x05e2
   918  	XK_Arabic_question_mark               = 0x05bf
   919  	XK_Arabic_ra                          = 0x05d1
   920  	XK_Arabic_rreh                        = 0x1000691
   921  	XK_Arabic_sad                         = 0x05d5
   922  	XK_Arabic_seen                        = 0x05d3
   923  	XK_Arabic_semicolon                   = 0x05bb
   924  	XK_Arabic_shadda                      = 0x05f1
   925  	XK_Arabic_sheen                       = 0x05d4
   926  	XK_Arabic_sukun                       = 0x05f2
   927  	XK_Arabic_superscript_alef            = 0x1000670
   928  	XK_Arabic_switch                      = 0xff7e
   929  	XK_Arabic_tah                         = 0x05d7
   930  	XK_Arabic_tatweel                     = 0x05e0
   931  	XK_Arabic_tcheh                       = 0x1000686
   932  	XK_Arabic_teh                         = 0x05ca
   933  	XK_Arabic_tehmarbuta                  = 0x05c9
   934  	XK_Arabic_thal                        = 0x05d0
   935  	XK_Arabic_theh                        = 0x05cb
   936  	XK_Arabic_tteh                        = 0x1000679
   937  	XK_Arabic_veh                         = 0x10006a4
   938  	XK_Arabic_waw                         = 0x05e8
   939  	XK_Arabic_yeh                         = 0x05ea
   940  	XK_Arabic_yeh_baree                   = 0x10006d2
   941  	XK_Arabic_zah                         = 0x05d8
   942  	XK_Arabic_zain                        = 0x05d2
   943  	XK_Aring                              = 0x00c5
   944  	XK_Armenian_AT                        = 0x1000538
   945  	XK_Armenian_AYB                       = 0x1000531
   946  	XK_Armenian_BEN                       = 0x1000532
   947  	XK_Armenian_CHA                       = 0x1000549
   948  	XK_Armenian_DA                        = 0x1000534
   949  	XK_Armenian_DZA                       = 0x1000541
   950  	XK_Armenian_E                         = 0x1000537
   951  	XK_Armenian_FE                        = 0x1000556
   952  	XK_Armenian_GHAT                      = 0x1000542
   953  	XK_Armenian_GIM                       = 0x1000533
   954  	XK_Armenian_HI                        = 0x1000545
   955  	XK_Armenian_HO                        = 0x1000540
   956  	XK_Armenian_INI                       = 0x100053b
   957  	XK_Armenian_JE                        = 0x100054b
   958  	XK_Armenian_KE                        = 0x1000554
   959  	XK_Armenian_KEN                       = 0x100053f
   960  	XK_Armenian_KHE                       = 0x100053d
   961  	XK_Armenian_LYUN                      = 0x100053c
   962  	XK_Armenian_MEN                       = 0x1000544
   963  	XK_Armenian_NU                        = 0x1000546
   964  	XK_Armenian_O                         = 0x1000555
   965  	XK_Armenian_PE                        = 0x100054a
   966  	XK_Armenian_PYUR                      = 0x1000553
   967  	XK_Armenian_RA                        = 0x100054c
   968  	XK_Armenian_RE                        = 0x1000550
   969  	XK_Armenian_SE                        = 0x100054d
   970  	XK_Armenian_SHA                       = 0x1000547
   971  	XK_Armenian_TCHE                      = 0x1000543
   972  	XK_Armenian_TO                        = 0x1000539
   973  	XK_Armenian_TSA                       = 0x100053e
   974  	XK_Armenian_TSO                       = 0x1000551
   975  	XK_Armenian_TYUN                      = 0x100054f
   976  	XK_Armenian_VEV                       = 0x100054e
   977  	XK_Armenian_VO                        = 0x1000548
   978  	XK_Armenian_VYUN                      = 0x1000552
   979  	XK_Armenian_YECH                      = 0x1000535
   980  	XK_Armenian_ZA                        = 0x1000536
   981  	XK_Armenian_ZHE                       = 0x100053a
   982  	XK_Armenian_accent                    = 0x100055b
   983  	XK_Armenian_amanak                    = 0x100055c
   984  	XK_Armenian_apostrophe                = 0x100055a
   985  	XK_Armenian_at                        = 0x1000568
   986  	XK_Armenian_ayb                       = 0x1000561
   987  	XK_Armenian_ben                       = 0x1000562
   988  	XK_Armenian_but                       = 0x100055d
   989  	XK_Armenian_cha                       = 0x1000579
   990  	XK_Armenian_da                        = 0x1000564
   991  	XK_Armenian_dza                       = 0x1000571
   992  	XK_Armenian_e                         = 0x1000567
   993  	XK_Armenian_exclam                    = 0x100055c
   994  	XK_Armenian_fe                        = 0x1000586
   995  	XK_Armenian_full_stop                 = 0x1000589
   996  	XK_Armenian_ghat                      = 0x1000572
   997  	XK_Armenian_gim                       = 0x1000563
   998  	XK_Armenian_hi                        = 0x1000575
   999  	XK_Armenian_ho                        = 0x1000570
  1000  	XK_Armenian_hyphen                    = 0x100058a
  1001  	XK_Armenian_ini                       = 0x100056b
  1002  	XK_Armenian_je                        = 0x100057b
  1003  	XK_Armenian_ke                        = 0x1000584
  1004  	XK_Armenian_ken                       = 0x100056f
  1005  	XK_Armenian_khe                       = 0x100056d
  1006  	XK_Armenian_ligature_ew               = 0x1000587
  1007  	XK_Armenian_lyun                      = 0x100056c
  1008  	XK_Armenian_men                       = 0x1000574
  1009  	XK_Armenian_nu                        = 0x1000576
  1010  	XK_Armenian_o                         = 0x1000585
  1011  	XK_Armenian_paruyk                    = 0x100055e
  1012  	XK_Armenian_pe                        = 0x100057a
  1013  	XK_Armenian_pyur                      = 0x1000583
  1014  	XK_Armenian_question                  = 0x100055e
  1015  	XK_Armenian_ra                        = 0x100057c
  1016  	XK_Armenian_re                        = 0x1000580
  1017  	XK_Armenian_se                        = 0x100057d
  1018  	XK_Armenian_separation_mark           = 0x100055d
  1019  	XK_Armenian_sha                       = 0x1000577
  1020  	XK_Armenian_shesht                    = 0x100055b
  1021  	XK_Armenian_tche                      = 0x1000573
  1022  	XK_Armenian_to                        = 0x1000569
  1023  	XK_Armenian_tsa                       = 0x100056e
  1024  	XK_Armenian_tso                       = 0x1000581
  1025  	XK_Armenian_tyun                      = 0x100057f
  1026  	XK_Armenian_verjaket                  = 0x1000589
  1027  	XK_Armenian_vev                       = 0x100057e
  1028  	XK_Armenian_vo                        = 0x1000578
  1029  	XK_Armenian_vyun                      = 0x1000582
  1030  	XK_Armenian_yech                      = 0x1000565
  1031  	XK_Armenian_yentamna                  = 0x100058a
  1032  	XK_Armenian_za                        = 0x1000566
  1033  	XK_Armenian_zhe                       = 0x100056a
  1034  	XK_Atilde                             = 0x00c3
  1035  	XK_AudibleBell_Enable                 = 0xfe7a
  1036  	XK_B                                  = 0x0042
  1037  	XK_BRAILLE                            = 0
  1038  	XK_Babovedot                          = 0x1001e02
  1039  	XK_BackSpace                          = 0xff08
  1040  	XK_Begin                              = 0xff58
  1041  	XK_BounceKeys_Enable                  = 0xfe74
  1042  	XK_Break                              = 0xff6b
  1043  	XK_Byelorussian_SHORTU                = 0x06be
  1044  	XK_Byelorussian_shortu                = 0x06ae
  1045  	XK_C                                  = 0x0043
  1046  	XK_CAUCASUS                           = 0
  1047  	XK_CH                                 = 0xfea2
  1048  	XK_CURRENCY                           = 0
  1049  	XK_CYRILLIC                           = 0
  1050  	XK_C_H                                = 0xfea5
  1051  	XK_C_h                                = 0xfea4
  1052  	XK_Cabovedot                          = 0x02c5
  1053  	XK_Cacute                             = 0x01c6
  1054  	XK_Cancel                             = 0xff69
  1055  	XK_Caps_Lock                          = 0xffe5
  1056  	XK_Ccaron                             = 0x01c8
  1057  	XK_Ccedilla                           = 0x00c7
  1058  	XK_Ccircumflex                        = 0x02c6
  1059  	XK_Ch                                 = 0xfea1
  1060  	XK_Clear                              = 0xff0b
  1061  	XK_Codeinput                          = 0xff37
  1062  	XK_ColonSign                          = 0x10020a1
  1063  	XK_Control_L                          = 0xffe3
  1064  	XK_Control_R                          = 0xffe4
  1065  	XK_CruzeiroSign                       = 0x10020a2
  1066  	XK_Cyrillic_A                         = 0x06e1
  1067  	XK_Cyrillic_BE                        = 0x06e2
  1068  	XK_Cyrillic_CHE                       = 0x06fe
  1069  	XK_Cyrillic_CHE_descender             = 0x10004b6
  1070  	XK_Cyrillic_CHE_vertstroke            = 0x10004b8
  1071  	XK_Cyrillic_DE                        = 0x06e4
  1072  	XK_Cyrillic_DZHE                      = 0x06bf
  1073  	XK_Cyrillic_E                         = 0x06fc
  1074  	XK_Cyrillic_EF                        = 0x06e6
  1075  	XK_Cyrillic_EL                        = 0x06ec
  1076  	XK_Cyrillic_EM                        = 0x06ed
  1077  	XK_Cyrillic_EN                        = 0x06ee
  1078  	XK_Cyrillic_EN_descender              = 0x10004a2
  1079  	XK_Cyrillic_ER                        = 0x06f2
  1080  	XK_Cyrillic_ES                        = 0x06f3
  1081  	XK_Cyrillic_GHE                       = 0x06e7
  1082  	XK_Cyrillic_GHE_bar                   = 0x1000492
  1083  	XK_Cyrillic_HA                        = 0x06e8
  1084  	XK_Cyrillic_HARDSIGN                  = 0x06ff
  1085  	XK_Cyrillic_HA_descender              = 0x10004b2
  1086  	XK_Cyrillic_I                         = 0x06e9
  1087  	XK_Cyrillic_IE                        = 0x06e5
  1088  	XK_Cyrillic_IO                        = 0x06b3
  1089  	XK_Cyrillic_I_macron                  = 0x10004e2
  1090  	XK_Cyrillic_JE                        = 0x06b8
  1091  	XK_Cyrillic_KA                        = 0x06eb
  1092  	XK_Cyrillic_KA_descender              = 0x100049a
  1093  	XK_Cyrillic_KA_vertstroke             = 0x100049c
  1094  	XK_Cyrillic_LJE                       = 0x06b9
  1095  	XK_Cyrillic_NJE                       = 0x06ba
  1096  	XK_Cyrillic_O                         = 0x06ef
  1097  	XK_Cyrillic_O_bar                     = 0x10004e8
  1098  	XK_Cyrillic_PE                        = 0x06f0
  1099  	XK_Cyrillic_SCHWA                     = 0x10004d8
  1100  	XK_Cyrillic_SHA                       = 0x06fb
  1101  	XK_Cyrillic_SHCHA                     = 0x06fd
  1102  	XK_Cyrillic_SHHA                      = 0x10004ba
  1103  	XK_Cyrillic_SHORTI                    = 0x06ea
  1104  	XK_Cyrillic_SOFTSIGN                  = 0x06f8
  1105  	XK_Cyrillic_TE                        = 0x06f4
  1106  	XK_Cyrillic_TSE                       = 0x06e3
  1107  	XK_Cyrillic_U                         = 0x06f5
  1108  	XK_Cyrillic_U_macron                  = 0x10004ee
  1109  	XK_Cyrillic_U_straight                = 0x10004ae
  1110  	XK_Cyrillic_U_straight_bar            = 0x10004b0
  1111  	XK_Cyrillic_VE                        = 0x06f7
  1112  	XK_Cyrillic_YA                        = 0x06f1
  1113  	XK_Cyrillic_YERU                      = 0x06f9
  1114  	XK_Cyrillic_YU                        = 0x06e0
  1115  	XK_Cyrillic_ZE                        = 0x06fa
  1116  	XK_Cyrillic_ZHE                       = 0x06f6
  1117  	XK_Cyrillic_ZHE_descender             = 0x1000496
  1118  	XK_Cyrillic_a                         = 0x06c1
  1119  	XK_Cyrillic_be                        = 0x06c2
  1120  	XK_Cyrillic_che                       = 0x06de
  1121  	XK_Cyrillic_che_descender             = 0x10004b7
  1122  	XK_Cyrillic_che_vertstroke            = 0x10004b9
  1123  	XK_Cyrillic_de                        = 0x06c4
  1124  	XK_Cyrillic_dzhe                      = 0x06af
  1125  	XK_Cyrillic_e                         = 0x06dc
  1126  	XK_Cyrillic_ef                        = 0x06c6
  1127  	XK_Cyrillic_el                        = 0x06cc
  1128  	XK_Cyrillic_em                        = 0x06cd
  1129  	XK_Cyrillic_en                        = 0x06ce
  1130  	XK_Cyrillic_en_descender              = 0x10004a3
  1131  	XK_Cyrillic_er                        = 0x06d2
  1132  	XK_Cyrillic_es                        = 0x06d3
  1133  	XK_Cyrillic_ghe                       = 0x06c7
  1134  	XK_Cyrillic_ghe_bar                   = 0x1000493
  1135  	XK_Cyrillic_ha                        = 0x06c8
  1136  	XK_Cyrillic_ha_descender              = 0x10004b3
  1137  	XK_Cyrillic_hardsign                  = 0x06df
  1138  	XK_Cyrillic_i                         = 0x06c9
  1139  	XK_Cyrillic_i_macron                  = 0x10004e3
  1140  	XK_Cyrillic_ie                        = 0x06c5
  1141  	XK_Cyrillic_io                        = 0x06a3
  1142  	XK_Cyrillic_je                        = 0x06a8
  1143  	XK_Cyrillic_ka                        = 0x06cb
  1144  	XK_Cyrillic_ka_descender              = 0x100049b
  1145  	XK_Cyrillic_ka_vertstroke             = 0x100049d
  1146  	XK_Cyrillic_lje                       = 0x06a9
  1147  	XK_Cyrillic_nje                       = 0x06aa
  1148  	XK_Cyrillic_o                         = 0x06cf
  1149  	XK_Cyrillic_o_bar                     = 0x10004e9
  1150  	XK_Cyrillic_pe                        = 0x06d0
  1151  	XK_Cyrillic_schwa                     = 0x10004d9
  1152  	XK_Cyrillic_sha                       = 0x06db
  1153  	XK_Cyrillic_shcha                     = 0x06dd
  1154  	XK_Cyrillic_shha                      = 0x10004bb
  1155  	XK_Cyrillic_shorti                    = 0x06ca
  1156  	XK_Cyrillic_softsign                  = 0x06d8
  1157  	XK_Cyrillic_te                        = 0x06d4
  1158  	XK_Cyrillic_tse                       = 0x06c3
  1159  	XK_Cyrillic_u                         = 0x06d5
  1160  	XK_Cyrillic_u_macron                  = 0x10004ef
  1161  	XK_Cyrillic_u_straight                = 0x10004af
  1162  	XK_Cyrillic_u_straight_bar            = 0x10004b1
  1163  	XK_Cyrillic_ve                        = 0x06d7
  1164  	XK_Cyrillic_ya                        = 0x06d1
  1165  	XK_Cyrillic_yeru                      = 0x06d9
  1166  	XK_Cyrillic_yu                        = 0x06c0
  1167  	XK_Cyrillic_ze                        = 0x06da
  1168  	XK_Cyrillic_zhe                       = 0x06d6
  1169  	XK_Cyrillic_zhe_descender             = 0x1000497
  1170  	XK_D                                  = 0x0044
  1171  	XK_Dabovedot                          = 0x1001e0a
  1172  	XK_Dcaron                             = 0x01cf
  1173  	XK_Delete                             = 0xffff
  1174  	XK_DongSign                           = 0x10020ab
  1175  	XK_Down                               = 0xff54
  1176  	XK_Dstroke                            = 0x01d0
  1177  	XK_E                                  = 0x0045
  1178  	XK_ENG                                = 0x03bd
  1179  	XK_ETH                                = 0x00d0
  1180  	XK_EZH                                = 0x10001b7
  1181  	XK_Eabovedot                          = 0x03cc
  1182  	XK_Eacute                             = 0x00c9
  1183  	XK_Ebelowdot                          = 0x1001eb8
  1184  	XK_Ecaron                             = 0x01cc
  1185  	XK_Ecircumflex                        = 0x00ca
  1186  	XK_Ecircumflexacute                   = 0x1001ebe
  1187  	XK_Ecircumflexbelowdot                = 0x1001ec6
  1188  	XK_Ecircumflexgrave                   = 0x1001ec0
  1189  	XK_Ecircumflexhook                    = 0x1001ec2
  1190  	XK_Ecircumflextilde                   = 0x1001ec4
  1191  	XK_EcuSign                            = 0x10020a0
  1192  	XK_Ediaeresis                         = 0x00cb
  1193  	XK_Egrave                             = 0x00c8
  1194  	XK_Ehook                              = 0x1001eba
  1195  	XK_Eisu_Shift                         = 0xff2f
  1196  	XK_Eisu_toggle                        = 0xff30
  1197  	XK_Emacron                            = 0x03aa
  1198  	XK_End                                = 0xff57
  1199  	XK_Eogonek                            = 0x01ca
  1200  	XK_Escape                             = 0xff1b
  1201  	XK_Eth                                = 0x00d0
  1202  	XK_Etilde                             = 0x1001ebc
  1203  	XK_EuroSign                           = 0x20ac
  1204  	XK_Execute                            = 0xff62
  1205  	XK_F                                  = 0x0046
  1206  	XK_F1                                 = 0xffbe
  1207  	XK_F10                                = 0xffc7
  1208  	XK_F11                                = 0xffc8
  1209  	XK_F12                                = 0xffc9
  1210  	XK_F13                                = 0xffca
  1211  	XK_F14                                = 0xffcb
  1212  	XK_F15                                = 0xffcc
  1213  	XK_F16                                = 0xffcd
  1214  	XK_F17                                = 0xffce
  1215  	XK_F18                                = 0xffcf
  1216  	XK_F19                                = 0xffd0
  1217  	XK_F2                                 = 0xffbf
  1218  	XK_F20                                = 0xffd1
  1219  	XK_F21                                = 0xffd2
  1220  	XK_F22                                = 0xffd3
  1221  	XK_F23                                = 0xffd4
  1222  	XK_F24                                = 0xffd5
  1223  	XK_F25                                = 0xffd6
  1224  	XK_F26                                = 0xffd7
  1225  	XK_F27                                = 0xffd8
  1226  	XK_F28                                = 0xffd9
  1227  	XK_F29                                = 0xffda
  1228  	XK_F3                                 = 0xffc0
  1229  	XK_F30                                = 0xffdb
  1230  	XK_F31                                = 0xffdc
  1231  	XK_F32                                = 0xffdd
  1232  	XK_F33                                = 0xffde
  1233  	XK_F34                                = 0xffdf
  1234  	XK_F35                                = 0xffe0
  1235  	XK_F4                                 = 0xffc1
  1236  	XK_F5                                 = 0xffc2
  1237  	XK_F6                                 = 0xffc3
  1238  	XK_F7                                 = 0xffc4
  1239  	XK_F8                                 = 0xffc5
  1240  	XK_F9                                 = 0xffc6
  1241  	XK_FFrancSign                         = 0x10020a3
  1242  	XK_Fabovedot                          = 0x1001e1e
  1243  	XK_Farsi_0                            = 0x10006f0
  1244  	XK_Farsi_1                            = 0x10006f1
  1245  	XK_Farsi_2                            = 0x10006f2
  1246  	XK_Farsi_3                            = 0x10006f3
  1247  	XK_Farsi_4                            = 0x10006f4
  1248  	XK_Farsi_5                            = 0x10006f5
  1249  	XK_Farsi_6                            = 0x10006f6
  1250  	XK_Farsi_7                            = 0x10006f7
  1251  	XK_Farsi_8                            = 0x10006f8
  1252  	XK_Farsi_9                            = 0x10006f9
  1253  	XK_Farsi_yeh                          = 0x10006cc
  1254  	XK_Find                               = 0xff68
  1255  	XK_First_Virtual_Screen               = 0xfed0
  1256  	XK_G                                  = 0x0047
  1257  	XK_GEORGIAN                           = 0
  1258  	XK_GREEK                              = 0
  1259  	XK_Gabovedot                          = 0x02d5
  1260  	XK_Gbreve                             = 0x02ab
  1261  	XK_Gcaron                             = 0x10001e6
  1262  	XK_Gcedilla                           = 0x03ab
  1263  	XK_Gcircumflex                        = 0x02d8
  1264  	XK_Georgian_an                        = 0x10010d0
  1265  	XK_Georgian_ban                       = 0x10010d1
  1266  	XK_Georgian_can                       = 0x10010ea
  1267  	XK_Georgian_char                      = 0x10010ed
  1268  	XK_Georgian_chin                      = 0x10010e9
  1269  	XK_Georgian_cil                       = 0x10010ec
  1270  	XK_Georgian_don                       = 0x10010d3
  1271  	XK_Georgian_en                        = 0x10010d4
  1272  	XK_Georgian_fi                        = 0x10010f6
  1273  	XK_Georgian_gan                       = 0x10010d2
  1274  	XK_Georgian_ghan                      = 0x10010e6
  1275  	XK_Georgian_hae                       = 0x10010f0
  1276  	XK_Georgian_har                       = 0x10010f4
  1277  	XK_Georgian_he                        = 0x10010f1
  1278  	XK_Georgian_hie                       = 0x10010f2
  1279  	XK_Georgian_hoe                       = 0x10010f5
  1280  	XK_Georgian_in                        = 0x10010d8
  1281  	XK_Georgian_jhan                      = 0x10010ef
  1282  	XK_Georgian_jil                       = 0x10010eb
  1283  	XK_Georgian_kan                       = 0x10010d9
  1284  	XK_Georgian_khar                      = 0x10010e5
  1285  	XK_Georgian_las                       = 0x10010da
  1286  	XK_Georgian_man                       = 0x10010db
  1287  	XK_Georgian_nar                       = 0x10010dc
  1288  	XK_Georgian_on                        = 0x10010dd
  1289  	XK_Georgian_par                       = 0x10010de
  1290  	XK_Georgian_phar                      = 0x10010e4
  1291  	XK_Georgian_qar                       = 0x10010e7
  1292  	XK_Georgian_rae                       = 0x10010e0
  1293  	XK_Georgian_san                       = 0x10010e1
  1294  	XK_Georgian_shin                      = 0x10010e8
  1295  	XK_Georgian_tan                       = 0x10010d7
  1296  	XK_Georgian_tar                       = 0x10010e2
  1297  	XK_Georgian_un                        = 0x10010e3
  1298  	XK_Georgian_vin                       = 0x10010d5
  1299  	XK_Georgian_we                        = 0x10010f3
  1300  	XK_Georgian_xan                       = 0x10010ee
  1301  	XK_Georgian_zen                       = 0x10010d6
  1302  	XK_Georgian_zhar                      = 0x10010df
  1303  	XK_Greek_ALPHA                        = 0x07c1
  1304  	XK_Greek_ALPHAaccent                  = 0x07a1
  1305  	XK_Greek_BETA                         = 0x07c2
  1306  	XK_Greek_CHI                          = 0x07d7
  1307  	XK_Greek_DELTA                        = 0x07c4
  1308  	XK_Greek_EPSILON                      = 0x07c5
  1309  	XK_Greek_EPSILONaccent                = 0x07a2
  1310  	XK_Greek_ETA                          = 0x07c7
  1311  	XK_Greek_ETAaccent                    = 0x07a3
  1312  	XK_Greek_GAMMA                        = 0x07c3
  1313  	XK_Greek_IOTA                         = 0x07c9
  1314  	XK_Greek_IOTAaccent                   = 0x07a4
  1315  	XK_Greek_IOTAdiaeresis                = 0x07a5
  1316  	XK_Greek_IOTAdieresis                 = 0x07a5
  1317  	XK_Greek_KAPPA                        = 0x07ca
  1318  	XK_Greek_LAMBDA                       = 0x07cb
  1319  	XK_Greek_LAMDA                        = 0x07cb
  1320  	XK_Greek_MU                           = 0x07cc
  1321  	XK_Greek_NU                           = 0x07cd
  1322  	XK_Greek_OMEGA                        = 0x07d9
  1323  	XK_Greek_OMEGAaccent                  = 0x07ab
  1324  	XK_Greek_OMICRON                      = 0x07cf
  1325  	XK_Greek_OMICRONaccent                = 0x07a7
  1326  	XK_Greek_PHI                          = 0x07d6
  1327  	XK_Greek_PI                           = 0x07d0
  1328  	XK_Greek_PSI                          = 0x07d8
  1329  	XK_Greek_RHO                          = 0x07d1
  1330  	XK_Greek_SIGMA                        = 0x07d2
  1331  	XK_Greek_TAU                          = 0x07d4
  1332  	XK_Greek_THETA                        = 0x07c8
  1333  	XK_Greek_UPSILON                      = 0x07d5
  1334  	XK_Greek_UPSILONaccent                = 0x07a8
  1335  	XK_Greek_UPSILONdieresis              = 0x07a9
  1336  	XK_Greek_XI                           = 0x07ce
  1337  	XK_Greek_ZETA                         = 0x07c6
  1338  	XK_Greek_accentdieresis               = 0x07ae
  1339  	XK_Greek_alpha                        = 0x07e1
  1340  	XK_Greek_alphaaccent                  = 0x07b1
  1341  	XK_Greek_beta                         = 0x07e2
  1342  	XK_Greek_chi                          = 0x07f7
  1343  	XK_Greek_delta                        = 0x07e4
  1344  	XK_Greek_epsilon                      = 0x07e5
  1345  	XK_Greek_epsilonaccent                = 0x07b2
  1346  	XK_Greek_eta                          = 0x07e7
  1347  	XK_Greek_etaaccent                    = 0x07b3
  1348  	XK_Greek_finalsmallsigma              = 0x07f3
  1349  	XK_Greek_gamma                        = 0x07e3
  1350  	XK_Greek_horizbar                     = 0x07af
  1351  	XK_Greek_iota                         = 0x07e9
  1352  	XK_Greek_iotaaccent                   = 0x07b4
  1353  	XK_Greek_iotaaccentdieresis           = 0x07b6
  1354  	XK_Greek_iotadieresis                 = 0x07b5
  1355  	XK_Greek_kappa                        = 0x07ea
  1356  	XK_Greek_lambda                       = 0x07eb
  1357  	XK_Greek_lamda                        = 0x07eb
  1358  	XK_Greek_mu                           = 0x07ec
  1359  	XK_Greek_nu                           = 0x07ed
  1360  	XK_Greek_omega                        = 0x07f9
  1361  	XK_Greek_omegaaccent                  = 0x07bb
  1362  	XK_Greek_omicron                      = 0x07ef
  1363  	XK_Greek_omicronaccent                = 0x07b7
  1364  	XK_Greek_phi                          = 0x07f6
  1365  	XK_Greek_pi                           = 0x07f0
  1366  	XK_Greek_psi                          = 0x07f8
  1367  	XK_Greek_rho                          = 0x07f1
  1368  	XK_Greek_sigma                        = 0x07f2
  1369  	XK_Greek_switch                       = 0xff7e
  1370  	XK_Greek_tau                          = 0x07f4
  1371  	XK_Greek_theta                        = 0x07e8
  1372  	XK_Greek_upsilon                      = 0x07f5
  1373  	XK_Greek_upsilonaccent                = 0x07b8
  1374  	XK_Greek_upsilonaccentdieresis        = 0x07ba
  1375  	XK_Greek_upsilondieresis              = 0x07b9
  1376  	XK_Greek_xi                           = 0x07ee
  1377  	XK_Greek_zeta                         = 0x07e6
  1378  	XK_H                                  = 0x0048
  1379  	XK_HEBREW                             = 0
  1380  	XK_Hangul                             = 0xff31
  1381  	XK_Hangul_A                           = 0x0ebf
  1382  	XK_Hangul_AE                          = 0x0ec0
  1383  	XK_Hangul_AraeA                       = 0x0ef6
  1384  	XK_Hangul_AraeAE                      = 0x0ef7
  1385  	XK_Hangul_Banja                       = 0xff39
  1386  	XK_Hangul_Cieuc                       = 0x0eba
  1387  	XK_Hangul_Codeinput                   = 0xff37
  1388  	XK_Hangul_Dikeud                      = 0x0ea7
  1389  	XK_Hangul_E                           = 0x0ec4
  1390  	XK_Hangul_EO                          = 0x0ec3
  1391  	XK_Hangul_EU                          = 0x0ed1
  1392  	XK_Hangul_End                         = 0xff33
  1393  	XK_Hangul_Hanja                       = 0xff34
  1394  	XK_Hangul_Hieuh                       = 0x0ebe
  1395  	XK_Hangul_I                           = 0x0ed3
  1396  	XK_Hangul_Ieung                       = 0x0eb7
  1397  	XK_Hangul_J_Cieuc                     = 0x0eea
  1398  	XK_Hangul_J_Dikeud                    = 0x0eda
  1399  	XK_Hangul_J_Hieuh                     = 0x0eee
  1400  	XK_Hangul_J_Ieung                     = 0x0ee8
  1401  	XK_Hangul_J_Jieuj                     = 0x0ee9
  1402  	XK_Hangul_J_Khieuq                    = 0x0eeb
  1403  	XK_Hangul_J_Kiyeog                    = 0x0ed4
  1404  	XK_Hangul_J_KiyeogSios                = 0x0ed6
  1405  	XK_Hangul_J_KkogjiDalrinIeung         = 0x0ef9
  1406  	XK_Hangul_J_Mieum                     = 0x0ee3
  1407  	XK_Hangul_J_Nieun                     = 0x0ed7
  1408  	XK_Hangul_J_NieunHieuh                = 0x0ed9
  1409  	XK_Hangul_J_NieunJieuj                = 0x0ed8
  1410  	XK_Hangul_J_PanSios                   = 0x0ef8
  1411  	XK_Hangul_J_Phieuf                    = 0x0eed
  1412  	XK_Hangul_J_Pieub                     = 0x0ee4
  1413  	XK_Hangul_J_PieubSios                 = 0x0ee5
  1414  	XK_Hangul_J_Rieul                     = 0x0edb
  1415  	XK_Hangul_J_RieulHieuh                = 0x0ee2
  1416  	XK_Hangul_J_RieulKiyeog               = 0x0edc
  1417  	XK_Hangul_J_RieulMieum                = 0x0edd
  1418  	XK_Hangul_J_RieulPhieuf               = 0x0ee1
  1419  	XK_Hangul_J_RieulPieub                = 0x0ede
  1420  	XK_Hangul_J_RieulSios                 = 0x0edf
  1421  	XK_Hangul_J_RieulTieut                = 0x0ee0
  1422  	XK_Hangul_J_Sios                      = 0x0ee6
  1423  	XK_Hangul_J_SsangKiyeog               = 0x0ed5
  1424  	XK_Hangul_J_SsangSios                 = 0x0ee7
  1425  	XK_Hangul_J_Tieut                     = 0x0eec
  1426  	XK_Hangul_J_YeorinHieuh               = 0x0efa
  1427  	XK_Hangul_Jamo                        = 0xff35
  1428  	XK_Hangul_Jeonja                      = 0xff38
  1429  	XK_Hangul_Jieuj                       = 0x0eb8
  1430  	XK_Hangul_Khieuq                      = 0x0ebb
  1431  	XK_Hangul_Kiyeog                      = 0x0ea1
  1432  	XK_Hangul_KiyeogSios                  = 0x0ea3
  1433  	XK_Hangul_KkogjiDalrinIeung           = 0x0ef3
  1434  	XK_Hangul_Mieum                       = 0x0eb1
  1435  	XK_Hangul_MultipleCandidate           = 0xff3d
  1436  	XK_Hangul_Nieun                       = 0x0ea4
  1437  	XK_Hangul_NieunHieuh                  = 0x0ea6
  1438  	XK_Hangul_NieunJieuj                  = 0x0ea5
  1439  	XK_Hangul_O                           = 0x0ec7
  1440  	XK_Hangul_OE                          = 0x0eca
  1441  	XK_Hangul_PanSios                     = 0x0ef2
  1442  	XK_Hangul_Phieuf                      = 0x0ebd
  1443  	XK_Hangul_Pieub                       = 0x0eb2
  1444  	XK_Hangul_PieubSios                   = 0x0eb4
  1445  	XK_Hangul_PostHanja                   = 0xff3b
  1446  	XK_Hangul_PreHanja                    = 0xff3a
  1447  	XK_Hangul_PreviousCandidate           = 0xff3e
  1448  	XK_Hangul_Rieul                       = 0x0ea9
  1449  	XK_Hangul_RieulHieuh                  = 0x0eb0
  1450  	XK_Hangul_RieulKiyeog                 = 0x0eaa
  1451  	XK_Hangul_RieulMieum                  = 0x0eab
  1452  	XK_Hangul_RieulPhieuf                 = 0x0eaf
  1453  	XK_Hangul_RieulPieub                  = 0x0eac
  1454  	XK_Hangul_RieulSios                   = 0x0ead
  1455  	XK_Hangul_RieulTieut                  = 0x0eae
  1456  	XK_Hangul_RieulYeorinHieuh            = 0x0eef
  1457  	XK_Hangul_Romaja                      = 0xff36
  1458  	XK_Hangul_SingleCandidate             = 0xff3c
  1459  	XK_Hangul_Sios                        = 0x0eb5
  1460  	XK_Hangul_Special                     = 0xff3f
  1461  	XK_Hangul_SsangDikeud                 = 0x0ea8
  1462  	XK_Hangul_SsangJieuj                  = 0x0eb9
  1463  	XK_Hangul_SsangKiyeog                 = 0x0ea2
  1464  	XK_Hangul_SsangPieub                  = 0x0eb3
  1465  	XK_Hangul_SsangSios                   = 0x0eb6
  1466  	XK_Hangul_Start                       = 0xff32
  1467  	XK_Hangul_SunkyeongeumMieum           = 0x0ef0
  1468  	XK_Hangul_SunkyeongeumPhieuf          = 0x0ef4
  1469  	XK_Hangul_SunkyeongeumPieub           = 0x0ef1
  1470  	XK_Hangul_Tieut                       = 0x0ebc
  1471  	XK_Hangul_U                           = 0x0ecc
  1472  	XK_Hangul_WA                          = 0x0ec8
  1473  	XK_Hangul_WAE                         = 0x0ec9
  1474  	XK_Hangul_WE                          = 0x0ece
  1475  	XK_Hangul_WEO                         = 0x0ecd
  1476  	XK_Hangul_WI                          = 0x0ecf
  1477  	XK_Hangul_YA                          = 0x0ec1
  1478  	XK_Hangul_YAE                         = 0x0ec2
  1479  	XK_Hangul_YE                          = 0x0ec6
  1480  	XK_Hangul_YEO                         = 0x0ec5
  1481  	XK_Hangul_YI                          = 0x0ed2
  1482  	XK_Hangul_YO                          = 0x0ecb
  1483  	XK_Hangul_YU                          = 0x0ed0
  1484  	XK_Hangul_YeorinHieuh                 = 0x0ef5
  1485  	XK_Hangul_switch                      = 0xff7e
  1486  	XK_Hankaku                            = 0xff29
  1487  	XK_Hcircumflex                        = 0x02a6
  1488  	XK_Hebrew_switch                      = 0xff7e
  1489  	XK_Help                               = 0xff6a
  1490  	XK_Henkan                             = 0xff23
  1491  	XK_Henkan_Mode                        = 0xff23
  1492  	XK_Hiragana                           = 0xff25
  1493  	XK_Hiragana_Katakana                  = 0xff27
  1494  	XK_Home                               = 0xff50
  1495  	XK_Hstroke                            = 0x02a1
  1496  	XK_Hyper_L                            = 0xffed
  1497  	XK_Hyper_R                            = 0xffee
  1498  	XK_I                                  = 0x0049
  1499  	XK_ISO_Center_Object                  = 0xfe33
  1500  	XK_ISO_Continuous_Underline           = 0xfe30
  1501  	XK_ISO_Discontinuous_Underline        = 0xfe31
  1502  	XK_ISO_Emphasize                      = 0xfe32
  1503  	XK_ISO_Enter                          = 0xfe34
  1504  	XK_ISO_Fast_Cursor_Down               = 0xfe2f
  1505  	XK_ISO_Fast_Cursor_Left               = 0xfe2c
  1506  	XK_ISO_Fast_Cursor_Right              = 0xfe2d
  1507  	XK_ISO_Fast_Cursor_Up                 = 0xfe2e
  1508  	XK_ISO_First_Group                    = 0xfe0c
  1509  	XK_ISO_First_Group_Lock               = 0xfe0d
  1510  	XK_ISO_Group_Latch                    = 0xfe06
  1511  	XK_ISO_Group_Lock                     = 0xfe07
  1512  	XK_ISO_Group_Shift                    = 0xff7e
  1513  	XK_ISO_Last_Group                     = 0xfe0e
  1514  	XK_ISO_Last_Group_Lock                = 0xfe0f
  1515  	XK_ISO_Left_Tab                       = 0xfe20
  1516  	XK_ISO_Level2_Latch                   = 0xfe02
  1517  	XK_ISO_Level3_Latch                   = 0xfe04
  1518  	XK_ISO_Level3_Lock                    = 0xfe05
  1519  	XK_ISO_Level3_Shift                   = 0xfe03
  1520  	XK_ISO_Level5_Latch                   = 0xfe12
  1521  	XK_ISO_Level5_Lock                    = 0xfe13
  1522  	XK_ISO_Level5_Shift                   = 0xfe11
  1523  	XK_ISO_Lock                           = 0xfe01
  1524  	XK_ISO_Move_Line_Down                 = 0xfe22
  1525  	XK_ISO_Move_Line_Up                   = 0xfe21
  1526  	XK_ISO_Next_Group                     = 0xfe08
  1527  	XK_ISO_Next_Group_Lock                = 0xfe09
  1528  	XK_ISO_Partial_Line_Down              = 0xfe24
  1529  	XK_ISO_Partial_Line_Up                = 0xfe23
  1530  	XK_ISO_Partial_Space_Left             = 0xfe25
  1531  	XK_ISO_Partial_Space_Right            = 0xfe26
  1532  	XK_ISO_Prev_Group                     = 0xfe0a
  1533  	XK_ISO_Prev_Group_Lock                = 0xfe0b
  1534  	XK_ISO_Release_Both_Margins           = 0xfe2b
  1535  	XK_ISO_Release_Margin_Left            = 0xfe29
  1536  	XK_ISO_Release_Margin_Right           = 0xfe2a
  1537  	XK_ISO_Set_Margin_Left                = 0xfe27
  1538  	XK_ISO_Set_Margin_Right               = 0xfe28
  1539  	XK_Iabovedot                          = 0x02a9
  1540  	XK_Iacute                             = 0x00cd
  1541  	XK_Ibelowdot                          = 0x1001eca
  1542  	XK_Ibreve                             = 0x100012c
  1543  	XK_Icircumflex                        = 0x00ce
  1544  	XK_Idiaeresis                         = 0x00cf
  1545  	XK_Igrave                             = 0x00cc
  1546  	XK_Ihook                              = 0x1001ec8
  1547  	XK_Imacron                            = 0x03cf
  1548  	XK_Insert                             = 0xff63
  1549  	XK_Iogonek                            = 0x03c7
  1550  	XK_Itilde                             = 0x03a5
  1551  	XK_J                                  = 0x004a
  1552  	XK_Jcircumflex                        = 0x02ac
  1553  	XK_K                                  = 0x004b
  1554  	XK_KATAKANA                           = 0
  1555  	XK_KOREAN                             = 0
  1556  	XK_KP_0                               = 0xffb0
  1557  	XK_KP_1                               = 0xffb1
  1558  	XK_KP_2                               = 0xffb2
  1559  	XK_KP_3                               = 0xffb3
  1560  	XK_KP_4                               = 0xffb4
  1561  	XK_KP_5                               = 0xffb5
  1562  	XK_KP_6                               = 0xffb6
  1563  	XK_KP_7                               = 0xffb7
  1564  	XK_KP_8                               = 0xffb8
  1565  	XK_KP_9                               = 0xffb9
  1566  	XK_KP_Add                             = 0xffab
  1567  	XK_KP_Begin                           = 0xff9d
  1568  	XK_KP_Decimal                         = 0xffae
  1569  	XK_KP_Delete                          = 0xff9f
  1570  	XK_KP_Divide                          = 0xffaf
  1571  	XK_KP_Down                            = 0xff99
  1572  	XK_KP_End                             = 0xff9c
  1573  	XK_KP_Enter                           = 0xff8d
  1574  	XK_KP_Equal                           = 0xffbd
  1575  	XK_KP_F1                              = 0xff91
  1576  	XK_KP_F2                              = 0xff92
  1577  	XK_KP_F3                              = 0xff93
  1578  	XK_KP_F4                              = 0xff94
  1579  	XK_KP_Home                            = 0xff95
  1580  	XK_KP_Insert                          = 0xff9e
  1581  	XK_KP_Left                            = 0xff96
  1582  	XK_KP_Multiply                        = 0xffaa
  1583  	XK_KP_Next                            = 0xff9b
  1584  	XK_KP_Page_Down                       = 0xff9b
  1585  	XK_KP_Page_Up                         = 0xff9a
  1586  	XK_KP_Prior                           = 0xff9a
  1587  	XK_KP_Right                           = 0xff98
  1588  	XK_KP_Separator                       = 0xffac
  1589  	XK_KP_Space                           = 0xff80
  1590  	XK_KP_Subtract                        = 0xffad
  1591  	XK_KP_Tab                             = 0xff89
  1592  	XK_KP_Up                              = 0xff97
  1593  	XK_Kana_Lock                          = 0xff2d
  1594  	XK_Kana_Shift                         = 0xff2e
  1595  	XK_Kanji                              = 0xff21
  1596  	XK_Kanji_Bangou                       = 0xff37
  1597  	XK_Katakana                           = 0xff26
  1598  	XK_Kcedilla                           = 0x03d3
  1599  	XK_Korean_Won                         = 0x0eff
  1600  	XK_L                                  = 0x004c
  1601  	XK_L1                                 = 0xffc8
  1602  	XK_L10                                = 0xffd1
  1603  	XK_L2                                 = 0xffc9
  1604  	XK_L3                                 = 0xffca
  1605  	XK_L4                                 = 0xffcb
  1606  	XK_L5                                 = 0xffcc
  1607  	XK_L6                                 = 0xffcd
  1608  	XK_L7                                 = 0xffce
  1609  	XK_L8                                 = 0xffcf
  1610  	XK_L9                                 = 0xffd0
  1611  	XK_LATIN1                             = 0
  1612  	XK_LATIN2                             = 0
  1613  	XK_LATIN3                             = 0
  1614  	XK_LATIN4                             = 0
  1615  	XK_LATIN8                             = 0
  1616  	XK_LATIN9                             = 0
  1617  	XK_Lacute                             = 0x01c5
  1618  	XK_Last_Virtual_Screen                = 0xfed4
  1619  	XK_Lbelowdot                          = 0x1001e36
  1620  	XK_Lcaron                             = 0x01a5
  1621  	XK_Lcedilla                           = 0x03a6
  1622  	XK_Left                               = 0xff51
  1623  	XK_Linefeed                           = 0xff0a
  1624  	XK_LiraSign                           = 0x10020a4
  1625  	XK_Lstroke                            = 0x01a3
  1626  	XK_M                                  = 0x004d
  1627  	XK_MATHEMATICAL                       = 0
  1628  	XK_MISCELLANY                         = 0
  1629  	XK_Mabovedot                          = 0x1001e40
  1630  	XK_Macedonia_DSE                      = 0x06b5
  1631  	XK_Macedonia_GJE                      = 0x06b2
  1632  	XK_Macedonia_KJE                      = 0x06bc
  1633  	XK_Macedonia_dse                      = 0x06a5
  1634  	XK_Macedonia_gje                      = 0x06a2
  1635  	XK_Macedonia_kje                      = 0x06ac
  1636  	XK_Mae_Koho                           = 0xff3e
  1637  	XK_Massyo                             = 0xff2c
  1638  	XK_Menu                               = 0xff67
  1639  	XK_Meta_L                             = 0xffe7
  1640  	XK_Meta_R                             = 0xffe8
  1641  	XK_MillSign                           = 0x10020a5
  1642  	XK_Mode_switch                        = 0xff7e
  1643  	XK_MouseKeys_Accel_Enable             = 0xfe77
  1644  	XK_MouseKeys_Enable                   = 0xfe76
  1645  	XK_Muhenkan                           = 0xff22
  1646  	XK_Multi_key                          = 0xff20
  1647  	XK_MultipleCandidate                  = 0xff3d
  1648  	XK_N                                  = 0x004e
  1649  	XK_Nacute                             = 0x01d1
  1650  	XK_NairaSign                          = 0x10020a6
  1651  	XK_Ncaron                             = 0x01d2
  1652  	XK_Ncedilla                           = 0x03d1
  1653  	XK_NewSheqelSign                      = 0x10020aa
  1654  	XK_Next                               = 0xff56
  1655  	XK_Next_Virtual_Screen                = 0xfed2
  1656  	XK_Ntilde                             = 0x00d1
  1657  	XK_Num_Lock                           = 0xff7f
  1658  	XK_O                                  = 0x004f
  1659  	XK_OE                                 = 0x13bc
  1660  	XK_Oacute                             = 0x00d3
  1661  	XK_Obarred                            = 0x100019f
  1662  	XK_Obelowdot                          = 0x1001ecc
  1663  	XK_Ocaron                             = 0x10001d1
  1664  	XK_Ocircumflex                        = 0x00d4
  1665  	XK_Ocircumflexacute                   = 0x1001ed0
  1666  	XK_Ocircumflexbelowdot                = 0x1001ed8
  1667  	XK_Ocircumflexgrave                   = 0x1001ed2
  1668  	XK_Ocircumflexhook                    = 0x1001ed4
  1669  	XK_Ocircumflextilde                   = 0x1001ed6
  1670  	XK_Odiaeresis                         = 0x00d6
  1671  	XK_Odoubleacute                       = 0x01d5
  1672  	XK_Ograve                             = 0x00d2
  1673  	XK_Ohook                              = 0x1001ece
  1674  	XK_Ohorn                              = 0x10001a0
  1675  	XK_Ohornacute                         = 0x1001eda
  1676  	XK_Ohornbelowdot                      = 0x1001ee2
  1677  	XK_Ohorngrave                         = 0x1001edc
  1678  	XK_Ohornhook                          = 0x1001ede
  1679  	XK_Ohorntilde                         = 0x1001ee0
  1680  	XK_Omacron                            = 0x03d2
  1681  	XK_Ooblique                           = 0x00d8
  1682  	XK_Oslash                             = 0x00d8
  1683  	XK_Otilde                             = 0x00d5
  1684  	XK_Overlay1_Enable                    = 0xfe78
  1685  	XK_Overlay2_Enable                    = 0xfe79
  1686  	XK_P                                  = 0x0050
  1687  	XK_Pabovedot                          = 0x1001e56
  1688  	XK_Page_Down                          = 0xff56
  1689  	XK_Page_Up                            = 0xff55
  1690  	XK_Pause                              = 0xff13
  1691  	XK_PesetaSign                         = 0x10020a7
  1692  	XK_Pointer_Accelerate                 = 0xfefa
  1693  	XK_Pointer_Button1                    = 0xfee9
  1694  	XK_Pointer_Button2                    = 0xfeea
  1695  	XK_Pointer_Button3                    = 0xfeeb
  1696  	XK_Pointer_Button4                    = 0xfeec
  1697  	XK_Pointer_Button5                    = 0xfeed
  1698  	XK_Pointer_Button_Dflt                = 0xfee8
  1699  	XK_Pointer_DblClick1                  = 0xfeef
  1700  	XK_Pointer_DblClick2                  = 0xfef0
  1701  	XK_Pointer_DblClick3                  = 0xfef1
  1702  	XK_Pointer_DblClick4                  = 0xfef2
  1703  	XK_Pointer_DblClick5                  = 0xfef3
  1704  	XK_Pointer_DblClick_Dflt              = 0xfeee
  1705  	XK_Pointer_DfltBtnNext                = 0xfefb
  1706  	XK_Pointer_DfltBtnPrev                = 0xfefc
  1707  	XK_Pointer_Down                       = 0xfee3
  1708  	XK_Pointer_DownLeft                   = 0xfee6
  1709  	XK_Pointer_DownRight                  = 0xfee7
  1710  	XK_Pointer_Drag1                      = 0xfef5
  1711  	XK_Pointer_Drag2                      = 0xfef6
  1712  	XK_Pointer_Drag3                      = 0xfef7
  1713  	XK_Pointer_Drag4                      = 0xfef8
  1714  	XK_Pointer_Drag5                      = 0xfefd
  1715  	XK_Pointer_Drag_Dflt                  = 0xfef4
  1716  	XK_Pointer_EnableKeys                 = 0xfef9
  1717  	XK_Pointer_Left                       = 0xfee0
  1718  	XK_Pointer_Right                      = 0xfee1
  1719  	XK_Pointer_Up                         = 0xfee2
  1720  	XK_Pointer_UpLeft                     = 0xfee4
  1721  	XK_Pointer_UpRight                    = 0xfee5
  1722  	XK_Prev_Virtual_Screen                = 0xfed1
  1723  	XK_PreviousCandidate                  = 0xff3e
  1724  	XK_Print                              = 0xff61
  1725  	XK_Prior                              = 0xff55
  1726  	XK_Q                                  = 0x0051
  1727  	XK_R                                  = 0x0052
  1728  	XK_R1                                 = 0xffd2
  1729  	XK_R10                                = 0xffdb
  1730  	XK_R11                                = 0xffdc
  1731  	XK_R12                                = 0xffdd
  1732  	XK_R13                                = 0xffde
  1733  	XK_R14                                = 0xffdf
  1734  	XK_R15                                = 0xffe0
  1735  	XK_R2                                 = 0xffd3
  1736  	XK_R3                                 = 0xffd4
  1737  	XK_R4                                 = 0xffd5
  1738  	XK_R5                                 = 0xffd6
  1739  	XK_R6                                 = 0xffd7
  1740  	XK_R7                                 = 0xffd8
  1741  	XK_R8                                 = 0xffd9
  1742  	XK_R9                                 = 0xffda
  1743  	XK_Racute                             = 0x01c0
  1744  	XK_Rcaron                             = 0x01d8
  1745  	XK_Rcedilla                           = 0x03a3
  1746  	XK_Redo                               = 0xff66
  1747  	XK_RepeatKeys_Enable                  = 0xfe72
  1748  	XK_Return                             = 0xff0d
  1749  	XK_Right                              = 0xff53
  1750  	XK_Romaji                             = 0xff24
  1751  	XK_RupeeSign                          = 0x10020a8
  1752  	XK_S                                  = 0x0053
  1753  	XK_SCHWA                              = 0x100018f
  1754  	XK_SINHALA                            = 0
  1755  	XK_Sabovedot                          = 0x1001e60
  1756  	XK_Sacute                             = 0x01a6
  1757  	XK_Scaron                             = 0x01a9
  1758  	XK_Scedilla                           = 0x01aa
  1759  	XK_Scircumflex                        = 0x02de
  1760  	XK_Scroll_Lock                        = 0xff14
  1761  	XK_Select                             = 0xff60
  1762  	XK_Serbian_DJE                        = 0x06b1
  1763  	XK_Serbian_DZE                        = 0x06bf
  1764  	XK_Serbian_JE                         = 0x06b8
  1765  	XK_Serbian_LJE                        = 0x06b9
  1766  	XK_Serbian_NJE                        = 0x06ba
  1767  	XK_Serbian_TSHE                       = 0x06bb
  1768  	XK_Serbian_dje                        = 0x06a1
  1769  	XK_Serbian_dze                        = 0x06af
  1770  	XK_Serbian_je                         = 0x06a8
  1771  	XK_Serbian_lje                        = 0x06a9
  1772  	XK_Serbian_nje                        = 0x06aa
  1773  	XK_Serbian_tshe                       = 0x06ab
  1774  	XK_Shift_L                            = 0xffe1
  1775  	XK_Shift_Lock                         = 0xffe6
  1776  	XK_Shift_R                            = 0xffe2
  1777  	XK_SingleCandidate                    = 0xff3c
  1778  	XK_Sinh_a                             = 0x1000d85
  1779  	XK_Sinh_aa                            = 0x1000d86
  1780  	XK_Sinh_aa2                           = 0x1000dcf
  1781  	XK_Sinh_ae                            = 0x1000d87
  1782  	XK_Sinh_ae2                           = 0x1000dd0
  1783  	XK_Sinh_aee                           = 0x1000d88
  1784  	XK_Sinh_aee2                          = 0x1000dd1
  1785  	XK_Sinh_ai                            = 0x1000d93
  1786  	XK_Sinh_ai2                           = 0x1000ddb
  1787  	XK_Sinh_al                            = 0x1000dca
  1788  	XK_Sinh_au                            = 0x1000d96
  1789  	XK_Sinh_au2                           = 0x1000dde
  1790  	XK_Sinh_ba                            = 0x1000db6
  1791  	XK_Sinh_bha                           = 0x1000db7
  1792  	XK_Sinh_ca                            = 0x1000da0
  1793  	XK_Sinh_cha                           = 0x1000da1
  1794  	XK_Sinh_dda                           = 0x1000da9
  1795  	XK_Sinh_ddha                          = 0x1000daa
  1796  	XK_Sinh_dha                           = 0x1000daf
  1797  	XK_Sinh_dhha                          = 0x1000db0
  1798  	XK_Sinh_e                             = 0x1000d91
  1799  	XK_Sinh_e2                            = 0x1000dd9
  1800  	XK_Sinh_ee                            = 0x1000d92
  1801  	XK_Sinh_ee2                           = 0x1000dda
  1802  	XK_Sinh_fa                            = 0x1000dc6
  1803  	XK_Sinh_ga                            = 0x1000d9c
  1804  	XK_Sinh_gha                           = 0x1000d9d
  1805  	XK_Sinh_h2                            = 0x1000d83
  1806  	XK_Sinh_ha                            = 0x1000dc4
  1807  	XK_Sinh_i                             = 0x1000d89
  1808  	XK_Sinh_i2                            = 0x1000dd2
  1809  	XK_Sinh_ii                            = 0x1000d8a
  1810  	XK_Sinh_ii2                           = 0x1000dd3
  1811  	XK_Sinh_ja                            = 0x1000da2
  1812  	XK_Sinh_jha                           = 0x1000da3
  1813  	XK_Sinh_jnya                          = 0x1000da5
  1814  	XK_Sinh_ka                            = 0x1000d9a
  1815  	XK_Sinh_kha                           = 0x1000d9b
  1816  	XK_Sinh_kunddaliya                    = 0x1000df4
  1817  	XK_Sinh_la                            = 0x1000dbd
  1818  	XK_Sinh_lla                           = 0x1000dc5
  1819  	XK_Sinh_lu                            = 0x1000d8f
  1820  	XK_Sinh_lu2                           = 0x1000ddf
  1821  	XK_Sinh_luu                           = 0x1000d90
  1822  	XK_Sinh_luu2                          = 0x1000df3
  1823  	XK_Sinh_ma                            = 0x1000db8
  1824  	XK_Sinh_mba                           = 0x1000db9
  1825  	XK_Sinh_na                            = 0x1000db1
  1826  	XK_Sinh_ndda                          = 0x1000dac
  1827  	XK_Sinh_ndha                          = 0x1000db3
  1828  	XK_Sinh_ng                            = 0x1000d82
  1829  	XK_Sinh_ng2                           = 0x1000d9e
  1830  	XK_Sinh_nga                           = 0x1000d9f
  1831  	XK_Sinh_nja                           = 0x1000da6
  1832  	XK_Sinh_nna                           = 0x1000dab
  1833  	XK_Sinh_nya                           = 0x1000da4
  1834  	XK_Sinh_o                             = 0x1000d94
  1835  	XK_Sinh_o2                            = 0x1000ddc
  1836  	XK_Sinh_oo                            = 0x1000d95
  1837  	XK_Sinh_oo2                           = 0x1000ddd
  1838  	XK_Sinh_pa                            = 0x1000db4
  1839  	XK_Sinh_pha                           = 0x1000db5
  1840  	XK_Sinh_ra                            = 0x1000dbb
  1841  	XK_Sinh_ri                            = 0x1000d8d
  1842  	XK_Sinh_rii                           = 0x1000d8e
  1843  	XK_Sinh_ru2                           = 0x1000dd8
  1844  	XK_Sinh_ruu2                          = 0x1000df2
  1845  	XK_Sinh_sa                            = 0x1000dc3
  1846  	XK_Sinh_sha                           = 0x1000dc1
  1847  	XK_Sinh_ssha                          = 0x1000dc2
  1848  	XK_Sinh_tha                           = 0x1000dad
  1849  	XK_Sinh_thha                          = 0x1000dae
  1850  	XK_Sinh_tta                           = 0x1000da7
  1851  	XK_Sinh_ttha                          = 0x1000da8
  1852  	XK_Sinh_u                             = 0x1000d8b
  1853  	XK_Sinh_u2                            = 0x1000dd4
  1854  	XK_Sinh_uu                            = 0x1000d8c
  1855  	XK_Sinh_uu2                           = 0x1000dd6
  1856  	XK_Sinh_va                            = 0x1000dc0
  1857  	XK_Sinh_ya                            = 0x1000dba
  1858  	XK_SlowKeys_Enable                    = 0xfe73
  1859  	XK_StickyKeys_Enable                  = 0xfe75
  1860  	XK_Super_L                            = 0xffeb
  1861  	XK_Super_R                            = 0xffec
  1862  	XK_Sys_Req                            = 0xff15
  1863  	XK_T                                  = 0x0054
  1864  	XK_THAI                               = 0
  1865  	XK_THORN                              = 0x00de
  1866  	XK_Tab                                = 0xff09
  1867  	XK_Tabovedot                          = 0x1001e6a
  1868  	XK_Tcaron                             = 0x01ab
  1869  	XK_Tcedilla                           = 0x01de
  1870  	XK_Terminate_Server                   = 0xfed5
  1871  	XK_Thai_baht                          = 0x0ddf
  1872  	XK_Thai_bobaimai                      = 0x0dba
  1873  	XK_Thai_chochan                       = 0x0da8
  1874  	XK_Thai_chochang                      = 0x0daa
  1875  	XK_Thai_choching                      = 0x0da9
  1876  	XK_Thai_chochoe                       = 0x0dac
  1877  	XK_Thai_dochada                       = 0x0dae
  1878  	XK_Thai_dodek                         = 0x0db4
  1879  	XK_Thai_fofa                          = 0x0dbd
  1880  	XK_Thai_fofan                         = 0x0dbf
  1881  	XK_Thai_hohip                         = 0x0dcb
  1882  	XK_Thai_honokhuk                      = 0x0dce
  1883  	XK_Thai_khokhai                       = 0x0da2
  1884  	XK_Thai_khokhon                       = 0x0da5
  1885  	XK_Thai_khokhuat                      = 0x0da3
  1886  	XK_Thai_khokhwai                      = 0x0da4
  1887  	XK_Thai_khorakhang                    = 0x0da6
  1888  	XK_Thai_kokai                         = 0x0da1
  1889  	XK_Thai_lakkhangyao                   = 0x0de5
  1890  	XK_Thai_lekchet                       = 0x0df7
  1891  	XK_Thai_lekha                         = 0x0df5
  1892  	XK_Thai_lekhok                        = 0x0df6
  1893  	XK_Thai_lekkao                        = 0x0df9
  1894  	XK_Thai_leknung                       = 0x0df1
  1895  	XK_Thai_lekpaet                       = 0x0df8
  1896  	XK_Thai_leksam                        = 0x0df3
  1897  	XK_Thai_leksi                         = 0x0df4
  1898  	XK_Thai_leksong                       = 0x0df2
  1899  	XK_Thai_leksun                        = 0x0df0
  1900  	XK_Thai_lochula                       = 0x0dcc
  1901  	XK_Thai_loling                        = 0x0dc5
  1902  	XK_Thai_lu                            = 0x0dc6
  1903  	XK_Thai_maichattawa                   = 0x0deb
  1904  	XK_Thai_maiek                         = 0x0de8
  1905  	XK_Thai_maihanakat                    = 0x0dd1
  1906  	XK_Thai_maihanakat_maitho             = 0x0dde
  1907  	XK_Thai_maitaikhu                     = 0x0de7
  1908  	XK_Thai_maitho                        = 0x0de9
  1909  	XK_Thai_maitri                        = 0x0dea
  1910  	XK_Thai_maiyamok                      = 0x0de6
  1911  	XK_Thai_moma                          = 0x0dc1
  1912  	XK_Thai_ngongu                        = 0x0da7
  1913  	XK_Thai_nikhahit                      = 0x0ded
  1914  	XK_Thai_nonen                         = 0x0db3
  1915  	XK_Thai_nonu                          = 0x0db9
  1916  	XK_Thai_oang                          = 0x0dcd
  1917  	XK_Thai_paiyannoi                     = 0x0dcf
  1918  	XK_Thai_phinthu                       = 0x0dda
  1919  	XK_Thai_phophan                       = 0x0dbe
  1920  	XK_Thai_phophung                      = 0x0dbc
  1921  	XK_Thai_phosamphao                    = 0x0dc0
  1922  	XK_Thai_popla                         = 0x0dbb
  1923  	XK_Thai_rorua                         = 0x0dc3
  1924  	XK_Thai_ru                            = 0x0dc4
  1925  	XK_Thai_saraa                         = 0x0dd0
  1926  	XK_Thai_saraaa                        = 0x0dd2
  1927  	XK_Thai_saraae                        = 0x0de1
  1928  	XK_Thai_saraaimaimalai                = 0x0de4
  1929  	XK_Thai_saraaimaimuan                 = 0x0de3
  1930  	XK_Thai_saraam                        = 0x0dd3
  1931  	XK_Thai_sarae                         = 0x0de0
  1932  	XK_Thai_sarai                         = 0x0dd4
  1933  	XK_Thai_saraii                        = 0x0dd5
  1934  	XK_Thai_sarao                         = 0x0de2
  1935  	XK_Thai_sarau                         = 0x0dd8
  1936  	XK_Thai_saraue                        = 0x0dd6
  1937  	XK_Thai_sarauee                       = 0x0dd7
  1938  	XK_Thai_sarauu                        = 0x0dd9
  1939  	XK_Thai_sorusi                        = 0x0dc9
  1940  	XK_Thai_sosala                        = 0x0dc8
  1941  	XK_Thai_soso                          = 0x0dab
  1942  	XK_Thai_sosua                         = 0x0dca
  1943  	XK_Thai_thanthakhat                   = 0x0dec
  1944  	XK_Thai_thonangmontho                 = 0x0db1
  1945  	XK_Thai_thophuthao                    = 0x0db2
  1946  	XK_Thai_thothahan                     = 0x0db7
  1947  	XK_Thai_thothan                       = 0x0db0
  1948  	XK_Thai_thothong                      = 0x0db8
  1949  	XK_Thai_thothung                      = 0x0db6
  1950  	XK_Thai_topatak                       = 0x0daf
  1951  	XK_Thai_totao                         = 0x0db5
  1952  	XK_Thai_wowaen                        = 0x0dc7
  1953  	XK_Thai_yoyak                         = 0x0dc2
  1954  	XK_Thai_yoying                        = 0x0dad
  1955  	XK_Thorn                              = 0x00de
  1956  	XK_Touroku                            = 0xff2b
  1957  	XK_Tslash                             = 0x03ac
  1958  	XK_U                                  = 0x0055
  1959  	XK_Uacute                             = 0x00da
  1960  	XK_Ubelowdot                          = 0x1001ee4
  1961  	XK_Ubreve                             = 0x02dd
  1962  	XK_Ucircumflex                        = 0x00db
  1963  	XK_Udiaeresis                         = 0x00dc
  1964  	XK_Udoubleacute                       = 0x01db
  1965  	XK_Ugrave                             = 0x00d9
  1966  	XK_Uhook                              = 0x1001ee6
  1967  	XK_Uhorn                              = 0x10001af
  1968  	XK_Uhornacute                         = 0x1001ee8
  1969  	XK_Uhornbelowdot                      = 0x1001ef0
  1970  	XK_Uhorngrave                         = 0x1001eea
  1971  	XK_Uhornhook                          = 0x1001eec
  1972  	XK_Uhorntilde                         = 0x1001eee
  1973  	XK_Ukrainian_GHE_WITH_UPTURN          = 0x06bd
  1974  	XK_Ukrainian_I                        = 0x06b6
  1975  	XK_Ukrainian_IE                       = 0x06b4
  1976  	XK_Ukrainian_YI                       = 0x06b7
  1977  	XK_Ukrainian_ghe_with_upturn          = 0x06ad
  1978  	XK_Ukrainian_i                        = 0x06a6
  1979  	XK_Ukrainian_ie                       = 0x06a4
  1980  	XK_Ukrainian_yi                       = 0x06a7
  1981  	XK_Ukranian_I                         = 0x06b6
  1982  	XK_Ukranian_JE                        = 0x06b4
  1983  	XK_Ukranian_YI                        = 0x06b7
  1984  	XK_Ukranian_i                         = 0x06a6
  1985  	XK_Ukranian_je                        = 0x06a4
  1986  	XK_Ukranian_yi                        = 0x06a7
  1987  	XK_Umacron                            = 0x03de
  1988  	XK_Undo                               = 0xff65
  1989  	XK_Uogonek                            = 0x03d9
  1990  	XK_Up                                 = 0xff52
  1991  	XK_Uring                              = 0x01d9
  1992  	XK_Utilde                             = 0x03dd
  1993  	XK_V                                  = 0x0056
  1994  	XK_VIETNAMESE                         = 0
  1995  	XK_VoidSymbol                         = 0xffffff
  1996  	XK_W                                  = 0x0057
  1997  	XK_Wacute                             = 0x1001e82
  1998  	XK_Wcircumflex                        = 0x1000174
  1999  	XK_Wdiaeresis                         = 0x1001e84
  2000  	XK_Wgrave                             = 0x1001e80
  2001  	XK_WonSign                            = 0x10020a9
  2002  	XK_X                                  = 0x0058
  2003  	XK_XKB_KEYS                           = 0
  2004  	XK_Xabovedot                          = 0x1001e8a
  2005  	XK_Y                                  = 0x0059
  2006  	XK_Yacute                             = 0x00dd
  2007  	XK_Ybelowdot                          = 0x1001ef4
  2008  	XK_Ycircumflex                        = 0x1000176
  2009  	XK_Ydiaeresis                         = 0x13be
  2010  	XK_Ygrave                             = 0x1001ef2
  2011  	XK_Yhook                              = 0x1001ef6
  2012  	XK_Ytilde                             = 0x1001ef8
  2013  	XK_Z                                  = 0x005a
  2014  	XK_Zabovedot                          = 0x01af
  2015  	XK_Zacute                             = 0x01ac
  2016  	XK_Zcaron                             = 0x01ae
  2017  	XK_Zen_Koho                           = 0xff3d
  2018  	XK_Zenkaku                            = 0xff28
  2019  	XK_Zenkaku_Hankaku                    = 0xff2a
  2020  	XK_Zstroke                            = 0x10001b5
  2021  	XK_a                                  = 0x0061
  2022  	XK_aacute                             = 0x00e1
  2023  	XK_abelowdot                          = 0x1001ea1
  2024  	XK_abovedot                           = 0x01ff
  2025  	XK_abreve                             = 0x01e3
  2026  	XK_abreveacute                        = 0x1001eaf
  2027  	XK_abrevebelowdot                     = 0x1001eb7
  2028  	XK_abrevegrave                        = 0x1001eb1
  2029  	XK_abrevehook                         = 0x1001eb3
  2030  	XK_abrevetilde                        = 0x1001eb5
  2031  	XK_acircumflex                        = 0x00e2
  2032  	XK_acircumflexacute                   = 0x1001ea5
  2033  	XK_acircumflexbelowdot                = 0x1001ead
  2034  	XK_acircumflexgrave                   = 0x1001ea7
  2035  	XK_acircumflexhook                    = 0x1001ea9
  2036  	XK_acircumflextilde                   = 0x1001eab
  2037  	XK_acute                              = 0x00b4
  2038  	XK_adiaeresis                         = 0x00e4
  2039  	XK_ae                                 = 0x00e6
  2040  	XK_agrave                             = 0x00e0
  2041  	XK_ahook                              = 0x1001ea3
  2042  	XK_amacron                            = 0x03e0
  2043  	XK_ampersand                          = 0x0026
  2044  	XK_aogonek                            = 0x01b1
  2045  	XK_apostrophe                         = 0x0027
  2046  	XK_approxeq                           = 0x1002248
  2047  	XK_aring                              = 0x00e5
  2048  	XK_asciicircum                        = 0x005e
  2049  	XK_asciitilde                         = 0x007e
  2050  	XK_asterisk                           = 0x002a
  2051  	XK_at                                 = 0x0040
  2052  	XK_atilde                             = 0x00e3
  2053  	XK_b                                  = 0x0062
  2054  	XK_babovedot                          = 0x1001e03
  2055  	XK_backslash                          = 0x005c
  2056  	XK_bar                                = 0x007c
  2057  	XK_because                            = 0x1002235
  2058  	XK_braceleft                          = 0x007b
  2059  	XK_braceright                         = 0x007d
  2060  	XK_bracketleft                        = 0x005b
  2061  	XK_bracketright                       = 0x005d
  2062  	XK_braille_blank                      = 0x1002800
  2063  	XK_braille_dot_1                      = 0xfff1
  2064  	XK_braille_dot_10                     = 0xfffa
  2065  	XK_braille_dot_2                      = 0xfff2
  2066  	XK_braille_dot_3                      = 0xfff3
  2067  	XK_braille_dot_4                      = 0xfff4
  2068  	XK_braille_dot_5                      = 0xfff5
  2069  	XK_braille_dot_6                      = 0xfff6
  2070  	XK_braille_dot_7                      = 0xfff7
  2071  	XK_braille_dot_8                      = 0xfff8
  2072  	XK_braille_dot_9                      = 0xfff9
  2073  	XK_braille_dots_1                     = 0x1002801
  2074  	XK_braille_dots_12                    = 0x1002803
  2075  	XK_braille_dots_123                   = 0x1002807
  2076  	XK_braille_dots_1234                  = 0x100280f
  2077  	XK_braille_dots_12345                 = 0x100281f
  2078  	XK_braille_dots_123456                = 0x100283f
  2079  	XK_braille_dots_1234567               = 0x100287f
  2080  	XK_braille_dots_12345678              = 0x10028ff
  2081  	XK_braille_dots_1234568               = 0x10028bf
  2082  	XK_braille_dots_123457                = 0x100285f
  2083  	XK_braille_dots_1234578               = 0x10028df
  2084  	XK_braille_dots_123458                = 0x100289f
  2085  	XK_braille_dots_12346                 = 0x100282f
  2086  	XK_braille_dots_123467                = 0x100286f
  2087  	XK_braille_dots_1234678               = 0x10028ef
  2088  	XK_braille_dots_123468                = 0x10028af
  2089  	XK_braille_dots_12347                 = 0x100284f
  2090  	XK_braille_dots_123478                = 0x10028cf
  2091  	XK_braille_dots_12348                 = 0x100288f
  2092  	XK_braille_dots_1235                  = 0x1002817
  2093  	XK_braille_dots_12356                 = 0x1002837
  2094  	XK_braille_dots_123567                = 0x1002877
  2095  	XK_braille_dots_1235678               = 0x10028f7
  2096  	XK_braille_dots_123568                = 0x10028b7
  2097  	XK_braille_dots_12357                 = 0x1002857
  2098  	XK_braille_dots_123578                = 0x10028d7
  2099  	XK_braille_dots_12358                 = 0x1002897
  2100  	XK_braille_dots_1236                  = 0x1002827
  2101  	XK_braille_dots_12367                 = 0x1002867
  2102  	XK_braille_dots_123678                = 0x10028e7
  2103  	XK_braille_dots_12368                 = 0x10028a7
  2104  	XK_braille_dots_1237                  = 0x1002847
  2105  	XK_braille_dots_12378                 = 0x10028c7
  2106  	XK_braille_dots_1238                  = 0x1002887
  2107  	XK_braille_dots_124                   = 0x100280b
  2108  	XK_braille_dots_1245                  = 0x100281b
  2109  	XK_braille_dots_12456                 = 0x100283b
  2110  	XK_braille_dots_124567                = 0x100287b
  2111  	XK_braille_dots_1245678               = 0x10028fb
  2112  	XK_braille_dots_124568                = 0x10028bb
  2113  	XK_braille_dots_12457                 = 0x100285b
  2114  	XK_braille_dots_124578                = 0x10028db
  2115  	XK_braille_dots_12458                 = 0x100289b
  2116  	XK_braille_dots_1246                  = 0x100282b
  2117  	XK_braille_dots_12467                 = 0x100286b
  2118  	XK_braille_dots_124678                = 0x10028eb
  2119  	XK_braille_dots_12468                 = 0x10028ab
  2120  	XK_braille_dots_1247                  = 0x100284b
  2121  	XK_braille_dots_12478                 = 0x10028cb
  2122  	XK_braille_dots_1248                  = 0x100288b
  2123  	XK_braille_dots_125                   = 0x1002813
  2124  	XK_braille_dots_1256                  = 0x1002833
  2125  	XK_braille_dots_12567                 = 0x1002873
  2126  	XK_braille_dots_125678                = 0x10028f3
  2127  	XK_braille_dots_12568                 = 0x10028b3
  2128  	XK_braille_dots_1257                  = 0x1002853
  2129  	XK_braille_dots_12578                 = 0x10028d3
  2130  	XK_braille_dots_1258                  = 0x1002893
  2131  	XK_braille_dots_126                   = 0x1002823
  2132  	XK_braille_dots_1267                  = 0x1002863
  2133  	XK_braille_dots_12678                 = 0x10028e3
  2134  	XK_braille_dots_1268                  = 0x10028a3
  2135  	XK_braille_dots_127                   = 0x1002843
  2136  	XK_braille_dots_1278                  = 0x10028c3
  2137  	XK_braille_dots_128                   = 0x1002883
  2138  	XK_braille_dots_13                    = 0x1002805
  2139  	XK_braille_dots_134                   = 0x100280d
  2140  	XK_braille_dots_1345                  = 0x100281d
  2141  	XK_braille_dots_13456                 = 0x100283d
  2142  	XK_braille_dots_134567                = 0x100287d
  2143  	XK_braille_dots_1345678               = 0x10028fd
  2144  	XK_braille_dots_134568                = 0x10028bd
  2145  	XK_braille_dots_13457                 = 0x100285d
  2146  	XK_braille_dots_134578                = 0x10028dd
  2147  	XK_braille_dots_13458                 = 0x100289d
  2148  	XK_braille_dots_1346                  = 0x100282d
  2149  	XK_braille_dots_13467                 = 0x100286d
  2150  	XK_braille_dots_134678                = 0x10028ed
  2151  	XK_braille_dots_13468                 = 0x10028ad
  2152  	XK_braille_dots_1347                  = 0x100284d
  2153  	XK_braille_dots_13478                 = 0x10028cd
  2154  	XK_braille_dots_1348                  = 0x100288d
  2155  	XK_braille_dots_135                   = 0x1002815
  2156  	XK_braille_dots_1356                  = 0x1002835
  2157  	XK_braille_dots_13567                 = 0x1002875
  2158  	XK_braille_dots_135678                = 0x10028f5
  2159  	XK_braille_dots_13568                 = 0x10028b5
  2160  	XK_braille_dots_1357                  = 0x1002855
  2161  	XK_braille_dots_13578                 = 0x10028d5
  2162  	XK_braille_dots_1358                  = 0x1002895
  2163  	XK_braille_dots_136                   = 0x1002825
  2164  	XK_braille_dots_1367                  = 0x1002865
  2165  	XK_braille_dots_13678                 = 0x10028e5
  2166  	XK_braille_dots_1368                  = 0x10028a5
  2167  	XK_braille_dots_137                   = 0x1002845
  2168  	XK_braille_dots_1378                  = 0x10028c5
  2169  	XK_braille_dots_138                   = 0x1002885
  2170  	XK_braille_dots_14                    = 0x1002809
  2171  	XK_braille_dots_145                   = 0x1002819
  2172  	XK_braille_dots_1456                  = 0x1002839
  2173  	XK_braille_dots_14567                 = 0x1002879
  2174  	XK_braille_dots_145678                = 0x10028f9
  2175  	XK_braille_dots_14568                 = 0x10028b9
  2176  	XK_braille_dots_1457                  = 0x1002859
  2177  	XK_braille_dots_14578                 = 0x10028d9
  2178  	XK_braille_dots_1458                  = 0x1002899
  2179  	XK_braille_dots_146                   = 0x1002829
  2180  	XK_braille_dots_1467                  = 0x1002869
  2181  	XK_braille_dots_14678                 = 0x10028e9
  2182  	XK_braille_dots_1468                  = 0x10028a9
  2183  	XK_braille_dots_147                   = 0x1002849
  2184  	XK_braille_dots_1478                  = 0x10028c9
  2185  	XK_braille_dots_148                   = 0x1002889
  2186  	XK_braille_dots_15                    = 0x1002811
  2187  	XK_braille_dots_156                   = 0x1002831
  2188  	XK_braille_dots_1567                  = 0x1002871
  2189  	XK_braille_dots_15678                 = 0x10028f1
  2190  	XK_braille_dots_1568                  = 0x10028b1
  2191  	XK_braille_dots_157                   = 0x1002851
  2192  	XK_braille_dots_1578                  = 0x10028d1
  2193  	XK_braille_dots_158                   = 0x1002891
  2194  	XK_braille_dots_16                    = 0x1002821
  2195  	XK_braille_dots_167                   = 0x1002861
  2196  	XK_braille_dots_1678                  = 0x10028e1
  2197  	XK_braille_dots_168                   = 0x10028a1
  2198  	XK_braille_dots_17                    = 0x1002841
  2199  	XK_braille_dots_178                   = 0x10028c1
  2200  	XK_braille_dots_18                    = 0x1002881
  2201  	XK_braille_dots_2                     = 0x1002802
  2202  	XK_braille_dots_23                    = 0x1002806
  2203  	XK_braille_dots_234                   = 0x100280e
  2204  	XK_braille_dots_2345                  = 0x100281e
  2205  	XK_braille_dots_23456                 = 0x100283e
  2206  	XK_braille_dots_234567                = 0x100287e
  2207  	XK_braille_dots_2345678               = 0x10028fe
  2208  	XK_braille_dots_234568                = 0x10028be
  2209  	XK_braille_dots_23457                 = 0x100285e
  2210  	XK_braille_dots_234578                = 0x10028de
  2211  	XK_braille_dots_23458                 = 0x100289e
  2212  	XK_braille_dots_2346                  = 0x100282e
  2213  	XK_braille_dots_23467                 = 0x100286e
  2214  	XK_braille_dots_234678                = 0x10028ee
  2215  	XK_braille_dots_23468                 = 0x10028ae
  2216  	XK_braille_dots_2347                  = 0x100284e
  2217  	XK_braille_dots_23478                 = 0x10028ce
  2218  	XK_braille_dots_2348                  = 0x100288e
  2219  	XK_braille_dots_235                   = 0x1002816
  2220  	XK_braille_dots_2356                  = 0x1002836
  2221  	XK_braille_dots_23567                 = 0x1002876
  2222  	XK_braille_dots_235678                = 0x10028f6
  2223  	XK_braille_dots_23568                 = 0x10028b6
  2224  	XK_braille_dots_2357                  = 0x1002856
  2225  	XK_braille_dots_23578                 = 0x10028d6
  2226  	XK_braille_dots_2358                  = 0x1002896
  2227  	XK_braille_dots_236                   = 0x1002826
  2228  	XK_braille_dots_2367                  = 0x1002866
  2229  	XK_braille_dots_23678                 = 0x10028e6
  2230  	XK_braille_dots_2368                  = 0x10028a6
  2231  	XK_braille_dots_237                   = 0x1002846
  2232  	XK_braille_dots_2378                  = 0x10028c6
  2233  	XK_braille_dots_238                   = 0x1002886
  2234  	XK_braille_dots_24                    = 0x100280a
  2235  	XK_braille_dots_245                   = 0x100281a
  2236  	XK_braille_dots_2456                  = 0x100283a
  2237  	XK_braille_dots_24567                 = 0x100287a
  2238  	XK_braille_dots_245678                = 0x10028fa
  2239  	XK_braille_dots_24568                 = 0x10028ba
  2240  	XK_braille_dots_2457                  = 0x100285a
  2241  	XK_braille_dots_24578                 = 0x10028da
  2242  	XK_braille_dots_2458                  = 0x100289a
  2243  	XK_braille_dots_246                   = 0x100282a
  2244  	XK_braille_dots_2467                  = 0x100286a
  2245  	XK_braille_dots_24678                 = 0x10028ea
  2246  	XK_braille_dots_2468                  = 0x10028aa
  2247  	XK_braille_dots_247                   = 0x100284a
  2248  	XK_braille_dots_2478                  = 0x10028ca
  2249  	XK_braille_dots_248                   = 0x100288a
  2250  	XK_braille_dots_25                    = 0x1002812
  2251  	XK_braille_dots_256                   = 0x1002832
  2252  	XK_braille_dots_2567                  = 0x1002872
  2253  	XK_braille_dots_25678                 = 0x10028f2
  2254  	XK_braille_dots_2568                  = 0x10028b2
  2255  	XK_braille_dots_257                   = 0x1002852
  2256  	XK_braille_dots_2578                  = 0x10028d2
  2257  	XK_braille_dots_258                   = 0x1002892
  2258  	XK_braille_dots_26                    = 0x1002822
  2259  	XK_braille_dots_267                   = 0x1002862
  2260  	XK_braille_dots_2678                  = 0x10028e2
  2261  	XK_braille_dots_268                   = 0x10028a2
  2262  	XK_braille_dots_27                    = 0x1002842
  2263  	XK_braille_dots_278                   = 0x10028c2
  2264  	XK_braille_dots_28                    = 0x1002882
  2265  	XK_braille_dots_3                     = 0x1002804
  2266  	XK_braille_dots_34                    = 0x100280c
  2267  	XK_braille_dots_345                   = 0x100281c
  2268  	XK_braille_dots_3456                  = 0x100283c
  2269  	XK_braille_dots_34567                 = 0x100287c
  2270  	XK_braille_dots_345678                = 0x10028fc
  2271  	XK_braille_dots_34568                 = 0x10028bc
  2272  	XK_braille_dots_3457                  = 0x100285c
  2273  	XK_braille_dots_34578                 = 0x10028dc
  2274  	XK_braille_dots_3458                  = 0x100289c
  2275  	XK_braille_dots_346                   = 0x100282c
  2276  	XK_braille_dots_3467                  = 0x100286c
  2277  	XK_braille_dots_34678                 = 0x10028ec
  2278  	XK_braille_dots_3468                  = 0x10028ac
  2279  	XK_braille_dots_347                   = 0x100284c
  2280  	XK_braille_dots_3478                  = 0x10028cc
  2281  	XK_braille_dots_348                   = 0x100288c
  2282  	XK_braille_dots_35                    = 0x1002814
  2283  	XK_braille_dots_356                   = 0x1002834
  2284  	XK_braille_dots_3567                  = 0x1002874
  2285  	XK_braille_dots_35678                 = 0x10028f4
  2286  	XK_braille_dots_3568                  = 0x10028b4
  2287  	XK_braille_dots_357                   = 0x1002854
  2288  	XK_braille_dots_3578                  = 0x10028d4
  2289  	XK_braille_dots_358                   = 0x1002894
  2290  	XK_braille_dots_36                    = 0x1002824
  2291  	XK_braille_dots_367                   = 0x1002864
  2292  	XK_braille_dots_3678                  = 0x10028e4
  2293  	XK_braille_dots_368                   = 0x10028a4
  2294  	XK_braille_dots_37                    = 0x1002844
  2295  	XK_braille_dots_378                   = 0x10028c4
  2296  	XK_braille_dots_38                    = 0x1002884
  2297  	XK_braille_dots_4                     = 0x1002808
  2298  	XK_braille_dots_45                    = 0x1002818
  2299  	XK_braille_dots_456                   = 0x1002838
  2300  	XK_braille_dots_4567                  = 0x1002878
  2301  	XK_braille_dots_45678                 = 0x10028f8
  2302  	XK_braille_dots_4568                  = 0x10028b8
  2303  	XK_braille_dots_457                   = 0x1002858
  2304  	XK_braille_dots_4578                  = 0x10028d8
  2305  	XK_braille_dots_458                   = 0x1002898
  2306  	XK_braille_dots_46                    = 0x1002828
  2307  	XK_braille_dots_467                   = 0x1002868
  2308  	XK_braille_dots_4678                  = 0x10028e8
  2309  	XK_braille_dots_468                   = 0x10028a8
  2310  	XK_braille_dots_47                    = 0x1002848
  2311  	XK_braille_dots_478                   = 0x10028c8
  2312  	XK_braille_dots_48                    = 0x1002888
  2313  	XK_braille_dots_5                     = 0x1002810
  2314  	XK_braille_dots_56                    = 0x1002830
  2315  	XK_braille_dots_567                   = 0x1002870
  2316  	XK_braille_dots_5678                  = 0x10028f0
  2317  	XK_braille_dots_568                   = 0x10028b0
  2318  	XK_braille_dots_57                    = 0x1002850
  2319  	XK_braille_dots_578                   = 0x10028d0
  2320  	XK_braille_dots_58                    = 0x1002890
  2321  	XK_braille_dots_6                     = 0x1002820
  2322  	XK_braille_dots_67                    = 0x1002860
  2323  	XK_braille_dots_678                   = 0x10028e0
  2324  	XK_braille_dots_68                    = 0x10028a0
  2325  	XK_braille_dots_7                     = 0x1002840
  2326  	XK_braille_dots_78                    = 0x10028c0
  2327  	XK_braille_dots_8                     = 0x1002880
  2328  	XK_breve                              = 0x01a2
  2329  	XK_brokenbar                          = 0x00a6
  2330  	XK_c                                  = 0x0063
  2331  	XK_c_h                                = 0xfea3
  2332  	XK_cabovedot                          = 0x02e5
  2333  	XK_cacute                             = 0x01e6
  2334  	XK_caron                              = 0x01b7
  2335  	XK_ccaron                             = 0x01e8
  2336  	XK_ccedilla                           = 0x00e7
  2337  	XK_ccircumflex                        = 0x02e6
  2338  	XK_cedilla                            = 0x00b8
  2339  	XK_cent                               = 0x00a2
  2340  	XK_ch                                 = 0xfea0
  2341  	XK_colon                              = 0x003a
  2342  	XK_comma                              = 0x002c
  2343  	XK_containsas                         = 0x100220B
  2344  	XK_copyright                          = 0x00a9
  2345  	XK_cuberoot                           = 0x100221B
  2346  	XK_currency                           = 0x00a4
  2347  	XK_d                                  = 0x0064
  2348  	XK_dabovedot                          = 0x1001e0b
  2349  	XK_dcaron                             = 0x01ef
  2350  	XK_dead_A                             = 0xfe81
  2351  	XK_dead_E                             = 0xfe83
  2352  	XK_dead_I                             = 0xfe85
  2353  	XK_dead_O                             = 0xfe87
  2354  	XK_dead_U                             = 0xfe89
  2355  	XK_dead_a                             = 0xfe80
  2356  	XK_dead_abovecomma                    = 0xfe64
  2357  	XK_dead_abovedot                      = 0xfe56
  2358  	XK_dead_abovereversedcomma            = 0xfe65
  2359  	XK_dead_abovering                     = 0xfe58
  2360  	XK_dead_aboveverticalline             = 0xfe91
  2361  	XK_dead_acute                         = 0xfe51
  2362  	XK_dead_belowbreve                    = 0xfe6b
  2363  	XK_dead_belowcircumflex               = 0xfe69
  2364  	XK_dead_belowcomma                    = 0xfe6e
  2365  	XK_dead_belowdiaeresis                = 0xfe6c
  2366  	XK_dead_belowdot                      = 0xfe60
  2367  	XK_dead_belowmacron                   = 0xfe68
  2368  	XK_dead_belowring                     = 0xfe67
  2369  	XK_dead_belowtilde                    = 0xfe6a
  2370  	XK_dead_belowverticalline             = 0xfe92
  2371  	XK_dead_breve                         = 0xfe55
  2372  	XK_dead_capital_schwa                 = 0xfe8b
  2373  	XK_dead_caron                         = 0xfe5a
  2374  	XK_dead_cedilla                       = 0xfe5b
  2375  	XK_dead_circumflex                    = 0xfe52
  2376  	XK_dead_currency                      = 0xfe6f
  2377  	XK_dead_dasia                         = 0xfe65
  2378  	XK_dead_diaeresis                     = 0xfe57
  2379  	XK_dead_doubleacute                   = 0xfe59
  2380  	XK_dead_doublegrave                   = 0xfe66
  2381  	XK_dead_e                             = 0xfe82
  2382  	XK_dead_grave                         = 0xfe50
  2383  	XK_dead_greek                         = 0xfe8c
  2384  	XK_dead_hook                          = 0xfe61
  2385  	XK_dead_horn                          = 0xfe62
  2386  	XK_dead_i                             = 0xfe84
  2387  	XK_dead_invertedbreve                 = 0xfe6d
  2388  	XK_dead_iota                          = 0xfe5d
  2389  	XK_dead_longsolidusoverlay            = 0xfe93
  2390  	XK_dead_lowline                       = 0xfe90
  2391  	XK_dead_macron                        = 0xfe54
  2392  	XK_dead_o                             = 0xfe86
  2393  	XK_dead_ogonek                        = 0xfe5c
  2394  	XK_dead_perispomeni                   = 0xfe53
  2395  	XK_dead_psili                         = 0xfe64
  2396  	XK_dead_semivoiced_sound              = 0xfe5f
  2397  	XK_dead_small_schwa                   = 0xfe8a
  2398  	XK_dead_stroke                        = 0xfe63
  2399  	XK_dead_tilde                         = 0xfe53
  2400  	XK_dead_u                             = 0xfe88
  2401  	XK_dead_voiced_sound                  = 0xfe5e
  2402  	XK_degree                             = 0x00b0
  2403  	XK_diaeresis                          = 0x00a8
  2404  	XK_dintegral                          = 0x100222C
  2405  	XK_division                           = 0x00f7
  2406  	XK_dollar                             = 0x0024
  2407  	XK_doubleacute                        = 0x01bd
  2408  	XK_dstroke                            = 0x01f0
  2409  	XK_e                                  = 0x0065
  2410  	XK_eabovedot                          = 0x03ec
  2411  	XK_eacute                             = 0x00e9
  2412  	XK_ebelowdot                          = 0x1001eb9
  2413  	XK_ecaron                             = 0x01ec
  2414  	XK_ecircumflex                        = 0x00ea
  2415  	XK_ecircumflexacute                   = 0x1001ebf
  2416  	XK_ecircumflexbelowdot                = 0x1001ec7
  2417  	XK_ecircumflexgrave                   = 0x1001ec1
  2418  	XK_ecircumflexhook                    = 0x1001ec3
  2419  	XK_ecircumflextilde                   = 0x1001ec5
  2420  	XK_ediaeresis                         = 0x00eb
  2421  	XK_egrave                             = 0x00e8
  2422  	XK_ehook                              = 0x1001ebb
  2423  	XK_eightsubscript                     = 0x1002088
  2424  	XK_eightsuperior                      = 0x1002078
  2425  	XK_elementof                          = 0x1002208
  2426  	XK_emacron                            = 0x03ba
  2427  	XK_emptyset                           = 0x1002205
  2428  	XK_eng                                = 0x03bf
  2429  	XK_eogonek                            = 0x01ea
  2430  	XK_equal                              = 0x003d
  2431  	XK_eth                                = 0x00f0
  2432  	XK_etilde                             = 0x1001ebd
  2433  	XK_exclam                             = 0x0021
  2434  	XK_exclamdown                         = 0x00a1
  2435  	XK_ezh                                = 0x1000292
  2436  	XK_f                                  = 0x0066
  2437  	XK_fabovedot                          = 0x1001e1f
  2438  	XK_fivesubscript                      = 0x1002085
  2439  	XK_fivesuperior                       = 0x1002075
  2440  	XK_foursubscript                      = 0x1002084
  2441  	XK_foursuperior                       = 0x1002074
  2442  	XK_fourthroot                         = 0x100221C
  2443  	XK_g                                  = 0x0067
  2444  	XK_gabovedot                          = 0x02f5
  2445  	XK_gbreve                             = 0x02bb
  2446  	XK_gcaron                             = 0x10001e7
  2447  	XK_gcedilla                           = 0x03bb
  2448  	XK_gcircumflex                        = 0x02f8
  2449  	XK_grave                              = 0x0060
  2450  	XK_greater                            = 0x003e
  2451  	XK_guillemotleft                      = 0x00ab
  2452  	XK_guillemotright                     = 0x00bb
  2453  	XK_h                                  = 0x0068
  2454  	XK_hcircumflex                        = 0x02b6
  2455  	XK_hebrew_aleph                       = 0x0ce0
  2456  	XK_hebrew_ayin                        = 0x0cf2
  2457  	XK_hebrew_bet                         = 0x0ce1
  2458  	XK_hebrew_beth                        = 0x0ce1
  2459  	XK_hebrew_chet                        = 0x0ce7
  2460  	XK_hebrew_dalet                       = 0x0ce3
  2461  	XK_hebrew_daleth                      = 0x0ce3
  2462  	XK_hebrew_doublelowline               = 0x0cdf
  2463  	XK_hebrew_finalkaph                   = 0x0cea
  2464  	XK_hebrew_finalmem                    = 0x0ced
  2465  	XK_hebrew_finalnun                    = 0x0cef
  2466  	XK_hebrew_finalpe                     = 0x0cf3
  2467  	XK_hebrew_finalzade                   = 0x0cf5
  2468  	XK_hebrew_finalzadi                   = 0x0cf5
  2469  	XK_hebrew_gimel                       = 0x0ce2
  2470  	XK_hebrew_gimmel                      = 0x0ce2
  2471  	XK_hebrew_he                          = 0x0ce4
  2472  	XK_hebrew_het                         = 0x0ce7
  2473  	XK_hebrew_kaph                        = 0x0ceb
  2474  	XK_hebrew_kuf                         = 0x0cf7
  2475  	XK_hebrew_lamed                       = 0x0cec
  2476  	XK_hebrew_mem                         = 0x0cee
  2477  	XK_hebrew_nun                         = 0x0cf0
  2478  	XK_hebrew_pe                          = 0x0cf4
  2479  	XK_hebrew_qoph                        = 0x0cf7
  2480  	XK_hebrew_resh                        = 0x0cf8
  2481  	XK_hebrew_samech                      = 0x0cf1
  2482  	XK_hebrew_samekh                      = 0x0cf1
  2483  	XK_hebrew_shin                        = 0x0cf9
  2484  	XK_hebrew_taf                         = 0x0cfa
  2485  	XK_hebrew_taw                         = 0x0cfa
  2486  	XK_hebrew_tet                         = 0x0ce8
  2487  	XK_hebrew_teth                        = 0x0ce8
  2488  	XK_hebrew_waw                         = 0x0ce5
  2489  	XK_hebrew_yod                         = 0x0ce9
  2490  	XK_hebrew_zade                        = 0x0cf6
  2491  	XK_hebrew_zadi                        = 0x0cf6
  2492  	XK_hebrew_zain                        = 0x0ce6
  2493  	XK_hebrew_zayin                       = 0x0ce6
  2494  	XK_hstroke                            = 0x02b1
  2495  	XK_hyphen                             = 0x00ad
  2496  	XK_i                                  = 0x0069
  2497  	XK_iacute                             = 0x00ed
  2498  	XK_ibelowdot                          = 0x1001ecb
  2499  	XK_ibreve                             = 0x100012d
  2500  	XK_icircumflex                        = 0x00ee
  2501  	XK_idiaeresis                         = 0x00ef
  2502  	XK_idotless                           = 0x02b9
  2503  	XK_igrave                             = 0x00ec
  2504  	XK_ihook                              = 0x1001ec9
  2505  	XK_imacron                            = 0x03ef
  2506  	XK_iogonek                            = 0x03e7
  2507  	XK_itilde                             = 0x03b5
  2508  	XK_j                                  = 0x006a
  2509  	XK_jcircumflex                        = 0x02bc
  2510  	XK_k                                  = 0x006b
  2511  	XK_kana_A                             = 0x04b1
  2512  	XK_kana_CHI                           = 0x04c1
  2513  	XK_kana_E                             = 0x04b4
  2514  	XK_kana_FU                            = 0x04cc
  2515  	XK_kana_HA                            = 0x04ca
  2516  	XK_kana_HE                            = 0x04cd
  2517  	XK_kana_HI                            = 0x04cb
  2518  	XK_kana_HO                            = 0x04ce
  2519  	XK_kana_HU                            = 0x04cc
  2520  	XK_kana_I                             = 0x04b2
  2521  	XK_kana_KA                            = 0x04b6
  2522  	XK_kana_KE                            = 0x04b9
  2523  	XK_kana_KI                            = 0x04b7
  2524  	XK_kana_KO                            = 0x04ba
  2525  	XK_kana_KU                            = 0x04b8
  2526  	XK_kana_MA                            = 0x04cf
  2527  	XK_kana_ME                            = 0x04d2
  2528  	XK_kana_MI                            = 0x04d0
  2529  	XK_kana_MO                            = 0x04d3
  2530  	XK_kana_MU                            = 0x04d1
  2531  	XK_kana_N                             = 0x04dd
  2532  	XK_kana_NA                            = 0x04c5
  2533  	XK_kana_NE                            = 0x04c8
  2534  	XK_kana_NI                            = 0x04c6
  2535  	XK_kana_NO                            = 0x04c9
  2536  	XK_kana_NU                            = 0x04c7
  2537  	XK_kana_O                             = 0x04b5
  2538  	XK_kana_RA                            = 0x04d7
  2539  	XK_kana_RE                            = 0x04da
  2540  	XK_kana_RI                            = 0x04d8
  2541  	XK_kana_RO                            = 0x04db
  2542  	XK_kana_RU                            = 0x04d9
  2543  	XK_kana_SA                            = 0x04bb
  2544  	XK_kana_SE                            = 0x04be
  2545  	XK_kana_SHI                           = 0x04bc
  2546  	XK_kana_SO                            = 0x04bf
  2547  	XK_kana_SU                            = 0x04bd
  2548  	XK_kana_TA                            = 0x04c0
  2549  	XK_kana_TE                            = 0x04c3
  2550  	XK_kana_TI                            = 0x04c1
  2551  	XK_kana_TO                            = 0x04c4
  2552  	XK_kana_TSU                           = 0x04c2
  2553  	XK_kana_TU                            = 0x04c2
  2554  	XK_kana_U                             = 0x04b3
  2555  	XK_kana_WA                            = 0x04dc
  2556  	XK_kana_WO                            = 0x04a6
  2557  	XK_kana_YA                            = 0x04d4
  2558  	XK_kana_YO                            = 0x04d6
  2559  	XK_kana_YU                            = 0x04d5
  2560  	XK_kana_a                             = 0x04a7
  2561  	XK_kana_closingbracket                = 0x04a3
  2562  	XK_kana_comma                         = 0x04a4
  2563  	XK_kana_conjunctive                   = 0x04a5
  2564  	XK_kana_e                             = 0x04aa
  2565  	XK_kana_fullstop                      = 0x04a1
  2566  	XK_kana_i                             = 0x04a8
  2567  	XK_kana_middledot                     = 0x04a5
  2568  	XK_kana_o                             = 0x04ab
  2569  	XK_kana_openingbracket                = 0x04a2
  2570  	XK_kana_switch                        = 0xff7e
  2571  	XK_kana_tsu                           = 0x04af
  2572  	XK_kana_tu                            = 0x04af
  2573  	XK_kana_u                             = 0x04a9
  2574  	XK_kana_ya                            = 0x04ac
  2575  	XK_kana_yo                            = 0x04ae
  2576  	XK_kana_yu                            = 0x04ad
  2577  	XK_kappa                              = 0x03a2
  2578  	XK_kcedilla                           = 0x03f3
  2579  	XK_kra                                = 0x03a2
  2580  	XK_l                                  = 0x006c
  2581  	XK_lacute                             = 0x01e5
  2582  	XK_lbelowdot                          = 0x1001e37
  2583  	XK_lcaron                             = 0x01b5
  2584  	XK_lcedilla                           = 0x03b6
  2585  	XK_less                               = 0x003c
  2586  	XK_lstroke                            = 0x01b3
  2587  	XK_m                                  = 0x006d
  2588  	XK_mabovedot                          = 0x1001e41
  2589  	XK_macron                             = 0x00af
  2590  	XK_masculine                          = 0x00ba
  2591  	XK_minus                              = 0x002d
  2592  	XK_mu                                 = 0x00b5
  2593  	XK_multiply                           = 0x00d7
  2594  	XK_n                                  = 0x006e
  2595  	XK_nacute                             = 0x01f1
  2596  	XK_ncaron                             = 0x01f2
  2597  	XK_ncedilla                           = 0x03f1
  2598  	XK_ninesubscript                      = 0x1002089
  2599  	XK_ninesuperior                       = 0x1002079
  2600  	XK_nobreakspace                       = 0x00a0
  2601  	XK_notapproxeq                        = 0x1002247
  2602  	XK_notelementof                       = 0x1002209
  2603  	XK_notidentical                       = 0x1002262
  2604  	XK_notsign                            = 0x00ac
  2605  	XK_ntilde                             = 0x00f1
  2606  	XK_numbersign                         = 0x0023
  2607  	XK_numerosign                         = 0x06b0
  2608  	XK_o                                  = 0x006f
  2609  	XK_oacute                             = 0x00f3
  2610  	XK_obarred                            = 0x1000275
  2611  	XK_obelowdot                          = 0x1001ecd
  2612  	XK_ocaron                             = 0x10001d2
  2613  	XK_ocircumflex                        = 0x00f4
  2614  	XK_ocircumflexacute                   = 0x1001ed1
  2615  	XK_ocircumflexbelowdot                = 0x1001ed9
  2616  	XK_ocircumflexgrave                   = 0x1001ed3
  2617  	XK_ocircumflexhook                    = 0x1001ed5
  2618  	XK_ocircumflextilde                   = 0x1001ed7
  2619  	XK_odiaeresis                         = 0x00f6
  2620  	XK_odoubleacute                       = 0x01f5
  2621  	XK_oe                                 = 0x13bd
  2622  	XK_ogonek                             = 0x01b2
  2623  	XK_ograve                             = 0x00f2
  2624  	XK_ohook                              = 0x1001ecf
  2625  	XK_ohorn                              = 0x10001a1
  2626  	XK_ohornacute                         = 0x1001edb
  2627  	XK_ohornbelowdot                      = 0x1001ee3
  2628  	XK_ohorngrave                         = 0x1001edd
  2629  	XK_ohornhook                          = 0x1001edf
  2630  	XK_ohorntilde                         = 0x1001ee1
  2631  	XK_omacron                            = 0x03f2
  2632  	XK_onehalf                            = 0x00bd
  2633  	XK_onequarter                         = 0x00bc
  2634  	XK_onesubscript                       = 0x1002081
  2635  	XK_onesuperior                        = 0x00b9
  2636  	XK_ooblique                           = 0x00f8
  2637  	XK_ordfeminine                        = 0x00aa
  2638  	XK_oslash                             = 0x00f8
  2639  	XK_otilde                             = 0x00f5
  2640  	XK_overline                           = 0x047e
  2641  	XK_p                                  = 0x0070
  2642  	XK_pabovedot                          = 0x1001e57
  2643  	XK_paragraph                          = 0x00b6
  2644  	XK_parenleft                          = 0x0028
  2645  	XK_parenright                         = 0x0029
  2646  	XK_partdifferential                   = 0x1002202
  2647  	XK_percent                            = 0x0025
  2648  	XK_period                             = 0x002e
  2649  	XK_periodcentered                     = 0x00b7
  2650  	XK_plus                               = 0x002b
  2651  	XK_plusminus                          = 0x00b1
  2652  	XK_prolongedsound                     = 0x04b0
  2653  	XK_q                                  = 0x0071
  2654  	XK_question                           = 0x003f
  2655  	XK_questiondown                       = 0x00bf
  2656  	XK_quotedbl                           = 0x0022
  2657  	XK_quoteleft                          = 0x0060
  2658  	XK_quoteright                         = 0x0027
  2659  	XK_r                                  = 0x0072
  2660  	XK_racute                             = 0x01e0
  2661  	XK_rcaron                             = 0x01f8
  2662  	XK_rcedilla                           = 0x03b3
  2663  	XK_registered                         = 0x00ae
  2664  	XK_s                                  = 0x0073
  2665  	XK_sabovedot                          = 0x1001e61
  2666  	XK_sacute                             = 0x01b6
  2667  	XK_scaron                             = 0x01b9
  2668  	XK_scedilla                           = 0x01ba
  2669  	XK_schwa                              = 0x1000259
  2670  	XK_scircumflex                        = 0x02fe
  2671  	XK_script_switch                      = 0xff7e
  2672  	XK_section                            = 0x00a7
  2673  	XK_semicolon                          = 0x003b
  2674  	XK_semivoicedsound                    = 0x04df
  2675  	XK_sevensubscript                     = 0x1002087
  2676  	XK_sevensuperior                      = 0x1002077
  2677  	XK_sixsubscript                       = 0x1002086
  2678  	XK_sixsuperior                        = 0x1002076
  2679  	XK_slash                              = 0x002f
  2680  	XK_space                              = 0x0020
  2681  	XK_squareroot                         = 0x100221A
  2682  	XK_ssharp                             = 0x00df
  2683  	XK_sterling                           = 0x00a3
  2684  	XK_stricteq                           = 0x1002263
  2685  	XK_t                                  = 0x0074
  2686  	XK_tabovedot                          = 0x1001e6b
  2687  	XK_tcaron                             = 0x01bb
  2688  	XK_tcedilla                           = 0x01fe
  2689  	XK_thorn                              = 0x00fe
  2690  	XK_threequarters                      = 0x00be
  2691  	XK_threesubscript                     = 0x1002083
  2692  	XK_threesuperior                      = 0x00b3
  2693  	XK_tintegral                          = 0x100222D
  2694  	XK_tslash                             = 0x03bc
  2695  	XK_twosubscript                       = 0x1002082
  2696  	XK_twosuperior                        = 0x00b2
  2697  	XK_u                                  = 0x0075
  2698  	XK_uacute                             = 0x00fa
  2699  	XK_ubelowdot                          = 0x1001ee5
  2700  	XK_ubreve                             = 0x02fd
  2701  	XK_ucircumflex                        = 0x00fb
  2702  	XK_udiaeresis                         = 0x00fc
  2703  	XK_udoubleacute                       = 0x01fb
  2704  	XK_ugrave                             = 0x00f9
  2705  	XK_uhook                              = 0x1001ee7
  2706  	XK_uhorn                              = 0x10001b0
  2707  	XK_uhornacute                         = 0x1001ee9
  2708  	XK_uhornbelowdot                      = 0x1001ef1
  2709  	XK_uhorngrave                         = 0x1001eeb
  2710  	XK_uhornhook                          = 0x1001eed
  2711  	XK_uhorntilde                         = 0x1001eef
  2712  	XK_umacron                            = 0x03fe
  2713  	XK_underscore                         = 0x005f
  2714  	XK_uogonek                            = 0x03f9
  2715  	XK_uring                              = 0x01f9
  2716  	XK_utilde                             = 0x03fd
  2717  	XK_v                                  = 0x0076
  2718  	XK_voicedsound                        = 0x04de
  2719  	XK_w                                  = 0x0077
  2720  	XK_wacute                             = 0x1001e83
  2721  	XK_wcircumflex                        = 0x1000175
  2722  	XK_wdiaeresis                         = 0x1001e85
  2723  	XK_wgrave                             = 0x1001e81
  2724  	XK_x                                  = 0x0078
  2725  	XK_xabovedot                          = 0x1001e8b
  2726  	XK_y                                  = 0x0079
  2727  	XK_yacute                             = 0x00fd
  2728  	XK_ybelowdot                          = 0x1001ef5
  2729  	XK_ycircumflex                        = 0x1000177
  2730  	XK_ydiaeresis                         = 0x00ff
  2731  	XK_yen                                = 0x00a5
  2732  	XK_ygrave                             = 0x1001ef3
  2733  	XK_yhook                              = 0x1001ef7
  2734  	XK_ytilde                             = 0x1001ef9
  2735  	XK_z                                  = 0x007a
  2736  	XK_zabovedot                          = 0x01bf
  2737  	XK_zacute                             = 0x01bc
  2738  	XK_zcaron                             = 0x01be
  2739  	XK_zerosubscript                      = 0x1002080
  2740  	XK_zerosuperior                       = 0x1002070
  2741  	XK_zstroke                            = 0x10001b6
  2742  	XLocaleNotSupported                   = -2
  2743  	XLookupBoth                           = 4
  2744  	XLookupChars                          = 2
  2745  	XLookupKeySym                         = 3
  2746  	XLookupNone                           = 1
  2747  	XMD_H                                 = 1
  2748  	XNArea                                = "area"
  2749  	XNAreaNeeded                          = "areaNeeded"
  2750  	XNBackground                          = "background"
  2751  	XNBackgroundPixmap                    = "backgroundPixmap"
  2752  	XNBaseFontName                        = "baseFontName"
  2753  	XNClientWindow                        = "clientWindow"
  2754  	XNColormap                            = "colorMap"
  2755  	XNContextualDrawing                   = "contextualDrawing"
  2756  	XNCursor                              = "cursor"
  2757  	XNDefaultString                       = "defaultString"
  2758  	XNDestroyCallback                     = "destroyCallback"
  2759  	XNDirectionalDependentDrawing         = "directionalDependentDrawing"
  2760  	XNFilterEvents                        = "filterEvents"
  2761  	XNFocusWindow                         = "focusWindow"
  2762  	XNFontInfo                            = "fontInfo"
  2763  	XNFontSet                             = "fontSet"
  2764  	XNForeground                          = "foreground"
  2765  	XNGeometryCallback                    = "geometryCallback"
  2766  	XNHotKey                              = "hotKey"
  2767  	XNHotKeyState                         = "hotKeyState"
  2768  	XNInputStyle                          = "inputStyle"
  2769  	XNLineSpace                           = "lineSpace"
  2770  	XNMissingCharSet                      = "missingCharSet"
  2771  	XNOMAutomatic                         = "omAutomatic"
  2772  	XNOrientation                         = "orientation"
  2773  	XNPreeditAttributes                   = "preeditAttributes"
  2774  	XNPreeditCaretCallback                = "preeditCaretCallback"
  2775  	XNPreeditDoneCallback                 = "preeditDoneCallback"
  2776  	XNPreeditDrawCallback                 = "preeditDrawCallback"
  2777  	XNPreeditStartCallback                = "preeditStartCallback"
  2778  	XNPreeditState                        = "preeditState"
  2779  	XNPreeditStateNotifyCallback          = "preeditStateNotifyCallback"
  2780  	XNQueryICValuesList                   = "queryICValuesList"
  2781  	XNQueryIMValuesList                   = "queryIMValuesList"
  2782  	XNQueryInputStyle                     = "queryInputStyle"
  2783  	XNQueryOrientation                    = "queryOrientation"
  2784  	XNR6PreeditCallback                   = "r6PreeditCallback"
  2785  	XNRequiredCharSet                     = "requiredCharSet"
  2786  	XNResetState                          = "resetState"
  2787  	XNResourceClass                       = "resourceClass"
  2788  	XNResourceName                        = "resourceName"
  2789  	XNSeparatorofNestedList               = "separatorofNestedList"
  2790  	XNSpotLocation                        = "spotLocation"
  2791  	XNStatusAttributes                    = "statusAttributes"
  2792  	XNStatusDoneCallback                  = "statusDoneCallback"
  2793  	XNStatusDrawCallback                  = "statusDrawCallback"
  2794  	XNStatusStartCallback                 = "statusStartCallback"
  2795  	XNStdColormap                         = "stdColorMap"
  2796  	XNStringConversion                    = "stringConversion"
  2797  	XNStringConversionCallback            = "stringConversionCallback"
  2798  	XNVaNestedList                        = "XNVaNestedList"
  2799  	XNVisiblePosition                     = "visiblePosition"
  2800  	XNegative                             = 0x0010
  2801  	XNoMemory                             = -1
  2802  	XPROTOSTRUCTS_H                       = 0
  2803  	XPROTO_H                              = 0
  2804  	XTHREADS                              = 1
  2805  	XUSE_MTSAFE_API                       = 1
  2806  	XUrgencyHint                          = 256
  2807  	XValue                                = 0x0001
  2808  	XYBitmap                              = 0
  2809  	XYPixmap                              = 1
  2810  	X_AllocColor                          = 84
  2811  	X_AllocColorCells                     = 86
  2812  	X_AllocColorPlanes                    = 87
  2813  	X_AllocNamedColor                     = 85
  2814  	X_AllowEvents                         = 35
  2815  	X_Bell                                = 104
  2816  	X_ChangeActivePointerGrab             = 30
  2817  	X_ChangeGC                            = 56
  2818  	X_ChangeHosts                         = 109
  2819  	X_ChangeKeyboardControl               = 102
  2820  	X_ChangeKeyboardMapping               = 100
  2821  	X_ChangePointerControl                = 105
  2822  	X_ChangeProperty                      = 18
  2823  	X_ChangeSaveSet                       = 6
  2824  	X_ChangeWindowAttributes              = 2
  2825  	X_CirculateWindow                     = 13
  2826  	X_ClearArea                           = 61
  2827  	X_CloseFont                           = 46
  2828  	X_ConfigureWindow                     = 12
  2829  	X_ConvertSelection                    = 24
  2830  	X_CopyArea                            = 62
  2831  	X_CopyColormapAndFree                 = 80
  2832  	X_CopyGC                              = 57
  2833  	X_CopyPlane                           = 63
  2834  	X_CreateColormap                      = 78
  2835  	X_CreateCursor                        = 93
  2836  	X_CreateGC                            = 55
  2837  	X_CreateGlyphCursor                   = 94
  2838  	X_CreatePixmap                        = 53
  2839  	X_CreateWindow                        = 1
  2840  	X_DeleteProperty                      = 19
  2841  	X_DestroySubwindows                   = 5
  2842  	X_DestroyWindow                       = 4
  2843  	X_Error                               = 0
  2844  	X_FillPoly                            = 69
  2845  	X_ForceScreenSaver                    = 115
  2846  	X_FreeColormap                        = 79
  2847  	X_FreeColors                          = 88
  2848  	X_FreeCursor                          = 95
  2849  	X_FreeGC                              = 60
  2850  	X_FreePixmap                          = 54
  2851  	X_GetAtomName                         = 17
  2852  	X_GetFontPath                         = 52
  2853  	X_GetGeometry                         = 14
  2854  	X_GetImage                            = 73
  2855  	X_GetInputFocus                       = 43
  2856  	X_GetKeyboardControl                  = 103
  2857  	X_GetKeyboardMapping                  = 101
  2858  	X_GetModifierMapping                  = 119
  2859  	X_GetMotionEvents                     = 39
  2860  	X_GetPointerControl                   = 106
  2861  	X_GetPointerMapping                   = 117
  2862  	X_GetProperty                         = 20
  2863  	X_GetScreenSaver                      = 108
  2864  	X_GetSelectionOwner                   = 23
  2865  	X_GetWindowAttributes                 = 3
  2866  	X_GrabButton                          = 28
  2867  	X_GrabKey                             = 33
  2868  	X_GrabKeyboard                        = 31
  2869  	X_GrabPointer                         = 26
  2870  	X_GrabServer                          = 36
  2871  	X_H                                   = 0
  2872  	X_HAVE_UTF8_STRING                    = 1
  2873  	X_ImageText16                         = 77
  2874  	X_ImageText8                          = 76
  2875  	X_InstallColormap                     = 81
  2876  	X_InternAtom                          = 16
  2877  	X_KillClient                          = 113
  2878  	X_ListExtensions                      = 99
  2879  	X_ListFonts                           = 49
  2880  	X_ListFontsWithInfo                   = 50
  2881  	X_ListHosts                           = 110
  2882  	X_ListInstalledColormaps              = 83
  2883  	X_ListProperties                      = 21
  2884  	X_LookupColor                         = 92
  2885  	X_MapSubwindows                       = 9
  2886  	X_MapWindow                           = 8
  2887  	X_NoOperation                         = 127
  2888  	X_OpenFont                            = 45
  2889  	X_PROTOCOL                            = 11
  2890  	X_PROTOCOL_REVISION                   = 0
  2891  	X_PolyArc                             = 68
  2892  	X_PolyFillArc                         = 71
  2893  	X_PolyFillRectangle                   = 70
  2894  	X_PolyLine                            = 65
  2895  	X_PolyPoint                           = 64
  2896  	X_PolyRectangle                       = 67
  2897  	X_PolySegment                         = 66
  2898  	X_PolyText16                          = 75
  2899  	X_PolyText8                           = 74
  2900  	X_PutImage                            = 72
  2901  	X_QueryBestSize                       = 97
  2902  	X_QueryColors                         = 91
  2903  	X_QueryExtension                      = 98
  2904  	X_QueryFont                           = 47
  2905  	X_QueryKeymap                         = 44
  2906  	X_QueryPointer                        = 38
  2907  	X_QueryTextExtents                    = 48
  2908  	X_QueryTree                           = 15
  2909  	X_RecolorCursor                       = 96
  2910  	X_RenderAddGlyphs                     = 20
  2911  	X_RenderAddGlyphsFromPicture          = 21
  2912  	X_RenderAddTraps                      = 32
  2913  	X_RenderChangePicture                 = 5
  2914  	X_RenderColorTrapezoids               = 14
  2915  	X_RenderColorTriangles                = 15
  2916  	X_RenderComposite                     = 8
  2917  	X_RenderCompositeGlyphs16             = 24
  2918  	X_RenderCompositeGlyphs32             = 25
  2919  	X_RenderCompositeGlyphs8              = 23
  2920  	X_RenderCreateAnimCursor              = 31
  2921  	X_RenderCreateConicalGradient         = 36
  2922  	X_RenderCreateCursor                  = 27
  2923  	X_RenderCreateGlyphSet                = 17
  2924  	X_RenderCreateLinearGradient          = 34
  2925  	X_RenderCreatePicture                 = 4
  2926  	X_RenderCreateRadialGradient          = 35
  2927  	X_RenderCreateSolidFill               = 33
  2928  	X_RenderFillRectangles                = 26
  2929  	X_RenderFreeGlyphSet                  = 19
  2930  	X_RenderFreeGlyphs                    = 22
  2931  	X_RenderFreePicture                   = 7
  2932  	X_RenderQueryDithers                  = 3
  2933  	X_RenderQueryFilters                  = 29
  2934  	X_RenderQueryPictFormats              = 1
  2935  	X_RenderQueryPictIndexValues          = 2
  2936  	X_RenderQueryVersion                  = 0
  2937  	X_RenderReferenceGlyphSet             = 18
  2938  	X_RenderScale                         = 9
  2939  	X_RenderSetPictureClipRectangles      = 6
  2940  	X_RenderSetPictureFilter              = 30
  2941  	X_RenderSetPictureTransform           = 28
  2942  	X_RenderTrapezoids                    = 10
  2943  	X_RenderTriFan                        = 13
  2944  	X_RenderTriStrip                      = 12
  2945  	X_RenderTriangles                     = 11
  2946  	X_ReparentWindow                      = 7
  2947  	X_Reply                               = 1
  2948  	X_RotateProperties                    = 114
  2949  	X_SendEvent                           = 25
  2950  	X_SetAccessControl                    = 111
  2951  	X_SetClipRectangles                   = 59
  2952  	X_SetCloseDownMode                    = 112
  2953  	X_SetDashes                           = 58
  2954  	X_SetFontPath                         = 51
  2955  	X_SetInputFocus                       = 42
  2956  	X_SetModifierMapping                  = 118
  2957  	X_SetPointerMapping                   = 116
  2958  	X_SetScreenSaver                      = 107
  2959  	X_SetSelectionOwner                   = 22
  2960  	X_StoreColors                         = 89
  2961  	X_StoreNamedColor                     = 90
  2962  	X_TCP_PORT                            = 6000
  2963  	X_TranslateCoords                     = 40
  2964  	X_UngrabButton                        = 29
  2965  	X_UngrabKey                           = 34
  2966  	X_UngrabKeyboard                      = 32
  2967  	X_UngrabPointer                       = 27
  2968  	X_UngrabServer                        = 37
  2969  	X_UninstallColormap                   = 82
  2970  	X_UnmapSubwindows                     = 11
  2971  	X_UnmapWindow                         = 10
  2972  	X_WarpPointer                         = 41
  2973  	XlibDisplayClosing                    = 2
  2974  	XlibDisplayDfltRMDB                   = 128
  2975  	XlibDisplayIOError                    = 1
  2976  	XlibDisplayNoXkb                      = 4
  2977  	XlibDisplayPrivSync                   = 8
  2978  	XlibDisplayProcConni                  = 16
  2979  	XlibDisplayReadEvents                 = 32
  2980  	XlibDisplayReply                      = 32
  2981  	XlibDisplayWriting                    = 64
  2982  	XlibSpecificationRelease              = 6
  2983  	YNegative                             = 0x0020
  2984  	YSorted                               = 1
  2985  	YValue                                = 0x0002
  2986  	YXBanded                              = 3
  2987  	YXSorted                              = 2
  2988  	ZLNSPERBATCH                          = 1024
  2989  	ZPixmap                               = 2
  2990  	ZRCTSPERBATCH                         = 256
  2991  	ZoomState                             = 2
  2992  	X_ALLOCA_H                            = 1
  2993  	X_ANSI_STDDEF_H                       = 0
  2994  	X_ASM_GENERIC_ERRNO_BASE_H            = 0
  2995  	X_ASM_GENERIC_ERRNO_H                 = 0
  2996  	X_ATFILE_SOURCE                       = 1
  2997  	X_BITS_BYTESWAP_H                     = 1
  2998  	X_BITS_ENDIANNESS_H                   = 1
  2999  	X_BITS_ENDIAN_H                       = 1
  3000  	X_BITS_ERRNO_H                        = 1
  3001  	X_BITS_FLOATN_COMMON_H                = 0
  3002  	X_BITS_FLOATN_H                       = 0
  3003  	X_BITS_PTHREADTYPES_ARCH_H            = 1
  3004  	X_BITS_PTHREADTYPES_COMMON_H          = 1
  3005  	X_BITS_STDINT_INTN_H                  = 1
  3006  	X_BITS_STDINT_UINTN_H                 = 1
  3007  	X_BITS_TIME64_H                       = 1
  3008  	X_BITS_TYPESIZES_H                    = 1
  3009  	X_BITS_TYPES_H                        = 1
  3010  	X_BITS_TYPES_LOCALE_T_H               = 1
  3011  	X_BITS_TYPES___LOCALE_T_H             = 1
  3012  	X_BITS_UINTN_IDENTITY_H               = 1
  3013  	X_BITS_WCHAR_H                        = 1
  3014  	X_BSD_PTRDIFF_T_                      = 0
  3015  	X_BSD_SIZE_T_                         = 0
  3016  	X_BSD_SIZE_T_DEFINED_                 = 0
  3017  	X_DEFAULT_SOURCE                      = 1
  3018  	X_ENDIAN_H                            = 1
  3019  	X_ERRNO_H                             = 1
  3020  	X_FEATURES_H                          = 1
  3021  	X_FILE_OFFSET_BITS                    = 64
  3022  	X_GCC_MAX_ALIGN_T                     = 0
  3023  	X_GCC_PTRDIFF_T                       = 0
  3024  	X_GCC_SIZE_T                          = 0
  3025  	X_GCC_WCHAR_T                         = 0
  3026  	X_GCC_WRAP_STDINT_H                   = 0
  3027  	X_LP64                                = 1
  3028  	X_POSIX_C_SOURCE                      = 200809
  3029  	X_POSIX_SOURCE                        = 1
  3030  	X_PTRDIFF_T                           = 0
  3031  	X_PTRDIFF_T_                          = 0
  3032  	X_PTRDIFF_T_DECLARED                  = 0
  3033  	X_RENDER_H_                           = 0
  3034  	X_RWLOCK_INTERNAL_H                   = 0
  3035  	X_SIZET_                              = 0
  3036  	X_SIZE_T                              = 0
  3037  	X_SIZE_T_                             = 0
  3038  	X_SIZE_T_DECLARED                     = 0
  3039  	X_SIZE_T_DEFINED                      = 0
  3040  	X_SIZE_T_DEFINED_                     = 0
  3041  	X_STDC_PREDEF_H                       = 1
  3042  	X_STDDEF_H                            = 0
  3043  	X_STDDEF_H_                           = 0
  3044  	X_STDINT_H                            = 1
  3045  	X_STDLIB_H                            = 1
  3046  	X_STRINGS_H                           = 1
  3047  	X_STRING_H                            = 1
  3048  	X_STRUCT_TIMESPEC                     = 1
  3049  	X_SYS_CDEFS_H                         = 1
  3050  	X_SYS_SELECT_H                        = 1
  3051  	X_SYS_SIZE_T_H                        = 0
  3052  	X_SYS_TYPES_H                         = 1
  3053  	X_THREAD_MUTEX_INTERNAL_H             = 1
  3054  	X_THREAD_SHARED_TYPES_H               = 1
  3055  	X_T_PTRDIFF                           = 0
  3056  	X_T_PTRDIFF_                          = 0
  3057  	X_T_SIZE                              = 0
  3058  	X_T_SIZE_                             = 0
  3059  	X_T_WCHAR                             = 0
  3060  	X_T_WCHAR_                            = 0
  3061  	X_WCHAR_T                             = 0
  3062  	X_WCHAR_T_                            = 0
  3063  	X_WCHAR_T_DECLARED                    = 0
  3064  	X_WCHAR_T_DEFINED                     = 0
  3065  	X_WCHAR_T_DEFINED_                    = 0
  3066  	X_WCHAR_T_H                           = 0
  3067  	X_X11_XLIBINT_H_                      = 1
  3068  	X_X11_XLIB_H_                         = 0
  3069  	X_X11_XUTIL_H_                        = 0
  3070  	X_XDEFS_H                             = 0
  3071  	X_XFUNCPROTOBEGIN                     = 0
  3072  	X_XFUNCPROTOEND                       = 0
  3073  	X_XFUNCPROTO_H_                       = 0
  3074  	X_XFUNCS_H_                           = 0
  3075  	X_XFUNCS_H_INCLUDED_STRING_H          = 0
  3076  	X_XLIBCONF_H_                         = 0
  3077  	X_XOSDEFS_H_                          = 0
  3078  	X_XRENDERINT_H_                       = 0
  3079  	X_XRENDERP_H_                         = 0
  3080  	X_XRENDER_H_                          = 0
  3081  	X_XTYPEDEF_ATOM                       = 0
  3082  	X_XTYPEDEF_CLIENTPTR                  = 0
  3083  	X_XTYPEDEF_FONT                       = 0
  3084  	X_XTYPEDEF_FONTPTR                    = 0
  3085  	X_XTYPEDEF_MASK                       = 0
  3086  	X_XTYPEDEF_POINTER                    = 0
  3087  	X_XTYPEDEF_XID                        = 0
  3088  	X_X_NOTSAN                            = 0
  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                              = 9223372036854775807
  3320  	LONG_MIN                              = -9223372036854775808
  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                             = 9223372036854775807
  3340  	TTY_NAME_MAX                          = 32
  3341  	UCHAR_MAX                             = 255
  3342  	UINT_MAX                              = 4294967295
  3343  	ULLONG_MAX                            = 18446744073709551615
  3344  	ULONG_MAX                             = 18446744073709551615
  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 = int64 /* <builtin>:3:26 */
  3667  
  3668  type Size_t = uint64 /* <builtin>:9:23 */
  3669  
  3670  type Wchar_t = int32 /* <builtin>:15:24 */
  3671  
  3672  type X__int128_t = struct {
  3673  	Flo int64
  3674  	Fhi int64
  3675  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
  3676  type X__uint128_t = struct {
  3677  	Flo uint64
  3678  	Fhi uint64
  3679  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
  3680  
  3681  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
  3682  type X__float128 = float64        /* <builtin>:47:21 */
  3683  
  3684  // Copyright © 2004 Keith Packard
  3685  //
  3686  // Permission to use, copy, modify, distribute, and sell this software and its
  3687  // documentation for any purpose is hereby granted without fee, provided that
  3688  // the above copyright notice appear in all copies and that both that
  3689  // copyright notice and this permission notice appear in supporting
  3690  // documentation, and that the name of Keith Packard not be used in
  3691  // advertising or publicity pertaining to distribution of the software without
  3692  // specific, written prior permission.  Keith Packard makes no
  3693  // representations about the suitability of this software for any purpose.  It
  3694  // is provided "as is" without express or implied warranty.
  3695  //
  3696  // KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  3697  // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  3698  // EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  3699  // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  3700  // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  3701  // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  3702  // PERFORMANCE OF THIS SOFTWARE.
  3703  
  3704  // config.h.  Generated from config.h.in by configure.
  3705  // config.h.in.  Generated from configure.ac by autoheader.
  3706  
  3707  // Define to 1 if you have the <dlfcn.h> header file.
  3708  
  3709  // Define to 1 if you have the <inttypes.h> header file.
  3710  
  3711  // Define to 1 if you have the <memory.h> header file.
  3712  
  3713  // Define to 1 if you have the <stdint.h> header file.
  3714  
  3715  // Define to 1 if you have the <stdlib.h> header file.
  3716  
  3717  // Define to 1 if you have the <strings.h> header file.
  3718  
  3719  // Define to 1 if you have the <string.h> header file.
  3720  
  3721  // Define to 1 if you have the <sys/stat.h> header file.
  3722  
  3723  // Define to 1 if you have the <sys/types.h> header file.
  3724  
  3725  // Define to 1 if you have the <unistd.h> header file.
  3726  
  3727  // Define to the sub-directory in which libtool stores uninstalled libraries.
  3728  
  3729  // Name of package
  3730  
  3731  // Define to the address where bug reports for this package should be sent.
  3732  
  3733  // Define to the full name of this package.
  3734  
  3735  // Define to the full name and version of this package.
  3736  
  3737  // Define to the one symbol short name of this package.
  3738  
  3739  // Define to the home page for this package.
  3740  
  3741  // Define to the version of this package.
  3742  
  3743  // Major version of this package
  3744  
  3745  // Minor version of this package
  3746  
  3747  // Patch version of this package
  3748  
  3749  // Define to 1 if you have the ANSI C header files.
  3750  
  3751  // Version number of package
  3752  //
  3753  // Copyright © 2000 SuSE, Inc.
  3754  //
  3755  // Permission to use, copy, modify, distribute, and sell this software and its
  3756  // documentation for any purpose is hereby granted without fee, provided that
  3757  // the above copyright notice appear in all copies and that both that
  3758  // copyright notice and this permission notice appear in supporting
  3759  // documentation, and that the name of SuSE not be used in advertising or
  3760  // publicity pertaining to distribution of the software without specific,
  3761  // written prior permission.  SuSE makes no representations about the
  3762  // suitability of this software for any purpose.  It is provided "as is"
  3763  // without express or implied warranty.
  3764  //
  3765  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
  3766  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
  3767  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  3768  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  3769  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  3770  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  3771  //
  3772  // Author:  Keith Packard, SuSE, Inc.
  3773  
  3774  // config.h.  Generated from config.h.in by configure.
  3775  // config.h.in.  Generated from configure.ac by autoheader.
  3776  
  3777  // Define to 1 if you have the <dlfcn.h> header file.
  3778  
  3779  // Define to 1 if you have the <inttypes.h> header file.
  3780  
  3781  // Define to 1 if you have the <memory.h> header file.
  3782  
  3783  // Define to 1 if you have the <stdint.h> header file.
  3784  
  3785  // Define to 1 if you have the <stdlib.h> header file.
  3786  
  3787  // Define to 1 if you have the <strings.h> header file.
  3788  
  3789  // Define to 1 if you have the <string.h> header file.
  3790  
  3791  // Define to 1 if you have the <sys/stat.h> header file.
  3792  
  3793  // Define to 1 if you have the <sys/types.h> header file.
  3794  
  3795  // Define to 1 if you have the <unistd.h> header file.
  3796  
  3797  // Define to the sub-directory in which libtool stores uninstalled libraries.
  3798  
  3799  // Name of package
  3800  
  3801  // Define to the address where bug reports for this package should be sent.
  3802  
  3803  // Define to the full name of this package.
  3804  
  3805  // Define to the full name and version of this package.
  3806  
  3807  // Define to the one symbol short name of this package.
  3808  
  3809  // Define to the home page for this package.
  3810  
  3811  // Define to the version of this package.
  3812  
  3813  // Major version of this package
  3814  
  3815  // Minor version of this package
  3816  
  3817  // Patch version of this package
  3818  
  3819  // Define to 1 if you have the ANSI C header files.
  3820  
  3821  // Version number of package
  3822  
  3823  //
  3824  //
  3825  // Copyright 1984, 1985, 1987, 1989, 1998  The Open Group
  3826  //
  3827  // Permission to use, copy, modify, distribute, and sell this software and its
  3828  // documentation for any purpose is hereby granted without fee, provided that
  3829  // the above copyright notice appear in all copies and that both that
  3830  // copyright notice and this permission notice appear in supporting
  3831  // documentation.
  3832  //
  3833  // The above copyright notice and this permission notice shall be included
  3834  // in all copies or substantial portions of the Software.
  3835  //
  3836  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  3837  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  3838  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  3839  // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
  3840  // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  3841  // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  3842  // OTHER DEALINGS IN THE SOFTWARE.
  3843  //
  3844  // Except as contained in this notice, the name of The Open Group shall
  3845  // not be used in advertising or otherwise to promote the sale, use or
  3846  // other dealings in this Software without prior written authorization
  3847  // from The Open Group.
  3848  //
  3849  
  3850  //	Xlibint.h - Header definition and support file for the internal
  3851  //	support routines used by the C subroutine interface
  3852  //	library (Xlib) to the X Window System.
  3853  //
  3854  //	Warning, there be dragons here....
  3855  
  3856  // Copyright (C) 1997-2020 Free Software Foundation, Inc.
  3857  //    This file is part of the GNU C Library.
  3858  //
  3859  //    The GNU C Library is free software; you can redistribute it and/or
  3860  //    modify it under the terms of the GNU Lesser General Public
  3861  //    License as published by the Free Software Foundation; either
  3862  //    version 2.1 of the License, or (at your option) any later version.
  3863  //
  3864  //    The GNU C Library is distributed in the hope that it will be useful,
  3865  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3866  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3867  //    Lesser General Public License for more details.
  3868  //
  3869  //    You should have received a copy of the GNU Lesser General Public
  3870  //    License along with the GNU C Library; if not, see
  3871  //    <https://www.gnu.org/licenses/>.
  3872  
  3873  //	ISO C99: 7.18 Integer types <stdint.h>
  3874  
  3875  // Handle feature test macros at the start of a header.
  3876  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  3877  //    This file is part of the GNU C Library.
  3878  //
  3879  //    The GNU C Library is free software; you can redistribute it and/or
  3880  //    modify it under the terms of the GNU Lesser General Public
  3881  //    License as published by the Free Software Foundation; either
  3882  //    version 2.1 of the License, or (at your option) any later version.
  3883  //
  3884  //    The GNU C Library is distributed in the hope that it will be useful,
  3885  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3886  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3887  //    Lesser General Public License for more details.
  3888  //
  3889  //    You should have received a copy of the GNU Lesser General Public
  3890  //    License along with the GNU C Library; if not, see
  3891  //    <https://www.gnu.org/licenses/>.
  3892  
  3893  // This header is internal to glibc and should not be included outside
  3894  //    of glibc headers.  Headers including it must define
  3895  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  3896  //    cannot have multiple include guards because ISO C feature test
  3897  //    macros depend on the definition of the macro when an affected
  3898  //    header is included, not when the first system header is
  3899  //    included.
  3900  
  3901  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  3902  //    This file is part of the GNU C Library.
  3903  //
  3904  //    The GNU C Library is free software; you can redistribute it and/or
  3905  //    modify it under the terms of the GNU Lesser General Public
  3906  //    License as published by the Free Software Foundation; either
  3907  //    version 2.1 of the License, or (at your option) any later version.
  3908  //
  3909  //    The GNU C Library is distributed in the hope that it will be useful,
  3910  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3911  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3912  //    Lesser General Public License for more details.
  3913  //
  3914  //    You should have received a copy of the GNU Lesser General Public
  3915  //    License along with the GNU C Library; if not, see
  3916  //    <https://www.gnu.org/licenses/>.
  3917  
  3918  // These are defined by the user (or the compiler)
  3919  //    to specify the desired environment:
  3920  //
  3921  //    __STRICT_ANSI__	ISO Standard C.
  3922  //    _ISOC99_SOURCE	Extensions to ISO C89 from ISO C99.
  3923  //    _ISOC11_SOURCE	Extensions to ISO C99 from ISO C11.
  3924  //    _ISOC2X_SOURCE	Extensions to ISO C99 from ISO C2X.
  3925  //    __STDC_WANT_LIB_EXT2__
  3926  // 			Extensions to ISO C99 from TR 27431-2:2010.
  3927  //    __STDC_WANT_IEC_60559_BFP_EXT__
  3928  // 			Extensions to ISO C11 from TS 18661-1:2014.
  3929  //    __STDC_WANT_IEC_60559_FUNCS_EXT__
  3930  // 			Extensions to ISO C11 from TS 18661-4:2015.
  3931  //    __STDC_WANT_IEC_60559_TYPES_EXT__
  3932  // 			Extensions to ISO C11 from TS 18661-3:2015.
  3933  //
  3934  //    _POSIX_SOURCE	IEEE Std 1003.1.
  3935  //    _POSIX_C_SOURCE	If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
  3936  // 			if >=199309L, add IEEE Std 1003.1b-1993;
  3937  // 			if >=199506L, add IEEE Std 1003.1c-1995;
  3938  // 			if >=200112L, all of IEEE 1003.1-2004
  3939  // 			if >=200809L, all of IEEE 1003.1-2008
  3940  //    _XOPEN_SOURCE	Includes POSIX and XPG things.  Set to 500 if
  3941  // 			Single Unix conformance is wanted, to 600 for the
  3942  // 			sixth revision, to 700 for the seventh revision.
  3943  //    _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
  3944  //    _LARGEFILE_SOURCE	Some more functions for correct standard I/O.
  3945  //    _LARGEFILE64_SOURCE	Additional functionality from LFS for large files.
  3946  //    _FILE_OFFSET_BITS=N	Select default filesystem interface.
  3947  //    _ATFILE_SOURCE	Additional *at interfaces.
  3948  //    _GNU_SOURCE		All of the above, plus GNU extensions.
  3949  //    _DEFAULT_SOURCE	The default set of features (taking precedence over
  3950  // 			__STRICT_ANSI__).
  3951  //
  3952  //    _FORTIFY_SOURCE	Add security hardening to many library functions.
  3953  // 			Set to 1 or 2; 2 performs stricter checks than 1.
  3954  //
  3955  //    _REENTRANT, _THREAD_SAFE
  3956  // 			Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
  3957  //
  3958  //    The `-ansi' switch to the GNU C compiler, and standards conformance
  3959  //    options such as `-std=c99', define __STRICT_ANSI__.  If none of
  3960  //    these are defined, or if _DEFAULT_SOURCE is defined, the default is
  3961  //    to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
  3962  //    200809L, as well as enabling miscellaneous functions from BSD and
  3963  //    SVID.  If more than one of these are defined, they accumulate.  For
  3964  //    example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
  3965  //    give you ISO C, 1003.1, and 1003.2, but nothing else.
  3966  //
  3967  //    These are defined by this file and are used by the
  3968  //    header files to decide what to declare or define:
  3969  //
  3970  //    __GLIBC_USE (F)	Define things from feature set F.  This is defined
  3971  // 			to 1 or 0; the subsequent macros are either defined
  3972  // 			or undefined, and those tests should be moved to
  3973  // 			__GLIBC_USE.
  3974  //    __USE_ISOC11		Define ISO C11 things.
  3975  //    __USE_ISOC99		Define ISO C99 things.
  3976  //    __USE_ISOC95		Define ISO C90 AMD1 (C95) things.
  3977  //    __USE_ISOCXX11	Define ISO C++11 things.
  3978  //    __USE_POSIX		Define IEEE Std 1003.1 things.
  3979  //    __USE_POSIX2		Define IEEE Std 1003.2 things.
  3980  //    __USE_POSIX199309	Define IEEE Std 1003.1, and .1b things.
  3981  //    __USE_POSIX199506	Define IEEE Std 1003.1, .1b, .1c and .1i things.
  3982  //    __USE_XOPEN		Define XPG things.
  3983  //    __USE_XOPEN_EXTENDED	Define X/Open Unix things.
  3984  //    __USE_UNIX98		Define Single Unix V2 things.
  3985  //    __USE_XOPEN2K        Define XPG6 things.
  3986  //    __USE_XOPEN2KXSI     Define XPG6 XSI things.
  3987  //    __USE_XOPEN2K8       Define XPG7 things.
  3988  //    __USE_XOPEN2K8XSI    Define XPG7 XSI things.
  3989  //    __USE_LARGEFILE	Define correct standard I/O things.
  3990  //    __USE_LARGEFILE64	Define LFS things with separate names.
  3991  //    __USE_FILE_OFFSET64	Define 64bit interface as default.
  3992  //    __USE_MISC		Define things from 4.3BSD or System V Unix.
  3993  //    __USE_ATFILE		Define *at interfaces and AT_* constants for them.
  3994  //    __USE_GNU		Define GNU extensions.
  3995  //    __USE_FORTIFY_LEVEL	Additional security measures used, according to level.
  3996  //
  3997  //    The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
  3998  //    defined by this file unconditionally.  `__GNU_LIBRARY__' is provided
  3999  //    only for compatibility.  All new code should use the other symbols
  4000  //    to test for features.
  4001  //
  4002  //    All macros listed above as possibly being defined by this file are
  4003  //    explicitly undefined if they are not explicitly defined.
  4004  //    Feature-test macros that are not defined by the user or compiler
  4005  //    but are implied by the other feature-test macros defined (or by the
  4006  //    lack of any definitions) are defined by the file.
  4007  //
  4008  //    ISO C feature test macros depend on the definition of the macro
  4009  //    when an affected header is included, not when the first system
  4010  //    header is included, and so they are handled in
  4011  //    <bits/libc-header-start.h>, which does not have a multiple include
  4012  //    guard.  Feature test macros that can be handled from the first
  4013  //    system header included are handled here.
  4014  
  4015  // Undefine everything, so we get a clean slate.
  4016  
  4017  // Suppress kernel-name space pollution unless user expressedly asks
  4018  //    for it.
  4019  
  4020  // Convenience macro to test the version of gcc.
  4021  //    Use like this:
  4022  //    #if __GNUC_PREREQ (2,8)
  4023  //    ... code requiring gcc 2.8 or later ...
  4024  //    #endif
  4025  //    Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
  4026  //    added in 2.0.
  4027  
  4028  // Similarly for clang.  Features added to GCC after version 4.2 may
  4029  //    or may not also be available in clang, and clang's definitions of
  4030  //    __GNUC(_MINOR)__ are fixed at 4 and 2 respectively.  Not all such
  4031  //    features can be queried via __has_extension/__has_feature.
  4032  
  4033  // Whether to use feature set F.
  4034  
  4035  // _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
  4036  //    _DEFAULT_SOURCE.  If _DEFAULT_SOURCE is present we do not
  4037  //    issue a warning; the expectation is that the source is being
  4038  //    transitioned to use the new macro.
  4039  
  4040  // If _GNU_SOURCE was defined by the user, turn on all the other features.
  4041  
  4042  // If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
  4043  //    define _DEFAULT_SOURCE.
  4044  
  4045  // This is to enable the ISO C2X extension.
  4046  
  4047  // This is to enable the ISO C11 extension.
  4048  
  4049  // This is to enable the ISO C99 extension.
  4050  
  4051  // This is to enable the ISO C90 Amendment 1:1995 extension.
  4052  
  4053  // If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
  4054  //    is defined, use POSIX.1-2008 (or another version depending on
  4055  //    _XOPEN_SOURCE).
  4056  
  4057  // Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
  4058  //    defined in all multithreaded code.  GNU libc has not required this
  4059  //    for many years.  We now treat them as compatibility synonyms for
  4060  //    _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
  4061  //    comprehensive support for multithreaded code.  Using them never
  4062  //    lowers the selected level of POSIX conformance, only raises it.
  4063  
  4064  // The function 'gets' existed in C89, but is impossible to use
  4065  //    safely.  It has been removed from ISO C11 and ISO C++14.  Note: for
  4066  //    compatibility with various implementations of <cstdio>, this test
  4067  //    must consider only the value of __cplusplus when compiling C++.
  4068  
  4069  // GNU formerly extended the scanf functions with modified format
  4070  //    specifiers %as, %aS, and %a[...] that allocate a buffer for the
  4071  //    input using malloc.  This extension conflicts with ISO C99, which
  4072  //    defines %a as a standalone format specifier that reads a floating-
  4073  //    point number; moreover, POSIX.1-2008 provides the same feature
  4074  //    using the modifier letter 'm' instead (%ms, %mS, %m[...]).
  4075  //
  4076  //    We now follow C99 unless GNU extensions are active and the compiler
  4077  //    is specifically in C89 or C++98 mode (strict or not).  For
  4078  //    instance, with GCC, -std=gnu11 will have C99-compliant scanf with
  4079  //    or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
  4080  //    old extension.
  4081  
  4082  // Get definitions of __STDC_* predefined macros, if the compiler has
  4083  //    not preincluded this header automatically.
  4084  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4085  //    This file is part of the GNU C Library.
  4086  //
  4087  //    The GNU C Library is free software; you can redistribute it and/or
  4088  //    modify it under the terms of the GNU Lesser General Public
  4089  //    License as published by the Free Software Foundation; either
  4090  //    version 2.1 of the License, or (at your option) any later version.
  4091  //
  4092  //    The GNU C Library is distributed in the hope that it will be useful,
  4093  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4094  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4095  //    Lesser General Public License for more details.
  4096  //
  4097  //    You should have received a copy of the GNU Lesser General Public
  4098  //    License along with the GNU C Library; if not, see
  4099  //    <https://www.gnu.org/licenses/>.
  4100  
  4101  // This macro indicates that the installed library is the GNU C Library.
  4102  //    For historic reasons the value now is 6 and this will stay from now
  4103  //    on.  The use of this variable is deprecated.  Use __GLIBC__ and
  4104  //    __GLIBC_MINOR__ now (see below) when you want to test for a specific
  4105  //    GNU C library version and use the values in <gnu/lib-names.h> to get
  4106  //    the sonames of the shared libraries.
  4107  
  4108  // Major and minor version number of the GNU C library package.  Use
  4109  //    these macros to test for features in specific releases.
  4110  
  4111  // This is here only because every header file already includes this one.
  4112  // Copyright (C) 1992-2020 Free Software Foundation, Inc.
  4113  //    This file is part of the GNU C Library.
  4114  //
  4115  //    The GNU C Library is free software; you can redistribute it and/or
  4116  //    modify it under the terms of the GNU Lesser General Public
  4117  //    License as published by the Free Software Foundation; either
  4118  //    version 2.1 of the License, or (at your option) any later version.
  4119  //
  4120  //    The GNU C Library is distributed in the hope that it will be useful,
  4121  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4122  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4123  //    Lesser General Public License for more details.
  4124  //
  4125  //    You should have received a copy of the GNU Lesser General Public
  4126  //    License along with the GNU C Library; if not, see
  4127  //    <https://www.gnu.org/licenses/>.
  4128  
  4129  // We are almost always included from features.h.
  4130  
  4131  // The GNU libc does not support any K&R compilers or the traditional mode
  4132  //    of ISO C compilers anymore.  Check for some of the combinations not
  4133  //    anymore supported.
  4134  
  4135  // Some user header file might have defined this before.
  4136  
  4137  // All functions, except those with callbacks or those that
  4138  //    synchronize memory, are leaf functions.
  4139  
  4140  // GCC can always grok prototypes.  For C++ programs we add throw()
  4141  //    to help it optimize the function calls.  But this works only with
  4142  //    gcc 2.8.x and egcs.  For gcc 3.2 and up we even mark C functions
  4143  //    as non-throwing using a function attribute since programs can use
  4144  //    the -fexceptions options for C code as well.
  4145  
  4146  // Compilers that are not clang may object to
  4147  //        #if defined __clang__ && __has_extension(...)
  4148  //    even though they do not need to evaluate the right-hand side of the &&.
  4149  
  4150  // These two macros are not used in glibc anymore.  They are kept here
  4151  //    only because some other projects expect the macros to be defined.
  4152  
  4153  // For these things, GCC behaves the ANSI way normally,
  4154  //    and the non-ANSI way under -traditional.
  4155  
  4156  // This is not a typedef so `const __ptr_t' does the right thing.
  4157  
  4158  // C++ needs to know that types and declarations are C, not C++.
  4159  
  4160  // Fortify support.
  4161  
  4162  // Support for flexible arrays.
  4163  //    Headers that should use flexible arrays only if they're "real"
  4164  //    (e.g. only if they won't affect sizeof()) should test
  4165  //    #if __glibc_c99_flexarr_available.
  4166  
  4167  // __asm__ ("xyz") is used throughout the headers to rename functions
  4168  //    at the assembly language level.  This is wrapped by the __REDIRECT
  4169  //    macro, in order to support compilers that can do this some other
  4170  //    way.  When compilers don't support asm-names at all, we have to do
  4171  //    preprocessor tricks instead (which don't have exactly the right
  4172  //    semantics, but it's the best we can do).
  4173  //
  4174  //    Example:
  4175  //    int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
  4176  
  4177  //
  4178  // #elif __SOME_OTHER_COMPILER__
  4179  //
  4180  // # define __REDIRECT(name, proto, alias) name proto; 	_Pragma("let " #name " = " #alias)
  4181  
  4182  // GCC has various useful declarations that can be made with the
  4183  //    `__attribute__' syntax.  All of the ways we use this do fine if
  4184  //    they are omitted for compilers that don't understand it.
  4185  
  4186  // At some point during the gcc 2.96 development the `malloc' attribute
  4187  //    for functions was introduced.  We don't want to use it unconditionally
  4188  //    (although this would be possible) since it generates warnings.
  4189  
  4190  // Tell the compiler which arguments to an allocation function
  4191  //    indicate the size of the allocation.
  4192  
  4193  // At some point during the gcc 2.96 development the `pure' attribute
  4194  //    for functions was introduced.  We don't want to use it unconditionally
  4195  //    (although this would be possible) since it generates warnings.
  4196  
  4197  // This declaration tells the compiler that the value is constant.
  4198  
  4199  // At some point during the gcc 3.1 development the `used' attribute
  4200  //    for functions was introduced.  We don't want to use it unconditionally
  4201  //    (although this would be possible) since it generates warnings.
  4202  
  4203  // Since version 3.2, gcc allows marking deprecated functions.
  4204  
  4205  // Since version 4.5, gcc also allows one to specify the message printed
  4206  //    when a deprecated function is used.  clang claims to be gcc 4.2, but
  4207  //    may also support this feature.
  4208  
  4209  // At some point during the gcc 2.8 development the `format_arg' attribute
  4210  //    for functions was introduced.  We don't want to use it unconditionally
  4211  //    (although this would be possible) since it generates warnings.
  4212  //    If several `format_arg' attributes are given for the same function, in
  4213  //    gcc-3.0 and older, all but the last one are ignored.  In newer gccs,
  4214  //    all designated arguments are considered.
  4215  
  4216  // At some point during the gcc 2.97 development the `strfmon' format
  4217  //    attribute for functions was introduced.  We don't want to use it
  4218  //    unconditionally (although this would be possible) since it
  4219  //    generates warnings.
  4220  
  4221  // The nonull function attribute allows to mark pointer parameters which
  4222  //    must not be NULL.
  4223  
  4224  // If fortification mode, we warn about unused results of certain
  4225  //    function calls which can lead to problems.
  4226  
  4227  // Forces a function to be always inlined.
  4228  // The Linux kernel defines __always_inline in stddef.h (283d7573), and
  4229  //    it conflicts with this definition.  Therefore undefine it first to
  4230  //    allow either header to be included first.
  4231  
  4232  // Associate error messages with the source location of the call site rather
  4233  //    than with the source location inside the function.
  4234  
  4235  // GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
  4236  //    inline semantics, unless -fgnu89-inline is used.  Using __GNUC_STDC_INLINE__
  4237  //    or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
  4238  //    older than 4.3 may define these macros and still not guarantee GNU inlining
  4239  //    semantics.
  4240  //
  4241  //    clang++ identifies itself as gcc-4.2, but has support for GNU inlining
  4242  //    semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
  4243  //    __GNUC_GNU_INLINE__ macro definitions.
  4244  
  4245  // GCC 4.3 and above allow passing all anonymous arguments of an
  4246  //    __extern_always_inline function to some other vararg function.
  4247  
  4248  // It is possible to compile containing GCC extensions even if GCC is
  4249  //    run in pedantic mode if the uses are carefully marked using the
  4250  //    `__extension__' keyword.  But this is not generally available before
  4251  //    version 2.8.
  4252  
  4253  // __restrict is known in EGCS 1.2 and above.
  4254  
  4255  // ISO C99 also allows to declare arrays as non-overlapping.  The syntax is
  4256  //      array_name[restrict]
  4257  //    GCC 3.1 supports this.
  4258  
  4259  // Describes a char array whose address can safely be passed as the first
  4260  //    argument to strncpy and strncat, as the char array is not necessarily
  4261  //    a NUL-terminated string.
  4262  
  4263  // Undefine (also defined in libc-symbols.h).
  4264  // Copies attributes from the declaration or type referenced by
  4265  //    the argument.
  4266  
  4267  // Determine the wordsize from the preprocessor defines.
  4268  
  4269  // Both x86-64 and x32 use the 64-bit system call interface.
  4270  // Properties of long double type.  ldbl-96 version.
  4271  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  4272  //    This file is part of the GNU C Library.
  4273  //
  4274  //    The GNU C Library is free software; you can redistribute it and/or
  4275  //    modify it under the terms of the GNU Lesser General Public
  4276  //    License  published by the Free Software Foundation; either
  4277  //    version 2.1 of the License, or (at your option) any later version.
  4278  //
  4279  //    The GNU C Library is distributed in the hope that it will be useful,
  4280  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4281  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4282  //    Lesser General Public License for more details.
  4283  //
  4284  //    You should have received a copy of the GNU Lesser General Public
  4285  //    License along with the GNU C Library; if not, see
  4286  //    <https://www.gnu.org/licenses/>.
  4287  
  4288  // long double is distinct from double, so there is nothing to
  4289  //    define here.
  4290  
  4291  // __glibc_macro_warning (MESSAGE) issues warning MESSAGE.  This is
  4292  //    intended for use in preprocessor macros.
  4293  //
  4294  //    Note: MESSAGE must be a _single_ string; concatenation of string
  4295  //    literals is not supported.
  4296  
  4297  // Generic selection (ISO C11) is a C-only feature, available in GCC
  4298  //    since version 4.9.  Previous versions do not provide generic
  4299  //    selection, even though they might set __STDC_VERSION__ to 201112L,
  4300  //    when in -std=c11 mode.  Thus, we must check for !defined __GNUC__
  4301  //    when testing __STDC_VERSION__ for generic selection support.
  4302  //    On the other hand, Clang also defines __GNUC__, so a clang-specific
  4303  //    check is required to enable the use of generic selection.
  4304  
  4305  // If we don't have __REDIRECT, prototypes will be missing if
  4306  //    __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
  4307  
  4308  // Decide whether we can define 'extern inline' functions in headers.
  4309  
  4310  // This is here only because every header file already includes this one.
  4311  //    Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
  4312  //    <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
  4313  //    that will always return failure (and set errno to ENOSYS).
  4314  // This file is automatically generated.
  4315  //    This file selects the right generated file of `__stub_FUNCTION' macros
  4316  //    based on the architecture being compiled for.
  4317  
  4318  // This file is automatically generated.
  4319  //    It defines a symbol `__stub_FUNCTION' for each function
  4320  //    in the C library which is a stub, meaning it will fail
  4321  //    every time called, usually setting errno to ENOSYS.
  4322  
  4323  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  4324  //    macro.
  4325  
  4326  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  4327  //    macro.  Most but not all symbols enabled by that macro in TS
  4328  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
  4329  //    still require that macro in C2X.
  4330  
  4331  // ISO/IEC TS 18661-4:2015 defines the
  4332  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  4333  //    functions, the symbols from this TS are enabled unconditionally in
  4334  //    C2X.
  4335  
  4336  // ISO/IEC TS 18661-3:2015 defines the
  4337  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  4338  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4339  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4340  //    This file is part of the GNU C Library.
  4341  //
  4342  //    The GNU C Library is free software; you can redistribute it and/or
  4343  //    modify it under the terms of the GNU Lesser General Public
  4344  //    License as published by the Free Software Foundation; either
  4345  //    version 2.1 of the License, or (at your option) any later version.
  4346  //
  4347  //    The GNU C Library is distributed in the hope that it will be useful,
  4348  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4349  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4350  //    Lesser General Public License for more details.
  4351  //
  4352  //    You should have received a copy of the GNU Lesser General Public
  4353  //    License along with the GNU C Library; if not, see
  4354  //    <https://www.gnu.org/licenses/>.
  4355  
  4356  // Never include this file directly; use <sys/types.h> instead.
  4357  
  4358  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4359  //    This file is part of the GNU C Library.
  4360  //
  4361  //    The GNU C Library is free software; you can redistribute it and/or
  4362  //    modify it under the terms of the GNU Lesser General Public
  4363  //    License as published by the Free Software Foundation; either
  4364  //    version 2.1 of the License, or (at your option) any later version.
  4365  //
  4366  //    The GNU C Library is distributed in the hope that it will be useful,
  4367  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4368  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4369  //    Lesser General Public License for more details.
  4370  //
  4371  //    You should have received a copy of the GNU Lesser General Public
  4372  //    License along with the GNU C Library; if not, see
  4373  //    <https://www.gnu.org/licenses/>.
  4374  
  4375  // Determine the wordsize from the preprocessor defines.
  4376  
  4377  // Both x86-64 and x32 use the 64-bit system call interface.
  4378  // Bit size of the time_t type at glibc build time, x86-64 and x32 case.
  4379  //    Copyright (C) 2018-2020 Free Software Foundation, Inc.
  4380  //    This file is part of the GNU C Library.
  4381  //
  4382  //    The GNU C Library is free software; you can redistribute it and/or
  4383  //    modify it under the terms of the GNU Lesser General Public
  4384  //    License as published by the Free Software Foundation; either
  4385  //    version 2.1 of the License, or (at your option) any later version.
  4386  //
  4387  //    The GNU C Library is distributed in the hope that it will be useful,
  4388  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4389  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4390  //    Lesser General Public License for more details.
  4391  //
  4392  //    You should have received a copy of the GNU Lesser General Public
  4393  //    License along with the GNU C Library; if not, see
  4394  //    <https://www.gnu.org/licenses/>.
  4395  
  4396  // For others, time size is word size.
  4397  
  4398  // Convenience types.
  4399  type X__u_char = uint8   /* types.h:31:23 */
  4400  type X__u_short = uint16 /* types.h:32:28 */
  4401  type X__u_int = uint32   /* types.h:33:22 */
  4402  type X__u_long = uint64  /* types.h:34:27 */
  4403  
  4404  // Fixed-size types, underlying types depend on word size and compiler.
  4405  type X__int8_t = int8     /* types.h:37:21 */
  4406  type X__uint8_t = uint8   /* types.h:38:23 */
  4407  type X__int16_t = int16   /* types.h:39:26 */
  4408  type X__uint16_t = uint16 /* types.h:40:28 */
  4409  type X__int32_t = int32   /* types.h:41:20 */
  4410  type X__uint32_t = uint32 /* types.h:42:22 */
  4411  type X__int64_t = int64   /* types.h:44:25 */
  4412  type X__uint64_t = uint64 /* types.h:45:27 */
  4413  
  4414  // Smallest types with at least a given width.
  4415  type X__int_least8_t = X__int8_t     /* types.h:52:18 */
  4416  type X__uint_least8_t = X__uint8_t   /* types.h:53:19 */
  4417  type X__int_least16_t = X__int16_t   /* types.h:54:19 */
  4418  type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
  4419  type X__int_least32_t = X__int32_t   /* types.h:56:19 */
  4420  type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
  4421  type X__int_least64_t = X__int64_t   /* types.h:58:19 */
  4422  type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
  4423  
  4424  // quad_t is also 64 bits.
  4425  type X__quad_t = int64    /* types.h:63:18 */
  4426  type X__u_quad_t = uint64 /* types.h:64:27 */
  4427  
  4428  // Largest integral types.
  4429  type X__intmax_t = int64   /* types.h:72:18 */
  4430  type X__uintmax_t = uint64 /* types.h:73:27 */
  4431  
  4432  // The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
  4433  //    macros for each of the OS types we define below.  The definitions
  4434  //    of those macros must use the following macros for underlying types.
  4435  //    We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
  4436  //    variants of each of the following integer types on this machine.
  4437  //
  4438  // 	16		-- "natural" 16-bit type (always short)
  4439  // 	32		-- "natural" 32-bit type (always int)
  4440  // 	64		-- "natural" 64-bit type (long or long long)
  4441  // 	LONG32		-- 32-bit type, traditionally long
  4442  // 	QUAD		-- 64-bit type, traditionally long long
  4443  // 	WORD		-- natural type of __WORDSIZE bits (int or long)
  4444  // 	LONGWORD	-- type of __WORDSIZE bits, traditionally long
  4445  //
  4446  //    We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
  4447  //    conventional uses of `long' or `long long' type modifiers match the
  4448  //    types we define, even when a less-adorned type would be the same size.
  4449  //    This matters for (somewhat) portably writing printf/scanf formats for
  4450  //    these types, where using the appropriate l or ll format modifiers can
  4451  //    make the typedefs and the formats match up across all GNU platforms.  If
  4452  //    we used `long' when it's 64 bits where `long long' is expected, then the
  4453  //    compiler would warn about the formats not matching the argument types,
  4454  //    and the programmer changing them to shut up the compiler would break the
  4455  //    program's portability.
  4456  //
  4457  //    Here we assume what is presently the case in all the GCC configurations
  4458  //    we support: long long is always 64 bits, long is always word/address size,
  4459  //    and int is always 32 bits.
  4460  
  4461  // No need to mark the typedef with __extension__.
  4462  // bits/typesizes.h -- underlying types for *_t.  Linux/x86-64 version.
  4463  //    Copyright (C) 2012-2020 Free Software Foundation, Inc.
  4464  //    This file is part of the GNU C Library.
  4465  //
  4466  //    The GNU C Library is free software; you can redistribute it and/or
  4467  //    modify it under the terms of the GNU Lesser General Public
  4468  //    License as published by the Free Software Foundation; either
  4469  //    version 2.1 of the License, or (at your option) any later version.
  4470  //
  4471  //    The GNU C Library is distributed in the hope that it will be useful,
  4472  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4473  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4474  //    Lesser General Public License for more details.
  4475  //
  4476  //    You should have received a copy of the GNU Lesser General Public
  4477  //    License along with the GNU C Library; if not, see
  4478  //    <https://www.gnu.org/licenses/>.
  4479  
  4480  // See <bits/types.h> for the meaning of these macros.  This file exists so
  4481  //    that <bits/types.h> need not vary across different GNU platforms.
  4482  
  4483  // X32 kernel interface is 64-bit.
  4484  
  4485  // Tell the libc code that off_t and off64_t are actually the same type
  4486  //    for all ABI purposes, even if possibly expressed as different base types
  4487  //    for C type-checking purposes.
  4488  
  4489  // Same for ino_t and ino64_t.
  4490  
  4491  // And for __rlim_t and __rlim64_t.
  4492  
  4493  // And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
  4494  
  4495  // Number of descriptors that can fit in an `fd_set'.
  4496  
  4497  // bits/time64.h -- underlying types for __time64_t.  Generic version.
  4498  //    Copyright (C) 2018-2020 Free Software Foundation, Inc.
  4499  //    This file is part of the GNU C Library.
  4500  //
  4501  //    The GNU C Library is free software; you can redistribute it and/or
  4502  //    modify it under the terms of the GNU Lesser General Public
  4503  //    License as published by the Free Software Foundation; either
  4504  //    version 2.1 of the License, or (at your option) any later version.
  4505  //
  4506  //    The GNU C Library is distributed in the hope that it will be useful,
  4507  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4508  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4509  //    Lesser General Public License for more details.
  4510  //
  4511  //    You should have received a copy of the GNU Lesser General Public
  4512  //    License along with the GNU C Library; if not, see
  4513  //    <https://www.gnu.org/licenses/>.
  4514  
  4515  // Define __TIME64_T_TYPE so that it is always a 64-bit type.
  4516  
  4517  // If we already have 64-bit time type then use it.
  4518  
  4519  type X__dev_t = uint64                     /* types.h:145:25 */ // Type of device numbers.
  4520  type X__uid_t = uint32                     /* types.h:146:25 */ // Type of user identifications.
  4521  type X__gid_t = uint32                     /* types.h:147:25 */ // Type of group identifications.
  4522  type X__ino_t = uint64                     /* types.h:148:25 */ // Type of file serial numbers.
  4523  type X__ino64_t = uint64                   /* types.h:149:27 */ // Type of file serial numbers (LFS).
  4524  type X__mode_t = uint32                    /* types.h:150:26 */ // Type of file attribute bitmasks.
  4525  type X__nlink_t = uint64                   /* types.h:151:27 */ // Type of file link counts.
  4526  type X__off_t = int64                      /* types.h:152:25 */ // Type of file sizes and offsets.
  4527  type X__off64_t = int64                    /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
  4528  type X__pid_t = int32                      /* types.h:154:25 */ // Type of process identifications.
  4529  type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
  4530  type X__clock_t = int64                    /* types.h:156:27 */ // Type of CPU usage counts.
  4531  type X__rlim_t = uint64                    /* types.h:157:26 */ // Type for resource measurement.
  4532  type X__rlim64_t = uint64                  /* types.h:158:28 */ // Type for resource measurement (LFS).
  4533  type X__id_t = uint32                      /* types.h:159:24 */ // General type for IDs.
  4534  type X__time_t = int64                     /* types.h:160:26 */ // Seconds since the Epoch.
  4535  type X__useconds_t = uint32                /* types.h:161:30 */ // Count of microseconds.
  4536  type X__suseconds_t = int64                /* types.h:162:31 */ // Signed count of microseconds.
  4537  
  4538  type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
  4539  type X__key_t = int32   /* types.h:165:25 */ // Type of an IPC key.
  4540  
  4541  // Clock ID used in clock and timer functions.
  4542  type X__clockid_t = int32 /* types.h:168:29 */
  4543  
  4544  // Timer ID returned by `timer_create'.
  4545  type X__timer_t = uintptr /* types.h:171:12 */
  4546  
  4547  // Type to represent block size.
  4548  type X__blksize_t = int64 /* types.h:174:29 */
  4549  
  4550  // Types from the Large File Support interface.
  4551  
  4552  // Type to count number of disk blocks.
  4553  type X__blkcnt_t = int64   /* types.h:179:28 */
  4554  type X__blkcnt64_t = int64 /* types.h:180:30 */
  4555  
  4556  // Type to count file system blocks.
  4557  type X__fsblkcnt_t = uint64   /* types.h:183:30 */
  4558  type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
  4559  
  4560  // Type to count file system nodes.
  4561  type X__fsfilcnt_t = uint64   /* types.h:187:30 */
  4562  type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
  4563  
  4564  // Type of miscellaneous file system fields.
  4565  type X__fsword_t = int64 /* types.h:191:28 */
  4566  
  4567  type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
  4568  
  4569  // Signed long type used in system calls.
  4570  type X__syscall_slong_t = int64 /* types.h:196:33 */
  4571  // Unsigned long type used in system calls.
  4572  type X__syscall_ulong_t = uint64 /* types.h:198:33 */
  4573  
  4574  // These few don't really vary by system, they always correspond
  4575  //    to one of the other defined types.
  4576  type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
  4577  type X__caddr_t = uintptr   /* types.h:203:14 */
  4578  
  4579  // Duplicates info from stdint.h but this is used in unistd.h.
  4580  type X__intptr_t = int64 /* types.h:206:25 */
  4581  
  4582  // Duplicate info from sys/socket.h.
  4583  type X__socklen_t = uint32 /* types.h:209:23 */
  4584  
  4585  // C99: An integer type that can be accessed as an atomic entity,
  4586  //    even in the presence of asynchronous interrupts.
  4587  //    It is not currently necessary for this to be machine-specific.
  4588  type X__sig_atomic_t = int32 /* types.h:214:13 */
  4589  
  4590  // Seconds since the Epoch, visible to user code when time_t is too
  4591  //    narrow only for consistency with the old way of widening too-narrow
  4592  //    types.  User code should never use __time64_t.
  4593  
  4594  // wchar_t type related definitions.
  4595  //    Copyright (C) 2000-2020 Free Software Foundation, Inc.
  4596  //    This file is part of the GNU C Library.
  4597  //
  4598  //    The GNU C Library is free software; you can redistribute it and/or
  4599  //    modify it under the terms of the GNU Lesser General Public
  4600  //    License as published by the Free Software Foundation; either
  4601  //    version 2.1 of the License, or (at your option) any later version.
  4602  //
  4603  //    The GNU C Library is distributed in the hope that it will be useful,
  4604  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4605  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4606  //    Lesser General Public License for more details.
  4607  //
  4608  //    You should have received a copy of the GNU Lesser General Public
  4609  //    License along with the GNU C Library; if not, see
  4610  //    <https://www.gnu.org/licenses/>.
  4611  
  4612  // The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__
  4613  //    are not defined, give the right value and type as long as both int
  4614  //    and wchar_t are 32-bit types.  Adding L'\0' to a constant value
  4615  //    ensures that the type is correct; it is necessary to use (L'\0' +
  4616  //    0) rather than just L'\0' so that the type in C++ is the promoted
  4617  //    version of wchar_t rather than the distinct wchar_t type itself.
  4618  //    Because wchar_t in preprocessor #if expressions is treated as
  4619  //    intmax_t or uintmax_t, the expression (L'\0' - 1) would have the
  4620  //    wrong value for WCHAR_MAX in such expressions and so cannot be used
  4621  //    to define __WCHAR_MAX in the unsigned case.
  4622  
  4623  // Determine the wordsize from the preprocessor defines.
  4624  
  4625  // Both x86-64 and x32 use the 64-bit system call interface.
  4626  
  4627  // Exact integral types.
  4628  
  4629  // Signed.
  4630  // Define intN_t types.
  4631  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  4632  //    This file is part of the GNU C Library.
  4633  //
  4634  //    The GNU C Library is free software; you can redistribute it and/or
  4635  //    modify it under the terms of the GNU Lesser General Public
  4636  //    License as published by the Free Software Foundation; either
  4637  //    version 2.1 of the License, or (at your option) any later version.
  4638  //
  4639  //    The GNU C Library is distributed in the hope that it will be useful,
  4640  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4641  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4642  //    Lesser General Public License for more details.
  4643  //
  4644  //    You should have received a copy of the GNU Lesser General Public
  4645  //    License along with the GNU C Library; if not, see
  4646  //    <https://www.gnu.org/licenses/>.
  4647  
  4648  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4649  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4650  //    This file is part of the GNU C Library.
  4651  //
  4652  //    The GNU C Library is free software; you can redistribute it and/or
  4653  //    modify it under the terms of the GNU Lesser General Public
  4654  //    License as published by the Free Software Foundation; either
  4655  //    version 2.1 of the License, or (at your option) any later version.
  4656  //
  4657  //    The GNU C Library is distributed in the hope that it will be useful,
  4658  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4659  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4660  //    Lesser General Public License for more details.
  4661  //
  4662  //    You should have received a copy of the GNU Lesser General Public
  4663  //    License along with the GNU C Library; if not, see
  4664  //    <https://www.gnu.org/licenses/>.
  4665  
  4666  // Never include this file directly; use <sys/types.h> instead.
  4667  
  4668  type Int8_t = X__int8_t   /* stdint-intn.h:24:18 */
  4669  type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
  4670  type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
  4671  type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
  4672  
  4673  // Unsigned.
  4674  // Define uintN_t types.
  4675  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  4676  //    This file is part of the GNU C Library.
  4677  //
  4678  //    The GNU C Library is free software; you can redistribute it and/or
  4679  //    modify it under the terms of the GNU Lesser General Public
  4680  //    License as published by the Free Software Foundation; either
  4681  //    version 2.1 of the License, or (at your option) any later version.
  4682  //
  4683  //    The GNU C Library is distributed in the hope that it will be useful,
  4684  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4685  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4686  //    Lesser General Public License for more details.
  4687  //
  4688  //    You should have received a copy of the GNU Lesser General Public
  4689  //    License along with the GNU C Library; if not, see
  4690  //    <https://www.gnu.org/licenses/>.
  4691  
  4692  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4693  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4694  //    This file is part of the GNU C Library.
  4695  //
  4696  //    The GNU C Library is free software; you can redistribute it and/or
  4697  //    modify it under the terms of the GNU Lesser General Public
  4698  //    License as published by the Free Software Foundation; either
  4699  //    version 2.1 of the License, or (at your option) any later version.
  4700  //
  4701  //    The GNU C Library is distributed in the hope that it will be useful,
  4702  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4703  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4704  //    Lesser General Public License for more details.
  4705  //
  4706  //    You should have received a copy of the GNU Lesser General Public
  4707  //    License along with the GNU C Library; if not, see
  4708  //    <https://www.gnu.org/licenses/>.
  4709  
  4710  // Never include this file directly; use <sys/types.h> instead.
  4711  
  4712  type Uint8_t = X__uint8_t   /* stdint-uintn.h:24:19 */
  4713  type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
  4714  type Uint32_t = X__uint32_t /* stdint-uintn.h:26:20 */
  4715  type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
  4716  
  4717  // Small types.
  4718  
  4719  // Signed.
  4720  type Int_least8_t = X__int_least8_t   /* stdint.h:43:24 */
  4721  type Int_least16_t = X__int_least16_t /* stdint.h:44:25 */
  4722  type Int_least32_t = X__int_least32_t /* stdint.h:45:25 */
  4723  type Int_least64_t = X__int_least64_t /* stdint.h:46:25 */
  4724  
  4725  // Unsigned.
  4726  type Uint_least8_t = X__uint_least8_t   /* stdint.h:49:25 */
  4727  type Uint_least16_t = X__uint_least16_t /* stdint.h:50:26 */
  4728  type Uint_least32_t = X__uint_least32_t /* stdint.h:51:26 */
  4729  type Uint_least64_t = X__uint_least64_t /* stdint.h:52:26 */
  4730  
  4731  // Fast types.
  4732  
  4733  // Signed.
  4734  type Int_fast8_t = int8   /* stdint.h:58:22 */
  4735  type Int_fast16_t = int64 /* stdint.h:60:19 */
  4736  type Int_fast32_t = int64 /* stdint.h:61:19 */
  4737  type Int_fast64_t = int64 /* stdint.h:62:19 */
  4738  
  4739  // Unsigned.
  4740  type Uint_fast8_t = uint8   /* stdint.h:71:24 */
  4741  type Uint_fast16_t = uint64 /* stdint.h:73:27 */
  4742  type Uint_fast32_t = uint64 /* stdint.h:74:27 */
  4743  type Uint_fast64_t = uint64 /* stdint.h:75:27 */
  4744  
  4745  // Types for `void *' pointers.
  4746  type Intptr_t = int64   /* stdint.h:87:19 */
  4747  type Uintptr_t = uint64 /* stdint.h:90:27 */
  4748  
  4749  // Largest integral types.
  4750  type Intmax_t = X__intmax_t   /* stdint.h:101:21 */
  4751  type Uintmax_t = X__uintmax_t /* stdint.h:102:22 */
  4752  
  4753  // Limits of integral types.
  4754  
  4755  // Minimum of signed integral types.
  4756  // Maximum of signed integral types.
  4757  
  4758  // Maximum of unsigned integral types.
  4759  
  4760  // Minimum of signed integral types having a minimum size.
  4761  // Maximum of signed integral types having a minimum size.
  4762  
  4763  // Maximum of unsigned integral types having a minimum size.
  4764  
  4765  // Minimum of fast signed integral types having a minimum size.
  4766  // Maximum of fast signed integral types having a minimum size.
  4767  
  4768  // Maximum of fast unsigned integral types having a minimum size.
  4769  
  4770  // Values to test for integral types holding `void *' pointer.
  4771  
  4772  // Minimum for largest signed integral type.
  4773  // Maximum for largest signed integral type.
  4774  
  4775  // Maximum for largest unsigned integral type.
  4776  
  4777  // Limits of other integer types.
  4778  
  4779  // Limits of `ptrdiff_t' type.
  4780  
  4781  // Limits of `sig_atomic_t'.
  4782  
  4783  // Limit of `size_t' type.
  4784  
  4785  // Limits of `wchar_t'.
  4786  // These constants might also be defined in <wchar.h>.
  4787  
  4788  // Limits of `wint_t'.
  4789  
  4790  // Signed.
  4791  
  4792  // Unsigned.
  4793  
  4794  // Maximal type.
  4795  
  4796  //
  4797  //
  4798  // Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
  4799  //
  4800  // Permission to use, copy, modify, distribute, and sell this software and its
  4801  // documentation for any purpose is hereby granted without fee, provided that
  4802  // the above copyright notice appear in all copies and that both that
  4803  // copyright notice and this permission notice appear in supporting
  4804  // documentation.
  4805  //
  4806  // The above copyright notice and this permission notice shall be included in
  4807  // all copies or substantial portions of the Software.
  4808  //
  4809  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  4810  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  4811  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  4812  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  4813  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  4814  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  4815  //
  4816  // Except as contained in this notice, the name of The Open Group shall not be
  4817  // used in advertising or otherwise to promote the sale, use or other dealings
  4818  // in this Software without prior written authorization from The Open Group.
  4819  //
  4820  
  4821  //	Xlib.h - Header definition and support file for the C subroutine
  4822  //	interface library (Xlib) to the X Window System Protocol (V11).
  4823  //	Structures and symbols starting with "_" are private to the library.
  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  //	POSIX Standard: 2.6 Primitive System Data Types	<sys/types.h>
  4843  
  4844  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4845  //    This file is part of the GNU C Library.
  4846  //
  4847  //    The GNU C Library is free software; you can redistribute it and/or
  4848  //    modify it under the terms of the GNU Lesser General Public
  4849  //    License as published by the Free Software Foundation; either
  4850  //    version 2.1 of the License, or (at your option) any later version.
  4851  //
  4852  //    The GNU C Library is distributed in the hope that it will be useful,
  4853  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4854  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4855  //    Lesser General Public License for more details.
  4856  //
  4857  //    You should have received a copy of the GNU Lesser General Public
  4858  //    License along with the GNU C Library; if not, see
  4859  //    <https://www.gnu.org/licenses/>.
  4860  
  4861  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4862  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4863  //    This file is part of the GNU C Library.
  4864  //
  4865  //    The GNU C Library is free software; you can redistribute it and/or
  4866  //    modify it under the terms of the GNU Lesser General Public
  4867  //    License as published by the Free Software Foundation; either
  4868  //    version 2.1 of the License, or (at your option) any later version.
  4869  //
  4870  //    The GNU C Library is distributed in the hope that it will be useful,
  4871  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4872  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4873  //    Lesser General Public License for more details.
  4874  //
  4875  //    You should have received a copy of the GNU Lesser General Public
  4876  //    License along with the GNU C Library; if not, see
  4877  //    <https://www.gnu.org/licenses/>.
  4878  
  4879  // Never include this file directly; use <sys/types.h> instead.
  4880  
  4881  type U_char = X__u_char     /* types.h:33:18 */
  4882  type U_short = X__u_short   /* types.h:34:19 */
  4883  type U_int = X__u_int       /* types.h:35:17 */
  4884  type U_long = X__u_long     /* types.h:36:18 */
  4885  type Quad_t = X__quad_t     /* types.h:37:18 */
  4886  type U_quad_t = X__u_quad_t /* types.h:38:20 */
  4887  type Fsid_t = X__fsid_t     /* types.h:39:18 */
  4888  type Loff_t = X__loff_t     /* types.h:42:18 */
  4889  
  4890  type Ino_t = X__ino64_t /* types.h:49:19 */
  4891  
  4892  type Dev_t = X__dev_t /* types.h:59:17 */
  4893  
  4894  type Gid_t = X__gid_t /* types.h:64:17 */
  4895  
  4896  type Mode_t = X__mode_t /* types.h:69:18 */
  4897  
  4898  type Nlink_t = X__nlink_t /* types.h:74:19 */
  4899  
  4900  type Uid_t = X__uid_t /* types.h:79:17 */
  4901  
  4902  type Off_t = X__off64_t /* types.h:87:19 */
  4903  
  4904  type Pid_t = X__pid_t /* types.h:97:17 */
  4905  
  4906  type Id_t = X__id_t /* types.h:103:16 */
  4907  
  4908  type Ssize_t = X__ssize_t /* types.h:108:19 */
  4909  
  4910  type Daddr_t = X__daddr_t /* types.h:114:19 */
  4911  type Caddr_t = X__caddr_t /* types.h:115:19 */
  4912  
  4913  type Key_t = X__key_t /* types.h:121:17 */
  4914  
  4915  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4916  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4917  //    This file is part of the GNU C Library.
  4918  //
  4919  //    The GNU C Library is free software; you can redistribute it and/or
  4920  //    modify it under the terms of the GNU Lesser General Public
  4921  //    License as published by the Free Software Foundation; either
  4922  //    version 2.1 of the License, or (at your option) any later version.
  4923  //
  4924  //    The GNU C Library is distributed in the hope that it will be useful,
  4925  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4926  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4927  //    Lesser General Public License for more details.
  4928  //
  4929  //    You should have received a copy of the GNU Lesser General Public
  4930  //    License along with the GNU C Library; if not, see
  4931  //    <https://www.gnu.org/licenses/>.
  4932  
  4933  // Never include this file directly; use <sys/types.h> instead.
  4934  
  4935  // Returned by `clock'.
  4936  type Clock_t = X__clock_t /* clock_t.h:7:19 */
  4937  
  4938  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4939  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4940  //    This file is part of the GNU C Library.
  4941  //
  4942  //    The GNU C Library is free software; you can redistribute it and/or
  4943  //    modify it under the terms of the GNU Lesser General Public
  4944  //    License as published by the Free Software Foundation; either
  4945  //    version 2.1 of the License, or (at your option) any later version.
  4946  //
  4947  //    The GNU C Library is distributed in the hope that it will be useful,
  4948  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4949  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4950  //    Lesser General Public License for more details.
  4951  //
  4952  //    You should have received a copy of the GNU Lesser General Public
  4953  //    License along with the GNU C Library; if not, see
  4954  //    <https://www.gnu.org/licenses/>.
  4955  
  4956  // Never include this file directly; use <sys/types.h> instead.
  4957  
  4958  // Clock ID used in clock and timer functions.
  4959  type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
  4960  
  4961  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4962  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4963  //    This file is part of the GNU C Library.
  4964  //
  4965  //    The GNU C Library is free software; you can redistribute it and/or
  4966  //    modify it under the terms of the GNU Lesser General Public
  4967  //    License as published by the Free Software Foundation; either
  4968  //    version 2.1 of the License, or (at your option) any later version.
  4969  //
  4970  //    The GNU C Library is distributed in the hope that it will be useful,
  4971  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4972  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4973  //    Lesser General Public License for more details.
  4974  //
  4975  //    You should have received a copy of the GNU Lesser General Public
  4976  //    License along with the GNU C Library; if not, see
  4977  //    <https://www.gnu.org/licenses/>.
  4978  
  4979  // Never include this file directly; use <sys/types.h> instead.
  4980  
  4981  // Returned by `time'.
  4982  type Time_t = X__time_t /* time_t.h:7:18 */
  4983  
  4984  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4985  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4986  //    This file is part of the GNU C Library.
  4987  //
  4988  //    The GNU C Library is free software; you can redistribute it and/or
  4989  //    modify it under the terms of the GNU Lesser General Public
  4990  //    License as published by the Free Software Foundation; either
  4991  //    version 2.1 of the License, or (at your option) any later version.
  4992  //
  4993  //    The GNU C Library is distributed in the hope that it will be useful,
  4994  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4995  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4996  //    Lesser General Public License for more details.
  4997  //
  4998  //    You should have received a copy of the GNU Lesser General Public
  4999  //    License along with the GNU C Library; if not, see
  5000  //    <https://www.gnu.org/licenses/>.
  5001  
  5002  // Never include this file directly; use <sys/types.h> instead.
  5003  
  5004  // Timer ID returned by `timer_create'.
  5005  type Timer_t = X__timer_t /* timer_t.h:7:19 */
  5006  
  5007  // Wide character type.
  5008  //    Locale-writers should change this as necessary to
  5009  //    be big enough to hold unique values not between 0 and 127,
  5010  //    and not (wchar_t) -1, for each defined multibyte character.
  5011  
  5012  // Define this type if we are doing the whole job,
  5013  //    or if we want this type in particular.
  5014  
  5015  // A null pointer constant.
  5016  
  5017  // Old compatibility names for C types.
  5018  type Ulong = uint64  /* types.h:148:27 */
  5019  type Ushort = uint16 /* types.h:149:28 */
  5020  type Uint = uint32   /* types.h:150:22 */
  5021  
  5022  // These size-specific names are used by some of the inet code.
  5023  
  5024  // Define intN_t types.
  5025  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5026  //    This file is part of the GNU C Library.
  5027  //
  5028  //    The GNU C Library is free software; you can redistribute it and/or
  5029  //    modify it under the terms of the GNU Lesser General Public
  5030  //    License as published by the Free Software Foundation; either
  5031  //    version 2.1 of the License, or (at your option) any later version.
  5032  //
  5033  //    The GNU C Library is distributed in the hope that it will be useful,
  5034  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5035  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5036  //    Lesser General Public License for more details.
  5037  //
  5038  //    You should have received a copy of the GNU Lesser General Public
  5039  //    License along with the GNU C Library; if not, see
  5040  //    <https://www.gnu.org/licenses/>.
  5041  
  5042  // These were defined by ISO C without the first `_'.
  5043  type U_int8_t = X__uint8_t   /* types.h:158:19 */
  5044  type U_int16_t = X__uint16_t /* types.h:159:20 */
  5045  type U_int32_t = X__uint32_t /* types.h:160:20 */
  5046  type U_int64_t = X__uint64_t /* types.h:161:20 */
  5047  
  5048  type Register_t = int32 /* types.h:164:13 */
  5049  
  5050  // It also defines `fd_set' and the FD_* macros for `select'.
  5051  // `fd_set' type and related macros, and `select'/`pselect' declarations.
  5052  //    Copyright (C) 1996-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  //	POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
  5070  
  5071  // Copyright (C) 1991-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  // Get definition of needed basic types.
  5089  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5090  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5091  //    This file is part of the GNU C Library.
  5092  //
  5093  //    The GNU C Library is free software; you can redistribute it and/or
  5094  //    modify it under the terms of the GNU Lesser General Public
  5095  //    License as published by the Free Software Foundation; either
  5096  //    version 2.1 of the License, or (at your option) any later version.
  5097  //
  5098  //    The GNU C Library is distributed in the hope that it will be useful,
  5099  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5100  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5101  //    Lesser General Public License for more details.
  5102  //
  5103  //    You should have received a copy of the GNU Lesser General Public
  5104  //    License along with the GNU C Library; if not, see
  5105  //    <https://www.gnu.org/licenses/>.
  5106  
  5107  // Never include this file directly; use <sys/types.h> instead.
  5108  
  5109  // Get __FD_* definitions.
  5110  // Copyright (C) 1997-2020 Free Software Foundation, Inc.
  5111  //    This file is part of the GNU C Library.
  5112  //
  5113  //    The GNU C Library is free software; you can redistribute it and/or
  5114  //    modify it under the terms of the GNU Lesser General Public
  5115  //    License as published by the Free Software Foundation; either
  5116  //    version 2.1 of the License, or (at your option) any later version.
  5117  //
  5118  //    The GNU C Library is distributed in the hope that it will be useful,
  5119  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5120  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5121  //    Lesser General Public License for more details.
  5122  //
  5123  //    You should have received a copy of the GNU Lesser General Public
  5124  //    License along with the GNU C Library; if not, see
  5125  //    <https://www.gnu.org/licenses/>.
  5126  
  5127  // Determine the wordsize from the preprocessor defines.
  5128  
  5129  // Both x86-64 and x32 use the 64-bit system call interface.
  5130  
  5131  // Get sigset_t.
  5132  
  5133  type X__sigset_t = struct{ F__val [16]uint64 } /* __sigset_t.h:8:3 */
  5134  
  5135  // A set of signals to be blocked, unblocked, or waited for.
  5136  type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
  5137  
  5138  // Get definition of timer specification structures.
  5139  
  5140  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5141  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5142  //    This file is part of the GNU C Library.
  5143  //
  5144  //    The GNU C Library is free software; you can redistribute it and/or
  5145  //    modify it under the terms of the GNU Lesser General Public
  5146  //    License as published by the Free Software Foundation; either
  5147  //    version 2.1 of the License, or (at your option) any later version.
  5148  //
  5149  //    The GNU C Library is distributed in the hope that it will be useful,
  5150  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5151  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5152  //    Lesser General Public License for more details.
  5153  //
  5154  //    You should have received a copy of the GNU Lesser General Public
  5155  //    License along with the GNU C Library; if not, see
  5156  //    <https://www.gnu.org/licenses/>.
  5157  
  5158  // Never include this file directly; use <sys/types.h> instead.
  5159  
  5160  // A time value that is accurate to the nearest
  5161  //    microsecond but also has a range of years.
  5162  type Timeval = struct {
  5163  	Ftv_sec  X__time_t
  5164  	Ftv_usec X__suseconds_t
  5165  } /* struct_timeval.h:8:1 */
  5166  
  5167  // NB: Include guard matches what <linux/time.h> uses.
  5168  
  5169  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5170  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5171  //    This file is part of the GNU C Library.
  5172  //
  5173  //    The GNU C Library is free software; you can redistribute it and/or
  5174  //    modify it under the terms of the GNU Lesser General Public
  5175  //    License as published by the Free Software Foundation; either
  5176  //    version 2.1 of the License, or (at your option) any later version.
  5177  //
  5178  //    The GNU C Library is distributed in the hope that it will be useful,
  5179  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5180  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5181  //    Lesser General Public License for more details.
  5182  //
  5183  //    You should have received a copy of the GNU Lesser General Public
  5184  //    License along with the GNU C Library; if not, see
  5185  //    <https://www.gnu.org/licenses/>.
  5186  
  5187  // Never include this file directly; use <sys/types.h> instead.
  5188  
  5189  // Endian macros for string.h functions
  5190  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  5191  //    This file is part of the GNU C Library.
  5192  //
  5193  //    The GNU C Library is free software; you can redistribute it and/or
  5194  //    modify it under the terms of the GNU Lesser General Public
  5195  //    License as published by the Free Software Foundation; either
  5196  //    version 2.1 of the License, or (at your option) any later version.
  5197  //
  5198  //    The GNU C Library is distributed in the hope that it will be useful,
  5199  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5200  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5201  //    Lesser General Public License for more details.
  5202  //
  5203  //    You should have received a copy of the GNU Lesser General Public
  5204  //    License along with the GNU C Library; if not, see
  5205  //    <http://www.gnu.org/licenses/>.
  5206  
  5207  // POSIX.1b structure for a time value.  This is like a `struct timeval' but
  5208  //    has nanoseconds instead of microseconds.
  5209  type Timespec = struct {
  5210  	Ftv_sec  X__time_t
  5211  	Ftv_nsec X__syscall_slong_t
  5212  } /* struct_timespec.h:10:1 */
  5213  
  5214  type Suseconds_t = X__suseconds_t /* select.h:43:23 */
  5215  
  5216  // The fd_set member is required to be an array of longs.
  5217  type X__fd_mask = int64 /* select.h:49:18 */
  5218  
  5219  // Some versions of <linux/posix_types.h> define this macros.
  5220  // It's easier to assume 8-bit bytes than to get CHAR_BIT.
  5221  
  5222  // fd_set for select and pselect.
  5223  type Fd_set = struct{ F__fds_bits [16]X__fd_mask } /* select.h:70:5 */
  5224  
  5225  // Maximum number of file descriptors in `fd_set'.
  5226  
  5227  // Sometimes the fd_set member is assumed to have this type.
  5228  type Fd_mask = X__fd_mask /* select.h:77:19 */
  5229  
  5230  // Define some inlines helping to catch common problems.
  5231  
  5232  type Blksize_t = X__blksize_t /* types.h:185:21 */
  5233  
  5234  // Types from the Large File Support interface.
  5235  type Blkcnt_t = X__blkcnt64_t     /* types.h:205:22 */ // Type to count number of disk blocks.
  5236  type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
  5237  type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
  5238  
  5239  // Now add the thread types.
  5240  // Declaration of common pthread types for all architectures.
  5241  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5242  //    This file is part of the GNU C Library.
  5243  //
  5244  //    The GNU C Library is free software; you can redistribute it and/or
  5245  //    modify it under the terms of the GNU Lesser General Public
  5246  //    License as published by the Free Software Foundation; either
  5247  //    version 2.1 of the License, or (at your option) any later version.
  5248  //
  5249  //    The GNU C Library is distributed in the hope that it will be useful,
  5250  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5251  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5252  //    Lesser General Public License for more details.
  5253  //
  5254  //    You should have received a copy of the GNU Lesser General Public
  5255  //    License along with the GNU C Library; if not, see
  5256  //    <https://www.gnu.org/licenses/>.
  5257  
  5258  // For internal mutex and condition variable definitions.
  5259  // Common threading primitives definitions for both POSIX and C11.
  5260  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5261  //    This file is part of the GNU C Library.
  5262  //
  5263  //    The GNU C Library is free software; you can redistribute it and/or
  5264  //    modify it under the terms of the GNU Lesser General Public
  5265  //    License as published by the Free Software Foundation; either
  5266  //    version 2.1 of the License, or (at your option) any later version.
  5267  //
  5268  //    The GNU C Library is distributed in the hope that it will be useful,
  5269  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5270  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5271  //    Lesser General Public License for more details.
  5272  //
  5273  //    You should have received a copy of the GNU Lesser General Public
  5274  //    License along with the GNU C Library; if not, see
  5275  //    <https://www.gnu.org/licenses/>.
  5276  
  5277  // Arch-specific definitions.  Each architecture must define the following
  5278  //    macros to define the expected sizes of pthread data types:
  5279  //
  5280  //    __SIZEOF_PTHREAD_ATTR_T        - size of pthread_attr_t.
  5281  //    __SIZEOF_PTHREAD_MUTEX_T       - size of pthread_mutex_t.
  5282  //    __SIZEOF_PTHREAD_MUTEXATTR_T   - size of pthread_mutexattr_t.
  5283  //    __SIZEOF_PTHREAD_COND_T        - size of pthread_cond_t.
  5284  //    __SIZEOF_PTHREAD_CONDATTR_T    - size of pthread_condattr_t.
  5285  //    __SIZEOF_PTHREAD_RWLOCK_T      - size of pthread_rwlock_t.
  5286  //    __SIZEOF_PTHREAD_RWLOCKATTR_T  - size of pthread_rwlockattr_t.
  5287  //    __SIZEOF_PTHREAD_BARRIER_T     - size of pthread_barrier_t.
  5288  //    __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
  5289  //
  5290  //    The additional macro defines any constraint for the lock alignment
  5291  //    inside the thread structures:
  5292  //
  5293  //    __LOCK_ALIGNMENT - for internal lock/futex usage.
  5294  //
  5295  //    Same idea but for the once locking primitive:
  5296  //
  5297  //    __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
  5298  
  5299  // Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5300  //    This file is part of the GNU C Library.
  5301  //
  5302  //    The GNU C Library is free software; you can redistribute it and/or
  5303  //    modify it under the terms of the GNU Lesser General Public
  5304  //    License as published by the Free Software Foundation; either
  5305  //    version 2.1 of the License, or (at your option) any later version.
  5306  //
  5307  //    The GNU C Library is distributed in the hope that it will be useful,
  5308  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5309  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5310  //    Lesser General Public License for more details.
  5311  //
  5312  //    You should have received a copy of the GNU Lesser General Public
  5313  //    License along with the GNU C Library; if not, see
  5314  //    <https://www.gnu.org/licenses/>.
  5315  
  5316  // Determine the wordsize from the preprocessor defines.
  5317  
  5318  // Both x86-64 and x32 use the 64-bit system call interface.
  5319  
  5320  // Common definition of pthread_mutex_t.
  5321  
  5322  type X__pthread_internal_list = struct {
  5323  	F__prev uintptr
  5324  	F__next uintptr
  5325  } /* thread-shared-types.h:49:9 */
  5326  
  5327  // Type to count file system inodes.
  5328  
  5329  // Now add the thread types.
  5330  // Declaration of common pthread types for all architectures.
  5331  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5332  //    This file is part of the GNU C Library.
  5333  //
  5334  //    The GNU C Library is free software; you can redistribute it and/or
  5335  //    modify it under the terms of the GNU Lesser General Public
  5336  //    License as published by the Free Software Foundation; either
  5337  //    version 2.1 of the License, or (at your option) any later version.
  5338  //
  5339  //    The GNU C Library is distributed in the hope that it will be useful,
  5340  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5341  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5342  //    Lesser General Public License for more details.
  5343  //
  5344  //    You should have received a copy of the GNU Lesser General Public
  5345  //    License along with the GNU C Library; if not, see
  5346  //    <https://www.gnu.org/licenses/>.
  5347  
  5348  // For internal mutex and condition variable definitions.
  5349  // Common threading primitives definitions for both POSIX and C11.
  5350  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5351  //    This file is part of the GNU C Library.
  5352  //
  5353  //    The GNU C Library is free software; you can redistribute it and/or
  5354  //    modify it under the terms of the GNU Lesser General Public
  5355  //    License as published by the Free Software Foundation; either
  5356  //    version 2.1 of the License, or (at your option) any later version.
  5357  //
  5358  //    The GNU C Library is distributed in the hope that it will be useful,
  5359  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5360  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5361  //    Lesser General Public License for more details.
  5362  //
  5363  //    You should have received a copy of the GNU Lesser General Public
  5364  //    License along with the GNU C Library; if not, see
  5365  //    <https://www.gnu.org/licenses/>.
  5366  
  5367  // Arch-specific definitions.  Each architecture must define the following
  5368  //    macros to define the expected sizes of pthread data types:
  5369  //
  5370  //    __SIZEOF_PTHREAD_ATTR_T        - size of pthread_attr_t.
  5371  //    __SIZEOF_PTHREAD_MUTEX_T       - size of pthread_mutex_t.
  5372  //    __SIZEOF_PTHREAD_MUTEXATTR_T   - size of pthread_mutexattr_t.
  5373  //    __SIZEOF_PTHREAD_COND_T        - size of pthread_cond_t.
  5374  //    __SIZEOF_PTHREAD_CONDATTR_T    - size of pthread_condattr_t.
  5375  //    __SIZEOF_PTHREAD_RWLOCK_T      - size of pthread_rwlock_t.
  5376  //    __SIZEOF_PTHREAD_RWLOCKATTR_T  - size of pthread_rwlockattr_t.
  5377  //    __SIZEOF_PTHREAD_BARRIER_T     - size of pthread_barrier_t.
  5378  //    __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
  5379  //
  5380  //    The additional macro defines any constraint for the lock alignment
  5381  //    inside the thread structures:
  5382  //
  5383  //    __LOCK_ALIGNMENT - for internal lock/futex usage.
  5384  //
  5385  //    Same idea but for the once locking primitive:
  5386  //
  5387  //    __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
  5388  
  5389  // Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5390  //    This file is part of the GNU C Library.
  5391  //
  5392  //    The GNU C Library is free software; you can redistribute it and/or
  5393  //    modify it under the terms of the GNU Lesser General Public
  5394  //    License as published by the Free Software Foundation; either
  5395  //    version 2.1 of the License, or (at your option) any later version.
  5396  //
  5397  //    The GNU C Library is distributed in the hope that it will be useful,
  5398  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5399  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5400  //    Lesser General Public License for more details.
  5401  //
  5402  //    You should have received a copy of the GNU Lesser General Public
  5403  //    License along with the GNU C Library; if not, see
  5404  //    <https://www.gnu.org/licenses/>.
  5405  
  5406  // Determine the wordsize from the preprocessor defines.
  5407  
  5408  // Both x86-64 and x32 use the 64-bit system call interface.
  5409  
  5410  // Common definition of pthread_mutex_t.
  5411  
  5412  type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
  5413  
  5414  type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
  5415  
  5416  type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
  5417  
  5418  // Arch-specific mutex definitions.  A generic implementation is provided
  5419  //    by sysdeps/nptl/bits/struct_mutex.h.  If required, an architecture
  5420  //    can override it by defining:
  5421  //
  5422  //    1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
  5423  //       definition).  It should contains at least the internal members
  5424  //       defined in the generic version.
  5425  //
  5426  //    2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
  5427  //       atomic operations.
  5428  //
  5429  //    3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
  5430  //       It should initialize the mutex internal flag.
  5431  
  5432  // x86 internal mutex struct definitions.
  5433  //    Copyright (C) 2019-2020 Free Software Foundation, Inc.
  5434  //    This file is part of the GNU C Library.
  5435  //
  5436  //    The GNU C Library is free software; you can redistribute it and/or
  5437  //    modify it under the terms of the GNU Lesser General Public
  5438  //    License as published by the Free Software Foundation; either
  5439  //    version 2.1 of the License, or (at your option) any later version.
  5440  //
  5441  //    The GNU C Library is distributed in the hope that it will be useful,
  5442  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5443  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5444  //    Lesser General Public License for more details.
  5445  //
  5446  //    You should have received a copy of the GNU Lesser General Public
  5447  //    License along with the GNU C Library; if not, see
  5448  //    <http://www.gnu.org/licenses/>.
  5449  
  5450  type X__pthread_mutex_s = struct {
  5451  	F__lock    int32
  5452  	F__count   uint32
  5453  	F__owner   int32
  5454  	F__nusers  uint32
  5455  	F__kind    int32
  5456  	F__spins   int16
  5457  	F__elision int16
  5458  	F__list    X__pthread_list_t
  5459  } /* struct_mutex.h:22:1 */
  5460  
  5461  // Arch-sepecific read-write lock definitions.  A generic implementation is
  5462  //    provided by struct_rwlock.h.  If required, an architecture can override it
  5463  //    by defining:
  5464  //
  5465  //    1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
  5466  //       It should contain at least the internal members defined in the
  5467  //       generic version.
  5468  //
  5469  //    2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
  5470  //       It should initialize the rwlock internal type.
  5471  
  5472  // x86 internal rwlock struct definitions.
  5473  //    Copyright (C) 2019-2020 Free Software Foundation, Inc.
  5474  //
  5475  //    This file is part of the GNU C Library.
  5476  //
  5477  //    The GNU C Library is free software; you can redistribute it and/or
  5478  //    modify it under the terms of the GNU Lesser General Public
  5479  //    License as published by the Free Software Foundation; either
  5480  //    version 2.1 of the License, or (at your option) any later version.
  5481  //
  5482  //    The GNU C Library is distributed in the hope that it will be useful,
  5483  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5484  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5485  //    Lesser General Public License for more details.
  5486  //
  5487  //    You should have received a copy of the GNU Lesser General Public
  5488  //    License along with the GNU C Library; if not, see
  5489  //    <http://www.gnu.org/licenses/>.
  5490  
  5491  type X__pthread_rwlock_arch_t = struct {
  5492  	F__readers       uint32
  5493  	F__writers       uint32
  5494  	F__wrphase_futex uint32
  5495  	F__writers_futex uint32
  5496  	F__pad3          uint32
  5497  	F__pad4          uint32
  5498  	F__cur_writer    int32
  5499  	F__shared        int32
  5500  	F__rwelision     int8
  5501  	F__pad1          [7]uint8
  5502  	F__pad2          uint64
  5503  	F__flags         uint32
  5504  	F__ccgo_pad1     [4]byte
  5505  } /* struct_rwlock.h:23:1 */
  5506  
  5507  // Common definition of pthread_cond_t.
  5508  
  5509  type X__pthread_cond_s = struct {
  5510  	F__0            struct{ F__wseq uint64 }
  5511  	F__8            struct{ F__g1_start uint64 }
  5512  	F__g_refs       [2]uint32
  5513  	F__g_size       [2]uint32
  5514  	F__g1_orig_size uint32
  5515  	F__wrefs        uint32
  5516  	F__g_signals    [2]uint32
  5517  } /* thread-shared-types.h:92:1 */
  5518  
  5519  // Thread identifiers.  The structure of the attribute type is not
  5520  //    exposed on purpose.
  5521  type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
  5522  
  5523  // Data structures for mutex handling.  The structure of the attribute
  5524  //    type is not exposed on purpose.
  5525  type Pthread_mutexattr_t = struct {
  5526  	F__ccgo_pad1 [0]uint32
  5527  	F__size      [4]int8
  5528  } /* pthreadtypes.h:36:3 */
  5529  
  5530  // Data structure for condition variable handling.  The structure of
  5531  //    the attribute type is not exposed on purpose.
  5532  type Pthread_condattr_t = struct {
  5533  	F__ccgo_pad1 [0]uint32
  5534  	F__size      [4]int8
  5535  } /* pthreadtypes.h:45:3 */
  5536  
  5537  // Keys for thread-specific data
  5538  type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
  5539  
  5540  // Once-only execution
  5541  type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
  5542  
  5543  type Pthread_attr_t1 = struct {
  5544  	F__ccgo_pad1 [0]uint64
  5545  	F__size      [56]int8
  5546  } /* pthreadtypes.h:56:1 */
  5547  
  5548  type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
  5549  
  5550  type Pthread_mutex_t = struct{ F__data X__pthread_mutex_s } /* pthreadtypes.h:72:3 */
  5551  
  5552  type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
  5553  
  5554  // Data structure for reader-writer lock variable handling.  The
  5555  //    structure of the attribute type is deliberately not exposed.
  5556  type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
  5557  
  5558  type Pthread_rwlockattr_t = struct {
  5559  	F__ccgo_pad1 [0]uint64
  5560  	F__size      [8]int8
  5561  } /* pthreadtypes.h:97:3 */
  5562  
  5563  // POSIX spinlock data type.
  5564  type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
  5565  
  5566  // POSIX barriers data type.  The structure of the type is
  5567  //    deliberately not exposed.
  5568  type Pthread_barrier_t = struct {
  5569  	F__ccgo_pad1 [0]uint64
  5570  	F__size      [32]int8
  5571  } /* pthreadtypes.h:112:3 */
  5572  
  5573  type Pthread_barrierattr_t = struct {
  5574  	F__ccgo_pad1 [0]uint32
  5575  	F__size      [4]int8
  5576  } /* pthreadtypes.h:118:3 */
  5577  
  5578  // Definitions for the X window system likely to be used by applications
  5579  
  5580  //**********************************************************
  5581  //
  5582  // Copyright 1987, 1998  The Open Group
  5583  //
  5584  // Permission to use, copy, modify, distribute, and sell this software and its
  5585  // documentation for any purpose is hereby granted without fee, provided that
  5586  // the above copyright notice appear in all copies and that both that
  5587  // copyright notice and this permission notice appear in supporting
  5588  // documentation.
  5589  //
  5590  // The above copyright notice and this permission notice shall be included in
  5591  // all copies or substantial portions of the Software.
  5592  //
  5593  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  5594  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  5595  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  5596  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  5597  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  5598  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  5599  //
  5600  // Except as contained in this notice, the name of The Open Group shall not be
  5601  // used in advertising or otherwise to promote the sale, use or other dealings
  5602  // in this Software without prior written authorization from The Open Group.
  5603  //
  5604  //
  5605  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  5606  //
  5607  //                         All Rights Reserved
  5608  //
  5609  // Permission to use, copy, modify, and distribute this software and its
  5610  // documentation for any purpose and without fee is hereby granted,
  5611  // provided that the above copyright notice appear in all copies and that
  5612  // both that copyright notice and this permission notice appear in
  5613  // supporting documentation, and that the name of Digital not be
  5614  // used in advertising or publicity pertaining to distribution of the
  5615  // software without specific, written prior permission.
  5616  //
  5617  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  5618  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  5619  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  5620  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  5621  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  5622  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  5623  // SOFTWARE.
  5624  //
  5625  // *****************************************************************
  5626  
  5627  // Resources
  5628  
  5629  // _XSERVER64 must ONLY be defined when compiling X server sources on
  5630  // systems where unsigned long is not 32 bits, must NOT be used in
  5631  // client or library code.
  5632  type XID = uint64      /* X.h:66:23 */
  5633  type Mask = uint64     /* X.h:70:23 */
  5634  type Atom = uint64     /* X.h:74:23 */ // Also in Xdefs.h
  5635  type VisualID = uint64 /* X.h:76:23 */
  5636  type Time = uint64     /* X.h:77:23 */
  5637  
  5638  type Window = XID   /* X.h:96:13 */
  5639  type Drawable = XID /* X.h:97:13 */
  5640  type Font = XID     /* X.h:100:13 */
  5641  type Pixmap = XID   /* X.h:102:13 */
  5642  type Cursor = XID   /* X.h:103:13 */
  5643  type Colormap = XID /* X.h:104:13 */
  5644  type GContext = XID /* X.h:105:13 */
  5645  type KeySym = XID   /* X.h:106:13 */
  5646  
  5647  type KeyCode = uint8 /* X.h:108:23 */
  5648  
  5649  // A null pointer constant.
  5650  
  5651  // Offset of member MEMBER in a struct of type TYPE.
  5652  
  5653  // Type whose alignment is supported in every context and is at least
  5654  //    as great as that of any standard type not using alignment
  5655  //    specifiers.
  5656  type Max_align_t = struct {
  5657  	F__max_align_ll int64
  5658  	F__max_align_ld float64
  5659  } /* stddef.h:426:3 */
  5660  
  5661  // API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
  5662  //    November 2000. Its presence is indicated through the following macro.
  5663  
  5664  // The Xlib structs are full of implicit padding to properly align members.
  5665  //    We can't clean that up without breaking ABI, so tell clang not to bother
  5666  //    complaining about it.
  5667  
  5668  type XPointer = uintptr /* Xlib.h:80:14 */
  5669  
  5670  // macros for screen oriented applications (toolkit)
  5671  
  5672  // Extensions need a way to hang private data on some structures.
  5673  type X_XExtData = struct {
  5674  	Fnumber       int32
  5675  	F__ccgo_pad1  [4]byte
  5676  	Fnext         uintptr
  5677  	Ffree_private uintptr
  5678  	Fprivate_data XPointer
  5679  } /* Xlib.h:148:9 */
  5680  
  5681  // macros for screen oriented applications (toolkit)
  5682  
  5683  // Extensions need a way to hang private data on some structures.
  5684  type XExtData = X_XExtData /* Xlib.h:155:3 */
  5685  
  5686  // This file contains structures used by the extension mechanism.
  5687  type XExtCodes = struct {
  5688  	Fextension    int32
  5689  	Fmajor_opcode int32
  5690  	Ffirst_event  int32
  5691  	Ffirst_error  int32
  5692  } /* Xlib.h:165:3 */
  5693  
  5694  // Data structure for retrieving info about pixmap formats.
  5695  
  5696  type XPixmapFormatValues = struct {
  5697  	Fdepth          int32
  5698  	Fbits_per_pixel int32
  5699  	Fscanline_pad   int32
  5700  } /* Xlib.h:175:3 */
  5701  
  5702  // Data structure for setting graphics context.
  5703  type XGCValues = struct {
  5704  	Ffunction           int32
  5705  	F__ccgo_pad1        [4]byte
  5706  	Fplane_mask         uint64
  5707  	Fforeground         uint64
  5708  	Fbackground         uint64
  5709  	Fline_width         int32
  5710  	Fline_style         int32
  5711  	Fcap_style          int32
  5712  	Fjoin_style         int32
  5713  	Ffill_style         int32
  5714  	Ffill_rule          int32
  5715  	Farc_mode           int32
  5716  	F__ccgo_pad2        [4]byte
  5717  	Ftile               Pixmap
  5718  	Fstipple            Pixmap
  5719  	Fts_x_origin        int32
  5720  	Fts_y_origin        int32
  5721  	Ffont               Font
  5722  	Fsubwindow_mode     int32
  5723  	Fgraphics_exposures int32
  5724  	Fclip_x_origin      int32
  5725  	Fclip_y_origin      int32
  5726  	Fclip_mask          Pixmap
  5727  	Fdash_offset        int32
  5728  	Fdashes             int8
  5729  	F__ccgo_pad3        [3]byte
  5730  } /* Xlib.h:207:3 */
  5731  
  5732  // Graphics context.  The contents of this structure are implementation
  5733  // dependent.  A GC should be treated as opaque by application code.
  5734  
  5735  type X_XGC = struct {
  5736  	Fext_data uintptr
  5737  	Fgid      GContext
  5738  	Frects    int32
  5739  	Fdashes   int32
  5740  	Fdirty    uint64
  5741  	Fvalues   XGCValues
  5742  } /* Xlib.h:214:9 */
  5743  
  5744  // Graphics context.  The contents of this structure are implementation
  5745  // dependent.  A GC should be treated as opaque by application code.
  5746  
  5747  type GC = uintptr /* Xlib.h:222:1 */
  5748  
  5749  // Visual structure; contains information about colormapping possible.
  5750  type Visual = struct {
  5751  	Fext_data     uintptr
  5752  	Fvisualid     VisualID
  5753  	Fclass        int32
  5754  	F__ccgo_pad1  [4]byte
  5755  	Fred_mask     uint64
  5756  	Fgreen_mask   uint64
  5757  	Fblue_mask    uint64
  5758  	Fbits_per_rgb int32
  5759  	Fmap_entries  int32
  5760  } /* Xlib.h:238:3 */
  5761  
  5762  // Depth structure; contains information for each possible depth.
  5763  type Depth = struct {
  5764  	Fdepth    int32
  5765  	Fnvisuals int32
  5766  	Fvisuals  uintptr
  5767  } /* Xlib.h:247:3 */
  5768  
  5769  // Information about the screen.  The contents of this structure are
  5770  // implementation dependent.  A Screen should be treated as opaque
  5771  // by application code.
  5772  
  5773  type X_XDisplay = struct {
  5774  	Fext_data            uintptr
  5775  	Ffree_funcs          uintptr
  5776  	Ffd                  int32
  5777  	Fconn_checker        int32
  5778  	Fproto_major_version int32
  5779  	Fproto_minor_version int32
  5780  	Fvendor              uintptr
  5781  	Fresource_base       XID
  5782  	Fresource_mask       XID
  5783  	Fresource_id         XID
  5784  	Fresource_shift      int32
  5785  	F__ccgo_pad1         [4]byte
  5786  	Fresource_alloc      uintptr
  5787  	Fbyte_order          int32
  5788  	Fbitmap_unit         int32
  5789  	Fbitmap_pad          int32
  5790  	Fbitmap_bit_order    int32
  5791  	Fnformats            int32
  5792  	F__ccgo_pad2         [4]byte
  5793  	Fpixmap_format       uintptr
  5794  	Fvnumber             int32
  5795  	Frelease             int32
  5796  	Fhead                uintptr
  5797  	Ftail                uintptr
  5798  	Fqlen                int32
  5799  	F__ccgo_pad3         [4]byte
  5800  	Flast_request_read   uint64
  5801  	Frequest             uint64
  5802  	Flast_req            uintptr
  5803  	Fbuffer              uintptr
  5804  	Fbufptr              uintptr
  5805  	Fbufmax              uintptr
  5806  	Fmax_request_size    uint32
  5807  	F__ccgo_pad4         [4]byte
  5808  	Fdb                  uintptr
  5809  	Fsynchandler         uintptr
  5810  	Fdisplay_name        uintptr
  5811  	Fdefault_screen      int32
  5812  	Fnscreens            int32
  5813  	Fscreens             uintptr
  5814  	Fmotion_buffer       uint64
  5815  	Fflags               uint64
  5816  	Fmin_keycode         int32
  5817  	Fmax_keycode         int32
  5818  	Fkeysyms             uintptr
  5819  	Fmodifiermap         uintptr
  5820  	Fkeysyms_per_keycode int32
  5821  	F__ccgo_pad5         [4]byte
  5822  	Fxdefaults           uintptr
  5823  	Fscratch_buffer      uintptr
  5824  	Fscratch_length      uint64
  5825  	Fext_number          int32
  5826  	F__ccgo_pad6         [4]byte
  5827  	Fext_procs           uintptr
  5828  	Fevent_vec           [128]uintptr
  5829  	Fwire_vec            [128]uintptr
  5830  	Flock_meaning        KeySym
  5831  	Flock                uintptr
  5832  	Fasync_handlers      uintptr
  5833  	Fbigreq_size         uint64
  5834  	Flock_fns            uintptr
  5835  	Fidlist_alloc        uintptr
  5836  	Fkey_bindings        uintptr
  5837  	Fcursor_font         Font
  5838  	Fatoms               uintptr
  5839  	Fmode_switch         uint32
  5840  	Fnum_lock            uint32
  5841  	Fcontext_db          uintptr
  5842  	Ferror_vec           uintptr
  5843  	Fcms                 struct {
  5844  		FdefaultCCCs            XPointer
  5845  		FclientCmaps            XPointer
  5846  		FperVisualIntensityMaps XPointer
  5847  	}
  5848  	Fim_filters             uintptr
  5849  	Fqfree                  uintptr
  5850  	Fnext_event_serial_num  uint64
  5851  	Fflushes                uintptr
  5852  	Fim_fd_info             uintptr
  5853  	Fim_fd_length           int32
  5854  	F__ccgo_pad7            [4]byte
  5855  	Fconn_watchers          uintptr
  5856  	Fwatcher_count          int32
  5857  	F__ccgo_pad8            [4]byte
  5858  	Ffiledes                XPointer
  5859  	Fsavedsynchandler       uintptr
  5860  	Fresource_max           XID
  5861  	Fxcmisc_opcode          int32
  5862  	F__ccgo_pad9            [4]byte
  5863  	Fxkb_info               uintptr
  5864  	Ftrans_conn             uintptr
  5865  	Fxcb                    uintptr
  5866  	Fnext_cookie            uint32
  5867  	F__ccgo_pad10           [4]byte
  5868  	Fgeneric_event_vec      [128]uintptr
  5869  	Fgeneric_event_copy_vec [128]uintptr
  5870  	Fcookiejar              uintptr
  5871  	Ferror_threads          uintptr
  5872  	Fexit_handler           XIOErrorExitHandler
  5873  	Fexit_handler_data      uintptr
  5874  } /* Xlib.h:255:1 */
  5875  
  5876  // Forward declare before use for C++
  5877  
  5878  type Screen = struct {
  5879  	Fext_data        uintptr
  5880  	Fdisplay         uintptr
  5881  	Froot            Window
  5882  	Fwidth           int32
  5883  	Fheight          int32
  5884  	Fmwidth          int32
  5885  	Fmheight         int32
  5886  	Fndepths         int32
  5887  	F__ccgo_pad1     [4]byte
  5888  	Fdepths          uintptr
  5889  	Froot_depth      int32
  5890  	F__ccgo_pad2     [4]byte
  5891  	Froot_visual     uintptr
  5892  	Fdefault_gc      GC
  5893  	Fcmap            Colormap
  5894  	Fwhite_pixel     uint64
  5895  	Fblack_pixel     uint64
  5896  	Fmax_maps        int32
  5897  	Fmin_maps        int32
  5898  	Fbacking_store   int32
  5899  	Fsave_unders     int32
  5900  	Froot_input_mask int64
  5901  } /* Xlib.h:275:3 */
  5902  
  5903  // Format structure; describes ZFormat data the screen will understand.
  5904  type ScreenFormat = struct {
  5905  	Fext_data       uintptr
  5906  	Fdepth          int32
  5907  	Fbits_per_pixel int32
  5908  	Fscanline_pad   int32
  5909  	F__ccgo_pad1    [4]byte
  5910  } /* Xlib.h:285:3 */
  5911  
  5912  // Data structure for setting window attributes.
  5913  type XSetWindowAttributes = struct {
  5914  	Fbackground_pixmap     Pixmap
  5915  	Fbackground_pixel      uint64
  5916  	Fborder_pixmap         Pixmap
  5917  	Fborder_pixel          uint64
  5918  	Fbit_gravity           int32
  5919  	Fwin_gravity           int32
  5920  	Fbacking_store         int32
  5921  	F__ccgo_pad1           [4]byte
  5922  	Fbacking_planes        uint64
  5923  	Fbacking_pixel         uint64
  5924  	Fsave_under            int32
  5925  	F__ccgo_pad2           [4]byte
  5926  	Fevent_mask            int64
  5927  	Fdo_not_propagate_mask int64
  5928  	Foverride_redirect     int32
  5929  	F__ccgo_pad3           [4]byte
  5930  	Fcolormap              Colormap
  5931  	Fcursor                Cursor
  5932  } /* Xlib.h:306:3 */
  5933  
  5934  type XWindowAttributes = struct {
  5935  	Fx                     int32
  5936  	Fy                     int32
  5937  	Fwidth                 int32
  5938  	Fheight                int32
  5939  	Fborder_width          int32
  5940  	Fdepth                 int32
  5941  	Fvisual                uintptr
  5942  	Froot                  Window
  5943  	Fclass                 int32
  5944  	Fbit_gravity           int32
  5945  	Fwin_gravity           int32
  5946  	Fbacking_store         int32
  5947  	Fbacking_planes        uint64
  5948  	Fbacking_pixel         uint64
  5949  	Fsave_under            int32
  5950  	F__ccgo_pad1           [4]byte
  5951  	Fcolormap              Colormap
  5952  	Fmap_installed         int32
  5953  	Fmap_state             int32
  5954  	Fall_event_masks       int64
  5955  	Fyour_event_mask       int64
  5956  	Fdo_not_propagate_mask int64
  5957  	Foverride_redirect     int32
  5958  	F__ccgo_pad2           [4]byte
  5959  	Fscreen                uintptr
  5960  } /* Xlib.h:334:3 */
  5961  
  5962  // Data structure for host setting; getting routines.
  5963  //
  5964  
  5965  type XHostAddress = struct {
  5966  	Ffamily  int32
  5967  	Flength  int32
  5968  	Faddress uintptr
  5969  } /* Xlib.h:345:3 */
  5970  
  5971  // Data structure for ServerFamilyInterpreted addresses in host routines
  5972  type XServerInterpretedAddress = struct {
  5973  	Ftypelength  int32
  5974  	Fvaluelength int32
  5975  	Ftype        uintptr
  5976  	Fvalue       uintptr
  5977  } /* Xlib.h:355:3 */
  5978  
  5979  // Data structure for "image" data, used by image manipulation routines.
  5980  type X_XImage = struct {
  5981  	Fwidth            int32
  5982  	Fheight           int32
  5983  	Fxoffset          int32
  5984  	Fformat           int32
  5985  	Fdata             uintptr
  5986  	Fbyte_order       int32
  5987  	Fbitmap_unit      int32
  5988  	Fbitmap_bit_order int32
  5989  	Fbitmap_pad       int32
  5990  	Fdepth            int32
  5991  	Fbytes_per_line   int32
  5992  	Fbits_per_pixel   int32
  5993  	F__ccgo_pad1      [4]byte
  5994  	Fred_mask         uint64
  5995  	Fgreen_mask       uint64
  5996  	Fblue_mask        uint64
  5997  	Fobdata           XPointer
  5998  	Ff                struct {
  5999  		Fcreate_image  uintptr
  6000  		Fdestroy_image uintptr
  6001  		Fget_pixel     uintptr
  6002  		Fput_pixel     uintptr
  6003  		Fsub_image     uintptr
  6004  		Fadd_pixel     uintptr
  6005  	}
  6006  } /* Xlib.h:360:9 */
  6007  
  6008  // Data structure for "image" data, used by image manipulation routines.
  6009  type Funcs = struct {
  6010  	Fcreate_image  uintptr
  6011  	Fdestroy_image uintptr
  6012  	Fget_pixel     uintptr
  6013  	Fput_pixel     uintptr
  6014  	Fsub_image     uintptr
  6015  	Fadd_pixel     uintptr
  6016  } /* Xlib.h:360:9 */
  6017  
  6018  // Data structure for "image" data, used by image manipulation routines.
  6019  type XImage = X_XImage /* Xlib.h:394:3 */
  6020  
  6021  // Data structure for XReconfigureWindow
  6022  type XWindowChanges = struct {
  6023  	Fx            int32
  6024  	Fy            int32
  6025  	Fwidth        int32
  6026  	Fheight       int32
  6027  	Fborder_width int32
  6028  	F__ccgo_pad1  [4]byte
  6029  	Fsibling      Window
  6030  	Fstack_mode   int32
  6031  	F__ccgo_pad2  [4]byte
  6032  } /* Xlib.h:405:3 */
  6033  
  6034  // Data structure used by color operations
  6035  type XColor = struct {
  6036  	Fpixel uint64
  6037  	Fred   uint16
  6038  	Fgreen uint16
  6039  	Fblue  uint16
  6040  	Fflags int8
  6041  	Fpad   int8
  6042  } /* Xlib.h:415:3 */
  6043  
  6044  // Data structures for graphics operations.  On most machines, these are
  6045  // congruent with the wire protocol structures, so reformatting the data
  6046  // can be avoided on these architectures.
  6047  type XSegment = struct {
  6048  	Fx1 int16
  6049  	Fy1 int16
  6050  	Fx2 int16
  6051  	Fy2 int16
  6052  } /* Xlib.h:424:3 */
  6053  
  6054  type XPoint = struct {
  6055  	Fx int16
  6056  	Fy int16
  6057  } /* Xlib.h:428:3 */
  6058  
  6059  type XRectangle = struct {
  6060  	Fx      int16
  6061  	Fy      int16
  6062  	Fwidth  uint16
  6063  	Fheight uint16
  6064  } /* Xlib.h:433:3 */
  6065  
  6066  type XArc = struct {
  6067  	Fx      int16
  6068  	Fy      int16
  6069  	Fwidth  uint16
  6070  	Fheight uint16
  6071  	Fangle1 int16
  6072  	Fangle2 int16
  6073  } /* Xlib.h:439:3 */
  6074  
  6075  // Data structure for XChangeKeyboardControl
  6076  
  6077  type XKeyboardControl = struct {
  6078  	Fkey_click_percent int32
  6079  	Fbell_percent      int32
  6080  	Fbell_pitch        int32
  6081  	Fbell_duration     int32
  6082  	Fled               int32
  6083  	Fled_mode          int32
  6084  	Fkey               int32
  6085  	Fauto_repeat_mode  int32
  6086  } /* Xlib.h:453:3 */
  6087  
  6088  // Data structure for XGetKeyboardControl
  6089  
  6090  type XKeyboardState = struct {
  6091  	Fkey_click_percent  int32
  6092  	Fbell_percent       int32
  6093  	Fbell_pitch         uint32
  6094  	Fbell_duration      uint32
  6095  	Fled_mask           uint64
  6096  	Fglobal_auto_repeat int32
  6097  	Fauto_repeats       [32]int8
  6098  	F__ccgo_pad1        [4]byte
  6099  } /* Xlib.h:464:3 */
  6100  
  6101  // Data structure for XGetMotionEvents.
  6102  
  6103  type XTimeCoord = struct {
  6104  	Ftime        Time
  6105  	Fx           int16
  6106  	Fy           int16
  6107  	F__ccgo_pad1 [4]byte
  6108  } /* Xlib.h:471:3 */
  6109  
  6110  // Data structure for X{Set,Get}ModifierMapping
  6111  
  6112  type XModifierKeymap = struct {
  6113  	Fmax_keypermod int32
  6114  	F__ccgo_pad1   [4]byte
  6115  	Fmodifiermap   uintptr
  6116  } /* Xlib.h:478:3 */
  6117  
  6118  // Display datatype maintaining display specific data.
  6119  // The contents of this structure are implementation dependent.
  6120  // A Display should be treated as opaque by application code.
  6121  type Display = X_XDisplay /* Xlib.h:487:26 */
  6122  
  6123  type X_XPrivDisplay = uintptr /* Xlib.h:550:1 */
  6124  
  6125  // Definitions of specific events.
  6126  type XKeyEvent = struct {
  6127  	Ftype        int32
  6128  	F__ccgo_pad1 [4]byte
  6129  	Fserial      uint64
  6130  	Fsend_event  int32
  6131  	F__ccgo_pad2 [4]byte
  6132  	Fdisplay     uintptr
  6133  	Fwindow      Window
  6134  	Froot        Window
  6135  	Fsubwindow   Window
  6136  	Ftime        Time
  6137  	Fx           int32
  6138  	Fy           int32
  6139  	Fx_root      int32
  6140  	Fy_root      int32
  6141  	Fstate       uint32
  6142  	Fkeycode     uint32
  6143  	Fsame_screen int32
  6144  	F__ccgo_pad3 [4]byte
  6145  }                                  /* Xlib.h:571:3 */
  6146  type XKeyPressedEvent = XKeyEvent  /* Xlib.h:572:19 */
  6147  type XKeyReleasedEvent = XKeyEvent /* Xlib.h:573:19 */
  6148  
  6149  type XButtonEvent = struct {
  6150  	Ftype        int32
  6151  	F__ccgo_pad1 [4]byte
  6152  	Fserial      uint64
  6153  	Fsend_event  int32
  6154  	F__ccgo_pad2 [4]byte
  6155  	Fdisplay     uintptr
  6156  	Fwindow      Window
  6157  	Froot        Window
  6158  	Fsubwindow   Window
  6159  	Ftime        Time
  6160  	Fx           int32
  6161  	Fy           int32
  6162  	Fx_root      int32
  6163  	Fy_root      int32
  6164  	Fstate       uint32
  6165  	Fbutton      uint32
  6166  	Fsame_screen int32
  6167  	F__ccgo_pad3 [4]byte
  6168  }                                        /* Xlib.h:589:3 */
  6169  type XButtonPressedEvent = XButtonEvent  /* Xlib.h:590:22 */
  6170  type XButtonReleasedEvent = XButtonEvent /* Xlib.h:591:22 */
  6171  
  6172  type XMotionEvent = struct {
  6173  	Ftype        int32
  6174  	F__ccgo_pad1 [4]byte
  6175  	Fserial      uint64
  6176  	Fsend_event  int32
  6177  	F__ccgo_pad2 [4]byte
  6178  	Fdisplay     uintptr
  6179  	Fwindow      Window
  6180  	Froot        Window
  6181  	Fsubwindow   Window
  6182  	Ftime        Time
  6183  	Fx           int32
  6184  	Fy           int32
  6185  	Fx_root      int32
  6186  	Fy_root      int32
  6187  	Fstate       uint32
  6188  	Fis_hint     int8
  6189  	F__ccgo_pad3 [3]byte
  6190  	Fsame_screen int32
  6191  	F__ccgo_pad4 [4]byte
  6192  }                                      /* Xlib.h:607:3 */
  6193  type XPointerMovedEvent = XMotionEvent /* Xlib.h:608:22 */
  6194  
  6195  type XCrossingEvent = struct {
  6196  	Ftype        int32
  6197  	F__ccgo_pad1 [4]byte
  6198  	Fserial      uint64
  6199  	Fsend_event  int32
  6200  	F__ccgo_pad2 [4]byte
  6201  	Fdisplay     uintptr
  6202  	Fwindow      Window
  6203  	Froot        Window
  6204  	Fsubwindow   Window
  6205  	Ftime        Time
  6206  	Fx           int32
  6207  	Fy           int32
  6208  	Fx_root      int32
  6209  	Fy_root      int32
  6210  	Fmode        int32
  6211  	Fdetail      int32
  6212  	Fsame_screen int32
  6213  	Ffocus       int32
  6214  	Fstate       uint32
  6215  	F__ccgo_pad3 [4]byte
  6216  }                                       /* Xlib.h:630:3 */
  6217  type XEnterWindowEvent = XCrossingEvent /* Xlib.h:631:24 */
  6218  type XLeaveWindowEvent = XCrossingEvent /* Xlib.h:632:24 */
  6219  
  6220  type XFocusChangeEvent = struct {
  6221  	Ftype        int32
  6222  	F__ccgo_pad1 [4]byte
  6223  	Fserial      uint64
  6224  	Fsend_event  int32
  6225  	F__ccgo_pad2 [4]byte
  6226  	Fdisplay     uintptr
  6227  	Fwindow      Window
  6228  	Fmode        int32
  6229  	Fdetail      int32
  6230  }                                       /* Xlib.h:648:3 */
  6231  type XFocusInEvent = XFocusChangeEvent  /* Xlib.h:649:27 */
  6232  type XFocusOutEvent = XFocusChangeEvent /* Xlib.h:650:27 */
  6233  
  6234  // generated on EnterWindow and FocusIn  when KeyMapState selected
  6235  type XKeymapEvent = struct {
  6236  	Ftype        int32
  6237  	F__ccgo_pad1 [4]byte
  6238  	Fserial      uint64
  6239  	Fsend_event  int32
  6240  	F__ccgo_pad2 [4]byte
  6241  	Fdisplay     uintptr
  6242  	Fwindow      Window
  6243  	Fkey_vector  [32]int8
  6244  } /* Xlib.h:660:3 */
  6245  
  6246  type XExposeEvent = struct {
  6247  	Ftype        int32
  6248  	F__ccgo_pad1 [4]byte
  6249  	Fserial      uint64
  6250  	Fsend_event  int32
  6251  	F__ccgo_pad2 [4]byte
  6252  	Fdisplay     uintptr
  6253  	Fwindow      Window
  6254  	Fx           int32
  6255  	Fy           int32
  6256  	Fwidth       int32
  6257  	Fheight      int32
  6258  	Fcount       int32
  6259  	F__ccgo_pad3 [4]byte
  6260  } /* Xlib.h:671:3 */
  6261  
  6262  type XGraphicsExposeEvent = struct {
  6263  	Ftype        int32
  6264  	F__ccgo_pad1 [4]byte
  6265  	Fserial      uint64
  6266  	Fsend_event  int32
  6267  	F__ccgo_pad2 [4]byte
  6268  	Fdisplay     uintptr
  6269  	Fdrawable    Drawable
  6270  	Fx           int32
  6271  	Fy           int32
  6272  	Fwidth       int32
  6273  	Fheight      int32
  6274  	Fcount       int32
  6275  	Fmajor_code  int32
  6276  	Fminor_code  int32
  6277  	F__ccgo_pad3 [4]byte
  6278  } /* Xlib.h:684:3 */
  6279  
  6280  type XNoExposeEvent = struct {
  6281  	Ftype        int32
  6282  	F__ccgo_pad1 [4]byte
  6283  	Fserial      uint64
  6284  	Fsend_event  int32
  6285  	F__ccgo_pad2 [4]byte
  6286  	Fdisplay     uintptr
  6287  	Fdrawable    Drawable
  6288  	Fmajor_code  int32
  6289  	Fminor_code  int32
  6290  } /* Xlib.h:694:3 */
  6291  
  6292  type XVisibilityEvent = struct {
  6293  	Ftype        int32
  6294  	F__ccgo_pad1 [4]byte
  6295  	Fserial      uint64
  6296  	Fsend_event  int32
  6297  	F__ccgo_pad2 [4]byte
  6298  	Fdisplay     uintptr
  6299  	Fwindow      Window
  6300  	Fstate       int32
  6301  	F__ccgo_pad3 [4]byte
  6302  } /* Xlib.h:703:3 */
  6303  
  6304  type XCreateWindowEvent = struct {
  6305  	Ftype              int32
  6306  	F__ccgo_pad1       [4]byte
  6307  	Fserial            uint64
  6308  	Fsend_event        int32
  6309  	F__ccgo_pad2       [4]byte
  6310  	Fdisplay           uintptr
  6311  	Fparent            Window
  6312  	Fwindow            Window
  6313  	Fx                 int32
  6314  	Fy                 int32
  6315  	Fwidth             int32
  6316  	Fheight            int32
  6317  	Fborder_width      int32
  6318  	Foverride_redirect int32
  6319  } /* Xlib.h:716:3 */
  6320  
  6321  type XDestroyWindowEvent = struct {
  6322  	Ftype        int32
  6323  	F__ccgo_pad1 [4]byte
  6324  	Fserial      uint64
  6325  	Fsend_event  int32
  6326  	F__ccgo_pad2 [4]byte
  6327  	Fdisplay     uintptr
  6328  	Fevent       Window
  6329  	Fwindow      Window
  6330  } /* Xlib.h:725:3 */
  6331  
  6332  type XUnmapEvent = struct {
  6333  	Ftype           int32
  6334  	F__ccgo_pad1    [4]byte
  6335  	Fserial         uint64
  6336  	Fsend_event     int32
  6337  	F__ccgo_pad2    [4]byte
  6338  	Fdisplay        uintptr
  6339  	Fevent          Window
  6340  	Fwindow         Window
  6341  	Ffrom_configure int32
  6342  	F__ccgo_pad3    [4]byte
  6343  } /* Xlib.h:735:3 */
  6344  
  6345  type XMapEvent = struct {
  6346  	Ftype              int32
  6347  	F__ccgo_pad1       [4]byte
  6348  	Fserial            uint64
  6349  	Fsend_event        int32
  6350  	F__ccgo_pad2       [4]byte
  6351  	Fdisplay           uintptr
  6352  	Fevent             Window
  6353  	Fwindow            Window
  6354  	Foverride_redirect int32
  6355  	F__ccgo_pad3       [4]byte
  6356  } /* Xlib.h:745:3 */
  6357  
  6358  type XMapRequestEvent = struct {
  6359  	Ftype        int32
  6360  	F__ccgo_pad1 [4]byte
  6361  	Fserial      uint64
  6362  	Fsend_event  int32
  6363  	F__ccgo_pad2 [4]byte
  6364  	Fdisplay     uintptr
  6365  	Fparent      Window
  6366  	Fwindow      Window
  6367  } /* Xlib.h:754:3 */
  6368  
  6369  type XReparentEvent = struct {
  6370  	Ftype              int32
  6371  	F__ccgo_pad1       [4]byte
  6372  	Fserial            uint64
  6373  	Fsend_event        int32
  6374  	F__ccgo_pad2       [4]byte
  6375  	Fdisplay           uintptr
  6376  	Fevent             Window
  6377  	Fwindow            Window
  6378  	Fparent            Window
  6379  	Fx                 int32
  6380  	Fy                 int32
  6381  	Foverride_redirect int32
  6382  	F__ccgo_pad3       [4]byte
  6383  } /* Xlib.h:766:3 */
  6384  
  6385  type XConfigureEvent = struct {
  6386  	Ftype              int32
  6387  	F__ccgo_pad1       [4]byte
  6388  	Fserial            uint64
  6389  	Fsend_event        int32
  6390  	F__ccgo_pad2       [4]byte
  6391  	Fdisplay           uintptr
  6392  	Fevent             Window
  6393  	Fwindow            Window
  6394  	Fx                 int32
  6395  	Fy                 int32
  6396  	Fwidth             int32
  6397  	Fheight            int32
  6398  	Fborder_width      int32
  6399  	F__ccgo_pad3       [4]byte
  6400  	Fabove             Window
  6401  	Foverride_redirect int32
  6402  	F__ccgo_pad4       [4]byte
  6403  } /* Xlib.h:780:3 */
  6404  
  6405  type XGravityEvent = struct {
  6406  	Ftype        int32
  6407  	F__ccgo_pad1 [4]byte
  6408  	Fserial      uint64
  6409  	Fsend_event  int32
  6410  	F__ccgo_pad2 [4]byte
  6411  	Fdisplay     uintptr
  6412  	Fevent       Window
  6413  	Fwindow      Window
  6414  	Fx           int32
  6415  	Fy           int32
  6416  } /* Xlib.h:790:3 */
  6417  
  6418  type XResizeRequestEvent = struct {
  6419  	Ftype        int32
  6420  	F__ccgo_pad1 [4]byte
  6421  	Fserial      uint64
  6422  	Fsend_event  int32
  6423  	F__ccgo_pad2 [4]byte
  6424  	Fdisplay     uintptr
  6425  	Fwindow      Window
  6426  	Fwidth       int32
  6427  	Fheight      int32
  6428  } /* Xlib.h:799:3 */
  6429  
  6430  type XConfigureRequestEvent = struct {
  6431  	Ftype         int32
  6432  	F__ccgo_pad1  [4]byte
  6433  	Fserial       uint64
  6434  	Fsend_event   int32
  6435  	F__ccgo_pad2  [4]byte
  6436  	Fdisplay      uintptr
  6437  	Fparent       Window
  6438  	Fwindow       Window
  6439  	Fx            int32
  6440  	Fy            int32
  6441  	Fwidth        int32
  6442  	Fheight       int32
  6443  	Fborder_width int32
  6444  	F__ccgo_pad3  [4]byte
  6445  	Fabove        Window
  6446  	Fdetail       int32
  6447  	F__ccgo_pad4  [4]byte
  6448  	Fvalue_mask   uint64
  6449  } /* Xlib.h:814:3 */
  6450  
  6451  type XCirculateEvent = struct {
  6452  	Ftype        int32
  6453  	F__ccgo_pad1 [4]byte
  6454  	Fserial      uint64
  6455  	Fsend_event  int32
  6456  	F__ccgo_pad2 [4]byte
  6457  	Fdisplay     uintptr
  6458  	Fevent       Window
  6459  	Fwindow      Window
  6460  	Fplace       int32
  6461  	F__ccgo_pad3 [4]byte
  6462  } /* Xlib.h:824:3 */
  6463  
  6464  type XCirculateRequestEvent = struct {
  6465  	Ftype        int32
  6466  	F__ccgo_pad1 [4]byte
  6467  	Fserial      uint64
  6468  	Fsend_event  int32
  6469  	F__ccgo_pad2 [4]byte
  6470  	Fdisplay     uintptr
  6471  	Fparent      Window
  6472  	Fwindow      Window
  6473  	Fplace       int32
  6474  	F__ccgo_pad3 [4]byte
  6475  } /* Xlib.h:834:3 */
  6476  
  6477  type XPropertyEvent = struct {
  6478  	Ftype        int32
  6479  	F__ccgo_pad1 [4]byte
  6480  	Fserial      uint64
  6481  	Fsend_event  int32
  6482  	F__ccgo_pad2 [4]byte
  6483  	Fdisplay     uintptr
  6484  	Fwindow      Window
  6485  	Fatom        Atom
  6486  	Ftime        Time
  6487  	Fstate       int32
  6488  	F__ccgo_pad3 [4]byte
  6489  } /* Xlib.h:845:3 */
  6490  
  6491  type XSelectionClearEvent = struct {
  6492  	Ftype        int32
  6493  	F__ccgo_pad1 [4]byte
  6494  	Fserial      uint64
  6495  	Fsend_event  int32
  6496  	F__ccgo_pad2 [4]byte
  6497  	Fdisplay     uintptr
  6498  	Fwindow      Window
  6499  	Fselection   Atom
  6500  	Ftime        Time
  6501  } /* Xlib.h:855:3 */
  6502  
  6503  type XSelectionRequestEvent = struct {
  6504  	Ftype        int32
  6505  	F__ccgo_pad1 [4]byte
  6506  	Fserial      uint64
  6507  	Fsend_event  int32
  6508  	F__ccgo_pad2 [4]byte
  6509  	Fdisplay     uintptr
  6510  	Fowner       Window
  6511  	Frequestor   Window
  6512  	Fselection   Atom
  6513  	Ftarget      Atom
  6514  	Fproperty    Atom
  6515  	Ftime        Time
  6516  } /* Xlib.h:868:3 */
  6517  
  6518  type XSelectionEvent = struct {
  6519  	Ftype        int32
  6520  	F__ccgo_pad1 [4]byte
  6521  	Fserial      uint64
  6522  	Fsend_event  int32
  6523  	F__ccgo_pad2 [4]byte
  6524  	Fdisplay     uintptr
  6525  	Frequestor   Window
  6526  	Fselection   Atom
  6527  	Ftarget      Atom
  6528  	Fproperty    Atom
  6529  	Ftime        Time
  6530  } /* Xlib.h:880:3 */
  6531  
  6532  type XColormapEvent = struct {
  6533  	Ftype        int32
  6534  	F__ccgo_pad1 [4]byte
  6535  	Fserial      uint64
  6536  	Fsend_event  int32
  6537  	F__ccgo_pad2 [4]byte
  6538  	Fdisplay     uintptr
  6539  	Fwindow      Window
  6540  	Fcolormap    Colormap
  6541  	Fnew         int32
  6542  	Fstate       int32
  6543  } /* Xlib.h:895:3 */
  6544  
  6545  type XClientMessageEvent = struct {
  6546  	Ftype         int32
  6547  	F__ccgo_pad1  [4]byte
  6548  	Fserial       uint64
  6549  	Fsend_event   int32
  6550  	F__ccgo_pad2  [4]byte
  6551  	Fdisplay      uintptr
  6552  	Fwindow       Window
  6553  	Fmessage_type Atom
  6554  	Fformat       int32
  6555  	F__ccgo_pad3  [4]byte
  6556  	Fdata         struct {
  6557  		F__ccgo_pad1 [0]uint64
  6558  		Fb           [20]int8
  6559  		F__ccgo_pad2 [20]byte
  6560  	}
  6561  } /* Xlib.h:910:3 */
  6562  
  6563  type XMappingEvent = struct {
  6564  	Ftype          int32
  6565  	F__ccgo_pad1   [4]byte
  6566  	Fserial        uint64
  6567  	Fsend_event    int32
  6568  	F__ccgo_pad2   [4]byte
  6569  	Fdisplay       uintptr
  6570  	Fwindow        Window
  6571  	Frequest       int32
  6572  	Ffirst_keycode int32
  6573  	Fcount         int32
  6574  	F__ccgo_pad3   [4]byte
  6575  } /* Xlib.h:922:3 */
  6576  
  6577  type XErrorEvent = struct {
  6578  	Ftype         int32
  6579  	F__ccgo_pad1  [4]byte
  6580  	Fdisplay      uintptr
  6581  	Fresourceid   XID
  6582  	Fserial       uint64
  6583  	Ferror_code   uint8
  6584  	Frequest_code uint8
  6585  	Fminor_code   uint8
  6586  	F__ccgo_pad2  [5]byte
  6587  } /* Xlib.h:932:3 */
  6588  
  6589  type XAnyEvent = struct {
  6590  	Ftype        int32
  6591  	F__ccgo_pad1 [4]byte
  6592  	Fserial      uint64
  6593  	Fsend_event  int32
  6594  	F__ccgo_pad2 [4]byte
  6595  	Fdisplay     uintptr
  6596  	Fwindow      Window
  6597  } /* Xlib.h:940:3 */
  6598  
  6599  // **************************************************************
  6600  //
  6601  //
  6602  // GenericEvent.  This event is the standard event for all newer extensions.
  6603  
  6604  type XGenericEvent = struct {
  6605  	Ftype        int32
  6606  	F__ccgo_pad1 [4]byte
  6607  	Fserial      uint64
  6608  	Fsend_event  int32
  6609  	F__ccgo_pad2 [4]byte
  6610  	Fdisplay     uintptr
  6611  	Fextension   int32
  6612  	Fevtype      int32
  6613  } /* Xlib.h:956:7 */
  6614  
  6615  type XGenericEventCookie = struct {
  6616  	Ftype        int32
  6617  	F__ccgo_pad1 [4]byte
  6618  	Fserial      uint64
  6619  	Fsend_event  int32
  6620  	F__ccgo_pad2 [4]byte
  6621  	Fdisplay     uintptr
  6622  	Fextension   int32
  6623  	Fevtype      int32
  6624  	Fcookie      uint32
  6625  	F__ccgo_pad3 [4]byte
  6626  	Fdata        uintptr
  6627  } /* Xlib.h:967:3 */
  6628  
  6629  // this union is defined so Xlib can always use the same sized
  6630  // event structure internally, to avoid memory fragmentation.
  6631  type X_XEvent = struct {
  6632  	F__ccgo_pad1 [0]uint64
  6633  	Ftype        int32
  6634  	F__ccgo_pad2 [188]byte
  6635  } /* Xlib.h:255:1 */
  6636  
  6637  // this union is defined so Xlib can always use the same sized
  6638  // event structure internally, to avoid memory fragmentation.
  6639  type XEvent = X_XEvent /* Xlib.h:1009:3 */
  6640  
  6641  // per character font metric information.
  6642  type XCharStruct = struct {
  6643  	Flbearing   int16
  6644  	Frbearing   int16
  6645  	Fwidth      int16
  6646  	Fascent     int16
  6647  	Fdescent    int16
  6648  	Fattributes uint16
  6649  } /* Xlib.h:1024:3 */
  6650  
  6651  // To allow arbitrary information with fonts, there are additional properties
  6652  // returned.
  6653  type XFontProp = struct {
  6654  	Fname   Atom
  6655  	Fcard32 uint64
  6656  } /* Xlib.h:1033:3 */
  6657  
  6658  type XFontStruct = struct {
  6659  	Fext_data          uintptr
  6660  	Ffid               Font
  6661  	Fdirection         uint32
  6662  	Fmin_char_or_byte2 uint32
  6663  	Fmax_char_or_byte2 uint32
  6664  	Fmin_byte1         uint32
  6665  	Fmax_byte1         uint32
  6666  	Fall_chars_exist   int32
  6667  	Fdefault_char      uint32
  6668  	Fn_properties      int32
  6669  	Fproperties        uintptr
  6670  	Fmin_bounds        XCharStruct
  6671  	Fmax_bounds        XCharStruct
  6672  	Fper_char          uintptr
  6673  	Fascent            int32
  6674  	Fdescent           int32
  6675  } /* Xlib.h:1052:3 */
  6676  
  6677  // PolyText routines take these as arguments.
  6678  type XTextItem = struct {
  6679  	Fchars  uintptr
  6680  	Fnchars int32
  6681  	Fdelta  int32
  6682  	Ffont   Font
  6683  } /* Xlib.h:1062:3 */
  6684  
  6685  type XChar2b = struct {
  6686  	Fbyte1 uint8
  6687  	Fbyte2 uint8
  6688  } /* Xlib.h:1067:3 */
  6689  
  6690  type XTextItem16 = struct {
  6691  	Fchars  uintptr
  6692  	Fnchars int32
  6693  	Fdelta  int32
  6694  	Ffont   Font
  6695  } /* Xlib.h:1074:3 */
  6696  
  6697  type XEDataObject = struct{ Fdisplay uintptr } /* Xlib.h:1082:24 */
  6698  
  6699  type XFontSetExtents = struct {
  6700  	Fmax_ink_extent     XRectangle
  6701  	Fmax_logical_extent XRectangle
  6702  } /* Xlib.h:1087:3 */
  6703  
  6704  // unused:
  6705  // typedef void (*XOMProc)();
  6706  //
  6707  
  6708  type XOM = uintptr      /* Xlib.h:1093:21 */
  6709  type XOC = uintptr      /* Xlib.h:1094:21 */
  6710  type XFontSet = uintptr /* Xlib.h:1094:27 */
  6711  
  6712  type XmbTextItem = struct {
  6713  	Fchars    uintptr
  6714  	Fnchars   int32
  6715  	Fdelta    int32
  6716  	Ffont_set XFontSet
  6717  } /* Xlib.h:1101:3 */
  6718  
  6719  type XwcTextItem = struct {
  6720  	Fchars    uintptr
  6721  	Fnchars   int32
  6722  	Fdelta    int32
  6723  	Ffont_set XFontSet
  6724  } /* Xlib.h:1108:3 */
  6725  
  6726  type XOMCharSetList = struct {
  6727  	Fcharset_count int32
  6728  	F__ccgo_pad1   [4]byte
  6729  	Fcharset_list  uintptr
  6730  } /* Xlib.h:1124:3 */
  6731  
  6732  type XOrientation = uint32 /* Xlib.h:1132:3 */
  6733  
  6734  type XOMOrientation = struct {
  6735  	Fnum_orientation int32
  6736  	F__ccgo_pad1     [4]byte
  6737  	Forientation     uintptr
  6738  } /* Xlib.h:1137:3 */
  6739  
  6740  type XOMFontInfo = struct {
  6741  	Fnum_font         int32
  6742  	F__ccgo_pad1      [4]byte
  6743  	Ffont_struct_list uintptr
  6744  	Ffont_name_list   uintptr
  6745  } /* Xlib.h:1143:3 */
  6746  
  6747  type XIM = uintptr /* Xlib.h:1145:21 */
  6748  type XIC = uintptr /* Xlib.h:1146:21 */
  6749  
  6750  type XIMProc = uintptr /* Xlib.h:1148:14 */
  6751  
  6752  type XICProc = uintptr /* Xlib.h:1154:14 */
  6753  
  6754  type XIDProc = uintptr /* Xlib.h:1160:14 */
  6755  
  6756  type XIMStyle = uint64 /* Xlib.h:1166:23 */
  6757  
  6758  type XIMStyles = struct {
  6759  	Fcount_styles     uint16
  6760  	F__ccgo_pad1      [6]byte
  6761  	Fsupported_styles uintptr
  6762  } /* Xlib.h:1171:3 */
  6763  
  6764  type XVaNestedList = uintptr /* Xlib.h:1233:14 */
  6765  
  6766  type XIMCallback = struct {
  6767  	Fclient_data XPointer
  6768  	Fcallback    XIMProc
  6769  } /* Xlib.h:1238:3 */
  6770  
  6771  type XICCallback = struct {
  6772  	Fclient_data XPointer
  6773  	Fcallback    XICProc
  6774  } /* Xlib.h:1243:3 */
  6775  
  6776  type XIMFeedback = uint64 /* Xlib.h:1245:23 */
  6777  
  6778  type X_XIMText = struct {
  6779  	Flength            uint16
  6780  	F__ccgo_pad1       [6]byte
  6781  	Ffeedback          uintptr
  6782  	Fencoding_is_wchar int32
  6783  	F__ccgo_pad2       [4]byte
  6784  	Fstring            struct{ Fmulti_byte uintptr }
  6785  } /* Xlib.h:1257:9 */
  6786  
  6787  type XIMText = X_XIMText /* Xlib.h:1265:3 */
  6788  
  6789  type XIMPreeditState = uint64 /* Xlib.h:1267:24 */
  6790  
  6791  type X_XIMPreeditStateNotifyCallbackStruct = struct{ Fstate XIMPreeditState } /* Xlib.h:1273:9 */
  6792  
  6793  type XIMPreeditStateNotifyCallbackStruct = X_XIMPreeditStateNotifyCallbackStruct /* Xlib.h:1275:3 */
  6794  
  6795  type XIMResetState = uint64 /* Xlib.h:1277:24 */
  6796  
  6797  type XIMStringConversionFeedback = uint64 /* Xlib.h:1282:23 */
  6798  
  6799  type X_XIMStringConversionText = struct {
  6800  	Flength            uint16
  6801  	F__ccgo_pad1       [6]byte
  6802  	Ffeedback          uintptr
  6803  	Fencoding_is_wchar int32
  6804  	F__ccgo_pad2       [4]byte
  6805  	Fstring            struct{ Fmbs uintptr }
  6806  } /* Xlib.h:1291:9 */
  6807  
  6808  type XIMStringConversionText = X_XIMStringConversionText /* Xlib.h:1299:3 */
  6809  
  6810  type XIMStringConversionPosition = uint16 /* Xlib.h:1301:24 */
  6811  
  6812  type XIMStringConversionType = uint16 /* Xlib.h:1303:24 */
  6813  
  6814  type XIMStringConversionOperation = uint16 /* Xlib.h:1310:24 */
  6815  
  6816  type XIMCaretDirection = uint32 /* Xlib.h:1323:3 */
  6817  
  6818  type X_XIMStringConversionCallbackStruct = struct {
  6819  	Fposition    XIMStringConversionPosition
  6820  	F__ccgo_pad1 [2]byte
  6821  	Fdirection   XIMCaretDirection
  6822  	Foperation   XIMStringConversionOperation
  6823  	Ffactor      uint16
  6824  	F__ccgo_pad2 [4]byte
  6825  	Ftext        uintptr
  6826  } /* Xlib.h:1325:9 */
  6827  
  6828  type XIMStringConversionCallbackStruct = X_XIMStringConversionCallbackStruct /* Xlib.h:1331:3 */
  6829  
  6830  type X_XIMPreeditDrawCallbackStruct = struct {
  6831  	Fcaret       int32
  6832  	Fchg_first   int32
  6833  	Fchg_length  int32
  6834  	F__ccgo_pad1 [4]byte
  6835  	Ftext        uintptr
  6836  } /* Xlib.h:1333:9 */
  6837  
  6838  type XIMPreeditDrawCallbackStruct = X_XIMPreeditDrawCallbackStruct /* Xlib.h:1338:3 */
  6839  
  6840  type XIMCaretStyle = uint32 /* Xlib.h:1344:3 */
  6841  
  6842  type X_XIMPreeditCaretCallbackStruct = struct {
  6843  	Fposition  int32
  6844  	Fdirection XIMCaretDirection
  6845  	Fstyle     XIMCaretStyle
  6846  } /* Xlib.h:1346:9 */
  6847  
  6848  type XIMPreeditCaretCallbackStruct = X_XIMPreeditCaretCallbackStruct /* Xlib.h:1350:3 */
  6849  
  6850  type XIMStatusDataType = uint32 /* Xlib.h:1355:3 */
  6851  
  6852  type X_XIMStatusDrawCallbackStruct = struct {
  6853  	Ftype        XIMStatusDataType
  6854  	F__ccgo_pad1 [4]byte
  6855  	Fdata        struct{ Ftext uintptr }
  6856  } /* Xlib.h:1357:9 */
  6857  
  6858  type XIMStatusDrawCallbackStruct = X_XIMStatusDrawCallbackStruct /* Xlib.h:1363:3 */
  6859  
  6860  type X_XIMHotKeyTrigger = struct {
  6861  	Fkeysym        KeySym
  6862  	Fmodifier      int32
  6863  	Fmodifier_mask int32
  6864  } /* Xlib.h:1365:9 */
  6865  
  6866  type XIMHotKeyTrigger = X_XIMHotKeyTrigger /* Xlib.h:1369:3 */
  6867  
  6868  type X_XIMHotKeyTriggers = struct {
  6869  	Fnum_hot_key int32
  6870  	F__ccgo_pad1 [4]byte
  6871  	Fkey         uintptr
  6872  } /* Xlib.h:1371:9 */
  6873  
  6874  type XIMHotKeyTriggers = X_XIMHotKeyTriggers /* Xlib.h:1374:3 */
  6875  
  6876  type XIMHotKeyState = uint64 /* Xlib.h:1376:24 */
  6877  
  6878  type XIMValuesList = struct {
  6879  	Fcount_values     uint16
  6880  	F__ccgo_pad1      [6]byte
  6881  	Fsupported_values uintptr
  6882  } /* Xlib.h:1384:3 */
  6883  
  6884  type XErrorHandler = uintptr /* Xlib.h:1843:13 */
  6885  
  6886  type XIOErrorHandler = uintptr /* Xlib.h:1853:13 */
  6887  
  6888  type XIOErrorExitHandler = uintptr /* Xlib.h:1861:14 */
  6889  
  6890  type XConnectionWatchProc = uintptr /* Xlib.h:3959:14 */
  6891  
  6892  // Definitions for the X window system used by server and c bindings
  6893  
  6894  // This packet-construction scheme makes the following assumptions:
  6895  //
  6896  // 1. The compiler is able
  6897  // to generate code which addresses one- and two-byte quantities.
  6898  // In the worst case, this would be done with bit-fields.  If bit-fields
  6899  // are used it may be necessary to reorder the request fields in this file,
  6900  // depending on the order in which the machine assigns bit fields to
  6901  // machine words.  There may also be a problem with sign extension,
  6902  // as K+R specify that bitfields are always unsigned.
  6903  //
  6904  // 2. 2- and 4-byte fields in packet structures must be ordered by hand
  6905  // such that they are naturally-aligned, so that no compiler will ever
  6906  // insert padding bytes.
  6907  //
  6908  // 3. All packets are hand-padded to a multiple of 4 bytes, for
  6909  // the same reason.
  6910  
  6911  //**********************************************************
  6912  //
  6913  // Copyright 1987, 1998  The Open Group
  6914  //
  6915  // Permission to use, copy, modify, distribute, and sell this software and its
  6916  // documentation for any purpose is hereby granted without fee, provided that
  6917  // the above copyright notice appear in all copies and that both that
  6918  // copyright notice and this permission notice appear in supporting
  6919  // documentation.
  6920  //
  6921  // The above copyright notice and this permission notice shall be included in
  6922  // all copies or substantial portions of the Software.
  6923  //
  6924  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  6925  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  6926  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  6927  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  6928  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  6929  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  6930  //
  6931  // Except as contained in this notice, the name of The Open Group shall not be
  6932  // used in advertising or otherwise to promote the sale, use or other dealings
  6933  // in this Software without prior written authorization from The Open Group.
  6934  //
  6935  //
  6936  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  6937  //
  6938  //                         All Rights Reserved
  6939  //
  6940  // Permission to use, copy, modify, and distribute this software and its
  6941  // documentation for any purpose and without fee is hereby granted,
  6942  // provided that the above copyright notice appear in all copies and that
  6943  // both that copyright notice and this permission notice appear in
  6944  // supporting documentation, and that the name of Digital not be
  6945  // used in advertising or publicity pertaining to distribution of the
  6946  // software without specific, written prior permission.
  6947  //
  6948  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  6949  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  6950  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  6951  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  6952  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  6953  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  6954  // SOFTWARE.
  6955  //
  6956  // *****************************************************************
  6957  
  6958  //**********************************************************
  6959  //
  6960  // Copyright 1987, 1998  The Open Group
  6961  //
  6962  // Permission to use, copy, modify, distribute, and sell this software and its
  6963  // documentation for any purpose is hereby granted without fee, provided that
  6964  // the above copyright notice appear in all copies and that both that
  6965  // copyright notice and this permission notice appear in supporting
  6966  // documentation.
  6967  //
  6968  // The above copyright notice and this permission notice shall be included in
  6969  // all copies or substantial portions of the Software.
  6970  //
  6971  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  6972  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  6973  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  6974  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  6975  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  6976  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  6977  //
  6978  // Except as contained in this notice, the name of The Open Group shall not be
  6979  // used in advertising or otherwise to promote the sale, use or other dealings
  6980  // in this Software without prior written authorization from The Open Group.
  6981  //
  6982  //
  6983  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  6984  //
  6985  //                         All Rights Reserved
  6986  //
  6987  // Permission to use, copy, modify, and distribute this software and its
  6988  // documentation for any purpose and without fee is hereby granted,
  6989  // provided that the above copyright notice appear in all copies and that
  6990  // both that copyright notice and this permission notice appear in
  6991  // supporting documentation, and that the name of Digital not be
  6992  // used in advertising or publicity pertaining to distribution of the
  6993  // software without specific, written prior permission.
  6994  //
  6995  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  6996  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  6997  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  6998  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  6999  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7000  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7001  // SOFTWARE.
  7002  //
  7003  // *****************************************************************
  7004  //  Xmd.h: MACHINE DEPENDENT DECLARATIONS.
  7005  
  7006  // Special per-machine configuration flags.
  7007  
  7008  // Definition of macro used to set constants for size of network structures;
  7009  // machines with preprocessors that can't handle all of the sz_ symbols
  7010  // can define this macro to be sizeof(x) if and only if their compiler doesn't
  7011  // pad out structures (esp. the xTextElt structure which contains only two
  7012  // one-byte fields).  Network structures should always define sz_symbols.
  7013  //
  7014  // The sz_ prefix is used instead of something more descriptive so that the
  7015  // symbols are no more than 32 characters long (which causes problems for some
  7016  // compilers and preprocessors).
  7017  //
  7018  // The extra indirection is to get macro arguments to expand correctly before
  7019  // the concatenation, rather than afterward.
  7020  
  7021  // Bitfield suffixes for the protocol structure elements, if you
  7022  // need them.  Note that bitfields are not guaranteed to be signed
  7023  // (or even unsigned) according to ANSI C.
  7024  type INT64 = int64 /* Xmd.h:97:14 */
  7025  type INT32 = int32 /* Xmd.h:98:13 */
  7026  type INT16 = int16 /* Xmd.h:102:15 */
  7027  
  7028  type INT8 = int8 /* Xmd.h:104:24 */
  7029  
  7030  type CARD64 = uint64 /* Xmd.h:107:23 */
  7031  type CARD32 = uint32 /* Xmd.h:108:22 */
  7032  type CARD16 = uint16 /* Xmd.h:113:24 */
  7033  type CARD8 = uint8   /* Xmd.h:114:24 */
  7034  
  7035  type BITS32 = CARD32 /* Xmd.h:116:17 */
  7036  type BITS16 = CARD16 /* Xmd.h:117:17 */
  7037  
  7038  type BYTE = CARD8 /* Xmd.h:119:16 */
  7039  type BOOL = CARD8 /* Xmd.h:120:16 */
  7040  
  7041  // was definitions for sign-extending bitfields on architectures without
  7042  // native types smaller than 64-bit, now just backwards compatibility
  7043  
  7044  // this version should leave result of type (t *), but that should only be
  7045  // used when not in MUSTCOPY
  7046  
  7047  //**********************************************************
  7048  //
  7049  // Copyright 1987, 1998  The Open Group
  7050  //
  7051  // Permission to use, copy, modify, distribute, and sell this software and its
  7052  // documentation for any purpose is hereby granted without fee, provided that
  7053  // the above copyright notice appear in all copies and that both that
  7054  // copyright notice and this permission notice appear in supporting
  7055  // documentation.
  7056  //
  7057  // The above copyright notice and this permission notice shall be included in
  7058  // all copies or substantial portions of the Software.
  7059  //
  7060  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7061  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7062  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7063  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7064  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7065  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7066  //
  7067  // Except as contained in this notice, the name of The Open Group shall not be
  7068  // used in advertising or otherwise to promote the sale, use or other dealings
  7069  // in this Software without prior written authorization from The Open Group.
  7070  //
  7071  //
  7072  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7073  //
  7074  //                         All Rights Reserved
  7075  //
  7076  // Permission to use, copy, modify, and distribute this software and its
  7077  // documentation for any purpose and without fee is hereby granted,
  7078  // provided that the above copyright notice appear in all copies and that
  7079  // both that copyright notice and this permission notice appear in
  7080  // supporting documentation, and that the name of Digital not be
  7081  // used in advertising or publicity pertaining to distribution of the
  7082  // software without specific, written prior permission.
  7083  //
  7084  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7085  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7086  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7087  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7088  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7089  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7090  // SOFTWARE.
  7091  //
  7092  // *****************************************************************
  7093  //**********************************************************
  7094  //
  7095  // Copyright 1987, 1998  The Open Group
  7096  //
  7097  // Permission to use, copy, modify, distribute, and sell this software and its
  7098  // documentation for any purpose is hereby granted without fee, provided that
  7099  // the above copyright notice appear in all copies and that both that
  7100  // copyright notice and this permission notice appear in supporting
  7101  // documentation.
  7102  //
  7103  // The above copyright notice and this permission notice shall be included in
  7104  // all copies or substantial portions of the Software.
  7105  //
  7106  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7107  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7108  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7109  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7110  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7111  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7112  //
  7113  // Except as contained in this notice, the name of The Open Group shall not be
  7114  // used in advertising or otherwise to promote the sale, use or other dealings
  7115  // in this Software without prior written authorization from The Open Group.
  7116  //
  7117  //
  7118  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7119  //
  7120  //                         All Rights Reserved
  7121  //
  7122  // Permission to use, copy, modify, and distribute this software and its
  7123  // documentation for any purpose and without fee is hereby granted,
  7124  // provided that the above copyright notice appear in all copies and that
  7125  // both that copyright notice and this permission notice appear in
  7126  // supporting documentation, and that the name of Digital not be
  7127  // used in advertising or publicity pertaining to distribution of the
  7128  // software without specific, written prior permission.
  7129  //
  7130  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7131  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7132  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7133  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7134  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7135  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7136  // SOFTWARE.
  7137  //
  7138  // *****************************************************************
  7139  
  7140  // Used by PolySegment
  7141  
  7142  type X_xSegment = struct {
  7143  	Fx1 INT16
  7144  	Fy1 INT16
  7145  	Fx2 INT16
  7146  	Fy2 INT16
  7147  } /* Xprotostr.h:54:9 */
  7148  
  7149  // was definitions for sign-extending bitfields on architectures without
  7150  // native types smaller than 64-bit, now just backwards compatibility
  7151  
  7152  // this version should leave result of type (t *), but that should only be
  7153  // used when not in MUSTCOPY
  7154  
  7155  //**********************************************************
  7156  //
  7157  // Copyright 1987, 1998  The Open Group
  7158  //
  7159  // Permission to use, copy, modify, distribute, and sell this software and its
  7160  // documentation for any purpose is hereby granted without fee, provided that
  7161  // the above copyright notice appear in all copies and that both that
  7162  // copyright notice and this permission notice appear in supporting
  7163  // documentation.
  7164  //
  7165  // The above copyright notice and this permission notice shall be included in
  7166  // all copies or substantial portions of the Software.
  7167  //
  7168  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7169  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7170  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7171  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7172  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7173  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7174  //
  7175  // Except as contained in this notice, the name of The Open Group shall not be
  7176  // used in advertising or otherwise to promote the sale, use or other dealings
  7177  // in this Software without prior written authorization from The Open Group.
  7178  //
  7179  //
  7180  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7181  //
  7182  //                         All Rights Reserved
  7183  //
  7184  // Permission to use, copy, modify, and distribute this software and its
  7185  // documentation for any purpose and without fee is hereby granted,
  7186  // provided that the above copyright notice appear in all copies and that
  7187  // both that copyright notice and this permission notice appear in
  7188  // supporting documentation, and that the name of Digital not be
  7189  // used in advertising or publicity pertaining to distribution of the
  7190  // software without specific, written prior permission.
  7191  //
  7192  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7193  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7194  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7195  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7196  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7197  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7198  // SOFTWARE.
  7199  //
  7200  // *****************************************************************
  7201  //**********************************************************
  7202  //
  7203  // Copyright 1987, 1998  The Open Group
  7204  //
  7205  // Permission to use, copy, modify, distribute, and sell this software and its
  7206  // documentation for any purpose is hereby granted without fee, provided that
  7207  // the above copyright notice appear in all copies and that both that
  7208  // copyright notice and this permission notice appear in supporting
  7209  // documentation.
  7210  //
  7211  // The above copyright notice and this permission notice shall be included in
  7212  // all copies or substantial portions of the Software.
  7213  //
  7214  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7215  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7216  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7217  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7218  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7219  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7220  //
  7221  // Except as contained in this notice, the name of The Open Group shall not be
  7222  // used in advertising or otherwise to promote the sale, use or other dealings
  7223  // in this Software without prior written authorization from The Open Group.
  7224  //
  7225  //
  7226  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7227  //
  7228  //                         All Rights Reserved
  7229  //
  7230  // Permission to use, copy, modify, and distribute this software and its
  7231  // documentation for any purpose and without fee is hereby granted,
  7232  // provided that the above copyright notice appear in all copies and that
  7233  // both that copyright notice and this permission notice appear in
  7234  // supporting documentation, and that the name of Digital not be
  7235  // used in advertising or publicity pertaining to distribution of the
  7236  // software without specific, written prior permission.
  7237  //
  7238  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7239  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7240  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7241  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7242  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7243  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7244  // SOFTWARE.
  7245  //
  7246  // *****************************************************************
  7247  
  7248  // Used by PolySegment
  7249  
  7250  type XSegment1 = X_xSegment /* Xprotostr.h:56:3 */
  7251  
  7252  // POINT
  7253  
  7254  type X_xPoint = struct {
  7255  	Fx INT16
  7256  	Fy INT16
  7257  } /* Xprotostr.h:60:9 */
  7258  
  7259  // POINT
  7260  
  7261  type XPoint1 = X_xPoint /* Xprotostr.h:62:3 */
  7262  
  7263  type X_xRectangle = struct {
  7264  	Fx      INT16
  7265  	Fy      INT16
  7266  	Fwidth  CARD16
  7267  	Fheight CARD16
  7268  } /* Xprotostr.h:64:9 */
  7269  
  7270  type XRectangle1 = X_xRectangle /* Xprotostr.h:67:3 */
  7271  
  7272  //  ARC
  7273  
  7274  type X_xArc = struct {
  7275  	Fx      INT16
  7276  	Fy      INT16
  7277  	Fwidth  CARD16
  7278  	Fheight CARD16
  7279  	Fangle1 INT16
  7280  	Fangle2 INT16
  7281  } /* Xprotostr.h:71:9 */
  7282  
  7283  //  ARC
  7284  
  7285  type XArc1 = X_xArc /* Xprotostr.h:75:3 */
  7286  
  7287  // Define constants for the sizes of the network packets.  The sz_ prefix is
  7288  // used instead of something more descriptive so that the symbols are no more
  7289  // than 32 characters in length (which causes problems for some compilers).
  7290  
  7291  // For the purpose of the structure definitions in this file,
  7292  // we must redefine the following types in terms of Xmd.h's types, which may
  7293  // include bit fields.  All of these are #undef'd at the end of this file,
  7294  // restoring the definitions in X.h.
  7295  
  7296  type KeyButMask = CARD16 /* Xproto.h:259:16 */
  7297  
  7298  //****************
  7299  //    Connection setup structures.  See Chapter 8: Connection Setup
  7300  //    of the X Window System Protocol specification for details.
  7301  // ****************
  7302  
  7303  // Client initiates handshake with this data, followed by the strings
  7304  // for the auth protocol & data.
  7305  type XConnClientPrefix = struct {
  7306  	FbyteOrder        CARD8
  7307  	Fpad              BYTE
  7308  	FmajorVersion     CARD16
  7309  	FminorVersion     CARD16
  7310  	FnbytesAuthProto  CARD16
  7311  	FnbytesAuthString CARD16
  7312  	Fpad2             CARD16
  7313  } /* Xproto.h:276:3 */
  7314  
  7315  // Server response to xConnClientPrefix.
  7316  //
  7317  // If success == Success, this is followed by xConnSetup and
  7318  // numRoots xWindowRoot structs.
  7319  //
  7320  // If success == Failure, this is followed by a reason string.
  7321  //
  7322  // The protocol also defines a case of success == Authenticate, but
  7323  // that doesn't seem to have ever been implemented by the X Consortium.
  7324  type XConnSetupPrefix = struct {
  7325  	Fsuccess      CARD8
  7326  	FlengthReason BYTE
  7327  	FmajorVersion CARD16
  7328  	FminorVersion CARD16
  7329  	Flength       CARD16
  7330  } /* Xproto.h:294:3 */
  7331  
  7332  type XConnSetup = struct {
  7333  	Frelease            CARD32
  7334  	FridBase            CARD32
  7335  	FridMask            CARD32
  7336  	FmotionBufferSize   CARD32
  7337  	FnbytesVendor       CARD16
  7338  	FmaxRequestSize     CARD16
  7339  	FnumRoots           CARD8
  7340  	FnumFormats         CARD8
  7341  	FimageByteOrder     CARD8
  7342  	FbitmapBitOrder     CARD8
  7343  	FbitmapScanlineUnit CARD8
  7344  	FbitmapScanlinePad  CARD8
  7345  	FminKeyCode         CARD8
  7346  	FmaxKeyCode         CARD8
  7347  	Fpad2               CARD32
  7348  } /* Xproto.h:312:3 */
  7349  
  7350  type XPixmapFormat = struct {
  7351  	Fdepth        CARD8
  7352  	FbitsPerPixel CARD8
  7353  	FscanLinePad  CARD8
  7354  	Fpad1         CARD8
  7355  	Fpad2         CARD32
  7356  } /* Xproto.h:320:3 */
  7357  
  7358  // window root
  7359  
  7360  type XDepth = struct {
  7361  	Fdepth    CARD8
  7362  	Fpad1     CARD8
  7363  	FnVisuals CARD16
  7364  	Fpad2     CARD32
  7365  } /* Xproto.h:329:7 */
  7366  
  7367  type XVisualType = struct {
  7368  	FvisualID        CARD32
  7369  	Fclass           CARD8
  7370  	FbitsPerRGB      CARD8
  7371  	FcolormapEntries CARD16
  7372  	FredMask         CARD32
  7373  	FgreenMask       CARD32
  7374  	FblueMask        CARD32
  7375  	Fpad             CARD32
  7376  } /* Xproto.h:342:7 */
  7377  
  7378  type XWindowRoot = struct {
  7379  	FwindowId         CARD32
  7380  	FdefaultColormap  CARD32
  7381  	FwhitePixel       CARD32
  7382  	FblackPixel       CARD32
  7383  	FcurrentInputMask CARD32
  7384  	FpixWidth         CARD16
  7385  	FpixHeight        CARD16
  7386  	FmmWidth          CARD16
  7387  	FmmHeight         CARD16
  7388  	FminInstalledMaps CARD16
  7389  	FmaxInstalledMaps CARD16
  7390  	FrootVisualID     CARD32
  7391  	FbackingStore     CARD8
  7392  	FsaveUnders       BOOL
  7393  	FrootDepth        CARD8
  7394  	FnDepths          CARD8
  7395  } /* Xproto.h:357:3 */
  7396  
  7397  // ****************************************************************
  7398  //
  7399  // Structure Defns
  7400  //   Structures needed for replies
  7401  //
  7402  
  7403  // Used in GetMotionEvents
  7404  
  7405  type XTimecoord = struct {
  7406  	Ftime CARD32
  7407  	Fx    INT16
  7408  	Fy    INT16
  7409  } /* Xproto.h:370:3 */
  7410  
  7411  type XHostEntry = struct {
  7412  	Ffamily CARD8
  7413  	Fpad    BYTE
  7414  	Flength CARD16
  7415  } /* Xproto.h:376:3 */
  7416  
  7417  type XCharInfo = struct {
  7418  	FleftSideBearing  INT16
  7419  	FrightSideBearing INT16
  7420  	FcharacterWidth   INT16
  7421  	Fascent           INT16
  7422  	Fdescent          INT16
  7423  	Fattributes       CARD16
  7424  } /* Xproto.h:385:3 */
  7425  
  7426  type XFontProp1 = struct {
  7427  	Fname  CARD32
  7428  	Fvalue CARD32
  7429  } /* Xproto.h:390:3 */
  7430  
  7431  // non-aligned big-endian font ID follows this struct
  7432  type XTextElt = struct {
  7433  	Flen   CARD8
  7434  	Fdelta INT8
  7435  } /* Xproto.h:399:3 */
  7436  
  7437  type XColorItem = struct {
  7438  	Fpixel CARD32
  7439  	Fred   CARD16
  7440  	Fgreen CARD16
  7441  	Fblue  CARD16
  7442  	Fflags CARD8
  7443  	Fpad   CARD8
  7444  } /* Xproto.h:407:3 */
  7445  
  7446  type Xrgb = struct {
  7447  	Fred   CARD16
  7448  	Fgreen CARD16
  7449  	Fblue  CARD16
  7450  	Fpad   CARD16
  7451  } /* Xproto.h:412:3 */
  7452  
  7453  type KEYCODE = CARD8 /* Xproto.h:414:15 */
  7454  
  7455  // ****************
  7456  //
  7457  // XRep:
  7458  //    meant to be 32 byte quantity
  7459  //
  7460  
  7461  // GenericReply is the common format of all replies.  The "data" items
  7462  //    are specific to each individual reply type.
  7463  
  7464  type XGenericReply = struct {
  7465  	Ftype           BYTE
  7466  	Fdata1          BYTE
  7467  	FsequenceNumber CARD16
  7468  	Flength         CARD32
  7469  	Fdata00         CARD32
  7470  	Fdata01         CARD32
  7471  	Fdata02         CARD32
  7472  	Fdata03         CARD32
  7473  	Fdata04         CARD32
  7474  	Fdata05         CARD32
  7475  } /* Xproto.h:436:7 */
  7476  
  7477  // Individual reply formats.
  7478  
  7479  type XGetWindowAttributesReply = struct {
  7480  	Ftype               BYTE
  7481  	FbackingStore       CARD8
  7482  	FsequenceNumber     CARD16
  7483  	Flength             CARD32
  7484  	FvisualID           CARD32
  7485  	Fclass              CARD16
  7486  	FbitGravity         CARD8
  7487  	FwinGravity         CARD8
  7488  	FbackingBitPlanes   CARD32
  7489  	FbackingPixel       CARD32
  7490  	FsaveUnder          BOOL
  7491  	FmapInstalled       BOOL
  7492  	FmapState           CARD8
  7493  	Foverride           BOOL
  7494  	Fcolormap           CARD32
  7495  	FallEventMasks      CARD32
  7496  	FyourEventMask      CARD32
  7497  	FdoNotPropagateMask CARD16
  7498  	Fpad                CARD16
  7499  } /* Xproto.h:464:7 */
  7500  
  7501  type XGetGeometryReply = struct {
  7502  	Ftype           BYTE
  7503  	Fdepth          CARD8
  7504  	FsequenceNumber CARD16
  7505  	Flength         CARD32
  7506  	Froot           CARD32
  7507  	Fx              INT16
  7508  	Fy              INT16
  7509  	Fwidth          CARD16
  7510  	Fheight         CARD16
  7511  	FborderWidth    CARD16
  7512  	Fpad1           CARD16
  7513  	Fpad2           CARD32
  7514  	Fpad3           CARD32
  7515  } /* Xproto.h:478:7 */
  7516  
  7517  type XQueryTreeReply = struct {
  7518  	Ftype           BYTE
  7519  	Fpad1           BYTE
  7520  	FsequenceNumber CARD16
  7521  	Flength         CARD32
  7522  	Froot           CARD32
  7523  	Fparent         CARD32
  7524  	FnChildren      CARD16
  7525  	Fpad2           CARD16
  7526  	Fpad3           CARD32
  7527  	Fpad4           CARD32
  7528  	Fpad5           CARD32
  7529  } /* Xproto.h:491:7 */
  7530  
  7531  type XInternAtomReply = struct {
  7532  	Ftype           BYTE
  7533  	Fpad1           BYTE
  7534  	FsequenceNumber CARD16
  7535  	Flength         CARD32
  7536  	Fatom           CARD32
  7537  	Fpad2           CARD32
  7538  	Fpad3           CARD32
  7539  	Fpad4           CARD32
  7540  	Fpad5           CARD32
  7541  	Fpad6           CARD32
  7542  } /* Xproto.h:504:7 */
  7543  
  7544  type XGetAtomNameReply = struct {
  7545  	Ftype           BYTE
  7546  	Fpad1           BYTE
  7547  	FsequenceNumber CARD16
  7548  	Flength         CARD32
  7549  	FnameLength     CARD16
  7550  	Fpad2           CARD16
  7551  	Fpad3           CARD32
  7552  	Fpad4           CARD32
  7553  	Fpad5           CARD32
  7554  	Fpad6           CARD32
  7555  	Fpad7           CARD32
  7556  } /* Xproto.h:518:7 */
  7557  
  7558  type XGetPropertyReply = struct {
  7559  	Ftype           BYTE
  7560  	Fformat         CARD8
  7561  	FsequenceNumber CARD16
  7562  	Flength         CARD32
  7563  	FpropertyType   CARD32
  7564  	FbytesAfter     CARD32
  7565  	FnItems         CARD32
  7566  	Fpad1           CARD32
  7567  	Fpad2           CARD32
  7568  	Fpad3           CARD32
  7569  } /* Xproto.h:531:7 */
  7570  
  7571  type XListPropertiesReply = struct {
  7572  	Ftype           BYTE
  7573  	Fpad1           BYTE
  7574  	FsequenceNumber CARD16
  7575  	Flength         CARD32
  7576  	FnProperties    CARD16
  7577  	Fpad2           CARD16
  7578  	Fpad3           CARD32
  7579  	Fpad4           CARD32
  7580  	Fpad5           CARD32
  7581  	Fpad6           CARD32
  7582  	Fpad7           CARD32
  7583  } /* Xproto.h:545:7 */
  7584  
  7585  type XGetSelectionOwnerReply = struct {
  7586  	Ftype           BYTE
  7587  	Fpad1           BYTE
  7588  	FsequenceNumber CARD16
  7589  	Flength         CARD32
  7590  	Fowner          CARD32
  7591  	Fpad2           CARD32
  7592  	Fpad3           CARD32
  7593  	Fpad4           CARD32
  7594  	Fpad5           CARD32
  7595  	Fpad6           CARD32
  7596  } /* Xproto.h:558:7 */
  7597  
  7598  type XGrabPointerReply = struct {
  7599  	Ftype           BYTE
  7600  	Fstatus         BYTE
  7601  	FsequenceNumber CARD16
  7602  	Flength         CARD32
  7603  	Fpad1           CARD32
  7604  	Fpad2           CARD32
  7605  	Fpad3           CARD32
  7606  	Fpad4           CARD32
  7607  	Fpad5           CARD32
  7608  	Fpad6           CARD32
  7609  } /* Xproto.h:571:7 */
  7610  
  7611  type XGrabKeyboardReply = XGrabPointerReply /* Xproto.h:573:27 */
  7612  
  7613  type XQueryPointerReply = struct {
  7614  	Ftype           BYTE
  7615  	FsameScreen     BOOL
  7616  	FsequenceNumber CARD16
  7617  	Flength         CARD32
  7618  	Froot           CARD32
  7619  	Fchild          CARD32
  7620  	FrootX          INT16
  7621  	FrootY          INT16
  7622  	FwinX           INT16
  7623  	FwinY           INT16
  7624  	Fmask           CARD16
  7625  	Fpad1           CARD16
  7626  	Fpad            CARD32
  7627  } /* Xproto.h:585:7 */
  7628  
  7629  type XGetMotionEventsReply = struct {
  7630  	Ftype           BYTE
  7631  	Fpad1           BYTE
  7632  	FsequenceNumber CARD16
  7633  	Flength         CARD32
  7634  	FnEvents        CARD32
  7635  	Fpad2           CARD32
  7636  	Fpad3           CARD32
  7637  	Fpad4           CARD32
  7638  	Fpad5           CARD32
  7639  	Fpad6           CARD32
  7640  } /* Xproto.h:598:7 */
  7641  
  7642  type XTranslateCoordsReply = struct {
  7643  	Ftype           BYTE
  7644  	FsameScreen     BOOL
  7645  	FsequenceNumber CARD16
  7646  	Flength         CARD32
  7647  	Fchild          CARD32
  7648  	FdstX           INT16
  7649  	FdstY           INT16
  7650  	Fpad2           CARD32
  7651  	Fpad3           CARD32
  7652  	Fpad4           CARD32
  7653  	Fpad5           CARD32
  7654  } /* Xproto.h:611:7 */
  7655  
  7656  type XGetInputFocusReply = struct {
  7657  	Ftype           BYTE
  7658  	FrevertTo       CARD8
  7659  	FsequenceNumber CARD16
  7660  	Flength         CARD32
  7661  	Ffocus          CARD32
  7662  	Fpad1           CARD32
  7663  	Fpad2           CARD32
  7664  	Fpad3           CARD32
  7665  	Fpad4           CARD32
  7666  	Fpad5           CARD32
  7667  } /* Xproto.h:624:7 */
  7668  
  7669  type XQueryKeymapReply = struct {
  7670  	Ftype           BYTE
  7671  	Fpad1           BYTE
  7672  	FsequenceNumber CARD16
  7673  	Flength         CARD32
  7674  	Fmap            [32]BYTE
  7675  } /* Xproto.h:632:7 */
  7676  
  7677  // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply
  7678  type X_xQueryFontReply = struct {
  7679  	Ftype           BYTE
  7680  	Fpad1           BYTE
  7681  	FsequenceNumber CARD16
  7682  	Flength         CARD32
  7683  	FminBounds      XCharInfo
  7684  	Fwalign1        CARD32
  7685  	FmaxBounds      XCharInfo
  7686  	Fwalign2        CARD32
  7687  	FminCharOrByte2 CARD16
  7688  	FmaxCharOrByte2 CARD16
  7689  	FdefaultChar    CARD16
  7690  	FnFontProps     CARD16
  7691  	FdrawDirection  CARD8
  7692  	FminByte1       CARD8
  7693  	FmaxByte1       CARD8
  7694  	FallCharsExist  BOOL
  7695  	FfontAscent     INT16
  7696  	FfontDescent    INT16
  7697  	FnCharInfos     CARD32
  7698  } /* Xproto.h:635:9 */
  7699  
  7700  // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply
  7701  type XQueryFontReply = X_xQueryFontReply /* Xproto.h:652:3 */
  7702  
  7703  type XQueryTextExtentsReply = struct {
  7704  	Ftype           BYTE
  7705  	FdrawDirection  CARD8
  7706  	FsequenceNumber CARD16
  7707  	Flength         CARD32
  7708  	FfontAscent     INT16
  7709  	FfontDescent    INT16
  7710  	FoverallAscent  INT16
  7711  	FoverallDescent INT16
  7712  	FoverallWidth   INT32
  7713  	FoverallLeft    INT32
  7714  	FoverallRight   INT32
  7715  	Fpad            CARD32
  7716  } /* Xproto.h:663:7 */
  7717  
  7718  type XListFontsReply = struct {
  7719  	Ftype           BYTE
  7720  	Fpad1           BYTE
  7721  	FsequenceNumber CARD16
  7722  	Flength         CARD32
  7723  	FnFonts         CARD16
  7724  	Fpad2           CARD16
  7725  	Fpad3           CARD32
  7726  	Fpad4           CARD32
  7727  	Fpad5           CARD32
  7728  	Fpad6           CARD32
  7729  	Fpad7           CARD32
  7730  } /* Xproto.h:677:7 */
  7731  
  7732  // Warning: this MUST match (up to component renaming) xQueryFontReply
  7733  type XListFontsWithInfoReply = struct {
  7734  	Ftype           BYTE
  7735  	FnameLength     CARD8
  7736  	FsequenceNumber CARD16
  7737  	Flength         CARD32
  7738  	FminBounds      XCharInfo
  7739  	Fwalign1        CARD32
  7740  	FmaxBounds      XCharInfo
  7741  	Fwalign2        CARD32
  7742  	FminCharOrByte2 CARD16
  7743  	FmaxCharOrByte2 CARD16
  7744  	FdefaultChar    CARD16
  7745  	FnFontProps     CARD16
  7746  	FdrawDirection  CARD8
  7747  	FminByte1       CARD8
  7748  	FmaxByte1       CARD8
  7749  	FallCharsExist  BOOL
  7750  	FfontAscent     INT16
  7751  	FfontDescent    INT16
  7752  	FnReplies       CARD32
  7753  } /* Xproto.h:697:3 */
  7754  
  7755  type XGetFontPathReply = struct {
  7756  	Ftype           BYTE
  7757  	Fpad1           BYTE
  7758  	FsequenceNumber CARD16
  7759  	Flength         CARD32
  7760  	FnPaths         CARD16
  7761  	Fpad2           CARD16
  7762  	Fpad3           CARD32
  7763  	Fpad4           CARD32
  7764  	Fpad5           CARD32
  7765  	Fpad6           CARD32
  7766  	Fpad7           CARD32
  7767  } /* Xproto.h:711:7 */
  7768  
  7769  type XGetImageReply = struct {
  7770  	Ftype           BYTE
  7771  	Fdepth          CARD8
  7772  	FsequenceNumber CARD16
  7773  	Flength         CARD32
  7774  	Fvisual         CARD32
  7775  	Fpad3           CARD32
  7776  	Fpad4           CARD32
  7777  	Fpad5           CARD32
  7778  	Fpad6           CARD32
  7779  	Fpad7           CARD32
  7780  } /* Xproto.h:724:7 */
  7781  
  7782  type XListInstalledColormapsReply = struct {
  7783  	Ftype           BYTE
  7784  	Fpad1           BYTE
  7785  	FsequenceNumber CARD16
  7786  	Flength         CARD32
  7787  	FnColormaps     CARD16
  7788  	Fpad2           CARD16
  7789  	Fpad3           CARD32
  7790  	Fpad4           CARD32
  7791  	Fpad5           CARD32
  7792  	Fpad6           CARD32
  7793  	Fpad7           CARD32
  7794  } /* Xproto.h:738:7 */
  7795  
  7796  type XAllocColorReply = struct {
  7797  	Ftype           BYTE
  7798  	Fpad1           BYTE
  7799  	FsequenceNumber CARD16
  7800  	Flength         CARD32
  7801  	Fred            CARD16
  7802  	Fgreen          CARD16
  7803  	Fblue           CARD16
  7804  	Fpad2           CARD16
  7805  	Fpixel          CARD32
  7806  	Fpad3           CARD32
  7807  	Fpad4           CARD32
  7808  	Fpad5           CARD32
  7809  } /* Xproto.h:751:7 */
  7810  
  7811  type XAllocNamedColorReply = struct {
  7812  	Ftype           BYTE
  7813  	Fpad1           BYTE
  7814  	FsequenceNumber CARD16
  7815  	Flength         CARD32
  7816  	Fpixel          CARD32
  7817  	FexactRed       CARD16
  7818  	FexactGreen     CARD16
  7819  	FexactBlue      CARD16
  7820  	FscreenRed      CARD16
  7821  	FscreenGreen    CARD16
  7822  	FscreenBlue     CARD16
  7823  	Fpad2           CARD32
  7824  	Fpad3           CARD32
  7825  } /* Xproto.h:763:7 */
  7826  
  7827  type XAllocColorCellsReply = struct {
  7828  	Ftype           BYTE
  7829  	Fpad1           BYTE
  7830  	FsequenceNumber CARD16
  7831  	Flength         CARD32
  7832  	FnPixels        CARD16
  7833  	FnMasks         CARD16
  7834  	Fpad3           CARD32
  7835  	Fpad4           CARD32
  7836  	Fpad5           CARD32
  7837  	Fpad6           CARD32
  7838  	Fpad7           CARD32
  7839  } /* Xproto.h:776:7 */
  7840  
  7841  type XAllocColorPlanesReply = struct {
  7842  	Ftype           BYTE
  7843  	Fpad1           BYTE
  7844  	FsequenceNumber CARD16
  7845  	Flength         CARD32
  7846  	FnPixels        CARD16
  7847  	Fpad2           CARD16
  7848  	FredMask        CARD32
  7849  	FgreenMask      CARD32
  7850  	FblueMask       CARD32
  7851  	Fpad3           CARD32
  7852  	Fpad4           CARD32
  7853  } /* Xproto.h:788:7 */
  7854  
  7855  type XQueryColorsReply = struct {
  7856  	Ftype           BYTE
  7857  	Fpad1           BYTE
  7858  	FsequenceNumber CARD16
  7859  	Flength         CARD32
  7860  	FnColors        CARD16
  7861  	Fpad2           CARD16
  7862  	Fpad3           CARD32
  7863  	Fpad4           CARD32
  7864  	Fpad5           CARD32
  7865  	Fpad6           CARD32
  7866  	Fpad7           CARD32
  7867  } /* Xproto.h:802:7 */
  7868  
  7869  type XLookupColorReply = struct {
  7870  	Ftype           BYTE
  7871  	Fpad1           BYTE
  7872  	FsequenceNumber CARD16
  7873  	Flength         CARD32
  7874  	FexactRed       CARD16
  7875  	FexactGreen     CARD16
  7876  	FexactBlue      CARD16
  7877  	FscreenRed      CARD16
  7878  	FscreenGreen    CARD16
  7879  	FscreenBlue     CARD16
  7880  	Fpad3           CARD32
  7881  	Fpad4           CARD32
  7882  	Fpad5           CARD32
  7883  } /* Xproto.h:814:7 */
  7884  
  7885  type XQueryBestSizeReply = struct {
  7886  	Ftype           BYTE
  7887  	Fpad1           BYTE
  7888  	FsequenceNumber CARD16
  7889  	Flength         CARD32
  7890  	Fwidth          CARD16
  7891  	Fheight         CARD16
  7892  	Fpad3           CARD32
  7893  	Fpad4           CARD32
  7894  	Fpad5           CARD32
  7895  	Fpad6           CARD32
  7896  	Fpad7           CARD32
  7897  } /* Xproto.h:827:7 */
  7898  
  7899  type XQueryExtensionReply = struct {
  7900  	Ftype           BYTE
  7901  	Fpad1           BYTE
  7902  	FsequenceNumber CARD16
  7903  	Flength         CARD32
  7904  	Fpresent        BOOL
  7905  	Fmajor_opcode   CARD8
  7906  	Ffirst_event    CARD8
  7907  	Ffirst_error    CARD8
  7908  	Fpad3           CARD32
  7909  	Fpad4           CARD32
  7910  	Fpad5           CARD32
  7911  	Fpad6           CARD32
  7912  	Fpad7           CARD32
  7913  } /* Xproto.h:843:7 */
  7914  
  7915  type XListExtensionsReply = struct {
  7916  	Ftype           BYTE
  7917  	FnExtensions    CARD8
  7918  	FsequenceNumber CARD16
  7919  	Flength         CARD32
  7920  	Fpad2           CARD32
  7921  	Fpad3           CARD32
  7922  	Fpad4           CARD32
  7923  	Fpad5           CARD32
  7924  	Fpad6           CARD32
  7925  	Fpad7           CARD32
  7926  } /* Xproto.h:856:7 */
  7927  
  7928  type XSetMappingReply = struct {
  7929  	Ftype           BYTE
  7930  	Fsuccess        CARD8
  7931  	FsequenceNumber CARD16
  7932  	Flength         CARD32
  7933  	Fpad2           CARD32
  7934  	Fpad3           CARD32
  7935  	Fpad4           CARD32
  7936  	Fpad5           CARD32
  7937  	Fpad6           CARD32
  7938  	Fpad7           CARD32
  7939  }                                                /* Xproto.h:870:7 */
  7940  type XSetPointerMappingReply = XSetMappingReply  /* Xproto.h:871:26 */
  7941  type XSetModifierMappingReply = XSetMappingReply /* Xproto.h:872:26 */
  7942  
  7943  type XGetPointerMappingReply = struct {
  7944  	Ftype           BYTE
  7945  	FnElts          CARD8
  7946  	FsequenceNumber CARD16
  7947  	Flength         CARD32
  7948  	Fpad2           CARD32
  7949  	Fpad3           CARD32
  7950  	Fpad4           CARD32
  7951  	Fpad5           CARD32
  7952  	Fpad6           CARD32
  7953  	Fpad7           CARD32
  7954  } /* Xproto.h:885:7 */
  7955  
  7956  type XGetKeyboardMappingReply = struct {
  7957  	Ftype              BYTE
  7958  	FkeySymsPerKeyCode CARD8
  7959  	FsequenceNumber    CARD16
  7960  	Flength            CARD32
  7961  	Fpad2              CARD32
  7962  	Fpad3              CARD32
  7963  	Fpad4              CARD32
  7964  	Fpad5              CARD32
  7965  	Fpad6              CARD32
  7966  	Fpad7              CARD32
  7967  } /* Xproto.h:898:3 */
  7968  
  7969  type XGetModifierMappingReply = struct {
  7970  	Ftype              BYTE
  7971  	FnumKeyPerModifier CARD8
  7972  	FsequenceNumber    CARD16
  7973  	Flength            CARD32
  7974  	Fpad1              CARD32
  7975  	Fpad2              CARD32
  7976  	Fpad3              CARD32
  7977  	Fpad4              CARD32
  7978  	Fpad5              CARD32
  7979  	Fpad6              CARD32
  7980  } /* Xproto.h:911:3 */
  7981  
  7982  type XGetKeyboardControlReply = struct {
  7983  	Ftype             BYTE
  7984  	FglobalAutoRepeat BOOL
  7985  	FsequenceNumber   CARD16
  7986  	Flength           CARD32
  7987  	FledMask          CARD32
  7988  	FkeyClickPercent  CARD8
  7989  	FbellPercent      CARD8
  7990  	FbellPitch        CARD16
  7991  	FbellDuration     CARD16
  7992  	Fpad              CARD16
  7993  	Fmap              [32]BYTE
  7994  } /* Xproto.h:923:7 */
  7995  
  7996  type XGetPointerControlReply = struct {
  7997  	Ftype             BYTE
  7998  	Fpad1             BYTE
  7999  	FsequenceNumber   CARD16
  8000  	Flength           CARD32
  8001  	FaccelNumerator   CARD16
  8002  	FaccelDenominator CARD16
  8003  	Fthreshold        CARD16
  8004  	Fpad2             CARD16
  8005  	Fpad3             CARD32
  8006  	Fpad4             CARD32
  8007  	Fpad5             CARD32
  8008  	Fpad6             CARD32
  8009  } /* Xproto.h:937:7 */
  8010  
  8011  type XGetScreenSaverReply = struct {
  8012  	Ftype           BYTE
  8013  	Fpad1           BYTE
  8014  	FsequenceNumber CARD16
  8015  	Flength         CARD32
  8016  	Ftimeout        CARD16
  8017  	Finterval       CARD16
  8018  	FpreferBlanking BOOL
  8019  	FallowExposures BOOL
  8020  	Fpad2           CARD16
  8021  	Fpad3           CARD32
  8022  	Fpad4           CARD32
  8023  	Fpad5           CARD32
  8024  	Fpad6           CARD32
  8025  } /* Xproto.h:952:7 */
  8026  
  8027  type XListHostsReply = struct {
  8028  	Ftype           BYTE
  8029  	Fenabled        BOOL
  8030  	FsequenceNumber CARD16
  8031  	Flength         CARD32
  8032  	FnHosts         CARD16
  8033  	Fpad1           CARD16
  8034  	Fpad3           CARD32
  8035  	Fpad4           CARD32
  8036  	Fpad5           CARD32
  8037  	Fpad6           CARD32
  8038  	Fpad7           CARD32
  8039  } /* Xproto.h:966:7 */
  8040  
  8041  // ****************************************************************
  8042  //
  8043  // Xerror
  8044  //    All errors  are 32 bytes
  8045  //
  8046  
  8047  type XError = struct {
  8048  	Ftype           BYTE
  8049  	FerrorCode      BYTE
  8050  	FsequenceNumber CARD16
  8051  	FresourceID     CARD32
  8052  	FminorCode      CARD16
  8053  	FmajorCode      CARD8
  8054  	Fpad1           BYTE
  8055  	Fpad3           CARD32
  8056  	Fpad4           CARD32
  8057  	Fpad5           CARD32
  8058  	Fpad6           CARD32
  8059  	Fpad7           CARD32
  8060  } /* Xproto.h:989:3 */
  8061  
  8062  // ****************************************************************
  8063  //
  8064  // xEvent
  8065  //    All events are 32 bytes
  8066  //
  8067  
  8068  type X_xEvent = struct {
  8069  	Fu struct {
  8070  		F__ccgo_pad1 [0]uint32
  8071  		Fu           struct {
  8072  			Ftype           BYTE
  8073  			Fdetail         BYTE
  8074  			FsequenceNumber CARD16
  8075  		}
  8076  		F__ccgo_pad2 [28]byte
  8077  	}
  8078  } /* Xproto.h:996:9 */
  8079  
  8080  // ****************************************************************
  8081  //
  8082  // xEvent
  8083  //    All events are 32 bytes
  8084  //
  8085  
  8086  type XEvent1 = X_xEvent /* Xproto.h:1214:3 */
  8087  
  8088  // ********************************************************
  8089  //
  8090  //
  8091  // Generic event
  8092  //
  8093  // Those events are not part of the core protocol spec and can be used by
  8094  // various extensions.
  8095  // type is always GenericEvent
  8096  // extension is the minor opcode of the extension the event belongs to.
  8097  // evtype is the actual event type, unique __per extension__.
  8098  //
  8099  // GenericEvents can be longer than 32 bytes, with the length field
  8100  // specifying the number of 4 byte blocks after the first 32 bytes.
  8101  //
  8102  //
  8103  type XGenericEvent1 = struct {
  8104  	Ftype           BYTE
  8105  	Fextension      CARD8
  8106  	FsequenceNumber CARD16
  8107  	Flength         CARD32
  8108  	Fevtype         CARD16
  8109  	Fpad2           CARD16
  8110  	Fpad3           CARD32
  8111  	Fpad4           CARD32
  8112  	Fpad5           CARD32
  8113  	Fpad6           CARD32
  8114  	Fpad7           CARD32
  8115  } /* Xproto.h:1244:3 */
  8116  
  8117  // KeymapNotify events are not included in the above union because they
  8118  //    are different from all other events: they do not have a "detail"
  8119  //    or "sequenceNumber", so there is room for a 248-bit key mask.
  8120  
  8121  type XKeymapEvent1 = struct {
  8122  	Ftype BYTE
  8123  	Fmap  [31]BYTE
  8124  } /* Xproto.h:1255:7 */
  8125  
  8126  // XReply is the union of all the replies above whose "fixed part"
  8127  // fits in 32 bytes.  It does NOT include GetWindowAttributesReply,
  8128  // QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply
  8129  // ListFontsWithInfoReply
  8130  
  8131  type XReply = struct{ Fgeneric XGenericReply } /* Xproto.h:1303:3 */
  8132  
  8133  // ****************************************************************
  8134  //
  8135  // REQUESTS
  8136  //
  8137  
  8138  // Request structure
  8139  
  8140  type X_xReq = struct {
  8141  	FreqType CARD8
  8142  	Fdata    CARD8
  8143  	Flength  CARD16
  8144  } /* Xproto.h:1314:9 */
  8145  
  8146  // ****************************************************************
  8147  //
  8148  // REQUESTS
  8149  //
  8150  
  8151  // Request structure
  8152  
  8153  type XReq = X_xReq /* Xproto.h:1319:3 */
  8154  
  8155  // ****************************************************************
  8156  //
  8157  //  structures that follow request.
  8158  //
  8159  
  8160  // ResourceReq is used for any request which has a resource ID
  8161  //    (or Atom or Time) as its one and only argument.
  8162  
  8163  type XResourceReq = struct {
  8164  	FreqType CARD8
  8165  	Fpad     BYTE
  8166  	Flength  CARD16
  8167  	Fid      CARD32
  8168  } /* Xproto.h:1333:7 */
  8169  
  8170  type XCreateWindowReq = struct {
  8171  	FreqType     CARD8
  8172  	Fdepth       CARD8
  8173  	Flength      CARD16
  8174  	Fwid         CARD32
  8175  	Fparent      CARD32
  8176  	Fx           INT16
  8177  	Fy           INT16
  8178  	Fwidth       CARD16
  8179  	Fheight      CARD16
  8180  	FborderWidth CARD16
  8181  	Fclass       CARD16
  8182  	Fvisual      CARD32
  8183  	Fmask        CARD32
  8184  } /* Xproto.h:1349:3 */
  8185  
  8186  type XChangeWindowAttributesReq = struct {
  8187  	FreqType   CARD8
  8188  	Fpad       BYTE
  8189  	Flength    CARD16
  8190  	Fwindow    CARD32
  8191  	FvalueMask CARD32
  8192  } /* Xproto.h:1357:3 */
  8193  
  8194  type XChangeSaveSetReq = struct {
  8195  	FreqType CARD8
  8196  	Fmode    BYTE
  8197  	Flength  CARD16
  8198  	Fwindow  CARD32
  8199  } /* Xproto.h:1364:3 */
  8200  
  8201  type XReparentWindowReq = struct {
  8202  	FreqType CARD8
  8203  	Fpad     BYTE
  8204  	Flength  CARD16
  8205  	Fwindow  CARD32
  8206  	Fparent  CARD32
  8207  	Fx       INT16
  8208  	Fy       INT16
  8209  } /* Xproto.h:1372:3 */
  8210  
  8211  type XConfigureWindowReq = struct {
  8212  	FreqType CARD8
  8213  	Fpad     CARD8
  8214  	Flength  CARD16
  8215  	Fwindow  CARD32
  8216  	Fmask    CARD16
  8217  	Fpad2    CARD16
  8218  } /* Xproto.h:1381:3 */
  8219  
  8220  type XCirculateWindowReq = struct {
  8221  	FreqType   CARD8
  8222  	Fdirection CARD8
  8223  	Flength    CARD16
  8224  	Fwindow    CARD32
  8225  } /* Xproto.h:1388:3 */
  8226  
  8227  type XInternAtomReq = struct {
  8228  	FreqType      CARD8
  8229  	FonlyIfExists BOOL
  8230  	Flength       CARD16
  8231  	Fnbytes       CARD16
  8232  	Fpad          CARD16
  8233  } /* Xproto.h:1396:3 */
  8234  
  8235  type XChangePropertyReq = struct {
  8236  	FreqType  CARD8
  8237  	Fmode     CARD8
  8238  	Flength   CARD16
  8239  	Fwindow   CARD32
  8240  	Fproperty CARD32
  8241  	Ftype     CARD32
  8242  	Fformat   CARD8
  8243  	Fpad      [3]BYTE
  8244  	FnUnits   CARD32
  8245  } /* Xproto.h:1407:3 */
  8246  
  8247  type XDeletePropertyReq = struct {
  8248  	FreqType  CARD8
  8249  	Fpad      BYTE
  8250  	Flength   CARD16
  8251  	Fwindow   CARD32
  8252  	Fproperty CARD32
  8253  } /* Xproto.h:1415:3 */
  8254  
  8255  type XGetPropertyReq = struct {
  8256  	FreqType    CARD8
  8257  	Fdelete     BOOL
  8258  	Flength     CARD16
  8259  	Fwindow     CARD32
  8260  	Fproperty   CARD32
  8261  	Ftype       CARD32
  8262  	FlongOffset CARD32
  8263  	FlongLength CARD32
  8264  } /* Xproto.h:1429:3 */
  8265  
  8266  type XSetSelectionOwnerReq = struct {
  8267  	FreqType   CARD8
  8268  	Fpad       BYTE
  8269  	Flength    CARD16
  8270  	Fwindow    CARD32
  8271  	Fselection CARD32
  8272  	Ftime      CARD32
  8273  } /* Xproto.h:1438:3 */
  8274  
  8275  type XConvertSelectionReq = struct {
  8276  	FreqType   CARD8
  8277  	Fpad       BYTE
  8278  	Flength    CARD16
  8279  	Frequestor CARD32
  8280  	Fselection CARD32
  8281  	Ftarget    CARD32
  8282  	Fproperty  CARD32
  8283  	Ftime      CARD32
  8284  } /* Xproto.h:1447:7 */
  8285  
  8286  type XSendEventReq = struct {
  8287  	FreqType     CARD8
  8288  	Fpropagate   BOOL
  8289  	Flength      CARD16
  8290  	Fdestination CARD32
  8291  	FeventMask   CARD32
  8292  	Fevent       XEvent1
  8293  } /* Xproto.h:1456:3 */
  8294  
  8295  type XGrabPointerReq = struct {
  8296  	FreqType      CARD8
  8297  	FownerEvents  BOOL
  8298  	Flength       CARD16
  8299  	FgrabWindow   CARD32
  8300  	FeventMask    CARD16
  8301  	FpointerMode  BYTE
  8302  	FkeyboardMode BYTE
  8303  	FconfineTo    CARD32
  8304  	Fcursor       CARD32
  8305  	Ftime         CARD32
  8306  } /* Xproto.h:1468:3 */
  8307  
  8308  type XGrabButtonReq = struct {
  8309  	FreqType      CARD8
  8310  	FownerEvents  BOOL
  8311  	Flength       CARD16
  8312  	FgrabWindow   CARD32
  8313  	FeventMask    CARD16
  8314  	FpointerMode  BYTE
  8315  	FkeyboardMode BYTE
  8316  	FconfineTo    CARD32
  8317  	Fcursor       CARD32
  8318  	Fbutton       CARD8
  8319  	Fpad          BYTE
  8320  	Fmodifiers    CARD16
  8321  } /* Xproto.h:1482:3 */
  8322  
  8323  type XUngrabButtonReq = struct {
  8324  	FreqType    CARD8
  8325  	Fbutton     CARD8
  8326  	Flength     CARD16
  8327  	FgrabWindow CARD32
  8328  	Fmodifiers  CARD16
  8329  	Fpad        CARD16
  8330  } /* Xproto.h:1491:3 */
  8331  
  8332  type XChangeActivePointerGrabReq = struct {
  8333  	FreqType   CARD8
  8334  	Fpad       BYTE
  8335  	Flength    CARD16
  8336  	Fcursor    CARD32
  8337  	Ftime      CARD32
  8338  	FeventMask CARD16
  8339  	Fpad2      CARD16
  8340  } /* Xproto.h:1501:3 */
  8341  
  8342  type XGrabKeyboardReq = struct {
  8343  	FreqType      CARD8
  8344  	FownerEvents  BOOL
  8345  	Flength       CARD16
  8346  	FgrabWindow   CARD32
  8347  	Ftime         CARD32
  8348  	FpointerMode  BYTE
  8349  	FkeyboardMode BYTE
  8350  	Fpad          CARD16
  8351  } /* Xproto.h:1511:3 */
  8352  
  8353  type XGrabKeyReq = struct {
  8354  	FreqType      CARD8
  8355  	FownerEvents  BOOL
  8356  	Flength       CARD16
  8357  	FgrabWindow   CARD32
  8358  	Fmodifiers    CARD16
  8359  	Fkey          CARD8
  8360  	FpointerMode  BYTE
  8361  	FkeyboardMode BYTE
  8362  	Fpad1         BYTE
  8363  	Fpad2         BYTE
  8364  	Fpad3         BYTE
  8365  } /* Xproto.h:1522:3 */
  8366  
  8367  type XUngrabKeyReq = struct {
  8368  	FreqType    CARD8
  8369  	Fkey        CARD8
  8370  	Flength     CARD16
  8371  	FgrabWindow CARD32
  8372  	Fmodifiers  CARD16
  8373  	Fpad        CARD16
  8374  } /* Xproto.h:1531:3 */
  8375  
  8376  type XAllowEventsReq = struct {
  8377  	FreqType CARD8
  8378  	Fmode    CARD8
  8379  	Flength  CARD16
  8380  	Ftime    CARD32
  8381  } /* Xproto.h:1538:3 */
  8382  
  8383  type XGetMotionEventsReq = struct {
  8384  	FreqType CARD8
  8385  	Fpad     BYTE
  8386  	Flength  CARD16
  8387  	Fwindow  CARD32
  8388  	Fstart   CARD32
  8389  	Fstop    CARD32
  8390  } /* Xproto.h:1546:3 */
  8391  
  8392  type XTranslateCoordsReq = struct {
  8393  	FreqType CARD8
  8394  	Fpad     BYTE
  8395  	Flength  CARD16
  8396  	FsrcWid  CARD32
  8397  	FdstWid  CARD32
  8398  	FsrcX    INT16
  8399  	FsrcY    INT16
  8400  } /* Xproto.h:1554:3 */
  8401  
  8402  type XWarpPointerReq = struct {
  8403  	FreqType   CARD8
  8404  	Fpad       BYTE
  8405  	Flength    CARD16
  8406  	FsrcWid    CARD32
  8407  	FdstWid    CARD32
  8408  	FsrcX      INT16
  8409  	FsrcY      INT16
  8410  	FsrcWidth  CARD16
  8411  	FsrcHeight CARD16
  8412  	FdstX      INT16
  8413  	FdstY      INT16
  8414  } /* Xproto.h:1564:3 */
  8415  
  8416  type XSetInputFocusReq = struct {
  8417  	FreqType  CARD8
  8418  	FrevertTo CARD8
  8419  	Flength   CARD16
  8420  	Ffocus    CARD32
  8421  	Ftime     CARD32
  8422  } /* Xproto.h:1572:3 */
  8423  
  8424  type XOpenFontReq = struct {
  8425  	FreqType CARD8
  8426  	Fpad     BYTE
  8427  	Flength  CARD16
  8428  	Ffid     CARD32
  8429  	Fnbytes  CARD16
  8430  	Fpad1    BYTE
  8431  	Fpad2    BYTE
  8432  } /* Xproto.h:1581:3 */
  8433  
  8434  type XQueryTextExtentsReq = struct {
  8435  	FreqType   CARD8
  8436  	FoddLength BOOL
  8437  	Flength    CARD16
  8438  	Ffid       CARD32
  8439  } /* Xproto.h:1588:7 */
  8440  
  8441  type XListFontsReq = struct {
  8442  	FreqType  CARD8
  8443  	Fpad      BYTE
  8444  	Flength   CARD16
  8445  	FmaxNames CARD16
  8446  	Fnbytes   CARD16
  8447  } /* Xproto.h:1596:3 */
  8448  
  8449  type XListFontsWithInfoReq = XListFontsReq /* Xproto.h:1598:23 */
  8450  
  8451  type XSetFontPathReq = struct {
  8452  	FreqType CARD8
  8453  	Fpad     BYTE
  8454  	Flength  CARD16
  8455  	FnFonts  CARD16
  8456  	Fpad1    BYTE
  8457  	Fpad2    BYTE
  8458  } /* Xproto.h:1606:3 */
  8459  
  8460  type XCreatePixmapReq = struct {
  8461  	FreqType  CARD8
  8462  	Fdepth    CARD8
  8463  	Flength   CARD16
  8464  	Fpid      CARD32
  8465  	Fdrawable CARD32
  8466  	Fwidth    CARD16
  8467  	Fheight   CARD16
  8468  } /* Xproto.h:1615:3 */
  8469  
  8470  type XCreateGCReq = struct {
  8471  	FreqType  CARD8
  8472  	Fpad      BYTE
  8473  	Flength   CARD16
  8474  	Fgc       CARD32
  8475  	Fdrawable CARD32
  8476  	Fmask     CARD32
  8477  } /* Xproto.h:1624:3 */
  8478  
  8479  type XChangeGCReq = struct {
  8480  	FreqType CARD8
  8481  	Fpad     BYTE
  8482  	Flength  CARD16
  8483  	Fgc      CARD32
  8484  	Fmask    CARD32
  8485  } /* Xproto.h:1632:3 */
  8486  
  8487  type XCopyGCReq = struct {
  8488  	FreqType CARD8
  8489  	Fpad     BYTE
  8490  	Flength  CARD16
  8491  	FsrcGC   CARD32
  8492  	FdstGC   CARD32
  8493  	Fmask    CARD32
  8494  } /* Xproto.h:1640:3 */
  8495  
  8496  type XSetDashesReq = struct {
  8497  	FreqType    CARD8
  8498  	Fpad        BYTE
  8499  	Flength     CARD16
  8500  	Fgc         CARD32
  8501  	FdashOffset CARD16
  8502  	FnDashes    CARD16
  8503  } /* Xproto.h:1649:3 */
  8504  
  8505  type XSetClipRectanglesReq = struct {
  8506  	FreqType  CARD8
  8507  	Fordering BYTE
  8508  	Flength   CARD16
  8509  	Fgc       CARD32
  8510  	FxOrigin  INT16
  8511  	FyOrigin  INT16
  8512  } /* Xproto.h:1657:3 */
  8513  
  8514  type XClearAreaReq = struct {
  8515  	FreqType   CARD8
  8516  	Fexposures BOOL
  8517  	Flength    CARD16
  8518  	Fwindow    CARD32
  8519  	Fx         INT16
  8520  	Fy         INT16
  8521  	Fwidth     CARD16
  8522  	Fheight    CARD16
  8523  } /* Xproto.h:1666:3 */
  8524  
  8525  type XCopyAreaReq = struct {
  8526  	FreqType     CARD8
  8527  	Fpad         BYTE
  8528  	Flength      CARD16
  8529  	FsrcDrawable CARD32
  8530  	FdstDrawable CARD32
  8531  	Fgc          CARD32
  8532  	FsrcX        INT16
  8533  	FsrcY        INT16
  8534  	FdstX        INT16
  8535  	FdstY        INT16
  8536  	Fwidth       CARD16
  8537  	Fheight      CARD16
  8538  } /* Xproto.h:1676:3 */
  8539  
  8540  type XCopyPlaneReq = struct {
  8541  	FreqType     CARD8
  8542  	Fpad         BYTE
  8543  	Flength      CARD16
  8544  	FsrcDrawable CARD32
  8545  	FdstDrawable CARD32
  8546  	Fgc          CARD32
  8547  	FsrcX        INT16
  8548  	FsrcY        INT16
  8549  	FdstX        INT16
  8550  	FdstY        INT16
  8551  	Fwidth       CARD16
  8552  	Fheight      CARD16
  8553  	FbitPlane    CARD32
  8554  } /* Xproto.h:1687:3 */
  8555  
  8556  type XPolyPointReq = struct {
  8557  	FreqType   CARD8
  8558  	FcoordMode BYTE
  8559  	Flength    CARD16
  8560  	Fdrawable  CARD32
  8561  	Fgc        CARD32
  8562  } /* Xproto.h:1695:3 */
  8563  
  8564  type XPolyLineReq = XPolyPointReq /* Xproto.h:1697:23 */ // same request structure
  8565  
  8566  // The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc
  8567  
  8568  type XPolySegmentReq = struct {
  8569  	FreqType  CARD8
  8570  	Fpad      BYTE
  8571  	Flength   CARD16
  8572  	Fdrawable CARD32
  8573  	Fgc       CARD32
  8574  } /* Xproto.h:1707:3 */
  8575  
  8576  type XPolyArcReq = XPolySegmentReq           /* Xproto.h:1709:25 */
  8577  type XPolyRectangleReq = XPolySegmentReq     /* Xproto.h:1710:25 */
  8578  type XPolyFillRectangleReq = XPolySegmentReq /* Xproto.h:1711:25 */
  8579  type XPolyFillArcReq = XPolySegmentReq       /* Xproto.h:1712:25 */
  8580  
  8581  type X_FillPolyReq = struct {
  8582  	FreqType   CARD8
  8583  	Fpad       BYTE
  8584  	Flength    CARD16
  8585  	Fdrawable  CARD32
  8586  	Fgc        CARD32
  8587  	Fshape     BYTE
  8588  	FcoordMode BYTE
  8589  	Fpad1      CARD16
  8590  } /* Xproto.h:1714:9 */
  8591  
  8592  type XFillPolyReq = X_FillPolyReq /* Xproto.h:1723:3 */
  8593  
  8594  type X_PutImageReq = struct {
  8595  	FreqType  CARD8
  8596  	Fformat   CARD8
  8597  	Flength   CARD16
  8598  	Fdrawable CARD32
  8599  	Fgc       CARD32
  8600  	Fwidth    CARD16
  8601  	Fheight   CARD16
  8602  	FdstX     INT16
  8603  	FdstY     INT16
  8604  	FleftPad  CARD8
  8605  	Fdepth    CARD8
  8606  	Fpad      CARD16
  8607  } /* Xproto.h:1726:9 */
  8608  
  8609  type XPutImageReq = X_PutImageReq /* Xproto.h:1737:3 */
  8610  
  8611  type XGetImageReq = struct {
  8612  	FreqType   CARD8
  8613  	Fformat    CARD8
  8614  	Flength    CARD16
  8615  	Fdrawable  CARD32
  8616  	Fx         INT16
  8617  	Fy         INT16
  8618  	Fwidth     CARD16
  8619  	Fheight    CARD16
  8620  	FplaneMask CARD32
  8621  } /* Xproto.h:1747:3 */
  8622  
  8623  // the following used by PolyText8 and PolyText16
  8624  
  8625  type XPolyTextReq = struct {
  8626  	FreqType  CARD8
  8627  	Fpad      CARD8
  8628  	Flength   CARD16
  8629  	Fdrawable CARD32
  8630  	Fgc       CARD32
  8631  	Fx        INT16
  8632  	Fy        INT16
  8633  } /* Xproto.h:1758:3 */
  8634  
  8635  type XPolyText8Req = XPolyTextReq  /* Xproto.h:1760:22 */
  8636  type XPolyText16Req = XPolyTextReq /* Xproto.h:1761:22 */
  8637  
  8638  type XImageTextReq = struct {
  8639  	FreqType  CARD8
  8640  	FnChars   BYTE
  8641  	Flength   CARD16
  8642  	Fdrawable CARD32
  8643  	Fgc       CARD32
  8644  	Fx        INT16
  8645  	Fy        INT16
  8646  } /* Xproto.h:1770:3 */
  8647  
  8648  type XImageText8Req = XImageTextReq  /* Xproto.h:1772:23 */
  8649  type XImageText16Req = XImageTextReq /* Xproto.h:1773:23 */
  8650  
  8651  type XCreateColormapReq = struct {
  8652  	FreqType CARD8
  8653  	Falloc   BYTE
  8654  	Flength  CARD16
  8655  	Fmid     CARD32
  8656  	Fwindow  CARD32
  8657  	Fvisual  CARD32
  8658  } /* Xproto.h:1782:3 */
  8659  
  8660  type XCopyColormapAndFreeReq = struct {
  8661  	FreqType CARD8
  8662  	Fpad     BYTE
  8663  	Flength  CARD16
  8664  	Fmid     CARD32
  8665  	FsrcCmap CARD32
  8666  } /* Xproto.h:1790:3 */
  8667  
  8668  type XAllocColorReq = struct {
  8669  	FreqType CARD8
  8670  	Fpad     BYTE
  8671  	Flength  CARD16
  8672  	Fcmap    CARD32
  8673  	Fred     CARD16
  8674  	Fgreen   CARD16
  8675  	Fblue    CARD16
  8676  	Fpad2    CARD16
  8677  } /* Xproto.h:1799:3 */
  8678  
  8679  type XAllocNamedColorReq = struct {
  8680  	FreqType CARD8
  8681  	Fpad     BYTE
  8682  	Flength  CARD16
  8683  	Fcmap    CARD32
  8684  	Fnbytes  CARD16
  8685  	Fpad1    BYTE
  8686  	Fpad2    BYTE
  8687  } /* Xproto.h:1808:3 */
  8688  
  8689  type XAllocColorCellsReq = struct {
  8690  	FreqType    CARD8
  8691  	Fcontiguous BOOL
  8692  	Flength     CARD16
  8693  	Fcmap       CARD32
  8694  	Fcolors     CARD16
  8695  	Fplanes     CARD16
  8696  } /* Xproto.h:1816:3 */
  8697  
  8698  type XAllocColorPlanesReq = struct {
  8699  	FreqType    CARD8
  8700  	Fcontiguous BOOL
  8701  	Flength     CARD16
  8702  	Fcmap       CARD32
  8703  	Fcolors     CARD16
  8704  	Fred        CARD16
  8705  	Fgreen      CARD16
  8706  	Fblue       CARD16
  8707  } /* Xproto.h:1824:3 */
  8708  
  8709  type XFreeColorsReq = struct {
  8710  	FreqType   CARD8
  8711  	Fpad       BYTE
  8712  	Flength    CARD16
  8713  	Fcmap      CARD32
  8714  	FplaneMask CARD32
  8715  } /* Xproto.h:1832:3 */
  8716  
  8717  type XStoreColorsReq = struct {
  8718  	FreqType CARD8
  8719  	Fpad     BYTE
  8720  	Flength  CARD16
  8721  	Fcmap    CARD32
  8722  } /* Xproto.h:1839:3 */
  8723  
  8724  type XStoreNamedColorReq = struct {
  8725  	FreqType CARD8
  8726  	Fflags   CARD8
  8727  	Flength  CARD16
  8728  	Fcmap    CARD32
  8729  	Fpixel   CARD32
  8730  	Fnbytes  CARD16
  8731  	Fpad1    BYTE
  8732  	Fpad2    BYTE
  8733  } /* Xproto.h:1849:7 */
  8734  
  8735  type XQueryColorsReq = struct {
  8736  	FreqType CARD8
  8737  	Fpad     BYTE
  8738  	Flength  CARD16
  8739  	Fcmap    CARD32
  8740  } /* Xproto.h:1856:3 */
  8741  
  8742  type XLookupColorReq = struct {
  8743  	FreqType CARD8
  8744  	Fpad     BYTE
  8745  	Flength  CARD16
  8746  	Fcmap    CARD32
  8747  	Fnbytes  CARD16
  8748  	Fpad1    BYTE
  8749  	Fpad2    BYTE
  8750  } /* Xproto.h:1865:3 */
  8751  
  8752  type XCreateCursorReq = struct {
  8753  	FreqType   CARD8
  8754  	Fpad       BYTE
  8755  	Flength    CARD16
  8756  	Fcid       CARD32
  8757  	Fsource    CARD32
  8758  	Fmask      CARD32
  8759  	FforeRed   CARD16
  8760  	FforeGreen CARD16
  8761  	FforeBlue  CARD16
  8762  	FbackRed   CARD16
  8763  	FbackGreen CARD16
  8764  	FbackBlue  CARD16
  8765  	Fx         CARD16
  8766  	Fy         CARD16
  8767  } /* Xproto.h:1876:3 */
  8768  
  8769  type XCreateGlyphCursorReq = struct {
  8770  	FreqType    CARD8
  8771  	Fpad        BYTE
  8772  	Flength     CARD16
  8773  	Fcid        CARD32
  8774  	Fsource     CARD32
  8775  	Fmask       CARD32
  8776  	FsourceChar CARD16
  8777  	FmaskChar   CARD16
  8778  	FforeRed    CARD16
  8779  	FforeGreen  CARD16
  8780  	FforeBlue   CARD16
  8781  	FbackRed    CARD16
  8782  	FbackGreen  CARD16
  8783  	FbackBlue   CARD16
  8784  } /* Xproto.h:1887:3 */
  8785  
  8786  type XRecolorCursorReq = struct {
  8787  	FreqType   CARD8
  8788  	Fpad       BYTE
  8789  	Flength    CARD16
  8790  	Fcursor    CARD32
  8791  	FforeRed   CARD16
  8792  	FforeGreen CARD16
  8793  	FforeBlue  CARD16
  8794  	FbackRed   CARD16
  8795  	FbackGreen CARD16
  8796  	FbackBlue  CARD16
  8797  } /* Xproto.h:1896:3 */
  8798  
  8799  type XQueryBestSizeReq = struct {
  8800  	FreqType  CARD8
  8801  	Fclass    CARD8
  8802  	Flength   CARD16
  8803  	Fdrawable CARD32
  8804  	Fwidth    CARD16
  8805  	Fheight   CARD16
  8806  } /* Xproto.h:1908:3 */
  8807  
  8808  type XQueryExtensionReq = struct {
  8809  	FreqType CARD8
  8810  	Fpad     BYTE
  8811  	Flength  CARD16
  8812  	Fnbytes  CARD16
  8813  	Fpad1    BYTE
  8814  	Fpad2    BYTE
  8815  } /* Xproto.h:1916:3 */
  8816  
  8817  type XSetModifierMappingReq = struct {
  8818  	FreqType           CARD8
  8819  	FnumKeyPerModifier CARD8
  8820  	Flength            CARD16
  8821  } /* Xproto.h:1922:3 */
  8822  
  8823  type XSetPointerMappingReq = struct {
  8824  	FreqType CARD8
  8825  	FnElts   CARD8
  8826  	Flength  CARD16
  8827  } /* Xproto.h:1928:3 */
  8828  
  8829  type XGetKeyboardMappingReq = struct {
  8830  	FreqType      CARD8
  8831  	Fpad          BYTE
  8832  	Flength       CARD16
  8833  	FfirstKeyCode CARD8
  8834  	Fcount        CARD8
  8835  	Fpad1         CARD16
  8836  } /* Xproto.h:1937:3 */
  8837  
  8838  type XChangeKeyboardMappingReq = struct {
  8839  	FreqType           CARD8
  8840  	FkeyCodes          CARD8
  8841  	Flength            CARD16
  8842  	FfirstKeyCode      CARD8
  8843  	FkeySymsPerKeyCode CARD8
  8844  	Fpad1              CARD16
  8845  } /* Xproto.h:1946:3 */
  8846  
  8847  type XChangeKeyboardControlReq = struct {
  8848  	FreqType CARD8
  8849  	Fpad     BYTE
  8850  	Flength  CARD16
  8851  	Fmask    CARD32
  8852  } /* Xproto.h:1953:3 */
  8853  
  8854  type XBellReq = struct {
  8855  	FreqType CARD8
  8856  	Fpercent INT8
  8857  	Flength  CARD16
  8858  } /* Xproto.h:1959:3 */
  8859  
  8860  type XChangePointerControlReq = struct {
  8861  	FreqType    CARD8
  8862  	Fpad        BYTE
  8863  	Flength     CARD16
  8864  	FaccelNum   INT16
  8865  	FaccelDenum INT16
  8866  	Fthreshold  INT16
  8867  	FdoAccel    BOOL
  8868  	FdoThresh   BOOL
  8869  } /* Xproto.h:1968:3 */
  8870  
  8871  type XSetScreenSaverReq = struct {
  8872  	FreqType     CARD8
  8873  	Fpad         BYTE
  8874  	Flength      CARD16
  8875  	Ftimeout     INT16
  8876  	Finterval    INT16
  8877  	FpreferBlank BYTE
  8878  	FallowExpose BYTE
  8879  	Fpad2        CARD16
  8880  } /* Xproto.h:1977:3 */
  8881  
  8882  type XChangeHostsReq = struct {
  8883  	FreqType    CARD8
  8884  	Fmode       BYTE
  8885  	Flength     CARD16
  8886  	FhostFamily CARD8
  8887  	Fpad        BYTE
  8888  	FhostLength CARD16
  8889  } /* Xproto.h:1986:3 */
  8890  
  8891  type XListHostsReq = struct {
  8892  	FreqType CARD8
  8893  	Fpad     BYTE
  8894  	Flength  CARD16
  8895  } /* Xproto.h:1992:7 */
  8896  
  8897  type XChangeModeReq = struct {
  8898  	FreqType CARD8
  8899  	Fmode    BYTE
  8900  	Flength  CARD16
  8901  } /* Xproto.h:1998:7 */
  8902  
  8903  type XSetAccessControlReq = XChangeModeReq /* Xproto.h:2000:24 */
  8904  type XSetCloseDownModeReq = XChangeModeReq /* Xproto.h:2001:24 */
  8905  type XForceScreenSaverReq = XChangeModeReq /* Xproto.h:2002:24 */
  8906  
  8907  type XRotatePropertiesReq = struct {
  8908  	FreqType    CARD8
  8909  	Fpad        BYTE
  8910  	Flength     CARD16
  8911  	Fwindow     CARD32
  8912  	FnAtoms     CARD16
  8913  	FnPositions INT16
  8914  } /* Xproto.h:2011:7 */
  8915  
  8916  type X_XFreeFuncs = struct {
  8917  	Fatoms         FreeFuncType
  8918  	Fmodifiermap   FreeModmapType
  8919  	Fkey_bindings  FreeFuncType
  8920  	Fcontext_db    FreeFuncType
  8921  	FdefaultCCCs   FreeFuncType
  8922  	FclientCmaps   FreeFuncType
  8923  	FintensityMaps FreeFuncType
  8924  	Fim_filters    FreeFuncType
  8925  	Fxkb           FreeFuncType
  8926  } /* Xlib.h:255:1 */
  8927  
  8928  type X_XSQEvent = struct {
  8929  	Fnext        uintptr
  8930  	Fevent       XEvent
  8931  	Fqserial_num uint64
  8932  } /* Xlib.h:255:1 */
  8933  
  8934  type X_XExten = struct {
  8935  	Fnext          uintptr
  8936  	Fcodes         XExtCodes
  8937  	Fcreate_GC     CreateGCType
  8938  	Fcopy_GC       CopyGCType
  8939  	Fflush_GC      FlushGCType
  8940  	Ffree_GC       FreeGCType
  8941  	Fcreate_Font   CreateFontType
  8942  	Ffree_Font     FreeFontType
  8943  	Fclose_display CloseDisplayType
  8944  	Ferror         ErrorType
  8945  	Ferror_string  ErrorStringType
  8946  	Fname          uintptr
  8947  	Ferror_values  PrintErrorType
  8948  	Fbefore_flush  BeforeFlushType
  8949  	Fnext_flush    uintptr
  8950  } /* Xlib.h:255:1 */
  8951  
  8952  type X_XInternalAsync = struct {
  8953  	Fnext    uintptr
  8954  	Fhandler uintptr
  8955  	Fdata    XPointer
  8956  } /* Xlib.h:255:1 */
  8957  
  8958  type X_XLockPtrs = struct {
  8959  	Flock_display   uintptr
  8960  	Funlock_display uintptr
  8961  } /* Xlib.h:255:1 */
  8962  
  8963  type X_XConnectionInfo = struct {
  8964  	Ffd            int32
  8965  	F__ccgo_pad1   [4]byte
  8966  	Fread_callback X_XInternalConnectionProc
  8967  	Fcall_data     XPointer
  8968  	Fwatch_data    uintptr
  8969  	Fnext          uintptr
  8970  } /* Xlib.h:255:1 */
  8971  
  8972  type X_XConnWatchInfo = struct {
  8973  	Ffn          XConnectionWatchProc
  8974  	Fclient_data XPointer
  8975  	Fnext        uintptr
  8976  } /* Xlib.h:255:1 */
  8977  
  8978  // access "last_request_read" and "request" with 64bit
  8979  // warning: the value argument of the SET-macros must not
  8980  // have any side-effects because it may get called twice.
  8981  // accessors for 64-bit unsigned long
  8982  
  8983  // _QEvent datatype for use in input queueing.
  8984  type X_XQEvent = X_XSQEvent /* Xlibint.h:331:3 */
  8985  
  8986  // POSIX.1-2008 extended locale interface (see locale.h).
  8987  // Definition of locale_t.
  8988  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  8989  //    This file is part of the GNU C Library.
  8990  //
  8991  //    The GNU C Library is free software; you can redistribute it and/or
  8992  //    modify it under the terms of the GNU Lesser General Public
  8993  //    License as published by the Free Software Foundation; either
  8994  //    version 2.1 of the License, or (at your option) any later version.
  8995  //
  8996  //    The GNU C Library is distributed in the hope that it will be useful,
  8997  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8998  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  8999  //    Lesser General Public License for more details.
  9000  //
  9001  //    You should have received a copy of the GNU Lesser General Public
  9002  //    License along with the GNU C Library; if not, see
  9003  //    <https://www.gnu.org/licenses/>.
  9004  
  9005  // Definition of struct __locale_struct and __locale_t.
  9006  //    Copyright (C) 1997-2020 Free Software Foundation, Inc.
  9007  //    This file is part of the GNU C Library.
  9008  //    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
  9009  //
  9010  //    The GNU C Library is free software; you can redistribute it and/or
  9011  //    modify it under the terms of the GNU Lesser General Public
  9012  //    License as published by the Free Software Foundation; either
  9013  //    version 2.1 of the License, or (at your option) any later version.
  9014  //
  9015  //    The GNU C Library is distributed in the hope that it will be useful,
  9016  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9017  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9018  //    Lesser General Public License for more details.
  9019  //
  9020  //    You should have received a copy of the GNU Lesser General Public
  9021  //    License along with the GNU C Library; if not, see
  9022  //    <https://www.gnu.org/licenses/>.
  9023  
  9024  // POSIX.1-2008: the locale_t type, representing a locale context
  9025  //    (implementation-namespace version).  This type should be treated
  9026  //    as opaque by applications; some details are exposed for the sake of
  9027  //    efficiency in e.g. ctype functions.
  9028  
  9029  type X__locale_struct = struct {
  9030  	F__locales       [13]uintptr
  9031  	F__ctype_b       uintptr
  9032  	F__ctype_tolower uintptr
  9033  	F__ctype_toupper uintptr
  9034  	F__names         [13]uintptr
  9035  } /* __locale_t.h:28:1 */
  9036  
  9037  type X__locale_t = uintptr /* __locale_t.h:42:32 */
  9038  
  9039  type Locale_t = X__locale_t /* locale_t.h:24:20 */
  9040  
  9041  // the new Xfuncs.h
  9042  
  9043  // the ANSI C way
  9044  
  9045  //
  9046  //  O/S-dependent (mis)feature macro definitions
  9047  //
  9048  // Copyright 1991, 1998  The Open Group
  9049  //
  9050  // Permission to use, copy, modify, distribute, and sell this software and its
  9051  // documentation for any purpose is hereby granted without fee, provided that
  9052  // the above copyright notice appear in all copies and that both that
  9053  // copyright notice and this permission notice appear in supporting
  9054  // documentation.
  9055  //
  9056  // The above copyright notice and this permission notice shall be included in
  9057  // all copies or substantial portions of the Software.
  9058  //
  9059  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9060  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9061  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9062  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9063  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9064  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9065  //
  9066  // Except as contained in this notice, the name of The Open Group shall not be
  9067  // used in advertising or otherwise to promote the sale, use or other dealings
  9068  // in this Software without prior written authorization from The Open Group.
  9069  //
  9070  
  9071  // Utek leaves kernel macros around in include files (bleah)
  9072  
  9073  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9074  //    This file is part of the GNU C Library.
  9075  //
  9076  //    The GNU C Library is free software; you can redistribute it and/or
  9077  //    modify it under the terms of the GNU Lesser General Public
  9078  //    License as published by the Free Software Foundation; either
  9079  //    version 2.1 of the License, or (at your option) any later version.
  9080  //
  9081  //    The GNU C Library is distributed in the hope that it will be useful,
  9082  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9083  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9084  //    Lesser General Public License for more details.
  9085  //
  9086  //    You should have received a copy of the GNU Lesser General Public
  9087  //    License along with the GNU C Library; if not, see
  9088  //    <https://www.gnu.org/licenses/>.
  9089  
  9090  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  9091  
  9092  // Handle feature test macros at the start of a header.
  9093  //    Copyright (C) 2016-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  // This header is internal to glibc and should not be included outside
  9111  //    of glibc headers.  Headers including it must define
  9112  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  9113  //    cannot have multiple include guards because ISO C feature test
  9114  //    macros depend on the definition of the macro when an affected
  9115  //    header is included, not when the first system header is
  9116  //    included.
  9117  
  9118  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9119  //    This file is part of the GNU C Library.
  9120  //
  9121  //    The GNU C Library is free software; you can redistribute it and/or
  9122  //    modify it under the terms of the GNU Lesser General Public
  9123  //    License as published by the Free Software Foundation; either
  9124  //    version 2.1 of the License, or (at your option) any later version.
  9125  //
  9126  //    The GNU C Library is distributed in the hope that it will be useful,
  9127  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9128  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9129  //    Lesser General Public License for more details.
  9130  //
  9131  //    You should have received a copy of the GNU Lesser General Public
  9132  //    License along with the GNU C Library; if not, see
  9133  //    <https://www.gnu.org/licenses/>.
  9134  
  9135  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  9136  //    macro.
  9137  
  9138  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  9139  //    macro.  Most but not all symbols enabled by that macro in TS
  9140  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
  9141  //    still require that macro in C2X.
  9142  
  9143  // ISO/IEC TS 18661-4:2015 defines the
  9144  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  9145  //    functions, the symbols from this TS are enabled unconditionally in
  9146  //    C2X.
  9147  
  9148  // ISO/IEC TS 18661-3:2015 defines the
  9149  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  9150  
  9151  // Get size_t, wchar_t and NULL from <stddef.h>.
  9152  // Copyright (C) 1989-2020 Free Software Foundation, Inc.
  9153  //
  9154  // This file is part of GCC.
  9155  //
  9156  // GCC is free software; you can redistribute it and/or modify
  9157  // it under the terms of the GNU General Public License as published by
  9158  // the Free Software Foundation; either version 3, or (at your option)
  9159  // any later version.
  9160  //
  9161  // GCC is distributed in the hope that it will be useful,
  9162  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  9163  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9164  // GNU General Public License for more details.
  9165  //
  9166  // Under Section 7 of GPL version 3, you are granted additional
  9167  // permissions described in the GCC Runtime Library Exception, version
  9168  // 3.1, as published by the Free Software Foundation.
  9169  //
  9170  // You should have received a copy of the GNU General Public License and
  9171  // a copy of the GCC Runtime Library Exception along with this program;
  9172  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  9173  // <http://www.gnu.org/licenses/>.
  9174  
  9175  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  9176  
  9177  // Any one of these symbols __need_* means that GNU libc
  9178  //    wants us just to define one data type.  So don't define
  9179  //    the symbols that indicate this file's entire job has been done.
  9180  
  9181  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  9182  //    There's no way to win with the other order!  Sun lossage.
  9183  
  9184  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  9185  //    Just ignore it.
  9186  
  9187  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  9188  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  9189  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  9190  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  9191  //    If we find that the macros are still defined at this point, we must
  9192  //    invoke them so that the type is defined as expected.
  9193  
  9194  // In case nobody has defined these types, but we aren't running under
  9195  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  9196  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  9197  //    parts of GCC is compiled by an older compiler, that actually
  9198  //    include gstddef.h, such as collect2.
  9199  
  9200  // Signed type of difference of two pointers.
  9201  
  9202  // Define this type if we are doing the whole job,
  9203  //    or if we want this type in particular.
  9204  
  9205  // If this symbol has done its job, get rid of it.
  9206  
  9207  // Unsigned type of `sizeof' something.
  9208  
  9209  // Define this type if we are doing the whole job,
  9210  //    or if we want this type in particular.
  9211  
  9212  // Wide character type.
  9213  //    Locale-writers should change this as necessary to
  9214  //    be big enough to hold unique values not between 0 and 127,
  9215  //    and not (wchar_t) -1, for each defined multibyte character.
  9216  
  9217  // Define this type if we are doing the whole job,
  9218  //    or if we want this type in particular.
  9219  
  9220  // A null pointer constant.
  9221  
  9222  // Offset of member MEMBER in a struct of type TYPE.
  9223  
  9224  // XPG requires a few symbols from <sys/wait.h> being defined.
  9225  // Definitions of flag bits for `waitpid' et al.
  9226  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  9227  //    This file is part of the GNU C Library.
  9228  //
  9229  //    The GNU C Library is free software; you can redistribute it and/or
  9230  //    modify it under the terms of the GNU Lesser General Public
  9231  //    License as published by the Free Software Foundation; either
  9232  //    version 2.1 of the License, or (at your option) any later version.
  9233  //
  9234  //    The GNU C Library is distributed in the hope that it will be useful,
  9235  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9236  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9237  //    Lesser General Public License for more details.
  9238  //
  9239  //    You should have received a copy of the GNU Lesser General Public
  9240  //    License along with the GNU C Library; if not, see
  9241  //    <https://www.gnu.org/licenses/>.
  9242  
  9243  // Bits in the third argument to `waitpid'.
  9244  
  9245  // Bits in the fourth argument to `waitid'.
  9246  
  9247  // The following values are used by the `waitid' function.
  9248  
  9249  // The Linux kernel defines these bare, rather than an enum,
  9250  //    which causes a conflict if the include order is reversed.
  9251  
  9252  type Idtype_t = uint32 /* waitflags.h:57:3 */
  9253  // Definitions of status bits for `wait' et al.
  9254  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  9255  //    This file is part of the GNU C Library.
  9256  //
  9257  //    The GNU C Library is free software; you can redistribute it and/or
  9258  //    modify it under the terms of the GNU Lesser General Public
  9259  //    License as published by the Free Software Foundation; either
  9260  //    version 2.1 of the License, or (at your option) any later version.
  9261  //
  9262  //    The GNU C Library is distributed in the hope that it will be useful,
  9263  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9264  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9265  //    Lesser General Public License for more details.
  9266  //
  9267  //    You should have received a copy of the GNU Lesser General Public
  9268  //    License along with the GNU C Library; if not, see
  9269  //    <https://www.gnu.org/licenses/>.
  9270  
  9271  // Everything extant so far uses these same bits.
  9272  
  9273  // If WIFEXITED(STATUS), the low-order 8 bits of the status.
  9274  
  9275  // If WIFSIGNALED(STATUS), the terminating signal.
  9276  
  9277  // If WIFSTOPPED(STATUS), the signal that stopped the child.
  9278  
  9279  // Nonzero if STATUS indicates normal termination.
  9280  
  9281  // Nonzero if STATUS indicates termination by a signal.
  9282  
  9283  // Nonzero if STATUS indicates the child is stopped.
  9284  
  9285  // Nonzero if STATUS indicates the child continued after a stop.  We only
  9286  //    define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
  9287  
  9288  // Nonzero if STATUS indicates the child dumped core.
  9289  
  9290  // Macros for constructing status values.
  9291  
  9292  // Define the macros <sys/wait.h> also would define this way.
  9293  
  9294  // _FloatN API tests for enablement.
  9295  // Macros to control TS 18661-3 glibc features on x86.
  9296  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  9297  //    This file is part of the GNU C Library.
  9298  //
  9299  //    The GNU C Library is free software; you can redistribute it and/or
  9300  //    modify it under the terms of the GNU Lesser General Public
  9301  //    License as published by the Free Software Foundation; either
  9302  //    version 2.1 of the License, or (at your option) any later version.
  9303  //
  9304  //    The GNU C Library is distributed in the hope that it will be useful,
  9305  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9306  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9307  //    Lesser General Public License for more details.
  9308  //
  9309  //    You should have received a copy of the GNU Lesser General Public
  9310  //    License along with the GNU C Library; if not, see
  9311  //    <https://www.gnu.org/licenses/>.
  9312  
  9313  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9314  //    This file is part of the GNU C Library.
  9315  //
  9316  //    The GNU C Library is free software; you can redistribute it and/or
  9317  //    modify it under the terms of the GNU Lesser General Public
  9318  //    License as published by the Free Software Foundation; either
  9319  //    version 2.1 of the License, or (at your option) any later version.
  9320  //
  9321  //    The GNU C Library is distributed in the hope that it will be useful,
  9322  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9323  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9324  //    Lesser General Public License for more details.
  9325  //
  9326  //    You should have received a copy of the GNU Lesser General Public
  9327  //    License along with the GNU C Library; if not, see
  9328  //    <https://www.gnu.org/licenses/>.
  9329  
  9330  // Defined to 1 if the current compiler invocation provides a
  9331  //    floating-point type with the IEEE 754 binary128 format, and this
  9332  //    glibc includes corresponding *f128 interfaces for it.  The required
  9333  //    libgcc support was added some time after the basic compiler
  9334  //    support, for x86_64 and x86.
  9335  
  9336  // Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
  9337  //    from the default float, double and long double types in this glibc.
  9338  
  9339  // Defined to 1 if the current compiler invocation provides a
  9340  //    floating-point type with the right format for _Float64x, and this
  9341  //    glibc includes corresponding *f64x interfaces for it.
  9342  
  9343  // Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
  9344  //    of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
  9345  //    the format of _Float128, which must be different from that of long
  9346  //    double.
  9347  
  9348  // Defined to concatenate the literal suffix to be used with _Float128
  9349  //    types, if __HAVE_FLOAT128 is 1.
  9350  
  9351  // Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
  9352  
  9353  // The remaining of this file provides support for older compilers.
  9354  
  9355  // The type _Float128 exists only since GCC 7.0.
  9356  
  9357  // __builtin_huge_valf128 doesn't exist before GCC 7.0.
  9358  
  9359  // Older GCC has only a subset of built-in functions for _Float128 on
  9360  //    x86, and __builtin_infq is not usable in static initializers.
  9361  //    Converting a narrower sNaN to _Float128 produces a quiet NaN, so
  9362  //    attempts to use _Float128 sNaNs will not work properly with older
  9363  //    compilers.
  9364  
  9365  // In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
  9366  //    e.g.: __builtin_signbitf128, before GCC 6.  However, there has never
  9367  //    been a __builtin_signbitf128 in GCC and the type-generic builtin is
  9368  //    only available since GCC 6.
  9369  
  9370  // Macros to control TS 18661-3 glibc features where the same
  9371  //    definitions are appropriate for all platforms.
  9372  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  9373  //    This file is part of the GNU C Library.
  9374  //
  9375  //    The GNU C Library is free software; you can redistribute it and/or
  9376  //    modify it under the terms of the GNU Lesser General Public
  9377  //    License as published by the Free Software Foundation; either
  9378  //    version 2.1 of the License, or (at your option) any later version.
  9379  //
  9380  //    The GNU C Library is distributed in the hope that it will be useful,
  9381  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9382  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9383  //    Lesser General Public License for more details.
  9384  //
  9385  //    You should have received a copy of the GNU Lesser General Public
  9386  //    License along with the GNU C Library; if not, see
  9387  //    <https://www.gnu.org/licenses/>.
  9388  
  9389  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9390  //    This file is part of the GNU C Library.
  9391  //
  9392  //    The GNU C Library is free software; you can redistribute it and/or
  9393  //    modify it under the terms of the GNU Lesser General Public
  9394  //    License as published by the Free Software Foundation; either
  9395  //    version 2.1 of the License, or (at your option) any later version.
  9396  //
  9397  //    The GNU C Library is distributed in the hope that it will be useful,
  9398  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9399  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9400  //    Lesser General Public License for more details.
  9401  //
  9402  //    You should have received a copy of the GNU Lesser General Public
  9403  //    License along with the GNU C Library; if not, see
  9404  //    <https://www.gnu.org/licenses/>.
  9405  
  9406  // Properties of long double type.  ldbl-96 version.
  9407  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  9408  //    This file is part of the GNU C Library.
  9409  //
  9410  //    The GNU C Library is free software; you can redistribute it and/or
  9411  //    modify it under the terms of the GNU Lesser General Public
  9412  //    License  published by the Free Software Foundation; either
  9413  //    version 2.1 of the License, or (at your option) any later version.
  9414  //
  9415  //    The GNU C Library is distributed in the hope that it will be useful,
  9416  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9417  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9418  //    Lesser General Public License for more details.
  9419  //
  9420  //    You should have received a copy of the GNU Lesser General Public
  9421  //    License along with the GNU C Library; if not, see
  9422  //    <https://www.gnu.org/licenses/>.
  9423  
  9424  // long double is distinct from double, so there is nothing to
  9425  //    define here.
  9426  
  9427  // This header should be included at the bottom of each bits/floatn.h.
  9428  //    It defines the following macros for each _FloatN and _FloatNx type,
  9429  //    where the same definitions, or definitions based only on the macros
  9430  //    in bits/floatn.h, are appropriate for all glibc configurations.
  9431  
  9432  // Defined to 1 if the current compiler invocation provides a
  9433  //    floating-point type with the right format for this type, and this
  9434  //    glibc includes corresponding *fN or *fNx interfaces for it.
  9435  
  9436  // Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
  9437  //    type is the first with its format in the sequence of (the default
  9438  //    choices for) float, double, long double, _Float16, _Float32,
  9439  //    _Float64, _Float128, _Float32x, _Float64x, _Float128x for this
  9440  //    glibc; that is, if functions present once per floating-point format
  9441  //    rather than once per type are present for this type.
  9442  //
  9443  //    All configurations supported by glibc have _Float32 the same format
  9444  //    as float, _Float64 and _Float32x the same format as double, the
  9445  //    _Float64x the same format as either long double or _Float128.  No
  9446  //    configurations support _Float128x or, as of GCC 7, have compiler
  9447  //    support for a type meeting the requirements for _Float128x.
  9448  
  9449  // Defined to 1 if the corresponding _FloatN type is not binary compatible
  9450  //    with the corresponding ISO C type in the current compilation unit as
  9451  //    opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
  9452  //    in glibc.
  9453  
  9454  // Defined to 1 if any _FloatN or _FloatNx types that are not
  9455  //    ABI-distinct are however distinct types at the C language level (so
  9456  //    for the purposes of __builtin_types_compatible_p and _Generic).
  9457  
  9458  // Defined to concatenate the literal suffix to be used with _FloatN
  9459  //    or _FloatNx types, if __HAVE_<type> is 1.  The corresponding
  9460  //    literal suffixes exist since GCC 7, for C only.
  9461  
  9462  // Defined to a complex type if __HAVE_<type> is 1.
  9463  
  9464  // The remaining of this file provides support for older compilers.
  9465  
  9466  // If double, long double and _Float64 all have the same set of
  9467  //    values, TS 18661-3 requires the usual arithmetic conversions on
  9468  //    long double and _Float64 to produce _Float64.  For this to be the
  9469  //    case when building with a compiler without a distinct _Float64
  9470  //    type, _Float64 must be a typedef for long double, not for
  9471  //    double.
  9472  
  9473  // Returned by `div'.
  9474  type Div_t = struct {
  9475  	Fquot int32
  9476  	Frem  int32
  9477  } /* stdlib.h:62:5 */
  9478  
  9479  // Returned by `ldiv'.
  9480  type Ldiv_t = struct {
  9481  	Fquot int64
  9482  	Frem  int64
  9483  } /* stdlib.h:70:5 */
  9484  
  9485  // Returned by `lldiv'.
  9486  type Lldiv_t = struct {
  9487  	Fquot int64
  9488  	Frem  int64
  9489  } /* stdlib.h:80:5 */
  9490  
  9491  // Reentrant versions of the `random' family of functions.
  9492  //    These functions all use the following data structure to contain
  9493  //    state, rather than global state variables.
  9494  
  9495  type Random_data = struct {
  9496  	Ffptr        uintptr
  9497  	Frptr        uintptr
  9498  	Fstate       uintptr
  9499  	Frand_type   int32
  9500  	Frand_deg    int32
  9501  	Frand_sep    int32
  9502  	F__ccgo_pad1 [4]byte
  9503  	Fend_ptr     uintptr
  9504  } /* stdlib.h:423:1 */
  9505  
  9506  // Data structure for communication with thread safe versions.  This
  9507  //    type is to be regarded as opaque.  It's only exported because users
  9508  //    have to allocate objects of this type.
  9509  type Drand48_data = struct {
  9510  	F__x     [3]uint16
  9511  	F__old_x [3]uint16
  9512  	F__c     uint16
  9513  	F__init  uint16
  9514  	F__a     uint64
  9515  } /* stdlib.h:490:1 */
  9516  
  9517  // Shorthand for type of comparison functions.
  9518  type X__compar_fn_t = uintptr /* stdlib.h:808:13 */
  9519  
  9520  // Floating-point inline functions for stdlib.h.
  9521  //    Copyright (C) 2012-2020 Free Software Foundation, Inc.
  9522  //    This file is part of the GNU C Library.
  9523  //
  9524  //    The GNU C Library is free software; you can redistribute it and/or
  9525  //    modify it under the terms of the GNU Lesser General Public
  9526  //    License as published by the Free Software Foundation; either
  9527  //    version 2.1 of the License, or (at your option) any later version.
  9528  //
  9529  //    The GNU C Library is distributed in the hope that it will be useful,
  9530  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9531  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9532  //    Lesser General Public License for more details.
  9533  //
  9534  //    You should have received a copy of the GNU Lesser General Public
  9535  //    License along with the GNU C Library; if not, see
  9536  //    <https://www.gnu.org/licenses/>.
  9537  
  9538  // Define some macros helping to catch buffer overflows.
  9539  
  9540  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9541  //    This file is part of the GNU C Library.
  9542  //
  9543  //    The GNU C Library is free software; you can redistribute it and/or
  9544  //    modify it under the terms of the GNU Lesser General Public
  9545  //    License as published by the Free Software Foundation; either
  9546  //    version 2.1 of the License, or (at your option) any later version.
  9547  //
  9548  //    The GNU C Library is distributed in the hope that it will be useful,
  9549  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9550  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9551  //    Lesser General Public License for more details.
  9552  //
  9553  //    You should have received a copy of the GNU Lesser General Public
  9554  //    License along with the GNU C Library; if not, see
  9555  //    <https://www.gnu.org/licenses/>.
  9556  
  9557  //	ISO C99 Standard: 7.21 String handling	<string.h>
  9558  
  9559  //
  9560  //
  9561  // Copyright 1989, 1991, 1998  The Open Group
  9562  //
  9563  // Permission to use, copy, modify, distribute, and sell this software and its
  9564  // documentation for any purpose is hereby granted without fee, provided that
  9565  // the above copyright notice appear in all copies and that both that
  9566  // copyright notice and this permission notice appear in supporting
  9567  // documentation.
  9568  //
  9569  // The above copyright notice and this permission notice shall be included in
  9570  // all copies or substantial portions of the Software.
  9571  //
  9572  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9573  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9574  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9575  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9576  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9577  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9578  //
  9579  // Except as contained in this notice, the name of The Open Group shall not be
  9580  // used in advertising or otherwise to promote the sale, use or other dealings
  9581  // in this Software without prior written authorization from The Open Group.
  9582  //  *
  9583  //
  9584  
  9585  // Definitions to make function prototypes manageable
  9586  
  9587  // The following definitions can be used for locking requests in multi-threaded
  9588  // address spaces.
  9589  // Author: Stephen Gildea, MIT X Consortium
  9590  //
  9591  // declarations for C Threads locking
  9592  
  9593  type LockInfoPtr = uintptr /* Xlibint.h:365:29 */
  9594  
  9595  // Xlib manual is bogus
  9596  
  9597  // CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit
  9598  // character.  If the character is in the column and exists, then return the
  9599  // appropriate metrics (note that fonts with common per-character metrics will
  9600  // return min_bounds).  If none of these hold true, try again with the default
  9601  // char.
  9602  
  9603  // CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and
  9604  // column.  This is used for fonts that have more than row zero.
  9605  
  9606  // srcvar must be a variable for large architecture version
  9607  
  9608  type X_XAsyncHandler = X_XInternalAsync /* Xlibint.h:784:3 */
  9609  
  9610  // This struct is part of the ABI and is defined by value
  9611  // in user-code. This means that we cannot make
  9612  // the sequence-numbers 64bit.
  9613  type X_XAsyncEState = struct {
  9614  	Fmin_sequence_number uint64
  9615  	Fmax_sequence_number uint64
  9616  	Ferror_code          uint8
  9617  	Fmajor_opcode        uint8
  9618  	Fminor_opcode        uint16
  9619  	Flast_error_received uint8
  9620  	F__ccgo_pad1         [3]byte
  9621  	Ferror_count         int32
  9622  	F__ccgo_pad2         [4]byte
  9623  } /* Xlibint.h:791:9 */
  9624  
  9625  // This struct is part of the ABI and is defined by value
  9626  // in user-code. This means that we cannot make
  9627  // the sequence-numbers 64bit.
  9628  type X_XAsyncErrorState = X_XAsyncEState /* Xlibint.h:799:3 */
  9629  
  9630  type FreeFuncType = uintptr /* Xlibint.h:809:14 */
  9631  
  9632  type FreeModmapType = uintptr /* Xlibint.h:813:13 */
  9633  
  9634  // This structure is private to the library.
  9635  type X_XFreeFuncRec = X_XFreeFuncs /* Xlibint.h:830:3 */
  9636  
  9637  // types for InitExt.c
  9638  type CreateGCType = uintptr /* Xlibint.h:833:13 */
  9639  
  9640  type CopyGCType = uintptr /* Xlibint.h:839:13 */
  9641  
  9642  type FlushGCType = uintptr /* Xlibint.h:845:13 */
  9643  
  9644  type FreeGCType = uintptr /* Xlibint.h:851:13 */
  9645  
  9646  type CreateFontType = uintptr /* Xlibint.h:857:13 */
  9647  
  9648  type FreeFontType = uintptr /* Xlibint.h:863:13 */
  9649  
  9650  type CloseDisplayType = uintptr /* Xlibint.h:869:13 */
  9651  
  9652  type ErrorType = uintptr /* Xlibint.h:874:13 */
  9653  
  9654  type ErrorStringType = uintptr /* Xlibint.h:881:13 */
  9655  
  9656  type PrintErrorType = uintptr /* Xlibint.h:889:14 */
  9657  
  9658  type BeforeFlushType = uintptr /* Xlibint.h:895:14 */
  9659  
  9660  // This structure is private to the library.
  9661  type X_XExtension = X_XExten /* Xlibint.h:921:3 */
  9662  
  9663  // internal connections for IMs
  9664  
  9665  type X_XInternalConnectionProc = uintptr /* Xlibint.h:1282:14 */
  9666  
  9667  //**********************************************************
  9668  //
  9669  // Copyright 1987, 1998  The Open Group
  9670  //
  9671  // Permission to use, copy, modify, distribute, and sell this software and its
  9672  // documentation for any purpose is hereby granted without fee, provided that
  9673  // the above copyright notice appear in all copies and that both that
  9674  // copyright notice and this permission notice appear in supporting
  9675  // documentation.
  9676  //
  9677  // The above copyright notice and this permission notice shall be included in
  9678  // all copies or substantial portions of the Software.
  9679  //
  9680  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9681  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9682  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9683  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9684  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9685  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9686  //
  9687  // Except as contained in this notice, the name of The Open Group shall not be
  9688  // used in advertising or otherwise to promote the sale, use or other dealings
  9689  // in this Software without prior written authorization from The Open Group.
  9690  //
  9691  //
  9692  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  9693  //
  9694  //                         All Rights Reserved
  9695  //
  9696  // Permission to use, copy, modify, and distribute this software and its
  9697  // documentation for any purpose and without fee is hereby granted,
  9698  // provided that the above copyright notice appear in all copies and that
  9699  // both that copyright notice and this permission notice appear in
  9700  // supporting documentation, and that the name of Digital not be
  9701  // used in advertising or publicity pertaining to distribution of the
  9702  // software without specific, written prior permission.
  9703  //
  9704  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  9705  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  9706  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  9707  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  9708  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  9709  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  9710  // SOFTWARE.
  9711  //
  9712  // *****************************************************************
  9713  
  9714  // You must include <X11/Xlib.h> before including this file
  9715  //
  9716  //
  9717  // Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
  9718  //
  9719  // Permission to use, copy, modify, distribute, and sell this software and its
  9720  // documentation for any purpose is hereby granted without fee, provided that
  9721  // the above copyright notice appear in all copies and that both that
  9722  // copyright notice and this permission notice appear in supporting
  9723  // documentation.
  9724  //
  9725  // The above copyright notice and this permission notice shall be included in
  9726  // all copies or substantial portions of the Software.
  9727  //
  9728  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9729  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9730  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9731  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9732  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9733  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9734  //
  9735  // Except as contained in this notice, the name of The Open Group shall not be
  9736  // used in advertising or otherwise to promote the sale, use or other dealings
  9737  // in this Software without prior written authorization from The Open Group.
  9738  //
  9739  
  9740  //	Xlib.h - Header definition and support file for the C subroutine
  9741  //	interface library (Xlib) to the X Window System Protocol (V11).
  9742  //	Structures and symbols starting with "_" are private to the library.
  9743  //**********************************************************
  9744  //
  9745  // Copyright 1987, 1998  The Open Group
  9746  //
  9747  // Permission to use, copy, modify, distribute, and sell this software and its
  9748  // documentation for any purpose is hereby granted without fee, provided that
  9749  // the above copyright notice appear in all copies and that both that
  9750  // copyright notice and this permission notice appear in supporting
  9751  // documentation.
  9752  //
  9753  // The above copyright notice and this permission notice shall be included in
  9754  // all copies or substantial portions of the Software.
  9755  //
  9756  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9757  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9758  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9759  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9760  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9761  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9762  //
  9763  // Except as contained in this notice, the name of The Open Group shall not be
  9764  // used in advertising or otherwise to promote the sale, use or other dealings
  9765  // in this Software without prior written authorization from The Open Group.
  9766  //
  9767  //
  9768  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  9769  //
  9770  //                         All Rights Reserved
  9771  //
  9772  // Permission to use, copy, modify, and distribute this software and its
  9773  // documentation for any purpose and without fee is hereby granted,
  9774  // provided that the above copyright notice appear in all copies and that
  9775  // both that copyright notice and this permission notice appear in
  9776  // supporting documentation, and that the name of Digital not be
  9777  // used in advertising or publicity pertaining to distribution of the
  9778  // software without specific, written prior permission.
  9779  //
  9780  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  9781  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  9782  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  9783  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  9784  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  9785  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  9786  // SOFTWARE.
  9787  //
  9788  // *****************************************************************
  9789  
  9790  // default keysyms
  9791  
  9792  //**********************************************************
  9793  // Copyright 1987, 1994, 1998  The Open Group
  9794  //
  9795  // Permission to use, copy, modify, distribute, and sell this software and its
  9796  // documentation for any purpose is hereby granted without fee, provided that
  9797  // the above copyright notice appear in all copies and that both that
  9798  // copyright notice and this permission notice appear in supporting
  9799  // documentation.
  9800  //
  9801  // The above copyright notice and this permission notice shall be included
  9802  // in all copies or substantial portions of the Software.
  9803  //
  9804  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  9805  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  9806  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  9807  // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
  9808  // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  9809  // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  9810  // OTHER DEALINGS IN THE SOFTWARE.
  9811  //
  9812  // Except as contained in this notice, the name of The Open Group shall
  9813  // not be used in advertising or otherwise to promote the sale, use or
  9814  // other dealings in this Software without prior written authorization
  9815  // from The Open Group.
  9816  //
  9817  //
  9818  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
  9819  //
  9820  //                         All Rights Reserved
  9821  //
  9822  // Permission to use, copy, modify, and distribute this software and its
  9823  // documentation for any purpose and without fee is hereby granted,
  9824  // provided that the above copyright notice appear in all copies and that
  9825  // both that copyright notice and this permission notice appear in
  9826  // supporting documentation, and that the name of Digital not be
  9827  // used in advertising or publicity pertaining to distribution of the
  9828  // software without specific, written prior permission.
  9829  //
  9830  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  9831  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  9832  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  9833  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  9834  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  9835  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  9836  // SOFTWARE.
  9837  //
  9838  // *****************************************************************
  9839  
  9840  // The "X11 Window System Protocol" standard defines in Appendix A the
  9841  // keysym codes. These 29-bit integer values identify characters or
  9842  // functions associated with each key (e.g., via the visible
  9843  // engraving) of a keyboard layout. This file assigns mnemonic macro
  9844  // names for these keysyms.
  9845  //
  9846  // This file is also compiled (by src/util/makekeys.c in libX11) into
  9847  // hash tables that can be accessed with X11 library functions such as
  9848  // XStringToKeysym() and XKeysymToString().
  9849  //
  9850  // Where a keysym corresponds one-to-one to an ISO 10646 / Unicode
  9851  // character, this is noted in a comment that provides both the U+xxxx
  9852  // Unicode position, as well as the official Unicode name of the
  9853  // character.
  9854  //
  9855  // Where the correspondence is either not one-to-one or semantically
  9856  // unclear, the Unicode position and name are enclosed in
  9857  // parentheses. Such legacy keysyms should be considered deprecated
  9858  // and are not recommended for use in future keyboard mappings.
  9859  //
  9860  // For any future extension of the keysyms with characters already
  9861  // found in ISO 10646 / Unicode, the following algorithm shall be
  9862  // used. The new keysym code position will simply be the character's
  9863  // Unicode number plus 0x01000000. The keysym values in the range
  9864  // 0x01000100 to 0x0110ffff are reserved to represent Unicode
  9865  // characters in the range U+0100 to U+10FFFF.
  9866  //
  9867  // While most newer Unicode-based X11 clients do already accept
  9868  // Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it
  9869  // will remain necessary for clients -- in the interest of
  9870  // compatibility with existing servers -- to also understand the
  9871  // existing legacy keysym values in the range 0x0100 to 0x20ff.
  9872  //
  9873  // Where several mnemonic names are defined for the same keysym in this
  9874  // file, all but the first one listed should be considered deprecated.
  9875  //
  9876  // Mnemonic names for keysyms are defined in this file with lines
  9877  // that match one of these Perl regular expressions:
  9878  //
  9879  //    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/
  9880  //    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
  9881  //    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
  9882  //
  9883  // Before adding new keysyms, please do consider the following: In
  9884  // addition to the keysym names defined in this file, the
  9885  // XStringToKeysym() and XKeysymToString() functions will also handle
  9886  // any keysym string of the form "U0020" to "U007E" and "U00A0" to
  9887  // "U10FFFF" for all possible Unicode characters. In other words,
  9888  // every possible Unicode character has already a keysym string
  9889  // defined algorithmically, even if it is not listed here. Therefore,
  9890  // defining an additional keysym macro is only necessary where a
  9891  // non-hexadecimal mnemonic name is needed, or where the new keysym
  9892  // does not represent any existing Unicode character.
  9893  //
  9894  // When adding new keysyms to this file, do not forget to also update the
  9895  // following as needed:
  9896  //
  9897  //   - the mappings in src/KeyBind.c in the libX11 repo
  9898  //     https://gitlab.freedesktop.org/xorg/lib/libx11
  9899  //
  9900  //   - the protocol specification in specs/keysyms.xml in this repo
  9901  //     https://gitlab.freedesktop.org/xorg/proto/xorgproto
  9902  //
  9903  
  9904  // TTY function keys, cleverly chosen to map to ASCII, for convenience of
  9905  // programming, but could have been arbitrary (at the cost of lookup
  9906  // tables in client code).
  9907  
  9908  // International & multi-key character composition
  9909  
  9910  // Japanese keyboard support
  9911  
  9912  // 0xff31 thru 0xff3f are under XK_KOREAN
  9913  
  9914  // Cursor control & motion
  9915  
  9916  // Misc functions
  9917  
  9918  // Keypad functions, keypad numbers cleverly chosen to map to ASCII
  9919  
  9920  // Auxiliary functions; note the duplicate definitions for left and right
  9921  // function keys;  Sun keyboards and a few other manufacturers have such
  9922  // function key groups on the left and/or right sides of the keyboard.
  9923  // We've not found a keyboard with more than 35 function keys total.
  9924  
  9925  // Modifiers
  9926  
  9927  // Keyboard (XKB) Extension function and modifier keys
  9928  // (from Appendix C of "The X Keyboard Extension: Protocol Specification")
  9929  // Byte 3 = 0xfe
  9930  
  9931  // extra dead elements for German T3 layout
  9932  
  9933  // dead vowels for universal syllable entry
  9934  
  9935  // Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method
  9936  
  9937  // 3270 Terminal Keys
  9938  // Byte 3 = 0xfd
  9939  
  9940  // Latin 1
  9941  // (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
  9942  // Byte 3 = 0
  9943  
  9944  // Latin 2
  9945  // Byte 3 = 1
  9946  
  9947  // Latin 3
  9948  // Byte 3 = 2
  9949  
  9950  // Latin 4
  9951  // Byte 3 = 3
  9952  
  9953  // Latin 8
  9954  
  9955  // Latin 9
  9956  // Byte 3 = 0x13
  9957  
  9958  // Katakana
  9959  // Byte 3 = 4
  9960  
  9961  // Arabic
  9962  // Byte 3 = 5
  9963  
  9964  // Cyrillic
  9965  // Byte 3 = 6
  9966  
  9967  // Greek
  9968  // (based on an early draft of, and not quite identical to, ISO/IEC 8859-7)
  9969  // Byte 3 = 7
  9970  
  9971  // Technical
  9972  // (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html)
  9973  // Byte 3 = 8
  9974  
  9975  // Special
  9976  // (from the DEC VT100 Special Graphics Character Set)
  9977  // Byte 3 = 9
  9978  
  9979  // Publishing
  9980  // (these are probably from a long forgotten DEC Publishing
  9981  // font that once shipped with DECwrite)
  9982  // Byte 3 = 0x0a
  9983  
  9984  // APL
  9985  // Byte 3 = 0x0b
  9986  
  9987  // Hebrew
  9988  // Byte 3 = 0x0c
  9989  
  9990  // Thai
  9991  // Byte 3 = 0x0d
  9992  
  9993  // Korean
  9994  // Byte 3 = 0x0e
  9995  
  9996  // Hangul Consonant Characters
  9997  
  9998  // Hangul Vowel Characters
  9999  
 10000  // Hangul syllable-final (JongSeong) Characters
 10001  
 10002  // Ancient Hangul Consonant Characters
 10003  
 10004  // Ancient Hangul Vowel Characters
 10005  
 10006  // Ancient Hangul syllable-final (JongSeong) Characters
 10007  
 10008  // Korean currency symbol
 10009  
 10010  // Armenian
 10011  
 10012  // Georgian
 10013  
 10014  // Azeri (and other Turkic or Caucasian languages)
 10015  
 10016  // latin
 10017  // those are not really Caucasus
 10018  // For Inupiak
 10019  
 10020  // Vietnamese
 10021  
 10022  // one, two and three are defined above.
 10023  
 10024  // Sinhala (http://unicode.org/charts/PDF/U0D80.pdf)
 10025  // http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html
 10026  
 10027  // The Xlib structs are full of implicit padding to properly align members.
 10028  //    We can't clean that up without breaking ABI, so tell clang not to bother
 10029  //    complaining about it.
 10030  
 10031  // Bitmask returned by XParseGeometry().  Each bit tells if the corresponding
 10032  // value (x, y, width, height) was found in the parsed string.
 10033  
 10034  // new version containing base_width, base_height, and win_gravity fields;
 10035  // used with WM_NORMAL_HINTS.
 10036  type XSizeHints = struct {
 10037  	Fflags      int64
 10038  	Fx          int32
 10039  	Fy          int32
 10040  	Fwidth      int32
 10041  	Fheight     int32
 10042  	Fmin_width  int32
 10043  	Fmin_height int32
 10044  	Fmax_width  int32
 10045  	Fmax_height int32
 10046  	Fwidth_inc  int32
 10047  	Fheight_inc int32
 10048  	Fmin_aspect struct {
 10049  		Fx int32
 10050  		Fy int32
 10051  	}
 10052  	Fmax_aspect struct {
 10053  		Fx int32
 10054  		Fy int32
 10055  	}
 10056  	Fbase_width  int32
 10057  	Fbase_height int32
 10058  	Fwin_gravity int32
 10059  	F__ccgo_pad1 [4]byte
 10060  } /* Xutil.h:94:3 */
 10061  
 10062  // The next block of definitions are for window manager properties that
 10063  // clients and applications use for communication.
 10064  
 10065  // flags argument in size hints
 10066  
 10067  // obsolete
 10068  
 10069  type XWMHints = struct {
 10070  	Fflags         int64
 10071  	Finput         int32
 10072  	Finitial_state int32
 10073  	Ficon_pixmap   Pixmap
 10074  	Ficon_window   Window
 10075  	Ficon_x        int32
 10076  	Ficon_y        int32
 10077  	Ficon_mask     Pixmap
 10078  	Fwindow_group  XID
 10079  } /* Xutil.h:130:3 */
 10080  
 10081  // definition for flags of XWMHints
 10082  
 10083  // definitions for initial window state
 10084  
 10085  // Obsolete states no longer defined by ICCCM
 10086  // some wm's may put it on inactive menu
 10087  
 10088  // new structure for manipulating TEXT properties; used with WM_NAME,
 10089  // WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
 10090  type XTextProperty = struct {
 10091  	Fvalue       uintptr
 10092  	Fencoding    Atom
 10093  	Fformat      int32
 10094  	F__ccgo_pad1 [4]byte
 10095  	Fnitems      uint64
 10096  } /* Xutil.h:168:3 */
 10097  
 10098  type XICCEncodingStyle = uint32 /* Xutil.h:181:3 */
 10099  
 10100  type XIconSize = struct {
 10101  	Fmin_width  int32
 10102  	Fmin_height int32
 10103  	Fmax_width  int32
 10104  	Fmax_height int32
 10105  	Fwidth_inc  int32
 10106  	Fheight_inc int32
 10107  } /* Xutil.h:187:3 */
 10108  
 10109  type XClassHint = struct {
 10110  	Fres_name  uintptr
 10111  	Fres_class uintptr
 10112  } /* Xutil.h:192:3 */
 10113  
 10114  // These macros are used to give some sugar to the image routines so that
 10115  // naive people are more comfortable with them.
 10116  
 10117  // Compose sequence status structure, used in calling XLookupString.
 10118  type X_XComposeStatus = struct {
 10119  	Fcompose_ptr   XPointer
 10120  	Fchars_matched int32
 10121  	F__ccgo_pad1   [4]byte
 10122  } /* Xutil.h:231:9 */
 10123  
 10124  // These macros are used to give some sugar to the image routines so that
 10125  // naive people are more comfortable with them.
 10126  
 10127  // Compose sequence status structure, used in calling XLookupString.
 10128  type XComposeStatus = X_XComposeStatus /* Xutil.h:234:3 */
 10129  
 10130  // Keysym macros, used on Keysyms to test for classes of symbols
 10131  
 10132  // opaque reference to Region data type
 10133  type X_XRegion = struct {
 10134  	Fsize     int64
 10135  	FnumRects int64
 10136  	Frects    uintptr
 10137  	Fextents  BOX
 10138  } /* Xutil.h:273:9 */
 10139  
 10140  // Keysym macros, used on Keysyms to test for classes of symbols
 10141  
 10142  // opaque reference to Region data type
 10143  type Region = uintptr /* Xutil.h:273:25 */
 10144  
 10145  // Return values from XRectInRegion()
 10146  
 10147  // Information used by the visual utility routines to find desired visual
 10148  // type from the many visuals a display may support.
 10149  
 10150  type XVisualInfo = struct {
 10151  	Fvisual        uintptr
 10152  	Fvisualid      VisualID
 10153  	Fscreen        int32
 10154  	Fdepth         int32
 10155  	Fclass         int32
 10156  	F__ccgo_pad1   [4]byte
 10157  	Fred_mask      uint64
 10158  	Fgreen_mask    uint64
 10159  	Fblue_mask     uint64
 10160  	Fcolormap_size int32
 10161  	Fbits_per_rgb  int32
 10162  } /* Xutil.h:302:3 */
 10163  
 10164  // This defines a window manager property that clients may use to
 10165  // share standard color maps of type RGB_COLOR_MAP:
 10166  type XStandardColormap = struct {
 10167  	Fcolormap   Colormap
 10168  	Fred_max    uint64
 10169  	Fred_mult   uint64
 10170  	Fgreen_max  uint64
 10171  	Fgreen_mult uint64
 10172  	Fblue_max   uint64
 10173  	Fblue_mult  uint64
 10174  	Fbase_pixel uint64
 10175  	Fvisualid   VisualID
 10176  	Fkillid     XID
 10177  } /* Xutil.h:331:3 */
 10178  
 10179  // return codes for XReadBitmapFile and XWriteBitmapFile
 10180  
 10181  // ***************************************************************
 10182  //
 10183  //
 10184  // Context Management
 10185  //
 10186  //
 10187  
 10188  // Associative lookup table return codes
 10189  
 10190  type XContext = int32 /* Xutil.h:357:13 */
 10191  
 10192  // Copyright © 2000 SuSE, Inc.
 10193  //
 10194  // Permission to use, copy, modify, distribute, and sell this software and its
 10195  // documentation for any purpose is hereby granted without fee, provided that
 10196  // the above copyright notice appear in all copies and that both that
 10197  // copyright notice and this permission notice appear in supporting
 10198  // documentation, and that the name of SuSE not be used in advertising or
 10199  // publicity pertaining to distribution of the software without specific,
 10200  // written prior permission.  SuSE makes no representations about the
 10201  // suitability of this software for any purpose.  It is provided "as is"
 10202  // without express or implied warranty.
 10203  //
 10204  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 10205  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 10206  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 10207  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 10208  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 10209  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 10210  //
 10211  // Author:  Keith Packard, SuSE, Inc.
 10212  
 10213  //**********************************************************
 10214  //
 10215  // Copyright 1987, 1998  The Open Group
 10216  //
 10217  // Permission to use, copy, modify, distribute, and sell this software and its
 10218  // documentation for any purpose is hereby granted without fee, provided that
 10219  // the above copyright notice appear in all copies and that both that
 10220  // copyright notice and this permission notice appear in supporting
 10221  // documentation.
 10222  //
 10223  // The above copyright notice and this permission notice shall be included in
 10224  // all copies or substantial portions of the Software.
 10225  //
 10226  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10227  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10228  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10229  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10230  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10231  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10232  //
 10233  // Except as contained in this notice, the name of The Open Group shall not be
 10234  // used in advertising or otherwise to promote the sale, use or other dealings
 10235  // in this Software without prior written authorization from The Open Group.
 10236  //
 10237  //
 10238  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 10239  //
 10240  //                         All Rights Reserved
 10241  //
 10242  // Permission to use, copy, modify, and distribute this software and its
 10243  // documentation for any purpose and without fee is hereby granted,
 10244  // provided that the above copyright notice appear in all copies and that
 10245  // both that copyright notice and this permission notice appear in
 10246  // supporting documentation, and that the name of Digital not be
 10247  // used in advertising or publicity pertaining to distribution of the
 10248  // software without specific, written prior permission.
 10249  //
 10250  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 10251  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 10252  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 10253  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 10254  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 10255  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 10256  // SOFTWARE.
 10257  //
 10258  // *****************************************************************
 10259  // Copyright © 2000 SuSE, Inc.
 10260  //
 10261  // Permission to use, copy, modify, distribute, and sell this software and its
 10262  // documentation for any purpose is hereby granted without fee, provided that
 10263  // the above copyright notice appear in all copies and that both that
 10264  // copyright notice and this permission notice appear in supporting
 10265  // documentation, and that the name of SuSE not be used in advertising or
 10266  // publicity pertaining to distribution of the software without specific,
 10267  // written prior permission.  SuSE makes no representations about the
 10268  // suitability of this software for any purpose.  It is provided "as is"
 10269  // without express or implied warranty.
 10270  //
 10271  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 10272  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 10273  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 10274  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 10275  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 10276  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 10277  //
 10278  // Author:  Keith Packard, SuSE, Inc.
 10279  
 10280  //**********************************************************
 10281  //
 10282  // Copyright (c) 1999  The XFree86 Project Inc.
 10283  //
 10284  // All Rights Reserved.
 10285  //
 10286  // The above copyright notice and this permission notice shall be included in
 10287  // all copies or substantial portions of the Software.
 10288  //
 10289  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10290  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10291  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10292  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10293  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10294  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10295  //
 10296  // Except as contained in this notice, the name of The XFree86 Project
 10297  // Inc. shall not be used in advertising or otherwise to promote the
 10298  // sale, use or other dealings in this Software without prior written
 10299  // authorization from The XFree86 Project Inc..
 10300  //
 10301  
 10302  // *
 10303  // Types definitions shared between server and clients
 10304  //
 10305  
 10306  type Pointer = uintptr /* Xdefs.h:53:14 */
 10307  
 10308  type ClientPtr = uintptr /* Xdefs.h:57:24 */
 10309  
 10310  type FontPtr = uintptr /* Xdefs.h:81:22 */ // also in fonts/include/font.h
 10311  
 10312  type FSID = uint64 /* Xdefs.h:91:23 */
 10313  
 10314  type AccContext = FSID /* Xdefs.h:97:14 */
 10315  
 10316  // OS independent time value
 10317  //    XXX Should probably go in Xos.h
 10318  type OSTimePtr = uintptr /* Xdefs.h:101:24 */
 10319  
 10320  type BlockHandlerProcPtr = uintptr /* Xdefs.h:104:14 */
 10321  
 10322  type Glyph = XID      /* render.h:29:14 */
 10323  type GlyphSet = XID   /* render.h:30:14 */
 10324  type Picture = XID    /* render.h:31:14 */
 10325  type PictFormat = XID /* render.h:32:14 */
 10326  
 10327  // #define X_RenderTransform		    16
 10328  // 0.5
 10329  // 0.6
 10330  // 0.8
 10331  // 0.9
 10332  // 0.10
 10333  
 10334  // Operators only available in version 0.2
 10335  
 10336  // Operators only available in version 0.11
 10337  
 10338  // Filters included in 0.6
 10339  // Filters included in 0.10
 10340  
 10341  // Subpixel orders included in 0.6
 10342  
 10343  // Extended repeat attributes included in 0.10
 10344  
 10345  // data structures
 10346  
 10347  type XDirectFormat = struct {
 10348  	Fred       CARD16
 10349  	FredMask   CARD16
 10350  	Fgreen     CARD16
 10351  	FgreenMask CARD16
 10352  	Fblue      CARD16
 10353  	FblueMask  CARD16
 10354  	Falpha     CARD16
 10355  	FalphaMask CARD16
 10356  } /* renderproto.h:61:3 */
 10357  
 10358  type XPictFormInfo = struct {
 10359  	Fid       CARD32
 10360  	Ftype     CARD8
 10361  	Fdepth    CARD8
 10362  	Fpad1     CARD16
 10363  	Fdirect   XDirectFormat
 10364  	Fcolormap CARD32
 10365  } /* renderproto.h:72:3 */
 10366  
 10367  type XPictVisual = struct {
 10368  	Fvisual CARD32
 10369  	Fformat CARD32
 10370  } /* renderproto.h:79:3 */
 10371  
 10372  type XPictDepth = struct {
 10373  	Fdepth        CARD8
 10374  	Fpad1         CARD8
 10375  	FnPictVisuals CARD16
 10376  	Fpad2         CARD32
 10377  } /* renderproto.h:88:3 */
 10378  
 10379  type XPictScreen = struct {
 10380  	FnDepth   CARD32
 10381  	Ffallback CARD32
 10382  } /* renderproto.h:95:3 */
 10383  
 10384  type XIndexValue = struct {
 10385  	Fpixel CARD32
 10386  	Fred   CARD16
 10387  	Fgreen CARD16
 10388  	Fblue  CARD16
 10389  	Falpha CARD16
 10390  } /* renderproto.h:105:3 */
 10391  
 10392  type XRenderColor = struct {
 10393  	Fred   CARD16
 10394  	Fgreen CARD16
 10395  	Fblue  CARD16
 10396  	Falpha CARD16
 10397  } /* renderproto.h:114:3 */
 10398  
 10399  type XPointFixed = struct {
 10400  	Fx INT32
 10401  	Fy INT32
 10402  } /* renderproto.h:121:3 */
 10403  
 10404  type XLineFixed = struct {
 10405  	Fp1 XPointFixed
 10406  	Fp2 XPointFixed
 10407  } /* renderproto.h:128:3 */
 10408  
 10409  type XTriangle = struct {
 10410  	Fp1 XPointFixed
 10411  	Fp2 XPointFixed
 10412  	Fp3 XPointFixed
 10413  } /* renderproto.h:134:3 */
 10414  
 10415  type XTrapezoid = struct {
 10416  	Ftop    INT32
 10417  	Fbottom INT32
 10418  	Fleft   XLineFixed
 10419  	Fright  XLineFixed
 10420  } /* renderproto.h:143:3 */
 10421  
 10422  type XGlyphInfo = struct {
 10423  	Fwidth  CARD16
 10424  	Fheight CARD16
 10425  	Fx      INT16
 10426  	Fy      INT16
 10427  	FxOff   INT16
 10428  	FyOff   INT16
 10429  } /* renderproto.h:154:3 */
 10430  
 10431  type XGlyphElt = struct {
 10432  	Flen    CARD8
 10433  	Fpad1   CARD8
 10434  	Fpad2   CARD16
 10435  	Fdeltax INT16
 10436  	Fdeltay INT16
 10437  } /* renderproto.h:164:3 */
 10438  
 10439  type XSpanFix = struct {
 10440  	Fl INT32
 10441  	Fr INT32
 10442  	Fy INT32
 10443  } /* renderproto.h:170:3 */
 10444  
 10445  type XTrap = struct {
 10446  	Ftop XSpanFix
 10447  	Fbot XSpanFix
 10448  } /* renderproto.h:176:3 */
 10449  
 10450  // requests and replies
 10451  type XRenderQueryVersionReq = struct {
 10452  	FreqType       CARD8
 10453  	FrenderReqType CARD8
 10454  	Flength        CARD16
 10455  	FmajorVersion  CARD32
 10456  	FminorVersion  CARD32
 10457  } /* renderproto.h:189:3 */
 10458  
 10459  type XRenderQueryVersionReply = struct {
 10460  	Ftype           BYTE
 10461  	Fpad1           BYTE
 10462  	FsequenceNumber CARD16
 10463  	Flength         CARD32
 10464  	FmajorVersion   CARD32
 10465  	FminorVersion   CARD32
 10466  	Fpad2           CARD32
 10467  	Fpad3           CARD32
 10468  	Fpad4           CARD32
 10469  	Fpad5           CARD32
 10470  } /* renderproto.h:204:3 */
 10471  
 10472  type XRenderQueryPictFormatsReq = struct {
 10473  	FreqType       CARD8
 10474  	FrenderReqType CARD8
 10475  	Flength        CARD16
 10476  } /* renderproto.h:212:3 */
 10477  
 10478  type XRenderQueryPictFormatsReply = struct {
 10479  	Ftype           BYTE
 10480  	Fpad1           BYTE
 10481  	FsequenceNumber CARD16
 10482  	Flength         CARD32
 10483  	FnumFormats     CARD32
 10484  	FnumScreens     CARD32
 10485  	FnumDepths      CARD32
 10486  	FnumVisuals     CARD32
 10487  	FnumSubpixel    CARD32
 10488  	Fpad5           CARD32
 10489  } /* renderproto.h:227:3 */
 10490  
 10491  type XRenderQueryPictIndexValuesReq = struct {
 10492  	FreqType       CARD8
 10493  	FrenderReqType CARD8
 10494  	Flength        CARD16
 10495  	Fformat        CARD32
 10496  } /* renderproto.h:236:3 */
 10497  
 10498  type XRenderQueryPictIndexValuesReply = struct {
 10499  	Ftype           BYTE
 10500  	Fpad1           BYTE
 10501  	FsequenceNumber CARD16
 10502  	Flength         CARD32
 10503  	FnumIndexValues CARD32
 10504  	Fpad2           CARD32
 10505  	Fpad3           CARD32
 10506  	Fpad4           CARD32
 10507  	Fpad5           CARD32
 10508  	Fpad6           CARD32
 10509  } /* renderproto.h:251:3 */
 10510  
 10511  type XRenderCreatePictureReq = struct {
 10512  	FreqType       CARD8
 10513  	FrenderReqType CARD8
 10514  	Flength        CARD16
 10515  	Fpid           CARD32
 10516  	Fdrawable      CARD32
 10517  	Fformat        CARD32
 10518  	Fmask          CARD32
 10519  } /* renderproto.h:263:3 */
 10520  
 10521  type XRenderChangePictureReq = struct {
 10522  	FreqType       CARD8
 10523  	FrenderReqType CARD8
 10524  	Flength        CARD16
 10525  	Fpicture       CARD32
 10526  	Fmask          CARD32
 10527  } /* renderproto.h:273:3 */
 10528  
 10529  type XRenderSetPictureClipRectanglesReq = struct {
 10530  	FreqType       CARD8
 10531  	FrenderReqType CARD8
 10532  	Flength        CARD16
 10533  	Fpicture       CARD32
 10534  	FxOrigin       INT16
 10535  	FyOrigin       INT16
 10536  } /* renderproto.h:284:3 */
 10537  
 10538  type XRenderFreePictureReq = struct {
 10539  	FreqType       CARD8
 10540  	FrenderReqType CARD8
 10541  	Flength        CARD16
 10542  	Fpicture       CARD32
 10543  } /* renderproto.h:293:3 */
 10544  
 10545  type XRenderCompositeReq = struct {
 10546  	FreqType       CARD8
 10547  	FrenderReqType CARD8
 10548  	Flength        CARD16
 10549  	Fop            CARD8
 10550  	Fpad1          CARD8
 10551  	Fpad2          CARD16
 10552  	Fsrc           CARD32
 10553  	Fmask          CARD32
 10554  	Fdst           CARD32
 10555  	FxSrc          INT16
 10556  	FySrc          INT16
 10557  	FxMask         INT16
 10558  	FyMask         INT16
 10559  	FxDst          INT16
 10560  	FyDst          INT16
 10561  	Fwidth         CARD16
 10562  	Fheight        CARD16
 10563  } /* renderproto.h:315:3 */
 10564  
 10565  type XRenderScaleReq = struct {
 10566  	FreqType       CARD8
 10567  	FrenderReqType CARD8
 10568  	Flength        CARD16
 10569  	Fsrc           CARD32
 10570  	Fdst           CARD32
 10571  	FcolorScale    CARD32
 10572  	FalphaScale    CARD32
 10573  	FxSrc          INT16
 10574  	FySrc          INT16
 10575  	FxDst          INT16
 10576  	FyDst          INT16
 10577  	Fwidth         CARD16
 10578  	Fheight        CARD16
 10579  } /* renderproto.h:333:3 */
 10580  
 10581  type XRenderTrapezoidsReq = struct {
 10582  	FreqType       CARD8
 10583  	FrenderReqType CARD8
 10584  	Flength        CARD16
 10585  	Fop            CARD8
 10586  	Fpad1          CARD8
 10587  	Fpad2          CARD16
 10588  	Fsrc           CARD32
 10589  	Fdst           CARD32
 10590  	FmaskFormat    CARD32
 10591  	FxSrc          INT16
 10592  	FySrc          INT16
 10593  } /* renderproto.h:349:3 */
 10594  
 10595  type XRenderTrianglesReq = struct {
 10596  	FreqType       CARD8
 10597  	FrenderReqType CARD8
 10598  	Flength        CARD16
 10599  	Fop            CARD8
 10600  	Fpad1          CARD8
 10601  	Fpad2          CARD16
 10602  	Fsrc           CARD32
 10603  	Fdst           CARD32
 10604  	FmaskFormat    CARD32
 10605  	FxSrc          INT16
 10606  	FySrc          INT16
 10607  } /* renderproto.h:365:3 */
 10608  
 10609  type XRenderTriStripReq = struct {
 10610  	FreqType       CARD8
 10611  	FrenderReqType CARD8
 10612  	Flength        CARD16
 10613  	Fop            CARD8
 10614  	Fpad1          CARD8
 10615  	Fpad2          CARD16
 10616  	Fsrc           CARD32
 10617  	Fdst           CARD32
 10618  	FmaskFormat    CARD32
 10619  	FxSrc          INT16
 10620  	FySrc          INT16
 10621  } /* renderproto.h:381:3 */
 10622  
 10623  type XRenderTriFanReq = struct {
 10624  	FreqType       CARD8
 10625  	FrenderReqType CARD8
 10626  	Flength        CARD16
 10627  	Fop            CARD8
 10628  	Fpad1          CARD8
 10629  	Fpad2          CARD16
 10630  	Fsrc           CARD32
 10631  	Fdst           CARD32
 10632  	FmaskFormat    CARD32
 10633  	FxSrc          INT16
 10634  	FySrc          INT16
 10635  } /* renderproto.h:397:3 */
 10636  
 10637  type XRenderCreateGlyphSetReq = struct {
 10638  	FreqType       CARD8
 10639  	FrenderReqType CARD8
 10640  	Flength        CARD16
 10641  	Fgsid          CARD32
 10642  	Fformat        CARD32
 10643  } /* renderproto.h:407:3 */
 10644  
 10645  type XRenderReferenceGlyphSetReq = struct {
 10646  	FreqType       CARD8
 10647  	FrenderReqType CARD8
 10648  	Flength        CARD16
 10649  	Fgsid          CARD32
 10650  	Fexisting      CARD32
 10651  } /* renderproto.h:417:3 */
 10652  
 10653  type XRenderFreeGlyphSetReq = struct {
 10654  	FreqType       CARD8
 10655  	FrenderReqType CARD8
 10656  	Flength        CARD16
 10657  	Fglyphset      CARD32
 10658  } /* renderproto.h:426:3 */
 10659  
 10660  type XRenderAddGlyphsReq = struct {
 10661  	FreqType       CARD8
 10662  	FrenderReqType CARD8
 10663  	Flength        CARD16
 10664  	Fglyphset      CARD32
 10665  	Fnglyphs       CARD32
 10666  } /* renderproto.h:436:3 */
 10667  
 10668  type XRenderFreeGlyphsReq = struct {
 10669  	FreqType       CARD8
 10670  	FrenderReqType CARD8
 10671  	Flength        CARD16
 10672  	Fglyphset      CARD32
 10673  } /* renderproto.h:445:3 */
 10674  
 10675  type XRenderCompositeGlyphsReq = struct {
 10676  	FreqType       CARD8
 10677  	FrenderReqType CARD8
 10678  	Flength        CARD16
 10679  	Fop            CARD8
 10680  	Fpad1          CARD8
 10681  	Fpad2          CARD16
 10682  	Fsrc           CARD32
 10683  	Fdst           CARD32
 10684  	FmaskFormat    CARD32
 10685  	Fglyphset      CARD32
 10686  	FxSrc          INT16
 10687  	FySrc          INT16
 10688  } /* renderproto.h:462:3 */
 10689  type XRenderCompositeGlyphs8Req = struct {
 10690  	FreqType       CARD8
 10691  	FrenderReqType CARD8
 10692  	Flength        CARD16
 10693  	Fop            CARD8
 10694  	Fpad1          CARD8
 10695  	Fpad2          CARD16
 10696  	Fsrc           CARD32
 10697  	Fdst           CARD32
 10698  	FmaskFormat    CARD32
 10699  	Fglyphset      CARD32
 10700  	FxSrc          INT16
 10701  	FySrc          INT16
 10702  } /* renderproto.h:462:30 */
 10703  type XRenderCompositeGlyphs16Req = struct {
 10704  	FreqType       CARD8
 10705  	FrenderReqType CARD8
 10706  	Flength        CARD16
 10707  	Fop            CARD8
 10708  	Fpad1          CARD8
 10709  	Fpad2          CARD16
 10710  	Fsrc           CARD32
 10711  	Fdst           CARD32
 10712  	FmaskFormat    CARD32
 10713  	Fglyphset      CARD32
 10714  	FxSrc          INT16
 10715  	FySrc          INT16
 10716  } /* renderproto.h:463:1 */
 10717  type XRenderCompositeGlyphs32Req = struct {
 10718  	FreqType       CARD8
 10719  	FrenderReqType CARD8
 10720  	Flength        CARD16
 10721  	Fop            CARD8
 10722  	Fpad1          CARD8
 10723  	Fpad2          CARD16
 10724  	Fsrc           CARD32
 10725  	Fdst           CARD32
 10726  	FmaskFormat    CARD32
 10727  	Fglyphset      CARD32
 10728  	FxSrc          INT16
 10729  	FySrc          INT16
 10730  } /* renderproto.h:463:30 */
 10731  
 10732  // 0.1 and higher
 10733  
 10734  type XRenderFillRectanglesReq = struct {
 10735  	FreqType       CARD8
 10736  	FrenderReqType CARD8
 10737  	Flength        CARD16
 10738  	Fop            CARD8
 10739  	Fpad1          CARD8
 10740  	Fpad2          CARD16
 10741  	Fdst           CARD32
 10742  	Fcolor         XRenderColor
 10743  } /* renderproto.h:480:3 */
 10744  
 10745  // 0.5 and higher
 10746  
 10747  type XRenderCreateCursorReq = struct {
 10748  	FreqType       CARD8
 10749  	FrenderReqType CARD8
 10750  	Flength        CARD16
 10751  	Fcid           CARD32
 10752  	Fsrc           CARD32
 10753  	Fx             CARD16
 10754  	Fy             CARD16
 10755  } /* renderproto.h:494:3 */
 10756  
 10757  // 0.6 and higher
 10758  
 10759  // This can't use an array because 32-bit values may be in bitfields
 10760  type XRenderTransform = struct {
 10761  	Fmatrix11 INT32
 10762  	Fmatrix12 INT32
 10763  	Fmatrix13 INT32
 10764  	Fmatrix21 INT32
 10765  	Fmatrix22 INT32
 10766  	Fmatrix23 INT32
 10767  	Fmatrix31 INT32
 10768  	Fmatrix32 INT32
 10769  	Fmatrix33 INT32
 10770  } /* renderproto.h:513:3 */
 10771  
 10772  type XRenderSetPictureTransformReq = struct {
 10773  	FreqType       CARD8
 10774  	FrenderReqType CARD8
 10775  	Flength        CARD16
 10776  	Fpicture       CARD32
 10777  	Ftransform     XRenderTransform
 10778  } /* renderproto.h:523:3 */
 10779  
 10780  type XRenderQueryFiltersReq = struct {
 10781  	FreqType       CARD8
 10782  	FrenderReqType CARD8
 10783  	Flength        CARD16
 10784  	Fdrawable      CARD32
 10785  } /* renderproto.h:532:3 */
 10786  
 10787  type XRenderQueryFiltersReply = struct {
 10788  	Ftype           BYTE
 10789  	Fpad1           BYTE
 10790  	FsequenceNumber CARD16
 10791  	Flength         CARD32
 10792  	FnumAliases     CARD32
 10793  	FnumFilters     CARD32
 10794  	Fpad2           CARD32
 10795  	Fpad3           CARD32
 10796  	Fpad4           CARD32
 10797  	Fpad5           CARD32
 10798  } /* renderproto.h:547:3 */
 10799  
 10800  type XRenderSetPictureFilterReq = struct {
 10801  	FreqType       CARD8
 10802  	FrenderReqType CARD8
 10803  	Flength        CARD16
 10804  	Fpicture       CARD32
 10805  	Fnbytes        CARD16
 10806  	Fpad           CARD16
 10807  } /* renderproto.h:558:3 */
 10808  
 10809  // 0.8 and higher
 10810  
 10811  type XAnimCursorElt = struct {
 10812  	Fcursor CARD32
 10813  	Fdelay  CARD32
 10814  } /* renderproto.h:567:3 */
 10815  
 10816  type XRenderCreateAnimCursorReq = struct {
 10817  	FreqType       CARD8
 10818  	FrenderReqType CARD8
 10819  	Flength        CARD16
 10820  	Fcid           CARD32
 10821  } /* renderproto.h:576:3 */
 10822  
 10823  // 0.9 and higher
 10824  
 10825  type XRenderAddTrapsReq = struct {
 10826  	FreqType       CARD8
 10827  	FrenderReqType CARD8
 10828  	Flength        CARD16
 10829  	Fpicture       CARD32
 10830  	FxOff          INT16
 10831  	FyOff          INT16
 10832  } /* renderproto.h:589:3 */
 10833  
 10834  // 0.10 and higher
 10835  
 10836  type XRenderCreateSolidFillReq = struct {
 10837  	FreqType       CARD8
 10838  	FrenderReqType CARD8
 10839  	Flength        CARD16
 10840  	Fpid           CARD32
 10841  	Fcolor         XRenderColor
 10842  } /* renderproto.h:601:3 */
 10843  
 10844  type XRenderCreateLinearGradientReq = struct {
 10845  	FreqType       CARD8
 10846  	FrenderReqType CARD8
 10847  	Flength        CARD16
 10848  	Fpid           CARD32
 10849  	Fp1            XPointFixed
 10850  	Fp2            XPointFixed
 10851  	FnStops        CARD32
 10852  } /* renderproto.h:613:3 */
 10853  
 10854  type XRenderCreateRadialGradientReq = struct {
 10855  	FreqType       CARD8
 10856  	FrenderReqType CARD8
 10857  	Flength        CARD16
 10858  	Fpid           CARD32
 10859  	Finner         XPointFixed
 10860  	Fouter         XPointFixed
 10861  	Finner_radius  INT32
 10862  	Fouter_radius  INT32
 10863  	FnStops        CARD32
 10864  } /* renderproto.h:627:3 */
 10865  
 10866  type XRenderCreateConicalGradientReq = struct {
 10867  	FreqType       CARD8
 10868  	FrenderReqType CARD8
 10869  	Flength        CARD16
 10870  	Fpid           CARD32
 10871  	Fcenter        XPointFixed
 10872  	Fangle         INT32
 10873  	FnStops        CARD32
 10874  } /* renderproto.h:639:3 */
 10875  
 10876  //
 10877  // Copyright © 2000 SuSE, Inc.
 10878  //
 10879  // Permission to use, copy, modify, distribute, and sell this software and its
 10880  // documentation for any purpose is hereby granted without fee, provided that
 10881  // the above copyright notice appear in all copies and that both that
 10882  // copyright notice and this permission notice appear in supporting
 10883  // documentation, and that the name of SuSE not be used in advertising or
 10884  // publicity pertaining to distribution of the software without specific,
 10885  // written prior permission.  SuSE makes no representations about the
 10886  // suitability of this software for any purpose.  It is provided "as is"
 10887  // without express or implied warranty.
 10888  //
 10889  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 10890  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 10891  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 10892  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 10893  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 10894  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 10895  //
 10896  // Author:  Keith Packard, SuSE, Inc.
 10897  
 10898  //
 10899  //
 10900  // Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
 10901  //
 10902  // Permission to use, copy, modify, distribute, and sell this software and its
 10903  // documentation for any purpose is hereby granted without fee, provided that
 10904  // the above copyright notice appear in all copies and that both that
 10905  // copyright notice and this permission notice appear in supporting
 10906  // documentation.
 10907  //
 10908  // The above copyright notice and this permission notice shall be included in
 10909  // all copies or substantial portions of the Software.
 10910  //
 10911  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10912  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10913  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10914  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10915  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10916  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10917  //
 10918  // Except as contained in this notice, the name of The Open Group shall not be
 10919  // used in advertising or otherwise to promote the sale, use or other dealings
 10920  // in this Software without prior written authorization from The Open Group.
 10921  //
 10922  
 10923  //	Xlib.h - Header definition and support file for the C subroutine
 10924  //	interface library (Xlib) to the X Window System Protocol (V11).
 10925  //	Structures and symbols starting with "_" are private to the library.
 10926  //
 10927  //
 10928  // Copyright 1989, 1991, 1998  The Open Group
 10929  //
 10930  // Permission to use, copy, modify, distribute, and sell this software and its
 10931  // documentation for any purpose is hereby granted without fee, provided that
 10932  // the above copyright notice appear in all copies and that both that
 10933  // copyright notice and this permission notice appear in supporting
 10934  // documentation.
 10935  //
 10936  // The above copyright notice and this permission notice shall be included in
 10937  // all copies or substantial portions of the Software.
 10938  //
 10939  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10940  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10941  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10942  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10943  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10944  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10945  //
 10946  // Except as contained in this notice, the name of The Open Group shall not be
 10947  // used in advertising or otherwise to promote the sale, use or other dealings
 10948  // in this Software without prior written authorization from The Open Group.
 10949  //  *
 10950  //
 10951  
 10952  // Definitions to make function prototypes manageable
 10953  
 10954  //
 10955  //  O/S-dependent (mis)feature macro definitions
 10956  //
 10957  // Copyright 1991, 1998  The Open Group
 10958  //
 10959  // Permission to use, copy, modify, distribute, and sell this software and its
 10960  // documentation for any purpose is hereby granted without fee, provided that
 10961  // the above copyright notice appear in all copies and that both that
 10962  // copyright notice and this permission notice appear in supporting
 10963  // documentation.
 10964  //
 10965  // The above copyright notice and this permission notice shall be included in
 10966  // all copies or substantial portions of the Software.
 10967  //
 10968  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10969  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10970  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10971  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10972  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10973  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10974  //
 10975  // Except as contained in this notice, the name of The Open Group shall not be
 10976  // used in advertising or otherwise to promote the sale, use or other dealings
 10977  // in this Software without prior written authorization from The Open Group.
 10978  //
 10979  
 10980  //**********************************************************
 10981  //
 10982  // Copyright 1987, 1998  The Open Group
 10983  //
 10984  // Permission to use, copy, modify, distribute, and sell this software and its
 10985  // documentation for any purpose is hereby granted without fee, provided that
 10986  // the above copyright notice appear in all copies and that both that
 10987  // copyright notice and this permission notice appear in supporting
 10988  // documentation.
 10989  //
 10990  // The above copyright notice and this permission notice shall be included in
 10991  // all copies or substantial portions of the Software.
 10992  //
 10993  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10994  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10995  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10996  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10997  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10998  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10999  //
 11000  // Except as contained in this notice, the name of The Open Group shall not be
 11001  // used in advertising or otherwise to promote the sale, use or other dealings
 11002  // in this Software without prior written authorization from The Open Group.
 11003  //
 11004  //
 11005  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 11006  //
 11007  //                         All Rights Reserved
 11008  //
 11009  // Permission to use, copy, modify, and distribute this software and its
 11010  // documentation for any purpose and without fee is hereby granted,
 11011  // provided that the above copyright notice appear in all copies and that
 11012  // both that copyright notice and this permission notice appear in
 11013  // supporting documentation, and that the name of Digital not be
 11014  // used in advertising or publicity pertaining to distribution of the
 11015  // software without specific, written prior permission.
 11016  //
 11017  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 11018  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 11019  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 11020  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 11021  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 11022  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 11023  // SOFTWARE.
 11024  //
 11025  // *****************************************************************
 11026  
 11027  // Copyright © 2000 SuSE, Inc.
 11028  //
 11029  // Permission to use, copy, modify, distribute, and sell this software and its
 11030  // documentation for any purpose is hereby granted without fee, provided that
 11031  // the above copyright notice appear in all copies and that both that
 11032  // copyright notice and this permission notice appear in supporting
 11033  // documentation, and that the name of SuSE not be used in advertising or
 11034  // publicity pertaining to distribution of the software without specific,
 11035  // written prior permission.  SuSE makes no representations about the
 11036  // suitability of this software for any purpose.  It is provided "as is"
 11037  // without express or implied warranty.
 11038  //
 11039  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 11040  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 11041  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 11042  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 11043  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 11044  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 11045  //
 11046  // Author:  Keith Packard, SuSE, Inc.
 11047  
 11048  type XRenderDirectFormat = struct {
 11049  	Fred       int16
 11050  	FredMask   int16
 11051  	Fgreen     int16
 11052  	FgreenMask int16
 11053  	Fblue      int16
 11054  	FblueMask  int16
 11055  	Falpha     int16
 11056  	FalphaMask int16
 11057  } /* Xrender.h:44:3 */
 11058  
 11059  type XRenderPictFormat = struct {
 11060  	Fid       PictFormat
 11061  	Ftype     int32
 11062  	Fdepth    int32
 11063  	Fdirect   XRenderDirectFormat
 11064  	Fcolormap Colormap
 11065  } /* Xrender.h:52:3 */
 11066  
 11067  type X_XRenderPictureAttributes = struct {
 11068  	Frepeat             int32
 11069  	F__ccgo_pad1        [4]byte
 11070  	Falpha_map          Picture
 11071  	Falpha_x_origin     int32
 11072  	Falpha_y_origin     int32
 11073  	Fclip_x_origin      int32
 11074  	Fclip_y_origin      int32
 11075  	Fclip_mask          Pixmap
 11076  	Fgraphics_exposures int32
 11077  	Fsubwindow_mode     int32
 11078  	Fpoly_edge          int32
 11079  	Fpoly_mode          int32
 11080  	Fdither             Atom
 11081  	Fcomponent_alpha    int32
 11082  	F__ccgo_pad2        [4]byte
 11083  } /* Xrender.h:67:9 */
 11084  
 11085  type XRenderPictureAttributes = X_XRenderPictureAttributes /* Xrender.h:81:3 */
 11086  
 11087  type XRenderColor1 = struct {
 11088  	Fred   uint16
 11089  	Fgreen uint16
 11090  	Fblue  uint16
 11091  	Falpha uint16
 11092  } /* Xrender.h:88:3 */
 11093  
 11094  type X_XGlyphInfo = struct {
 11095  	Fwidth  uint16
 11096  	Fheight uint16
 11097  	Fx      int16
 11098  	Fy      int16
 11099  	FxOff   int16
 11100  	FyOff   int16
 11101  } /* Xrender.h:90:9 */
 11102  
 11103  type XGlyphInfo1 = X_XGlyphInfo /* Xrender.h:97:3 */
 11104  
 11105  type X_XGlyphElt8 = struct {
 11106  	Fglyphset    GlyphSet
 11107  	Fchars       uintptr
 11108  	Fnchars      int32
 11109  	FxOff        int32
 11110  	FyOff        int32
 11111  	F__ccgo_pad1 [4]byte
 11112  } /* Xrender.h:99:9 */
 11113  
 11114  type XGlyphElt8 = X_XGlyphElt8 /* Xrender.h:105:3 */
 11115  
 11116  type X_XGlyphElt16 = struct {
 11117  	Fglyphset    GlyphSet
 11118  	Fchars       uintptr
 11119  	Fnchars      int32
 11120  	FxOff        int32
 11121  	FyOff        int32
 11122  	F__ccgo_pad1 [4]byte
 11123  } /* Xrender.h:107:9 */
 11124  
 11125  type XGlyphElt16 = X_XGlyphElt16 /* Xrender.h:113:3 */
 11126  
 11127  type X_XGlyphElt32 = struct {
 11128  	Fglyphset    GlyphSet
 11129  	Fchars       uintptr
 11130  	Fnchars      int32
 11131  	FxOff        int32
 11132  	FyOff        int32
 11133  	F__ccgo_pad1 [4]byte
 11134  } /* Xrender.h:115:9 */
 11135  
 11136  type XGlyphElt32 = X_XGlyphElt32 /* Xrender.h:121:3 */
 11137  
 11138  type XDouble = float64 /* Xrender.h:123:16 */
 11139  
 11140  type X_XPointDouble = struct {
 11141  	Fx XDouble
 11142  	Fy XDouble
 11143  } /* Xrender.h:125:9 */
 11144  
 11145  type XPointDouble = X_XPointDouble /* Xrender.h:127:3 */
 11146  
 11147  type XFixed = int32 /* Xrender.h:132:13 */
 11148  
 11149  type X_XPointFixed = struct {
 11150  	Fx XFixed
 11151  	Fy XFixed
 11152  } /* Xrender.h:134:9 */
 11153  
 11154  type XPointFixed1 = X_XPointFixed /* Xrender.h:136:3 */
 11155  
 11156  type X_XLineFixed = struct {
 11157  	Fp1 XPointFixed1
 11158  	Fp2 XPointFixed1
 11159  } /* Xrender.h:138:9 */
 11160  
 11161  type XLineFixed1 = X_XLineFixed /* Xrender.h:140:3 */
 11162  
 11163  type X_XTriangle = struct {
 11164  	Fp1 XPointFixed1
 11165  	Fp2 XPointFixed1
 11166  	Fp3 XPointFixed1
 11167  } /* Xrender.h:142:9 */
 11168  
 11169  type XTriangle1 = X_XTriangle /* Xrender.h:144:3 */
 11170  
 11171  type X_XCircle = struct {
 11172  	Fx      XFixed
 11173  	Fy      XFixed
 11174  	Fradius XFixed
 11175  } /* Xrender.h:146:9 */
 11176  
 11177  type XCircle = X_XCircle /* Xrender.h:150:3 */
 11178  
 11179  type X_XTrapezoid = struct {
 11180  	Ftop    XFixed
 11181  	Fbottom XFixed
 11182  	Fleft   XLineFixed1
 11183  	Fright  XLineFixed1
 11184  } /* Xrender.h:152:9 */
 11185  
 11186  type XTrapezoid1 = X_XTrapezoid /* Xrender.h:155:3 */
 11187  
 11188  type X_XTransform = struct{ Fmatrix [3][3]XFixed } /* Xrender.h:157:9 */
 11189  
 11190  type XTransform = X_XTransform /* Xrender.h:159:3 */
 11191  
 11192  type X_XFilters = struct {
 11193  	Fnfilter     int32
 11194  	F__ccgo_pad1 [4]byte
 11195  	Ffilter      uintptr
 11196  	Fnalias      int32
 11197  	F__ccgo_pad2 [4]byte
 11198  	Falias       uintptr
 11199  } /* Xrender.h:161:9 */
 11200  
 11201  type XFilters = X_XFilters /* Xrender.h:166:3 */
 11202  
 11203  type X_XIndexValue = struct {
 11204  	Fpixel uint64
 11205  	Fred   uint16
 11206  	Fgreen uint16
 11207  	Fblue  uint16
 11208  	Falpha uint16
 11209  } /* Xrender.h:168:9 */
 11210  
 11211  type XIndexValue1 = X_XIndexValue /* Xrender.h:171:3 */
 11212  
 11213  type X_XAnimCursor = struct {
 11214  	Fcursor Cursor
 11215  	Fdelay  uint64
 11216  } /* Xrender.h:173:9 */
 11217  
 11218  type XAnimCursor = X_XAnimCursor /* Xrender.h:176:3 */
 11219  
 11220  type X_XSpanFix = struct {
 11221  	Fleft  XFixed
 11222  	Fright XFixed
 11223  	Fy     XFixed
 11224  } /* Xrender.h:178:9 */
 11225  
 11226  type XSpanFix1 = X_XSpanFix /* Xrender.h:180:3 */
 11227  
 11228  type X_XTrap = struct {
 11229  	Ftop    XSpanFix1
 11230  	Fbottom XSpanFix1
 11231  } /* Xrender.h:182:9 */
 11232  
 11233  type XTrap1 = X_XTrap /* Xrender.h:184:3 */
 11234  
 11235  type X_XLinearGradient = struct {
 11236  	Fp1 XPointFixed1
 11237  	Fp2 XPointFixed1
 11238  } /* Xrender.h:186:9 */
 11239  
 11240  type XLinearGradient = X_XLinearGradient /* Xrender.h:189:3 */
 11241  
 11242  type X_XRadialGradient = struct {
 11243  	Finner XCircle
 11244  	Fouter XCircle
 11245  } /* Xrender.h:191:9 */
 11246  
 11247  type XRadialGradient = X_XRadialGradient /* Xrender.h:194:3 */
 11248  
 11249  type X_XConicalGradient = struct {
 11250  	Fcenter XPointFixed1
 11251  	Fangle  XFixed
 11252  } /* Xrender.h:196:9 */
 11253  
 11254  type XConicalGradient = X_XConicalGradient /* Xrender.h:199:3 */
 11255  
 11256  type XRenderVisual = struct {
 11257  	Fvisual uintptr
 11258  	Fformat uintptr
 11259  } /* Xrenderint.h:37:3 */
 11260  
 11261  type XRenderDepth = struct {
 11262  	Fdepth    int32
 11263  	Fnvisuals int32
 11264  	Fvisuals  uintptr
 11265  } /* Xrenderint.h:43:3 */
 11266  
 11267  type XRenderScreen = struct {
 11268  	Fdepths      uintptr
 11269  	Fndepths     int32
 11270  	F__ccgo_pad1 [4]byte
 11271  	Ffallback    uintptr
 11272  	Fsubpixel    int32
 11273  	F__ccgo_pad2 [4]byte
 11274  } /* Xrenderint.h:50:3 */
 11275  
 11276  type X_XRenderInfo = struct {
 11277  	Fmajor_version int32
 11278  	Fminor_version int32
 11279  	Fformat        uintptr
 11280  	Fnformat       int32
 11281  	F__ccgo_pad1   [4]byte
 11282  	Fscreen        uintptr
 11283  	Fnscreen       int32
 11284  	F__ccgo_pad2   [4]byte
 11285  	Fdepth         uintptr
 11286  	Fndepth        int32
 11287  	F__ccgo_pad3   [4]byte
 11288  	Fvisual        uintptr
 11289  	Fnvisual       int32
 11290  	F__ccgo_pad4   [4]byte
 11291  	Fsubpixel      uintptr
 11292  	Fnsubpixel     int32
 11293  	F__ccgo_pad5   [4]byte
 11294  	Ffilter        uintptr
 11295  	Fnfilter       int32
 11296  	F__ccgo_pad6   [4]byte
 11297  	Ffilter_alias  uintptr
 11298  	Fnfilter_alias int32
 11299  	F__ccgo_pad7   [4]byte
 11300  } /* Xrenderint.h:52:9 */
 11301  
 11302  type XRenderInfo = X_XRenderInfo /* Xrenderint.h:69:3 */
 11303  
 11304  // replaces XRenderExtDisplayInfo
 11305  type X_XRenderExtDisplayInfo = struct {
 11306  	Fnext    uintptr
 11307  	Fdisplay uintptr
 11308  	Fcodes   uintptr
 11309  	Finfo    uintptr
 11310  } /* Xrenderint.h:72:9 */
 11311  
 11312  // replaces XRenderExtDisplayInfo
 11313  type XRenderExtDisplayInfo = X_XRenderExtDisplayInfo /* Xrenderint.h:77:3 */
 11314  
 11315  // replaces XExtensionInfo
 11316  type X_XRenderExtInfo = struct {
 11317  	Fhead        uintptr
 11318  	Fcur         uintptr
 11319  	Fndisplays   int32
 11320  	F__ccgo_pad1 [4]byte
 11321  } /* Xrenderint.h:80:9 */
 11322  
 11323  // replaces XExtensionInfo
 11324  type XRenderExtInfo = X_XRenderExtInfo /* Xrenderint.h:84:3 */
 11325  
 11326  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11327  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11328  // except on WORD64 machines where it is 64 bits.
 11329  
 11330  func XXRenderAddTraps(tls *libc.TLS, dpy uintptr, picture Picture, xOff int32, yOff int32, traps uintptr, ntrap int32) { /* AddTrap.c:31:1: */
 11331  	bp := tls.Alloc(8)
 11332  	defer tls.Free(8)
 11333  
 11334  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11335  	var req uintptr
 11336  	var n int32
 11337  	var len int64
 11338  	var max_req uint64
 11339  	if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11340  		max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size
 11341  	} else {
 11342  		max_req = uint64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size)
 11343  	}
 11344  
 11345  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11346  		return
 11347  	}
 11348  
 11349  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11350  		(*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)
 11351  	}
 11352  	for ntrap != 0 {
 11353  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddTraps), uint64(Sz_xRenderAddTrapsReq))
 11354  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11355  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddTraps)
 11356  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 11357  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FxOff = INT16(xOff)
 11358  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FyOff = INT16(yOff)
 11359  		n = ntrap
 11360  		len = ((int64(n)) * (int64(int32(Sz_xTrap) >> 2)))
 11361  		if uint64(len) > (max_req - uint64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) {
 11362  			n = (int32((max_req - uint64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) / (uint64(int32(Sz_xTrap) >> 2))))
 11363  			len = ((int64(n)) * (int64(int32(Sz_xTrap) >> 2)))
 11364  		}
 11365  		if (int64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 11366  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11367  				{
 11368  					// var _BRdat CARD64 at bp, 8
 11369  					var _BRlen CARD32 = (CARD32(int32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) - 1))
 11370  					(*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 11371  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 11372  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 11373  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 11374  					x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 11375  				}
 11376  			} else {
 11377  				len = len
 11378  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11379  			}
 11380  		} else {
 11381  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11382  		}
 11383  		len <<= 2
 11384  		{
 11385  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 11386  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint64(int32(len)))
 11387  				*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3))))
 11388  			} else {
 11389  				x11.X_XSend(tls, dpy, traps, len)
 11390  			}
 11391  		}
 11392  
 11393  		ntrap = ntrap - (n)
 11394  		traps += 24 * (uintptr(n))
 11395  	}
 11396  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11397  		(*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)
 11398  	}
 11399  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11400  		(*struct {
 11401  			f func(*libc.TLS, uintptr) int32
 11402  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11403  	}
 11404  }
 11405  
 11406  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11407  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11408  // except on WORD64 machines where it is 64 bits.
 11409  
 11410  func XXRenderParseColor(tls *libc.TLS, dpy uintptr, spec uintptr, def uintptr) int32 { /* Color.c:30:1: */
 11411  	bp := tls.Alloc(24)
 11412  	defer tls.Free(24)
 11413  
 11414  	if !(libc.Xstrncmp(tls, spec, ts /* "rgba:" */, uint64(5)) != 0) {
 11415  		// var elements [4]uint16 at bp, 8
 11416  
 11417  		var pShort uintptr
 11418  		var i int32
 11419  		var n int32
 11420  		var c int8
 11421  
 11422  		spec += uintptr(5)
 11423  		// Attempt to parse the value portion.
 11424  		pShort = bp /* &elements[0] */
 11425  		i = 0
 11426  	__1:
 11427  		if !(i < 4) {
 11428  			goto __3
 11429  		}
 11430  		{
 11431  			n = 0
 11432  			*(*uint16)(unsafe.Pointer(pShort)) = uint16(0)
 11433  			for (int32(*(*int8)(unsafe.Pointer(spec))) != '/') && (int32(*(*int8)(unsafe.Pointer(spec))) != 0) {
 11434  				if libc.PreIncInt32(&n, 1) > 4 {
 11435  					return 0
 11436  				}
 11437  				c = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&spec, 1)))
 11438  				libc.AssignShlPtrUint16(pShort, int(4))
 11439  				if (int32(c) >= '0') && (int32(c) <= '9') {
 11440  					*(*uint16)(unsafe.Pointer(pShort)) |= uint16((int32(c) - '0'))
 11441  				} else if (int32(c) >= 'a') && (int32(c) <= 'f') {
 11442  					*(*uint16)(unsafe.Pointer(pShort)) |= uint16((int32(c) - ('a' - 10)))
 11443  				} else {
 11444  					return 0
 11445  				}
 11446  			}
 11447  			if n == 0 {
 11448  				return 0
 11449  			}
 11450  			if n < 4 {
 11451  				*(*uint16)(unsafe.Pointer(pShort)) = (uint16((uint64(*(*uint16)(unsafe.Pointer(pShort))) * uint64(0xFFFF)) / (uint64((int32(1) << (n * 4)) - 1))))
 11452  			}
 11453  
 11454  		}
 11455  		goto __2
 11456  	__2:
 11457  		i++
 11458  		pShort += 2
 11459  		spec++
 11460  		goto __1
 11461  		goto __3
 11462  	__3:
 11463  		;
 11464  		(*XRenderColor1)(unsafe.Pointer(def)).Fred = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */))
 11465  		(*XRenderColor1)(unsafe.Pointer(def)).Fgreen = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 1*2))
 11466  		(*XRenderColor1)(unsafe.Pointer(def)).Fblue = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 2*2))
 11467  		(*XRenderColor1)(unsafe.Pointer(def)).Falpha = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 3*2))
 11468  	} else {
 11469  		// var coreColor XColor at bp+8, 16
 11470  
 11471  		var colormap Colormap
 11472  
 11473  		colormap = (*Screen)(unsafe.Pointer(((*struct {
 11474  			Fext_data            uintptr
 11475  			Fprivate1            uintptr
 11476  			Ffd                  int32
 11477  			Fprivate2            int32
 11478  			Fproto_major_version int32
 11479  			Fproto_minor_version int32
 11480  			Fvendor              uintptr
 11481  			Fprivate3            XID
 11482  			Fprivate4            XID
 11483  			Fprivate5            XID
 11484  			Fprivate6            int32
 11485  			F__ccgo_pad1         [4]byte
 11486  			Fresource_alloc      uintptr
 11487  			Fbyte_order          int32
 11488  			Fbitmap_unit         int32
 11489  			Fbitmap_pad          int32
 11490  			Fbitmap_bit_order    int32
 11491  			Fnformats            int32
 11492  			F__ccgo_pad2         [4]byte
 11493  			Fpixmap_format       uintptr
 11494  			Fprivate8            int32
 11495  			Frelease             int32
 11496  			Fprivate9            uintptr
 11497  			Fprivate10           uintptr
 11498  			Fqlen                int32
 11499  			F__ccgo_pad3         [4]byte
 11500  			Flast_request_read   uint64
 11501  			Frequest             uint64
 11502  			Fprivate11           XPointer
 11503  			Fprivate12           XPointer
 11504  			Fprivate13           XPointer
 11505  			Fprivate14           XPointer
 11506  			Fmax_request_size    uint32
 11507  			F__ccgo_pad4         [4]byte
 11508  			Fdb                  uintptr
 11509  			Fprivate15           uintptr
 11510  			Fdisplay_name        uintptr
 11511  			Fdefault_screen      int32
 11512  			Fnscreens            int32
 11513  			Fscreens             uintptr
 11514  			Fmotion_buffer       uint64
 11515  			Fprivate16           uint64
 11516  			Fmin_keycode         int32
 11517  			Fmax_keycode         int32
 11518  			Fprivate17           XPointer
 11519  			Fprivate18           XPointer
 11520  			Fprivate19           int32
 11521  			F__ccgo_pad5         [4]byte
 11522  			Fxdefaults           uintptr
 11523  		})(unsafe.Pointer((dpy))).Fscreens + uintptr(((*struct {
 11524  			Fext_data            uintptr
 11525  			Fprivate1            uintptr
 11526  			Ffd                  int32
 11527  			Fprivate2            int32
 11528  			Fproto_major_version int32
 11529  			Fproto_minor_version int32
 11530  			Fvendor              uintptr
 11531  			Fprivate3            XID
 11532  			Fprivate4            XID
 11533  			Fprivate5            XID
 11534  			Fprivate6            int32
 11535  			F__ccgo_pad1         [4]byte
 11536  			Fresource_alloc      uintptr
 11537  			Fbyte_order          int32
 11538  			Fbitmap_unit         int32
 11539  			Fbitmap_pad          int32
 11540  			Fbitmap_bit_order    int32
 11541  			Fnformats            int32
 11542  			F__ccgo_pad2         [4]byte
 11543  			Fpixmap_format       uintptr
 11544  			Fprivate8            int32
 11545  			Frelease             int32
 11546  			Fprivate9            uintptr
 11547  			Fprivate10           uintptr
 11548  			Fqlen                int32
 11549  			F__ccgo_pad3         [4]byte
 11550  			Flast_request_read   uint64
 11551  			Frequest             uint64
 11552  			Fprivate11           XPointer
 11553  			Fprivate12           XPointer
 11554  			Fprivate13           XPointer
 11555  			Fprivate14           XPointer
 11556  			Fmax_request_size    uint32
 11557  			F__ccgo_pad4         [4]byte
 11558  			Fdb                  uintptr
 11559  			Fprivate15           uintptr
 11560  			Fdisplay_name        uintptr
 11561  			Fdefault_screen      int32
 11562  			Fnscreens            int32
 11563  			Fscreens             uintptr
 11564  			Fmotion_buffer       uint64
 11565  			Fprivate16           uint64
 11566  			Fmin_keycode         int32
 11567  			Fmax_keycode         int32
 11568  			Fprivate17           XPointer
 11569  			Fprivate18           XPointer
 11570  			Fprivate19           int32
 11571  			F__ccgo_pad5         [4]byte
 11572  			Fxdefaults           uintptr
 11573  		})(unsafe.Pointer(dpy)).Fdefault_screen))*128))).Fcmap
 11574  		if !(x11.XXParseColor(tls, dpy, colormap, spec, bp+8 /* &coreColor */) != 0) {
 11575  			return 0
 11576  		}
 11577  		(*XRenderColor1)(unsafe.Pointer(def)).Fred = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fred
 11578  		(*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fgreen
 11579  		(*XRenderColor1)(unsafe.Pointer(def)).Fblue = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fblue
 11580  		(*XRenderColor1)(unsafe.Pointer(def)).Falpha = uint16(0xffff)
 11581  	}
 11582  	(*XRenderColor1)(unsafe.Pointer(def)).Fred = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fred) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff))
 11583  	(*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fgreen) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff))
 11584  	(*XRenderColor1)(unsafe.Pointer(def)).Fblue = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fblue) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff))
 11585  	return 1
 11586  }
 11587  
 11588  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11589  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11590  // except on WORD64 machines where it is 64 bits.
 11591  
 11592  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: */
 11593  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11594  	var req uintptr
 11595  
 11596  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11597  		return
 11598  	}
 11599  
 11600  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11601  		(*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)
 11602  	}
 11603  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderComposite), uint64(Sz_xRenderCompositeReq))
 11604  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11605  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderComposite)
 11606  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 11607  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 11608  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fmask = CARD32(mask)
 11609  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 11610  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FxSrc = INT16(src_x)
 11611  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FySrc = INT16(src_y)
 11612  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FxMask = INT16(mask_x)
 11613  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FyMask = INT16(mask_y)
 11614  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FxDst = INT16(dst_x)
 11615  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FyDst = INT16(dst_y)
 11616  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fwidth = CARD16(width)
 11617  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fheight = CARD16(height)
 11618  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11619  		(*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)
 11620  	}
 11621  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11622  		(*struct {
 11623  			f func(*libc.TLS, uintptr) int32
 11624  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11625  	}
 11626  }
 11627  
 11628  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11629  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11630  // except on WORD64 machines where it is 64 bits.
 11631  
 11632  func XXRenderCreateCursor(tls *libc.TLS, dpy uintptr, source Picture, x uint32, y uint32) Cursor { /* Cursor.c:30:1: */
 11633  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11634  	var cid Cursor
 11635  	var req uintptr
 11636  
 11637  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11638  		return uint64(0)
 11639  	}
 11640  
 11641  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11642  		(*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)
 11643  	}
 11644  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateCursor), uint64(Sz_xRenderCreateCursorReq))
 11645  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11646  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateCursor)
 11647  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fcid = CARD32(libc.AssignUint64(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 11648  		Fext_data            uintptr
 11649  		Fprivate1            uintptr
 11650  		Ffd                  int32
 11651  		Fprivate2            int32
 11652  		Fproto_major_version int32
 11653  		Fproto_minor_version int32
 11654  		Fvendor              uintptr
 11655  		Fprivate3            XID
 11656  		Fprivate4            XID
 11657  		Fprivate5            XID
 11658  		Fprivate6            int32
 11659  		F__ccgo_pad1         [4]byte
 11660  		Fresource_alloc      uintptr
 11661  		Fbyte_order          int32
 11662  		Fbitmap_unit         int32
 11663  		Fbitmap_pad          int32
 11664  		Fbitmap_bit_order    int32
 11665  		Fnformats            int32
 11666  		F__ccgo_pad2         [4]byte
 11667  		Fpixmap_format       uintptr
 11668  		Fprivate8            int32
 11669  		Frelease             int32
 11670  		Fprivate9            uintptr
 11671  		Fprivate10           uintptr
 11672  		Fqlen                int32
 11673  		F__ccgo_pad3         [4]byte
 11674  		Flast_request_read   uint64
 11675  		Frequest             uint64
 11676  		Fprivate11           XPointer
 11677  		Fprivate12           XPointer
 11678  		Fprivate13           XPointer
 11679  		Fprivate14           XPointer
 11680  		Fmax_request_size    uint32
 11681  		F__ccgo_pad4         [4]byte
 11682  		Fdb                  uintptr
 11683  		Fprivate15           uintptr
 11684  		Fdisplay_name        uintptr
 11685  		Fdefault_screen      int32
 11686  		Fnscreens            int32
 11687  		Fscreens             uintptr
 11688  		Fmotion_buffer       uint64
 11689  		Fprivate16           uint64
 11690  		Fmin_keycode         int32
 11691  		Fmax_keycode         int32
 11692  		Fprivate17           XPointer
 11693  		Fprivate18           XPointer
 11694  		Fprivate19           int32
 11695  		F__ccgo_pad5         [4]byte
 11696  		Fxdefaults           uintptr
 11697  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)))
 11698  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fsrc = CARD32(source)
 11699  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fx = CARD16(x)
 11700  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fy = CARD16(y)
 11701  
 11702  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11703  		(*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)
 11704  	}
 11705  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11706  		(*struct {
 11707  			f func(*libc.TLS, uintptr) int32
 11708  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11709  	}
 11710  	return cid
 11711  }
 11712  
 11713  func XXRenderCreateAnimCursor(tls *libc.TLS, dpy uintptr, ncursor int32, cursors uintptr) Cursor { /* Cursor.c:55:1: */
 11714  	bp := tls.Alloc(8)
 11715  	defer tls.Free(8)
 11716  
 11717  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11718  	var cid Cursor
 11719  	var req uintptr
 11720  	var len int64
 11721  
 11722  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11723  		return uint64(0)
 11724  	}
 11725  
 11726  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11727  		(*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)
 11728  	}
 11729  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateAnimCursor), uint64(Sz_xRenderCreateAnimCursorReq))
 11730  	(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11731  	(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateAnimCursor)
 11732  	(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Fcid = CARD32(libc.AssignUint64(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 11733  		Fext_data            uintptr
 11734  		Fprivate1            uintptr
 11735  		Ffd                  int32
 11736  		Fprivate2            int32
 11737  		Fproto_major_version int32
 11738  		Fproto_minor_version int32
 11739  		Fvendor              uintptr
 11740  		Fprivate3            XID
 11741  		Fprivate4            XID
 11742  		Fprivate5            XID
 11743  		Fprivate6            int32
 11744  		F__ccgo_pad1         [4]byte
 11745  		Fresource_alloc      uintptr
 11746  		Fbyte_order          int32
 11747  		Fbitmap_unit         int32
 11748  		Fbitmap_pad          int32
 11749  		Fbitmap_bit_order    int32
 11750  		Fnformats            int32
 11751  		F__ccgo_pad2         [4]byte
 11752  		Fpixmap_format       uintptr
 11753  		Fprivate8            int32
 11754  		Frelease             int32
 11755  		Fprivate9            uintptr
 11756  		Fprivate10           uintptr
 11757  		Fqlen                int32
 11758  		F__ccgo_pad3         [4]byte
 11759  		Flast_request_read   uint64
 11760  		Frequest             uint64
 11761  		Fprivate11           XPointer
 11762  		Fprivate12           XPointer
 11763  		Fprivate13           XPointer
 11764  		Fprivate14           XPointer
 11765  		Fmax_request_size    uint32
 11766  		F__ccgo_pad4         [4]byte
 11767  		Fdb                  uintptr
 11768  		Fprivate15           uintptr
 11769  		Fdisplay_name        uintptr
 11770  		Fdefault_screen      int32
 11771  		Fnscreens            int32
 11772  		Fscreens             uintptr
 11773  		Fmotion_buffer       uint64
 11774  		Fprivate16           uint64
 11775  		Fmin_keycode         int32
 11776  		Fmax_keycode         int32
 11777  		Fprivate17           XPointer
 11778  		Fprivate18           XPointer
 11779  		Fprivate19           int32
 11780  		F__ccgo_pad5         [4]byte
 11781  		Fxdefaults           uintptr
 11782  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)))
 11783  
 11784  	len = ((int64(ncursor) * int64(Sz_xAnimCursorElt)) >> 2)
 11785  	if (int64((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 11786  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11787  			{
 11788  				// var _BRdat CARD64 at bp, 8
 11789  				var _BRlen CARD32 = (CARD32(int32((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) - 1))
 11790  				(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 11791  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 11792  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 11793  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 11794  				x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 11795  			}
 11796  		} else {
 11797  			len = len
 11798  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11799  		}
 11800  	} else {
 11801  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11802  	}
 11803  	len <<= 2
 11804  	x11.X_XData32(tls, dpy, cursors, uint32(len))
 11805  
 11806  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11807  		(*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)
 11808  	}
 11809  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11810  		(*struct {
 11811  			f func(*libc.TLS, uintptr) int32
 11812  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11813  	}
 11814  	return cid
 11815  }
 11816  
 11817  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11818  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11819  // except on WORD64 machines where it is 64 bits.
 11820  
 11821  // precompute the maximum size of batching request allowed
 11822  
 11823  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: */
 11824  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11825  	var rect uintptr
 11826  	var req uintptr
 11827  
 11828  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11829  		return
 11830  	}
 11831  
 11832  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11833  		(*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)
 11834  	}
 11835  
 11836  	req = (*Display)(unsafe.Pointer(dpy)).Flast_req
 11837  	// if same as previous request, with same drawable, batch requests
 11838  	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)) && (Picture((*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)) && (((int64((*Display)(unsafe.Pointer(dpy)).Fbufptr) - int64(req)) / 1) < (int64(Sz_xRenderFillRectanglesReq + (FRCTSPERBATCH * Sz_xRectangle)))) {
 11839  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((int32(Sz_xRectangle) >> 2))
 11840  		rect = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 11841  		*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xRectangle))
 11842  	} else {
 11843  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), (uint64(Sz_xRenderFillRectanglesReq + Sz_xRectangle)))
 11844  
 11845  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11846  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles)
 11847  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 11848  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 11849  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred
 11850  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen
 11851  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue
 11852  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha
 11853  
 11854  		rect = ((req) + uintptr(1)*20)
 11855  	}
 11856  	(*XRectangle1)(unsafe.Pointer(rect)).Fx = INT16(x)
 11857  	(*XRectangle1)(unsafe.Pointer(rect)).Fy = INT16(y)
 11858  	(*XRectangle1)(unsafe.Pointer(rect)).Fwidth = CARD16(width)
 11859  	(*XRectangle1)(unsafe.Pointer(rect)).Fheight = CARD16(height)
 11860  
 11861  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11862  		(*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)
 11863  	}
 11864  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11865  		(*struct {
 11866  			f func(*libc.TLS, uintptr) int32
 11867  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11868  	}
 11869  }
 11870  
 11871  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11872  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11873  // except on WORD64 machines where it is 64 bits.
 11874  
 11875  // precompute the maximum size of batching request allowed
 11876  
 11877  func XXRenderFillRectangles(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, rectangles uintptr, n_rects int32) { /* FillRects.c:35:1: */
 11878  	bp := tls.Alloc(8)
 11879  	defer tls.Free(8)
 11880  
 11881  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11882  	var req uintptr
 11883  	var len int64
 11884  	var n int32
 11885  
 11886  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 11887  		return
 11888  	}
 11889  
 11890  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11891  		(*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)
 11892  	}
 11893  
 11894  	for n_rects != 0 {
 11895  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), uint64(Sz_xRenderFillRectanglesReq))
 11896  
 11897  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11898  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles)
 11899  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 11900  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 11901  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred
 11902  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen
 11903  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue
 11904  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha
 11905  
 11906  		n = n_rects
 11907  		len = ((int64(n)) << 1)
 11908  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (len > (int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)))) {
 11909  			n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) >> 1))
 11910  			len = ((int64(n)) << 1)
 11911  		}
 11912  		if (int64((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 11913  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11914  				{
 11915  					// var _BRdat CARD64 at bp, 8
 11916  					var _BRlen CARD32 = (CARD32(int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) - 1))
 11917  					(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 11918  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 11919  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 11920  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 11921  					x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 11922  				}
 11923  			} else {
 11924  				len = len
 11925  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11926  			}
 11927  		} else {
 11928  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 11929  		}
 11930  		len <<= 2 /* watch out for macros... */
 11931  		{
 11932  			if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 11933  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rectangles, uint64(int32(len)))
 11934  				*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3))))
 11935  			} else {
 11936  				x11.X_XSend(tls, dpy, rectangles, len)
 11937  			}
 11938  		}
 11939  
 11940  		n_rects = n_rects - (n)
 11941  		rectangles += 8 * (uintptr(n))
 11942  	}
 11943  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11944  		(*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)
 11945  	}
 11946  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11947  		(*struct {
 11948  			f func(*libc.TLS, uintptr) int32
 11949  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11950  	}
 11951  }
 11952  
 11953  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11954  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11955  // except on WORD64 machines where it is 64 bits.
 11956  
 11957  // Copyright (C) 1992-2020 Free Software Foundation, Inc.
 11958  //
 11959  // This file is part of GCC.
 11960  //
 11961  // GCC is free software; you can redistribute it and/or modify it under
 11962  // the terms of the GNU General Public License as published by the Free
 11963  // Software Foundation; either version 3, or (at your option) any later
 11964  // version.
 11965  //
 11966  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 11967  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 11968  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 11969  // for more details.
 11970  //
 11971  // Under Section 7 of GPL version 3, you are granted additional
 11972  // permissions described in the GCC Runtime Library Exception, version
 11973  // 3.1, as published by the Free Software Foundation.
 11974  //
 11975  // You should have received a copy of the GNU General Public License and
 11976  // a copy of the GCC Runtime Library Exception along with this program;
 11977  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 11978  // <http://www.gnu.org/licenses/>.
 11979  
 11980  // This administrivia gets added to the beginning of limits.h
 11981  //    if the system has its own version of limits.h.
 11982  
 11983  // We use _GCC_LIMITS_H_ because we want this not to match
 11984  //    any macros that the system's limits.h uses for its own purposes.
 11985  
 11986  // Use "..." so that we find syslimits.h only in this same directory.
 11987  // syslimits.h stands for the system's own limits.h file.
 11988  //    If we can use it ok unmodified, then we install this text.
 11989  //    If fixincludes fixes it, then the fixed version is installed
 11990  //    instead of this text.
 11991  
 11992  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 11993  //    This file is part of the GNU C Library.
 11994  //
 11995  //    The GNU C Library is free software; you can redistribute it and/or
 11996  //    modify it under the terms of the GNU Lesser General Public
 11997  //    License as published by the Free Software Foundation; either
 11998  //    version 2.1 of the License, or (at your option) any later version.
 11999  //
 12000  //    The GNU C Library is distributed in the hope that it will be useful,
 12001  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12002  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12003  //    Lesser General Public License for more details.
 12004  //
 12005  //    You should have received a copy of the GNU Lesser General Public
 12006  //    License along with the GNU C Library; if not, see
 12007  //    <https://www.gnu.org/licenses/>.
 12008  
 12009  //	ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types	<limits.h>
 12010  
 12011  // Handle feature test macros at the start of a header.
 12012  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
 12013  //    This file is part of the GNU C Library.
 12014  //
 12015  //    The GNU C Library is free software; you can redistribute it and/or
 12016  //    modify it under the terms of the GNU Lesser General Public
 12017  //    License as published by the Free Software Foundation; either
 12018  //    version 2.1 of the License, or (at your option) any later version.
 12019  //
 12020  //    The GNU C Library is distributed in the hope that it will be useful,
 12021  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12022  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12023  //    Lesser General Public License for more details.
 12024  //
 12025  //    You should have received a copy of the GNU Lesser General Public
 12026  //    License along with the GNU C Library; if not, see
 12027  //    <https://www.gnu.org/licenses/>.
 12028  
 12029  // This header is internal to glibc and should not be included outside
 12030  //    of glibc headers.  Headers including it must define
 12031  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
 12032  //    cannot have multiple include guards because ISO C feature test
 12033  //    macros depend on the definition of the macro when an affected
 12034  //    header is included, not when the first system header is
 12035  //    included.
 12036  
 12037  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 12038  //    This file is part of the GNU C Library.
 12039  //
 12040  //    The GNU C Library is free software; you can redistribute it and/or
 12041  //    modify it under the terms of the GNU Lesser General Public
 12042  //    License as published by the Free Software Foundation; either
 12043  //    version 2.1 of the License, or (at your option) any later version.
 12044  //
 12045  //    The GNU C Library is distributed in the hope that it will be useful,
 12046  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12047  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12048  //    Lesser General Public License for more details.
 12049  //
 12050  //    You should have received a copy of the GNU Lesser General Public
 12051  //    License along with the GNU C Library; if not, see
 12052  //    <https://www.gnu.org/licenses/>.
 12053  
 12054  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
 12055  //    macro.
 12056  
 12057  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
 12058  //    macro.  Most but not all symbols enabled by that macro in TS
 12059  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
 12060  //    still require that macro in C2X.
 12061  
 12062  // ISO/IEC TS 18661-4:2015 defines the
 12063  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
 12064  //    functions, the symbols from this TS are enabled unconditionally in
 12065  //    C2X.
 12066  
 12067  // ISO/IEC TS 18661-3:2015 defines the
 12068  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
 12069  
 12070  // Maximum length of any multibyte character in any locale.
 12071  //    We define this value here since the gcc header does not define
 12072  //    the correct value.
 12073  
 12074  // If we are not using GNU CC we have to define all the symbols ourself.
 12075  //    Otherwise use gcc's definitions (see below).
 12076  
 12077  // Get the compiler's limits.h, which defines almost all the ISO constants.
 12078  //
 12079  //     We put this #include_next outside the double inclusion check because
 12080  //     it should be possible to include this file more than once and still get
 12081  //     the definitions from gcc's header.
 12082  
 12083  // The <limits.h> files in some gcc versions don't define LLONG_MIN,
 12084  //    LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for
 12085  //    ages are available.
 12086  
 12087  // The integer width macros are not defined by GCC's <limits.h> before
 12088  //    GCC 7, or if _GNU_SOURCE rather than
 12089  //    __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
 12090  
 12091  // POSIX adds things to <limits.h>.
 12092  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 12093  //    This file is part of the GNU C Library.
 12094  //
 12095  //    The GNU C Library is free software; you can redistribute it and/or
 12096  //    modify it under the terms of the GNU Lesser General Public
 12097  //    License as published by the Free Software Foundation; either
 12098  //    version 2.1 of the License, or (at your option) any later version.
 12099  //
 12100  //    The GNU C Library is distributed in the hope that it will be useful,
 12101  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12102  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12103  //    Lesser General Public License for more details.
 12104  //
 12105  //    You should have received a copy of the GNU Lesser General Public
 12106  //    License along with the GNU C Library; if not, see
 12107  //    <https://www.gnu.org/licenses/>.
 12108  
 12109  //	POSIX Standard: 2.9.2 Minimum Values	Added to <limits.h>
 12110  //
 12111  //	Never include this file directly; use <limits.h> instead.
 12112  
 12113  // Determine the wordsize from the preprocessor defines.
 12114  
 12115  // Both x86-64 and x32 use the 64-bit system call interface.
 12116  
 12117  // These are the standard-mandated minimum values.
 12118  
 12119  // Minimum number of operations in one list I/O call.
 12120  
 12121  // Minimal number of outstanding asynchronous I/O operations.
 12122  
 12123  // Maximum length of arguments to `execve', including environment.
 12124  
 12125  // Maximum simultaneous processes per real user ID.
 12126  
 12127  // Minimal number of timer expiration overruns.
 12128  
 12129  // Maximum length of a host name (not including the terminating null)
 12130  //    as returned from the GETHOSTNAME function.
 12131  
 12132  // Maximum link count of a file.
 12133  
 12134  // Maximum length of login name.
 12135  
 12136  // Number of bytes in a terminal canonical input queue.
 12137  
 12138  // Number of bytes for which space will be
 12139  //    available in a terminal input queue.
 12140  
 12141  // Maximum number of message queues open for a process.
 12142  
 12143  // Maximum number of supported message priorities.
 12144  
 12145  // Number of bytes in a filename.
 12146  
 12147  // Number of simultaneous supplementary group IDs per process.
 12148  
 12149  // Number of files one process can have open at once.
 12150  
 12151  // Number of bytes in a pathname.
 12152  
 12153  // Number of bytes than can be written atomically to a pipe.
 12154  
 12155  // The number of repeated occurrences of a BRE permitted by the
 12156  //    REGEXEC and REGCOMP functions when using the interval notation.
 12157  
 12158  // Minimal number of realtime signals reserved for the application.
 12159  
 12160  // Number of semaphores a process can have.
 12161  
 12162  // Maximal value of a semaphore.
 12163  
 12164  // Number of pending realtime signals.
 12165  
 12166  // Largest value of a `ssize_t'.
 12167  
 12168  // Number of streams a process can have open at once.
 12169  
 12170  // The number of bytes in a symbolic link.
 12171  
 12172  // The number of symbolic links that can be traversed in the
 12173  //    resolution of a pathname in the absence of a loop.
 12174  
 12175  // Number of timer for a process.
 12176  
 12177  // Maximum number of characters in a tty name.
 12178  
 12179  // Maximum length of a timezone name (element of `tzname').
 12180  
 12181  // Maximum clock resolution in nanoseconds.
 12182  
 12183  // Get the implementation-specific values for the above.
 12184  // Minimum guaranteed maximum values for system limits.  Linux version.
 12185  //    Copyright (C) 1993-2020 Free Software Foundation, Inc.
 12186  //    This file is part of the GNU C Library.
 12187  //
 12188  //    The GNU C Library is free software; you can redistribute it and/or
 12189  //    modify it under the terms of the GNU Lesser General Public License as
 12190  //    published by the Free Software Foundation; either version 2.1 of the
 12191  //    License, or (at your option) any later version.
 12192  //
 12193  //    The GNU C Library is distributed in the hope that it will be useful,
 12194  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12195  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12196  //    Lesser General Public License for more details.
 12197  //
 12198  //    You should have received a copy of the GNU Lesser General Public
 12199  //    License along with the GNU C Library; see the file COPYING.LIB.  If
 12200  //    not, see <https://www.gnu.org/licenses/>.
 12201  
 12202  // The kernel header pollutes the namespace with the NR_OPEN symbol
 12203  //    and defines LINK_MAX although filesystems have different maxima.  A
 12204  //    similar thing is true for OPEN_MAX: the limit can be changed at
 12205  //    runtime and therefore the macro must not be defined.  Remove this
 12206  //    after including the header if necessary.
 12207  
 12208  // The kernel sources contain a file with all the needed information.
 12209  // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
 12210  
 12211  // Have to remove NR_OPEN?
 12212  // Have to remove LINK_MAX?
 12213  // Have to remove OPEN_MAX?
 12214  // Have to remove ARG_MAX?
 12215  
 12216  // The number of data keys per process.
 12217  // This is the value this implementation supports.
 12218  
 12219  // Controlling the iterations of destructors for thread-specific data.
 12220  // Number of iterations this implementation does.
 12221  
 12222  // The number of threads per process.
 12223  // We have no predefined limit on the number of threads.
 12224  
 12225  // Maximum amount by which a process can descrease its asynchronous I/O
 12226  //    priority level.
 12227  
 12228  // Minimum size for a thread.  We are free to choose a reasonable value.
 12229  
 12230  // Maximum number of timer expiration overruns.
 12231  
 12232  // Maximum tty name length.
 12233  
 12234  // Maximum login name length.  This is arbitrary.
 12235  
 12236  // Maximum host name length.
 12237  
 12238  // Maximum message queue priority level.
 12239  
 12240  // Maximum value the semaphore can have.
 12241  
 12242  // ssize_t is not formally required to be the signed type
 12243  //    corresponding to size_t, but it is for all configurations supported
 12244  //    by glibc.
 12245  
 12246  // This value is a guaranteed minimum maximum.
 12247  //    The current maximum can be got from `sysconf'.
 12248  
 12249  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 12250  //    This file is part of the GNU C Library.
 12251  //
 12252  //    The GNU C Library is free software; you can redistribute it and/or
 12253  //    modify it under the terms of the GNU Lesser General Public
 12254  //    License as published by the Free Software Foundation; either
 12255  //    version 2.1 of the License, or (at your option) any later version.
 12256  //
 12257  //    The GNU C Library is distributed in the hope that it will be useful,
 12258  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12259  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12260  //    Lesser General Public License for more details.
 12261  //
 12262  //    You should have received a copy of the GNU Lesser General Public
 12263  //    License along with the GNU C Library; if not, see
 12264  //    <https://www.gnu.org/licenses/>.
 12265  
 12266  // Never include this file directly; include <limits.h> instead.
 12267  
 12268  // The maximum `ibase' and `obase' values allowed by the `bc' utility.
 12269  
 12270  // The maximum number of elements allowed in an array by the `bc' utility.
 12271  
 12272  // The maximum `scale' value allowed by the `bc' utility.
 12273  
 12274  // The maximum length of a string constant accepted by the `bc' utility.
 12275  
 12276  // The maximum number of weights that can be assigned to an entry of
 12277  //    the LC_COLLATE `order' keyword in the locale definition file.
 12278  
 12279  // The maximum number of expressions that can be nested
 12280  //    within parentheses by the `expr' utility.
 12281  
 12282  // The maximum length, in bytes, of an input line.
 12283  
 12284  // The maximum number of repeated occurrences of a regular expression
 12285  //    permitted when using the interval notation `\{M,N\}'.
 12286  
 12287  // The maximum number of bytes in a character class name.  We have no
 12288  //    fixed limit, 2048 is a high number.
 12289  
 12290  // These values are implementation-specific,
 12291  //    and may vary within the implementation.
 12292  //    Their precise values can be obtained from sysconf.
 12293  
 12294  // This value is defined like this in regex.h.
 12295  
 12296  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 12297  //
 12298  // This file is part of GCC.
 12299  //
 12300  // GCC is free software; you can redistribute it and/or modify it under
 12301  // the terms of the GNU General Public License as published by the Free
 12302  // Software Foundation; either version 3, or (at your option) any later
 12303  // version.
 12304  //
 12305  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 12306  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 12307  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 12308  // for more details.
 12309  //
 12310  // Under Section 7 of GPL version 3, you are granted additional
 12311  // permissions described in the GCC Runtime Library Exception, version
 12312  // 3.1, as published by the Free Software Foundation.
 12313  //
 12314  // You should have received a copy of the GNU General Public License and
 12315  // a copy of the GCC Runtime Library Exception along with this program;
 12316  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 12317  // <http://www.gnu.org/licenses/>.
 12318  
 12319  // Number of bits in a `char'.
 12320  
 12321  // Maximum length of a multibyte character.
 12322  
 12323  // Minimum and maximum values a `signed char' can hold.
 12324  
 12325  // Maximum value an `unsigned char' can hold.  (Minimum is 0).
 12326  
 12327  // Minimum and maximum values a `char' can hold.
 12328  
 12329  // Minimum and maximum values a `signed short int' can hold.
 12330  
 12331  // Maximum value an `unsigned short int' can hold.  (Minimum is 0).
 12332  
 12333  // Minimum and maximum values a `signed int' can hold.
 12334  
 12335  // Maximum value an `unsigned int' can hold.  (Minimum is 0).
 12336  
 12337  // Minimum and maximum values a `signed long int' can hold.
 12338  //    (Same as `int').
 12339  
 12340  // Maximum value an `unsigned long int' can hold.  (Minimum is 0).
 12341  
 12342  // Minimum and maximum values a `signed long long int' can hold.
 12343  
 12344  // Maximum value an `unsigned long long int' can hold.  (Minimum is 0).
 12345  
 12346  // This administrivia gets added to the end of limits.h
 12347  //    if the system has its own version of limits.h.
 12348  
 12349  func XXRenderQueryFilters(tls *libc.TLS, dpy uintptr, drawable Drawable) uintptr { /* Filter.c:30:10: */
 12350  	bp := tls.Alloc(33)
 12351  	defer tls.Free(33)
 12352  
 12353  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12354  	var xri uintptr
 12355  	var req uintptr
 12356  	// var rep XRenderQueryFiltersReply at bp, 32
 12357  
 12358  	var filters uintptr
 12359  	var name uintptr
 12360  	// var len int8 at bp+32, 1
 12361  
 12362  	var i int32
 12363  	var nbytes uint64
 12364  	var nbytesAlias uint64
 12365  	var nbytesName uint64
 12366  	var reply_left uint64
 12367  
 12368  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12369  		return uintptr(0)
 12370  	}
 12371  
 12372  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 12373  		return uintptr(0)
 12374  	}
 12375  
 12376  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 12377  	if (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version < 6 {
 12378  		return uintptr(0)
 12379  	}
 12380  
 12381  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12382  		(*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)
 12383  	}
 12384  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryFilters), uint64(Sz_xRenderQueryFiltersReq))
 12385  	(*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12386  	(*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryFilters)
 12387  	(*XRenderQueryFiltersReq)(unsafe.Pointer(req)).Fdrawable = CARD32(drawable)
 12388  	if !(x11.X_XReply(tls, dpy, bp /* &rep */, 0, XFalse) != 0) {
 12389  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12390  			(*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)
 12391  		}
 12392  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12393  			(*struct {
 12394  				f func(*libc.TLS, uintptr) int32
 12395  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12396  		}
 12397  		return uintptr(0)
 12398  	}
 12399  
 12400  	// Limit each component of combined size to 1/4 the max, which is far
 12401  	// more than they should ever possibly need.
 12402  	if (((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) && (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(int16(0))))) {
 12403  		// Compute total number of bytes for filter names
 12404  		nbytes = (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength) << 2)
 12405  		nbytesAlias = (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases * CARD32(2)))
 12406  		if ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases & CARD32(1)) != 0 {
 12407  			nbytesAlias = nbytesAlias + (uint64(2))
 12408  		}
 12409  		nbytesName = (nbytes - nbytesAlias)
 12410  
 12411  		// Allocate one giant block for the whole data structure
 12412  		filters = libc.Xmalloc(tls, func() uint64 {
 12413  			if (((uint64(unsafe.Sizeof(XFilters{})) + (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters) * uint64(unsafe.Sizeof(uintptr(0))))) + (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases) * uint64(unsafe.Sizeof(int16(0))))) + nbytesName) == uint64(0) {
 12414  				return uint64(1)
 12415  			}
 12416  			return (((uint64(unsafe.Sizeof(XFilters{})) + (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters) * uint64(unsafe.Sizeof(uintptr(0))))) + (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases) * uint64(unsafe.Sizeof(int16(0))))) + nbytesName)
 12417  		}())
 12418  	} else {
 12419  		filters = uintptr(0)
 12420  	}
 12421  
 12422  	if !(filters != 0) {
 12423  		x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength))
 12424  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12425  			(*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)
 12426  		}
 12427  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12428  			(*struct {
 12429  				f func(*libc.TLS, uintptr) int32
 12430  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12431  		}
 12432  		return uintptr(0)
 12433  	}
 12434  
 12435  	// Layout:
 12436  	//	XFilters
 12437  	//	numFilters  char * pointers to filter names
 12438  	//	numAliases  short alias values
 12439  	//	nbytesName  char strings
 12440  
 12441  	(*XFilters)(unsafe.Pointer(filters)).Fnfilter = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters)
 12442  	(*XFilters)(unsafe.Pointer(filters)).Fnalias = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)
 12443  	(*XFilters)(unsafe.Pointer(filters)).Ffilter = (filters + uintptr(1)*32)
 12444  	(*XFilters)(unsafe.Pointer(filters)).Falias = ((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters)*8)
 12445  	name = ((*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)*2)
 12446  
 12447  	// Read the filter aliases
 12448  	x11.X_XReadPad(tls, dpy, (*XFilters)(unsafe.Pointer(filters)).Falias, (int64(CARD32(2) * (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)))
 12449  	reply_left = (uint64((CARD32(8) + (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength) - (CARD32(2) * (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)))
 12450  
 12451  	// Read the filter names
 12452  	for i = 0; CARD32(i) < (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters; i++ {
 12453  		var l int32
 12454  		x11.X_XRead(tls, dpy, bp+32 /* &len */, int64(1))
 12455  		reply_left--
 12456  		l = (int32(*(*int8)(unsafe.Pointer(bp + 32 /* len */))) & 0xff)
 12457  		if (uint64(l) + uint64(1)) > nbytesName {
 12458  			x11.X_XEatDataWords(tls, dpy, reply_left)
 12459  			libc.Xfree(tls, filters)
 12460  			if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12461  				(*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)
 12462  			}
 12463  			if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12464  				(*struct {
 12465  					f func(*libc.TLS, uintptr) int32
 12466  				})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12467  			}
 12468  			return uintptr(0)
 12469  		}
 12470  		nbytesName = nbytesName - (uint64(l + 1))
 12471  		*(*uintptr)(unsafe.Pointer((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr(i)*8)) = name
 12472  		x11.X_XRead(tls, dpy, name, int64(l))
 12473  		reply_left = reply_left - (uint64(l))
 12474  		*(*int8)(unsafe.Pointer(name + uintptr(l))) = int8(0)
 12475  		name += (uintptr(l + 1))
 12476  	}
 12477  	i = (int32((int64(name) - int64(((*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)*2))) / 1))
 12478  
 12479  	if (i & 3) != 0 {
 12480  		x11.X_XEatData(tls, dpy, (uint64(4 - (i & 3))))
 12481  	}
 12482  
 12483  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12484  		(*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)
 12485  	}
 12486  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12487  		(*struct {
 12488  			f func(*libc.TLS, uintptr) int32
 12489  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12490  	}
 12491  	return filters
 12492  }
 12493  
 12494  func XXRenderSetPictureFilter(tls *libc.TLS, dpy uintptr, picture Picture, filter uintptr, params uintptr, nparams int32) { /* Filter.c:153:1: */
 12495  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12496  	var req uintptr
 12497  	var nbytes int32 = int32(libc.Xstrlen(tls, filter))
 12498  
 12499  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12500  		return
 12501  	}
 12502  
 12503  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12504  		(*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)
 12505  	}
 12506  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureFilter), uint64(Sz_xRenderSetPictureFilterReq))
 12507  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12508  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureFilter)
 12509  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 12510  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fnbytes = CARD16(nbytes)
 12511  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((((nbytes + 3) >> 2) + nparams))
 12512  	{
 12513  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12514  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, filter, uint64(nbytes))
 12515  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nbytes) + 3) & libc.CplInt32(3)))
 12516  		} else {
 12517  			x11.X_XSend(tls, dpy, filter, int64(nbytes))
 12518  		}
 12519  	}
 12520  
 12521  	{
 12522  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nparams << 2))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12523  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, params, uint64((nparams << 2)))
 12524  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nparams << 2) + 3) & libc.CplInt32(3)))
 12525  		} else {
 12526  			x11.X_XSend(tls, dpy, params, (int64(nparams << 2)))
 12527  		}
 12528  	}
 12529  
 12530  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12531  		(*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)
 12532  	}
 12533  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12534  		(*struct {
 12535  			f func(*libc.TLS, uintptr) int32
 12536  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12537  	}
 12538  }
 12539  
 12540  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 12541  // matters on alpha.  Note that this macro assumes that int is 32 bits
 12542  // except on WORD64 machines where it is 64 bits.
 12543  
 12544  func XXRenderCreateGlyphSet(tls *libc.TLS, dpy uintptr, format uintptr) GlyphSet { /* Glyph.c:31:1: */
 12545  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12546  	var gsid GlyphSet
 12547  	var req uintptr
 12548  
 12549  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12550  		return uint64(0)
 12551  	}
 12552  
 12553  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12554  		(*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)
 12555  	}
 12556  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateGlyphSet), uint64(Sz_xRenderCreateGlyphSetReq))
 12557  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12558  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateGlyphSet)
 12559  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fgsid = CARD32(libc.AssignUint64(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 12560  		Fext_data            uintptr
 12561  		Fprivate1            uintptr
 12562  		Ffd                  int32
 12563  		Fprivate2            int32
 12564  		Fproto_major_version int32
 12565  		Fproto_minor_version int32
 12566  		Fvendor              uintptr
 12567  		Fprivate3            XID
 12568  		Fprivate4            XID
 12569  		Fprivate5            XID
 12570  		Fprivate6            int32
 12571  		F__ccgo_pad1         [4]byte
 12572  		Fresource_alloc      uintptr
 12573  		Fbyte_order          int32
 12574  		Fbitmap_unit         int32
 12575  		Fbitmap_pad          int32
 12576  		Fbitmap_bit_order    int32
 12577  		Fnformats            int32
 12578  		F__ccgo_pad2         [4]byte
 12579  		Fpixmap_format       uintptr
 12580  		Fprivate8            int32
 12581  		Frelease             int32
 12582  		Fprivate9            uintptr
 12583  		Fprivate10           uintptr
 12584  		Fqlen                int32
 12585  		F__ccgo_pad3         [4]byte
 12586  		Flast_request_read   uint64
 12587  		Frequest             uint64
 12588  		Fprivate11           XPointer
 12589  		Fprivate12           XPointer
 12590  		Fprivate13           XPointer
 12591  		Fprivate14           XPointer
 12592  		Fmax_request_size    uint32
 12593  		F__ccgo_pad4         [4]byte
 12594  		Fdb                  uintptr
 12595  		Fprivate15           uintptr
 12596  		Fdisplay_name        uintptr
 12597  		Fdefault_screen      int32
 12598  		Fnscreens            int32
 12599  		Fscreens             uintptr
 12600  		Fmotion_buffer       uint64
 12601  		Fprivate16           uint64
 12602  		Fmin_keycode         int32
 12603  		Fmax_keycode         int32
 12604  		Fprivate17           XPointer
 12605  		Fprivate18           XPointer
 12606  		Fprivate19           int32
 12607  		F__ccgo_pad5         [4]byte
 12608  		Fxdefaults           uintptr
 12609  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)))
 12610  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid)
 12611  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12612  		(*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)
 12613  	}
 12614  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12615  		(*struct {
 12616  			f func(*libc.TLS, uintptr) int32
 12617  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12618  	}
 12619  	return gsid
 12620  }
 12621  
 12622  func XXRenderReferenceGlyphSet(tls *libc.TLS, dpy uintptr, existing GlyphSet) GlyphSet { /* Glyph.c:50:1: */
 12623  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12624  	var gsid GlyphSet
 12625  	var req uintptr
 12626  
 12627  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12628  		return uint64(0)
 12629  	}
 12630  
 12631  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12632  		(*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)
 12633  	}
 12634  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderReferenceGlyphSet), uint64(Sz_xRenderReferenceGlyphSetReq))
 12635  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12636  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderReferenceGlyphSet)
 12637  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fgsid = CARD32(libc.AssignUint64(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 12638  		Fext_data            uintptr
 12639  		Fprivate1            uintptr
 12640  		Ffd                  int32
 12641  		Fprivate2            int32
 12642  		Fproto_major_version int32
 12643  		Fproto_minor_version int32
 12644  		Fvendor              uintptr
 12645  		Fprivate3            XID
 12646  		Fprivate4            XID
 12647  		Fprivate5            XID
 12648  		Fprivate6            int32
 12649  		F__ccgo_pad1         [4]byte
 12650  		Fresource_alloc      uintptr
 12651  		Fbyte_order          int32
 12652  		Fbitmap_unit         int32
 12653  		Fbitmap_pad          int32
 12654  		Fbitmap_bit_order    int32
 12655  		Fnformats            int32
 12656  		F__ccgo_pad2         [4]byte
 12657  		Fpixmap_format       uintptr
 12658  		Fprivate8            int32
 12659  		Frelease             int32
 12660  		Fprivate9            uintptr
 12661  		Fprivate10           uintptr
 12662  		Fqlen                int32
 12663  		F__ccgo_pad3         [4]byte
 12664  		Flast_request_read   uint64
 12665  		Frequest             uint64
 12666  		Fprivate11           XPointer
 12667  		Fprivate12           XPointer
 12668  		Fprivate13           XPointer
 12669  		Fprivate14           XPointer
 12670  		Fmax_request_size    uint32
 12671  		F__ccgo_pad4         [4]byte
 12672  		Fdb                  uintptr
 12673  		Fprivate15           uintptr
 12674  		Fdisplay_name        uintptr
 12675  		Fdefault_screen      int32
 12676  		Fnscreens            int32
 12677  		Fscreens             uintptr
 12678  		Fmotion_buffer       uint64
 12679  		Fprivate16           uint64
 12680  		Fmin_keycode         int32
 12681  		Fmax_keycode         int32
 12682  		Fprivate17           XPointer
 12683  		Fprivate18           XPointer
 12684  		Fprivate19           int32
 12685  		F__ccgo_pad5         [4]byte
 12686  		Fxdefaults           uintptr
 12687  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)))
 12688  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fexisting = CARD32(existing)
 12689  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12690  		(*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)
 12691  	}
 12692  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12693  		(*struct {
 12694  			f func(*libc.TLS, uintptr) int32
 12695  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12696  	}
 12697  	return gsid
 12698  }
 12699  
 12700  func XXRenderFreeGlyphSet(tls *libc.TLS, dpy uintptr, glyphset GlyphSet) { /* Glyph.c:69:1: */
 12701  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12702  	var req uintptr
 12703  
 12704  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12705  		return
 12706  	}
 12707  
 12708  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12709  		(*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)
 12710  	}
 12711  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphSet), uint64(Sz_xRenderFreeGlyphSetReq))
 12712  	(*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12713  	(*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphSet)
 12714  	(*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 12715  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12716  		(*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)
 12717  	}
 12718  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12719  		(*struct {
 12720  			f func(*libc.TLS, uintptr) int32
 12721  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12722  	}
 12723  }
 12724  
 12725  func XXRenderAddGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, glyphs uintptr, nglyphs int32, images uintptr, nbyte_images int32) { /* Glyph.c:85:1: */
 12726  	bp := tls.Alloc(8)
 12727  	defer tls.Free(8)
 12728  
 12729  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12730  	var req uintptr
 12731  	var len int64
 12732  
 12733  	if (nbyte_images & 3) != 0 {
 12734  		nbyte_images = nbyte_images + (4 - (nbyte_images & 3))
 12735  	}
 12736  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12737  		return
 12738  	}
 12739  
 12740  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12741  		(*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)
 12742  	}
 12743  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddGlyphs), uint64(Sz_xRenderAddGlyphsReq))
 12744  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12745  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddGlyphs)
 12746  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 12747  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fnglyphs = CARD32(nglyphs)
 12748  	len = (int64(((nglyphs * (Sz_xGlyphInfo + 4)) + nbyte_images) >> 2))
 12749  	if (int64((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 12750  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 12751  			{
 12752  				// var _BRdat CARD64 at bp, 8
 12753  				var _BRlen CARD32 = (CARD32(int32((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) - 1))
 12754  				(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 12755  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 12756  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 12757  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 12758  				x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 12759  			}
 12760  		} else {
 12761  			len = len
 12762  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 12763  		}
 12764  	} else {
 12765  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 12766  	}
 12767  	x11.X_XData32(tls, dpy, gids, (uint32(nglyphs * 4)))
 12768  	{
 12769  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nglyphs * Sz_xGlyphInfo))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 12770  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, glyphs, uint64((nglyphs * Sz_xGlyphInfo)))
 12771  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nglyphs * Sz_xGlyphInfo) + 3) & libc.CplInt32(3)))
 12772  		} else {
 12773  			x11.X_XSend(tls, dpy, glyphs, (int64(nglyphs * Sz_xGlyphInfo)))
 12774  		}
 12775  	}
 12776  
 12777  	{
 12778  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbyte_images))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12779  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, images, uint64(nbyte_images))
 12780  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nbyte_images) + 3) & libc.CplInt32(3)))
 12781  		} else {
 12782  			x11.X_XSend(tls, dpy, images, int64(nbyte_images))
 12783  		}
 12784  	}
 12785  
 12786  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12787  		(*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)
 12788  	}
 12789  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12790  		(*struct {
 12791  			f func(*libc.TLS, uintptr) int32
 12792  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12793  	}
 12794  }
 12795  
 12796  func XXRenderFreeGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, nglyphs int32) { /* Glyph.c:116:1: */
 12797  	bp := tls.Alloc(8)
 12798  	defer tls.Free(8)
 12799  
 12800  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12801  	var req uintptr
 12802  	var len int64
 12803  
 12804  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12805  		return
 12806  	}
 12807  
 12808  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12809  		(*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)
 12810  	}
 12811  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphs), uint64(Sz_xRenderFreeGlyphsReq))
 12812  	(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12813  	(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphs)
 12814  	(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 12815  	len = int64(nglyphs)
 12816  	if (int64((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 12817  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 12818  			{
 12819  				// var _BRdat CARD64 at bp, 8
 12820  				var _BRlen CARD32 = (CARD32(int32((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) - 1))
 12821  				(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 12822  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 12823  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 12824  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 12825  				x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 12826  			}
 12827  		} else {
 12828  			len = len
 12829  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 12830  		}
 12831  	} else {
 12832  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 12833  	}
 12834  	len <<= 2
 12835  	x11.X_XData32(tls, dpy, gids, uint32(len))
 12836  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12837  		(*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)
 12838  	}
 12839  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12840  		(*struct {
 12841  			f func(*libc.TLS, uintptr) int32
 12842  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12843  	}
 12844  }
 12845  
 12846  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: */
 12847  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12848  	var req uintptr
 12849  	var len int64
 12850  	var elt uintptr
 12851  	var nbytes int32
 12852  
 12853  	if !(nchar != 0) {
 12854  		return
 12855  	}
 12856  
 12857  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12858  		return
 12859  	}
 12860  
 12861  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12862  		(*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)
 12863  	}
 12864  
 12865  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint64(Sz_xRenderCompositeGlyphs8Req))
 12866  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12867  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8)
 12868  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 12869  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 12870  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 12871  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 12872  		if maskFormat != 0 {
 12873  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 12874  		}
 12875  		return uint32(None)
 12876  	}()
 12877  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 12878  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 12879  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 12880  
 12881  	// xGlyphElt must be aligned on a 32-bit boundary; this is
 12882  	// easily done by filling no more than 252 glyphs in each
 12883  	// bucket
 12884  
 12885  	len = (int64((Sz_xGlyphElt * (((nchar + 252) - 1) / 252)) + nchar))
 12886  
 12887  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + int64(3)) >> 2)) // convert to number of 32-bit words
 12888  
 12889  	// If the entire request does not fit into the remaining space in the
 12890  	// buffer, flush the buffer first.
 12891  
 12892  	if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12893  		x11.X_XFlush(tls, dpy)
 12894  	}
 12895  
 12896  	for nchar > 252 {
 12897  		nbytes = (252 + Sz_xGlyphElt)
 12898  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12899  			x11.X_XFlush(tls, dpy)
 12900  		}
 12901  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 12902  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 12903  		*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes))
 12904  
 12905  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(252)
 12906  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 12907  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 12908  		xDst = 0
 12909  		yDst = 0
 12910  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, uint64(252))
 12911  		nchar = (nchar - 252)
 12912  		string += uintptr(252)
 12913  	}
 12914  
 12915  	if nchar != 0 {
 12916  		nbytes = (((nchar + Sz_xGlyphElt) + 3) & libc.CplInt32(3))
 12917  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12918  			x11.X_XFlush(tls, dpy)
 12919  		}
 12920  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 12921  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 12922  		*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes))
 12923  
 12924  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar)
 12925  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 12926  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 12927  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, uint64(nchar))
 12928  	}
 12929  
 12930  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12931  		(*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)
 12932  	}
 12933  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12934  		(*struct {
 12935  			f func(*libc.TLS, uintptr) int32
 12936  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12937  	}
 12938  }
 12939  
 12940  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: */
 12941  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12942  	var req uintptr
 12943  	var len int64
 12944  	var elt uintptr
 12945  	var nbytes int32
 12946  
 12947  	if !(nchar != 0) {
 12948  		return
 12949  	}
 12950  
 12951  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 12952  		return
 12953  	}
 12954  
 12955  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12956  		(*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)
 12957  	}
 12958  
 12959  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint64(Sz_xRenderCompositeGlyphs16Req))
 12960  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12961  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16)
 12962  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 12963  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 12964  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 12965  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 12966  		if maskFormat != 0 {
 12967  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 12968  		}
 12969  		return uint32(None)
 12970  	}()
 12971  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 12972  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 12973  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 12974  
 12975  	len = (int64((Sz_xGlyphElt * (((nchar + 254) - 1) / 254)) + (nchar * 2)))
 12976  
 12977  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + int64(3)) >> 2)) // convert to number of 32-bit words
 12978  
 12979  	// If the entire request does not fit into the remaining space in the
 12980  	// buffer, flush the buffer first.
 12981  
 12982  	if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12983  		x11.X_XFlush(tls, dpy)
 12984  	}
 12985  
 12986  	for nchar > 254 {
 12987  		nbytes = ((254 * 2) + Sz_xGlyphElt)
 12988  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12989  			x11.X_XFlush(tls, dpy)
 12990  		}
 12991  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 12992  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 12993  		*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes))
 12994  
 12995  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254)
 12996  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 12997  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 12998  		xDst = 0
 12999  		yDst = 0
 13000  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint64(254 * 2)))
 13001  		nchar = (nchar - 254)
 13002  		string += 2 * (uintptr(254))
 13003  	}
 13004  
 13005  	if nchar != 0 {
 13006  		nbytes = ((((nchar * 2) + Sz_xGlyphElt) + 3) & libc.CplInt32(3))
 13007  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13008  			x11.X_XFlush(tls, dpy)
 13009  		}
 13010  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13011  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 13012  		*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes))
 13013  
 13014  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar)
 13015  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13016  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13017  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint64(nchar * 2)))
 13018  	}
 13019  
 13020  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13021  		(*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)
 13022  	}
 13023  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13024  		(*struct {
 13025  			f func(*libc.TLS, uintptr) int32
 13026  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13027  	}
 13028  }
 13029  
 13030  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: */
 13031  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13032  	var req uintptr
 13033  	var len int64
 13034  	var elt uintptr
 13035  	var nbytes int32
 13036  
 13037  	if !(nchar != 0) {
 13038  		return
 13039  	}
 13040  
 13041  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13042  		return
 13043  	}
 13044  
 13045  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13046  		(*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)
 13047  	}
 13048  
 13049  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint64(Sz_xRenderCompositeGlyphs32Req))
 13050  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13051  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32)
 13052  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13053  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 13054  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 13055  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13056  		if maskFormat != 0 {
 13057  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 13058  		}
 13059  		return uint32(None)
 13060  	}()
 13061  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 13062  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13063  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13064  
 13065  	len = (int64((Sz_xGlyphElt * (((nchar + 254) - 1) / 254)) + (nchar * 4)))
 13066  
 13067  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + int64(3)) >> 2)) // convert to number of 32-bit words
 13068  
 13069  	// If the entire request does not fit into the remaining space in the
 13070  	// buffer, flush the buffer first.
 13071  
 13072  	if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13073  		x11.X_XFlush(tls, dpy)
 13074  	}
 13075  
 13076  	for nchar > 254 {
 13077  		nbytes = ((254 * 4) + Sz_xGlyphElt)
 13078  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13079  			x11.X_XFlush(tls, dpy)
 13080  		}
 13081  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13082  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 13083  		*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes))
 13084  
 13085  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254)
 13086  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13087  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13088  		xDst = 0
 13089  		yDst = 0
 13090  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint64(254 * 4)))
 13091  		nchar = (nchar - 254)
 13092  		string += 4 * (uintptr(254))
 13093  	}
 13094  
 13095  	if nchar != 0 {
 13096  		nbytes = ((nchar * 4) + Sz_xGlyphElt)
 13097  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13098  			x11.X_XFlush(tls, dpy)
 13099  		}
 13100  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13101  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 13102  		*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes))
 13103  
 13104  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar)
 13105  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13106  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13107  		libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint64(nchar * 4)))
 13108  	}
 13109  
 13110  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13111  		(*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)
 13112  	}
 13113  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13114  		(*struct {
 13115  			f func(*libc.TLS, uintptr) int32
 13116  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13117  	}
 13118  }
 13119  
 13120  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: */
 13121  	bp := tls.Alloc(8)
 13122  	defer tls.Free(8)
 13123  
 13124  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13125  	var req uintptr
 13126  	// var glyphset GlyphSet at bp, 8
 13127  
 13128  	var len int64
 13129  	var elen int64
 13130  	var elt uintptr
 13131  	var i int32
 13132  	var chars uintptr
 13133  	var nchars int32
 13134  
 13135  	if !(nelt != 0) {
 13136  		return
 13137  	}
 13138  
 13139  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13140  		return
 13141  	}
 13142  
 13143  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13144  		(*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)
 13145  	}
 13146  
 13147  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint64(Sz_xRenderCompositeGlyphs8Req))
 13148  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13149  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8)
 13150  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13151  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 13152  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 13153  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13154  		if maskFormat != 0 {
 13155  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 13156  		}
 13157  		return uint32(None)
 13158  	}()
 13159  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset)
 13160  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13161  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13162  
 13163  	// Compute the space necessary
 13164  	len = int64(0)
 13165  
 13166  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset
 13167  	for i = 0; i < nelt; i++ {
 13168  		// Check for glyphset change
 13169  		if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13170  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13171  			len = len + (int64(int32((Sz_xGlyphElt + 4)) >> 2))
 13172  		}
 13173  		nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13174  		// xGlyphElt must be aligned on a 32-bit boundary; this is
 13175  		// easily done by filling no more than 252 glyphs in each
 13176  		// bucket
 13177  		elen = (int64((Sz_xGlyphElt * (((nchars + 252) - 1) / 252)) + nchars))
 13178  		len = len + ((elen + int64(3)) >> 2)
 13179  	}
 13180  
 13181  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 13182  
 13183  	// Send the glyphs
 13184  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset
 13185  	for i = 0; i < nelt; i++ {
 13186  		// Switch glyphsets
 13187  		if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13188  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13189  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13190  				x11.X_XFlush(tls, dpy)
 13191  			}
 13192  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13193  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13194  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13195  
 13196  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff)
 13197  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0)
 13198  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0)
 13199  			x11.X_XData32(tls, dpy, bp /* &glyphset */, uint32(4))
 13200  		}
 13201  		nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13202  		xDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff
 13203  		yDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff
 13204  		chars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars
 13205  		for nchars != 0 {
 13206  			var this_chars int32
 13207  			if nchars > 252 {
 13208  				this_chars = 252
 13209  			} else {
 13210  				this_chars = nchars
 13211  			}
 13212  
 13213  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13214  				x11.X_XFlush(tls, dpy)
 13215  			}
 13216  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13217  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13218  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13219  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars)
 13220  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13221  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13222  			xDst = 0
 13223  			yDst = 0
 13224  			{
 13225  				if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((this_chars))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13226  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_chars))
 13227  					*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((this_chars) + 3) & libc.CplInt32(3)))
 13228  				} else {
 13229  					x11.X_XSend(tls, dpy, chars, int64(this_chars))
 13230  				}
 13231  			}
 13232  
 13233  			nchars = nchars - (this_chars)
 13234  			chars += uintptr(this_chars)
 13235  		}
 13236  	}
 13237  
 13238  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13239  		(*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)
 13240  	}
 13241  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13242  		(*struct {
 13243  			f func(*libc.TLS, uintptr) int32
 13244  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13245  	}
 13246  }
 13247  
 13248  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: */
 13249  	bp := tls.Alloc(8)
 13250  	defer tls.Free(8)
 13251  
 13252  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13253  	var req uintptr
 13254  	// var glyphset GlyphSet at bp, 8
 13255  
 13256  	var len int64
 13257  	var elen int64
 13258  	var elt uintptr
 13259  	var i int32
 13260  	var chars uintptr
 13261  	var nchars int32
 13262  
 13263  	if !(nelt != 0) {
 13264  		return
 13265  	}
 13266  
 13267  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13268  		return
 13269  	}
 13270  
 13271  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13272  		(*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)
 13273  	}
 13274  
 13275  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint64(Sz_xRenderCompositeGlyphs16Req))
 13276  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13277  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16)
 13278  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13279  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 13280  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 13281  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13282  		if maskFormat != 0 {
 13283  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 13284  		}
 13285  		return uint32(None)
 13286  	}()
 13287  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset)
 13288  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13289  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13290  
 13291  	// Compute the space necessary
 13292  	len = int64(0)
 13293  
 13294  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset
 13295  	for i = 0; i < nelt; i++ {
 13296  		// Check for glyphset change
 13297  		if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13298  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13299  			len = len + (int64(int32((Sz_xGlyphElt + 4)) >> 2))
 13300  		}
 13301  		nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13302  		// xGlyphElt must be aligned on a 32-bit boundary; this is
 13303  		// easily done by filling no more than 254 glyphs in each
 13304  		// bucket
 13305  		elen = (int64((Sz_xGlyphElt * (((nchars + 254) - 1) / 254)) + (nchars * 2)))
 13306  		len = len + ((elen + int64(3)) >> 2)
 13307  	}
 13308  
 13309  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 13310  
 13311  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset
 13312  	for i = 0; i < nelt; i++ {
 13313  		// Switch glyphsets
 13314  		if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13315  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13316  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13317  				x11.X_XFlush(tls, dpy)
 13318  			}
 13319  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13320  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13321  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13322  
 13323  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff)
 13324  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0)
 13325  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0)
 13326  			x11.X_XData32(tls, dpy, bp /* &glyphset */, uint32(4))
 13327  		}
 13328  		nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13329  		xDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff
 13330  		yDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff
 13331  		chars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars
 13332  		for nchars != 0 {
 13333  			var this_chars int32
 13334  			if nchars > 254 {
 13335  				this_chars = 254
 13336  			} else {
 13337  				this_chars = nchars
 13338  			}
 13339  			var this_bytes int32 = (this_chars * 2)
 13340  
 13341  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13342  				x11.X_XFlush(tls, dpy)
 13343  			}
 13344  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13345  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13346  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13347  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars)
 13348  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13349  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13350  			xDst = 0
 13351  			yDst = 0
 13352  			{
 13353  				if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((this_bytes))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 13354  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_bytes))
 13355  					*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((this_bytes) + 3) & libc.CplInt32(3)))
 13356  				} else {
 13357  					x11.X_XSend(tls, dpy, chars, int64(this_bytes))
 13358  				}
 13359  			}
 13360  
 13361  			nchars = nchars - (this_chars)
 13362  			chars += 2 * (uintptr(this_chars))
 13363  		}
 13364  	}
 13365  
 13366  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13367  		(*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)
 13368  	}
 13369  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13370  		(*struct {
 13371  			f func(*libc.TLS, uintptr) int32
 13372  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13373  	}
 13374  }
 13375  
 13376  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: */
 13377  	bp := tls.Alloc(8)
 13378  	defer tls.Free(8)
 13379  
 13380  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13381  	var req uintptr
 13382  	// var glyphset GlyphSet at bp, 8
 13383  
 13384  	var len int64
 13385  	var elen int64
 13386  	var elt uintptr
 13387  	var i int32
 13388  	var chars uintptr
 13389  	var nchars int32
 13390  
 13391  	if !(nelt != 0) {
 13392  		return
 13393  	}
 13394  
 13395  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13396  		return
 13397  	}
 13398  
 13399  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13400  		(*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)
 13401  	}
 13402  
 13403  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint64(Sz_xRenderCompositeGlyphs32Req))
 13404  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13405  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32)
 13406  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13407  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 13408  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 13409  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13410  		if maskFormat != 0 {
 13411  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 13412  		}
 13413  		return uint32(None)
 13414  	}()
 13415  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset)
 13416  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13417  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13418  
 13419  	// Compute the space necessary
 13420  	len = int64(0)
 13421  
 13422  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset
 13423  	for i = 0; i < nelt; i++ {
 13424  		// Check for glyphset change
 13425  		if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13426  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13427  			len = len + (int64(int32((Sz_xGlyphElt + 4)) >> 2))
 13428  		}
 13429  		nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13430  		elen = (int64((Sz_xGlyphElt * (((nchars + 254) - 1) / 254)) + (nchars * 4)))
 13431  		len = len + ((elen + int64(3)) >> 2)
 13432  	}
 13433  
 13434  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 13435  
 13436  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset
 13437  	for i = 0; i < nelt; i++ {
 13438  		// Switch glyphsets
 13439  		if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) {
 13440  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13441  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13442  				x11.X_XFlush(tls, dpy)
 13443  			}
 13444  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13445  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13446  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13447  
 13448  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff)
 13449  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0)
 13450  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0)
 13451  			x11.X_XData32(tls, dpy, bp /* &glyphset */, uint32(4))
 13452  		}
 13453  		nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13454  		xDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff
 13455  		yDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff
 13456  		chars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars
 13457  		for nchars != 0 {
 13458  			var this_chars int32
 13459  			if nchars > 254 {
 13460  				this_chars = 254
 13461  			} else {
 13462  				this_chars = nchars
 13463  			}
 13464  			var this_bytes int32 = (this_chars * 4)
 13465  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13466  				x11.X_XFlush(tls, dpy)
 13467  			}
 13468  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13469  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13470  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt))
 13471  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars)
 13472  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13473  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13474  			xDst = 0
 13475  			yDst = 0
 13476  			{
 13477  				if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((this_bytes))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13478  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_bytes))
 13479  					*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((this_bytes) + 3) & libc.CplInt32(3)))
 13480  				} else {
 13481  					x11.X_XSend(tls, dpy, chars, int64(this_bytes))
 13482  				}
 13483  			}
 13484  
 13485  			nchars = nchars - (this_chars)
 13486  			chars += 4 * (uintptr(this_chars))
 13487  		}
 13488  	}
 13489  
 13490  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13491  		(*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)
 13492  	}
 13493  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13494  		(*struct {
 13495  			f func(*libc.TLS, uintptr) int32
 13496  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13497  	}
 13498  }
 13499  
 13500  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 13501  // matters on alpha.  Note that this macro assumes that int is 32 bits
 13502  // except on WORD64 machines where it is 64 bits.
 13503  
 13504  //***********************************************************************
 13505  //
 13506  // Copyright 1987, 1998  The Open Group
 13507  //
 13508  // Permission to use, copy, modify, distribute, and sell this software and its
 13509  // documentation for any purpose is hereby granted without fee, provided that
 13510  // the above copyright notice appear in all copies and that both that
 13511  // copyright notice and this permission notice appear in supporting
 13512  // documentation.
 13513  //
 13514  // The above copyright notice and this permission notice shall be included in
 13515  // all copies or substantial portions of the Software.
 13516  //
 13517  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 13518  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 13519  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 13520  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 13521  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 13522  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 13523  //
 13524  // Except as contained in this notice, the name of The Open Group shall not be
 13525  // used in advertising or otherwise to promote the sale, use or other dealings
 13526  // in this Software without prior written authorization from The Open Group.
 13527  //
 13528  //
 13529  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 13530  //
 13531  //                         All Rights Reserved
 13532  //
 13533  // Permission to use, copy, modify, and distribute this software and its
 13534  // documentation for any purpose and without fee is hereby granted,
 13535  // provided that the above copyright notice appear in all copies and that
 13536  // both that copyright notice and this permission notice appear in
 13537  // supporting documentation, and that the name of Digital not be
 13538  // used in advertising or publicity pertaining to distribution of the
 13539  // software without specific, written prior permission.
 13540  //
 13541  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 13542  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 13543  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 13544  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 13545  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 13546  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 13547  // SOFTWARE.
 13548  //
 13549  // ***********************************************************************
 13550  
 13551  type Box = struct {
 13552  	Fx1 int16
 13553  	Fx2 int16
 13554  	Fy1 int16
 13555  	Fy2 int16
 13556  } /* Xregion.h:53:3 */
 13557  type BOX = struct {
 13558  	Fx1 int16
 13559  	Fx2 int16
 13560  	Fy1 int16
 13561  	Fy2 int16
 13562  } /* Xregion.h:53:8 */
 13563  type BoxRec = struct {
 13564  	Fx1 int16
 13565  	Fx2 int16
 13566  	Fy1 int16
 13567  	Fy2 int16
 13568  }                     /* Xregion.h:53:13 */
 13569  type BoxPtr = uintptr /* Xregion.h:53:21 */
 13570  
 13571  type RECTANGLE = struct {
 13572  	Fx      int16
 13573  	Fy      int16
 13574  	Fwidth  int16
 13575  	Fheight int16
 13576  } /* Xregion.h:57:2 */
 13577  type RectangleRec = struct {
 13578  	Fx      int16
 13579  	Fy      int16
 13580  	Fwidth  int16
 13581  	Fheight int16
 13582  }                           /* Xregion.h:57:13 */
 13583  type RectanglePtr = uintptr /* Xregion.h:57:27 */
 13584  
 13585  //   clip region
 13586  
 13587  type REGION = X_XRegion /* Xregion.h:80:3 */
 13588  
 13589  // Xutil.h contains the declaration:
 13590  // typedef struct _XRegion *Region;
 13591  
 13592  // 1 if two BOXs overlap.
 13593  //  0 if two BOXs do not overlap.
 13594  //  Remember, x2 and y2 are not in the region
 13595  
 13596  //  update region extents
 13597  
 13598  //   Check to see if there is enough memory in the present region.
 13599  
 13600  // this routine checks to see if the previous rectangle is the same
 13601  //  or subsumes the new rectangle to add.
 13602  
 13603  //  add a rectangle to the given Region
 13604  
 13605  //  add a rectangle to the given Region
 13606  
 13607  // number of points to buffer before sending them off
 13608  // to scanlines() :  Must be an even number
 13609  
 13610  // used to allocate buffers for points and link
 13611  // the buffers together
 13612  type X_POINTBLOCK = struct {
 13613  	Fpts  [200]XPoint
 13614  	Fnext uintptr
 13615  } /* Xregion.h:185:9 */
 13616  
 13617  // Xutil.h contains the declaration:
 13618  // typedef struct _XRegion *Region;
 13619  
 13620  // 1 if two BOXs overlap.
 13621  //  0 if two BOXs do not overlap.
 13622  //  Remember, x2 and y2 are not in the region
 13623  
 13624  //  update region extents
 13625  
 13626  //   Check to see if there is enough memory in the present region.
 13627  
 13628  // this routine checks to see if the previous rectangle is the same
 13629  //  or subsumes the new rectangle to add.
 13630  
 13631  //  add a rectangle to the given Region
 13632  
 13633  //  add a rectangle to the given Region
 13634  
 13635  // number of points to buffer before sending them off
 13636  // to scanlines() :  Must be an even number
 13637  
 13638  // used to allocate buffers for points and link
 13639  // the buffers together
 13640  type POINTBLOCK = X_POINTBLOCK /* Xregion.h:188:3 */
 13641  
 13642  func _XRenderProcessPictureAttributes(tls *libc.TLS, dpy uintptr, req uintptr, valuemask uint64, attributes uintptr) { /* Picture.c:32:1: */
 13643  	bp := tls.Alloc(256)
 13644  	defer tls.Free(256)
 13645  
 13646  	// var values [32]uint64 at bp, 256
 13647  
 13648  	var value uintptr = bp /* values */
 13649  	var nvalues uint32
 13650  
 13651  	if (valuemask & (uint64(int32(1) << 0))) != 0 {
 13652  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Frepeat)
 13653  	}
 13654  	if (valuemask & (uint64(int32(1) << 1))) != 0 {
 13655  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_map
 13656  	}
 13657  	if (valuemask & (uint64(int32(1) << 2))) != 0 {
 13658  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_x_origin)
 13659  	}
 13660  	if (valuemask & (uint64(int32(1) << 3))) != 0 {
 13661  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_y_origin)
 13662  	}
 13663  	if (valuemask & (uint64(int32(1) << 4))) != 0 {
 13664  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_x_origin)
 13665  	}
 13666  	if (valuemask & (uint64(int32(1) << 5))) != 0 {
 13667  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_y_origin)
 13668  	}
 13669  	if (valuemask & (uint64(int32(1) << 6))) != 0 {
 13670  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_mask
 13671  	}
 13672  	if (valuemask & (uint64(int32(1) << 7))) != 0 {
 13673  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fgraphics_exposures)
 13674  	}
 13675  	if (valuemask & (uint64(int32(1) << 8))) != 0 {
 13676  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fsubwindow_mode)
 13677  	}
 13678  	if (valuemask & (uint64(int32(1) << 9))) != 0 {
 13679  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_edge)
 13680  	}
 13681  	if (valuemask & (uint64(int32(1) << 10))) != 0 {
 13682  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_mode)
 13683  	}
 13684  	if (valuemask & (uint64(int32(1) << 11))) != 0 {
 13685  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fdither
 13686  	}
 13687  	if (valuemask & (uint64(int32(1) << 12))) != 0 {
 13688  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fcomponent_alpha)
 13689  	}
 13690  
 13691  	*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((libc.AssignUint32(&nvalues, (uint32(int64((value - bp /* &values[0] */) / 8))))))
 13692  
 13693  	nvalues <<= 2 // watch out for macros...
 13694  	x11.X_XData32(tls, dpy, bp /* values */, uint32(int64(nvalues)))
 13695  }
 13696  
 13697  func XXRenderCreatePicture(tls *libc.TLS, dpy uintptr, drawable Drawable, format uintptr, valuemask uint64, attributes uintptr) Picture { /* Picture.c:75:1: */
 13698  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13699  	var pid Picture
 13700  	var req uintptr
 13701  
 13702  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13703  		return uint64(0)
 13704  	}
 13705  
 13706  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13707  		(*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)
 13708  	}
 13709  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreatePicture), uint64(Sz_xRenderCreatePictureReq))
 13710  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13711  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreatePicture)
 13712  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 13713  		Fext_data            uintptr
 13714  		Fprivate1            uintptr
 13715  		Ffd                  int32
 13716  		Fprivate2            int32
 13717  		Fproto_major_version int32
 13718  		Fproto_minor_version int32
 13719  		Fvendor              uintptr
 13720  		Fprivate3            XID
 13721  		Fprivate4            XID
 13722  		Fprivate5            XID
 13723  		Fprivate6            int32
 13724  		F__ccgo_pad1         [4]byte
 13725  		Fresource_alloc      uintptr
 13726  		Fbyte_order          int32
 13727  		Fbitmap_unit         int32
 13728  		Fbitmap_pad          int32
 13729  		Fbitmap_bit_order    int32
 13730  		Fnformats            int32
 13731  		F__ccgo_pad2         [4]byte
 13732  		Fpixmap_format       uintptr
 13733  		Fprivate8            int32
 13734  		Frelease             int32
 13735  		Fprivate9            uintptr
 13736  		Fprivate10           uintptr
 13737  		Fqlen                int32
 13738  		F__ccgo_pad3         [4]byte
 13739  		Flast_request_read   uint64
 13740  		Frequest             uint64
 13741  		Fprivate11           XPointer
 13742  		Fprivate12           XPointer
 13743  		Fprivate13           XPointer
 13744  		Fprivate14           XPointer
 13745  		Fmax_request_size    uint32
 13746  		F__ccgo_pad4         [4]byte
 13747  		Fdb                  uintptr
 13748  		Fprivate15           uintptr
 13749  		Fdisplay_name        uintptr
 13750  		Fdefault_screen      int32
 13751  		Fnscreens            int32
 13752  		Fscreens             uintptr
 13753  		Fmotion_buffer       uint64
 13754  		Fprivate16           uint64
 13755  		Fmin_keycode         int32
 13756  		Fmax_keycode         int32
 13757  		Fprivate17           XPointer
 13758  		Fprivate18           XPointer
 13759  		Fprivate19           int32
 13760  		F__ccgo_pad5         [4]byte
 13761  		Fxdefaults           uintptr
 13762  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)))
 13763  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fdrawable = CARD32(drawable)
 13764  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid)
 13765  	if libc.AssignPtrUint32(req+16 /* &.mask */, CARD32(valuemask)) != 0 {
 13766  		_XRenderProcessPictureAttributes(tls, dpy,
 13767  			req,
 13768  			valuemask,
 13769  			attributes)
 13770  	}
 13771  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13772  		(*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)
 13773  	}
 13774  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13775  		(*struct {
 13776  			f func(*libc.TLS, uintptr) int32
 13777  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13778  	}
 13779  	return pid
 13780  }
 13781  
 13782  func XXRenderChangePicture(tls *libc.TLS, dpy uintptr, picture Picture, valuemask uint64, attributes uintptr) { /* Picture.c:104:1: */
 13783  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13784  	var req uintptr
 13785  
 13786  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13787  		return
 13788  	}
 13789  
 13790  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13791  		(*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)
 13792  	}
 13793  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderChangePicture), uint64(Sz_xRenderChangePictureReq))
 13794  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13795  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderChangePicture)
 13796  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 13797  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).Fmask = CARD32(valuemask)
 13798  	_XRenderProcessPictureAttributes(tls, dpy,
 13799  		req,
 13800  		valuemask,
 13801  		attributes)
 13802  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13803  		(*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)
 13804  	}
 13805  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13806  		(*struct {
 13807  			f func(*libc.TLS, uintptr) int32
 13808  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13809  	}
 13810  }
 13811  
 13812  func _XRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, info uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:128:1: */
 13813  	bp := tls.Alloc(8)
 13814  	defer tls.Free(8)
 13815  
 13816  	var req uintptr
 13817  	var len int64
 13818  
 13819  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureClipRectangles), uint64(Sz_xRenderSetPictureClipRectanglesReq))
 13820  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13821  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureClipRectangles)
 13822  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 13823  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FxOrigin = INT16(xOrigin)
 13824  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FyOrigin = INT16(yOrigin)
 13825  	len = ((int64(n)) << 1)
 13826  	if (int64((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 13827  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 13828  			{
 13829  				// var _BRdat CARD64 at bp, 8
 13830  				var _BRlen CARD32 = (CARD32(int32((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) - 1))
 13831  				(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 13832  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 13833  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 13834  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 13835  				x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 13836  			}
 13837  		} else {
 13838  			len = int64(1)
 13839  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 13840  		}
 13841  	} else {
 13842  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 13843  	}
 13844  	len <<= 2
 13845  	{
 13846  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 13847  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rects, uint64(int32(len)))
 13848  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3))))
 13849  		} else {
 13850  			x11.X_XSend(tls, dpy, rects, len)
 13851  		}
 13852  	}
 13853  
 13854  }
 13855  
 13856  func XXRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:152:1: */
 13857  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13858  
 13859  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13860  		return
 13861  	}
 13862  
 13863  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13864  		(*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)
 13865  	}
 13866  	_XRenderSetPictureClipRectangles(tls, dpy, info, picture,
 13867  		xOrigin, yOrigin, rects, n)
 13868  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13869  		(*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)
 13870  	}
 13871  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13872  		(*struct {
 13873  			f func(*libc.TLS, uintptr) int32
 13874  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13875  	}
 13876  }
 13877  
 13878  func XXRenderSetPictureClipRegion(tls *libc.TLS, dpy uintptr, picture Picture, r Region) { /* Picture.c:170:1: */
 13879  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13880  	var i int32
 13881  	var xr uintptr
 13882  	var pr uintptr
 13883  	var pb uintptr
 13884  	var total uint64
 13885  
 13886  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13887  		return
 13888  	}
 13889  
 13890  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13891  		(*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)
 13892  	}
 13893  	total = (uint64((*X_XRegion)(unsafe.Pointer(r)).FnumRects) * uint64(unsafe.Sizeof(XRectangle{})))
 13894  	if libc.AssignUintptr(&xr, x11.X_XAllocTemp(tls, dpy, total)) != 0 {
 13895  		pr = xr
 13896  		pb = (*X_XRegion)(unsafe.Pointer(r)).Frects
 13897  		i = int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects)
 13898  	__1:
 13899  		if !(libc.PreDecInt32(&i, 1) >= 0) {
 13900  			goto __3
 13901  		}
 13902  		{
 13903  			(*XRectangle)(unsafe.Pointer(pr)).Fx = (*BOX)(unsafe.Pointer(pb)).Fx1
 13904  			(*XRectangle)(unsafe.Pointer(pr)).Fy = (*BOX)(unsafe.Pointer(pb)).Fy1
 13905  			(*XRectangle)(unsafe.Pointer(pr)).Fwidth = (uint16(int32((*BOX)(unsafe.Pointer(pb)).Fx2) - int32((*BOX)(unsafe.Pointer(pb)).Fx1)))
 13906  			(*XRectangle)(unsafe.Pointer(pr)).Fheight = (uint16(int32((*BOX)(unsafe.Pointer(pb)).Fy2) - int32((*BOX)(unsafe.Pointer(pb)).Fy1)))
 13907  
 13908  		}
 13909  		goto __2
 13910  	__2:
 13911  		pr += 8
 13912  		pb += 8
 13913  		goto __1
 13914  		goto __3
 13915  	__3:
 13916  	}
 13917  	if (xr != 0) || !(int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) != 0) {
 13918  		_XRenderSetPictureClipRectangles(tls, dpy, info, picture, 0, 0,
 13919  			xr, int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects))
 13920  	}
 13921  	if xr != 0 {
 13922  		x11.X_XFreeTemp(tls, dpy, xr, total)
 13923  	}
 13924  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13925  		(*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)
 13926  	}
 13927  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13928  		(*struct {
 13929  			f func(*libc.TLS, uintptr) int32
 13930  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13931  	}
 13932  }
 13933  
 13934  func XXRenderSetPictureTransform(tls *libc.TLS, dpy uintptr, picture Picture, transform uintptr) { /* Picture.c:201:1: */
 13935  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13936  	var req uintptr
 13937  
 13938  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13939  		return
 13940  	}
 13941  
 13942  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13943  		(*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)
 13944  	}
 13945  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureTransform), uint64(Sz_xRenderSetPictureTransformReq))
 13946  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13947  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureTransform)
 13948  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 13949  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix11 = *(*XFixed)(unsafe.Pointer((transform /* &.matrix */)))
 13950  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix12 = *(*XFixed)(unsafe.Pointer((transform /* &.matrix */) + 1*4))
 13951  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix13 = *(*XFixed)(unsafe.Pointer((transform /* &.matrix */) + 2*4))
 13952  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix21 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12)))
 13953  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix22 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12) + 1*4))
 13954  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix23 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12) + 2*4))
 13955  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix31 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12)))
 13956  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix32 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12) + 1*4))
 13957  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix33 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12) + 2*4))
 13958  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13959  		(*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)
 13960  	}
 13961  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13962  		(*struct {
 13963  			f func(*libc.TLS, uintptr) int32
 13964  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13965  	}
 13966  
 13967  }
 13968  
 13969  func XXRenderFreePicture(tls *libc.TLS, dpy uintptr, picture Picture) { /* Picture.c:229:1: */
 13970  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13971  	var req uintptr
 13972  
 13973  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 13974  		return
 13975  	}
 13976  
 13977  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13978  		(*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)
 13979  	}
 13980  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreePicture), uint64(Sz_xRenderFreePictureReq))
 13981  	(*XRenderFreePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13982  	(*XRenderFreePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreePicture)
 13983  	(*XRenderFreePictureReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 13984  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13985  		(*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)
 13986  	}
 13987  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13988  		(*struct {
 13989  			f func(*libc.TLS, uintptr) int32
 13990  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13991  	}
 13992  }
 13993  
 13994  func XXRenderCreateSolidFill(tls *libc.TLS, dpy uintptr, color uintptr) Picture { /* Picture.c:246:9: */
 13995  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13996  	var pid Picture
 13997  	var req uintptr
 13998  
 13999  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14000  		return uint64(0)
 14001  	}
 14002  
 14003  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14004  		(*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)
 14005  	}
 14006  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateSolidFill), uint64(Sz_xRenderCreateSolidFillReq))
 14007  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14008  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateSolidFill)
 14009  
 14010  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14011  		Fext_data            uintptr
 14012  		Fprivate1            uintptr
 14013  		Ffd                  int32
 14014  		Fprivate2            int32
 14015  		Fproto_major_version int32
 14016  		Fproto_minor_version int32
 14017  		Fvendor              uintptr
 14018  		Fprivate3            XID
 14019  		Fprivate4            XID
 14020  		Fprivate5            XID
 14021  		Fprivate6            int32
 14022  		F__ccgo_pad1         [4]byte
 14023  		Fresource_alloc      uintptr
 14024  		Fbyte_order          int32
 14025  		Fbitmap_unit         int32
 14026  		Fbitmap_pad          int32
 14027  		Fbitmap_bit_order    int32
 14028  		Fnformats            int32
 14029  		F__ccgo_pad2         [4]byte
 14030  		Fpixmap_format       uintptr
 14031  		Fprivate8            int32
 14032  		Frelease             int32
 14033  		Fprivate9            uintptr
 14034  		Fprivate10           uintptr
 14035  		Fqlen                int32
 14036  		F__ccgo_pad3         [4]byte
 14037  		Flast_request_read   uint64
 14038  		Frequest             uint64
 14039  		Fprivate11           XPointer
 14040  		Fprivate12           XPointer
 14041  		Fprivate13           XPointer
 14042  		Fprivate14           XPointer
 14043  		Fmax_request_size    uint32
 14044  		F__ccgo_pad4         [4]byte
 14045  		Fdb                  uintptr
 14046  		Fprivate15           uintptr
 14047  		Fdisplay_name        uintptr
 14048  		Fdefault_screen      int32
 14049  		Fnscreens            int32
 14050  		Fscreens             uintptr
 14051  		Fmotion_buffer       uint64
 14052  		Fprivate16           uint64
 14053  		Fmin_keycode         int32
 14054  		Fmax_keycode         int32
 14055  		Fprivate17           XPointer
 14056  		Fprivate18           XPointer
 14057  		Fprivate19           int32
 14058  		F__ccgo_pad5         [4]byte
 14059  		Fxdefaults           uintptr
 14060  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)))
 14061  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred
 14062  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen
 14063  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue
 14064  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha
 14065  
 14066  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14067  		(*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)
 14068  	}
 14069  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14070  		(*struct {
 14071  			f func(*libc.TLS, uintptr) int32
 14072  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14073  	}
 14074  	return pid
 14075  }
 14076  
 14077  func XXRenderCreateLinearGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:271:9: */
 14078  	bp := tls.Alloc(8)
 14079  	defer tls.Free(8)
 14080  
 14081  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14082  	var pid Picture
 14083  	var req uintptr
 14084  	var len int64
 14085  
 14086  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14087  		return uint64(0)
 14088  	}
 14089  
 14090  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14091  		(*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)
 14092  	}
 14093  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateLinearGradient), uint64(Sz_xRenderCreateLinearGradientReq))
 14094  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14095  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateLinearGradient)
 14096  
 14097  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14098  		Fext_data            uintptr
 14099  		Fprivate1            uintptr
 14100  		Ffd                  int32
 14101  		Fprivate2            int32
 14102  		Fproto_major_version int32
 14103  		Fproto_minor_version int32
 14104  		Fvendor              uintptr
 14105  		Fprivate3            XID
 14106  		Fprivate4            XID
 14107  		Fprivate5            XID
 14108  		Fprivate6            int32
 14109  		F__ccgo_pad1         [4]byte
 14110  		Fresource_alloc      uintptr
 14111  		Fbyte_order          int32
 14112  		Fbitmap_unit         int32
 14113  		Fbitmap_pad          int32
 14114  		Fbitmap_bit_order    int32
 14115  		Fnformats            int32
 14116  		F__ccgo_pad2         [4]byte
 14117  		Fpixmap_format       uintptr
 14118  		Fprivate8            int32
 14119  		Frelease             int32
 14120  		Fprivate9            uintptr
 14121  		Fprivate10           uintptr
 14122  		Fqlen                int32
 14123  		F__ccgo_pad3         [4]byte
 14124  		Flast_request_read   uint64
 14125  		Frequest             uint64
 14126  		Fprivate11           XPointer
 14127  		Fprivate12           XPointer
 14128  		Fprivate13           XPointer
 14129  		Fprivate14           XPointer
 14130  		Fmax_request_size    uint32
 14131  		F__ccgo_pad4         [4]byte
 14132  		Fdb                  uintptr
 14133  		Fprivate15           uintptr
 14134  		Fdisplay_name        uintptr
 14135  		Fdefault_screen      int32
 14136  		Fnscreens            int32
 14137  		Fscreens             uintptr
 14138  		Fmotion_buffer       uint64
 14139  		Fprivate16           uint64
 14140  		Fmin_keycode         int32
 14141  		Fmax_keycode         int32
 14142  		Fprivate17           XPointer
 14143  		Fprivate18           XPointer
 14144  		Fprivate19           int32
 14145  		F__ccgo_pad5         [4]byte
 14146  		Fxdefaults           uintptr
 14147  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)))
 14148  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fx = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fx
 14149  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fy = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fy
 14150  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fx = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fx
 14151  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fy = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fy
 14152  
 14153  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops)
 14154  	len = (int64(nStops) * int64(3))
 14155  	if (int64((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 14156  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14157  			{
 14158  				// var _BRdat CARD64 at bp, 8
 14159  				var _BRlen CARD32 = (CARD32(int32((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) - 1))
 14160  				(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14161  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 14162  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 14163  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 14164  				x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 14165  			}
 14166  		} else {
 14167  			len = int64(6)
 14168  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14169  		}
 14170  	} else {
 14171  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14172  	}
 14173  	{
 14174  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14175  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64((nStops * 4)))
 14176  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3)))
 14177  		} else {
 14178  			x11.X_XSend(tls, dpy, stops, (int64(nStops * 4)))
 14179  		}
 14180  	}
 14181  
 14182  	{
 14183  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14184  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64((nStops * 8)))
 14185  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3)))
 14186  		} else {
 14187  			x11.X_XSend(tls, dpy, colors, (int64(nStops * 8)))
 14188  		}
 14189  	}
 14190  
 14191  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14192  		(*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)
 14193  	}
 14194  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14195  		(*struct {
 14196  			f func(*libc.TLS, uintptr) int32
 14197  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14198  	}
 14199  	return pid
 14200  }
 14201  
 14202  func XXRenderCreateRadialGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:305:9: */
 14203  	bp := tls.Alloc(8)
 14204  	defer tls.Free(8)
 14205  
 14206  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14207  	var pid Picture
 14208  	var req uintptr
 14209  	var len int64
 14210  
 14211  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14212  		return uint64(0)
 14213  	}
 14214  
 14215  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14216  		(*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)
 14217  	}
 14218  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateRadialGradient), uint64(Sz_xRenderCreateRadialGradientReq))
 14219  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14220  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateRadialGradient)
 14221  
 14222  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14223  		Fext_data            uintptr
 14224  		Fprivate1            uintptr
 14225  		Ffd                  int32
 14226  		Fprivate2            int32
 14227  		Fproto_major_version int32
 14228  		Fproto_minor_version int32
 14229  		Fvendor              uintptr
 14230  		Fprivate3            XID
 14231  		Fprivate4            XID
 14232  		Fprivate5            XID
 14233  		Fprivate6            int32
 14234  		F__ccgo_pad1         [4]byte
 14235  		Fresource_alloc      uintptr
 14236  		Fbyte_order          int32
 14237  		Fbitmap_unit         int32
 14238  		Fbitmap_pad          int32
 14239  		Fbitmap_bit_order    int32
 14240  		Fnformats            int32
 14241  		F__ccgo_pad2         [4]byte
 14242  		Fpixmap_format       uintptr
 14243  		Fprivate8            int32
 14244  		Frelease             int32
 14245  		Fprivate9            uintptr
 14246  		Fprivate10           uintptr
 14247  		Fqlen                int32
 14248  		F__ccgo_pad3         [4]byte
 14249  		Flast_request_read   uint64
 14250  		Frequest             uint64
 14251  		Fprivate11           XPointer
 14252  		Fprivate12           XPointer
 14253  		Fprivate13           XPointer
 14254  		Fprivate14           XPointer
 14255  		Fmax_request_size    uint32
 14256  		F__ccgo_pad4         [4]byte
 14257  		Fdb                  uintptr
 14258  		Fprivate15           uintptr
 14259  		Fdisplay_name        uintptr
 14260  		Fdefault_screen      int32
 14261  		Fnscreens            int32
 14262  		Fscreens             uintptr
 14263  		Fmotion_buffer       uint64
 14264  		Fprivate16           uint64
 14265  		Fmin_keycode         int32
 14266  		Fmax_keycode         int32
 14267  		Fprivate17           XPointer
 14268  		Fprivate18           XPointer
 14269  		Fprivate19           int32
 14270  		F__ccgo_pad5         [4]byte
 14271  		Fxdefaults           uintptr
 14272  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)))
 14273  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fx = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fx
 14274  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fy = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fy
 14275  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fx = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fx
 14276  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fy = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fy
 14277  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner_radius = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fradius
 14278  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter_radius = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fradius
 14279  
 14280  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops)
 14281  	len = (int64(nStops) * int64(3))
 14282  	if (int64((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 14283  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14284  			{
 14285  				// var _BRdat CARD64 at bp, 8
 14286  				var _BRlen CARD32 = (CARD32(int32((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) - 1))
 14287  				(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14288  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 14289  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 14290  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 14291  				x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 14292  			}
 14293  		} else {
 14294  			len = int64(6)
 14295  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14296  		}
 14297  	} else {
 14298  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14299  	}
 14300  	{
 14301  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14302  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64((nStops * 4)))
 14303  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3)))
 14304  		} else {
 14305  			x11.X_XSend(tls, dpy, stops, (int64(nStops * 4)))
 14306  		}
 14307  	}
 14308  
 14309  	{
 14310  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14311  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64((nStops * 8)))
 14312  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3)))
 14313  		} else {
 14314  			x11.X_XSend(tls, dpy, colors, (int64(nStops * 8)))
 14315  		}
 14316  	}
 14317  
 14318  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14319  		(*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)
 14320  	}
 14321  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14322  		(*struct {
 14323  			f func(*libc.TLS, uintptr) int32
 14324  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14325  	}
 14326  	return pid
 14327  }
 14328  
 14329  func XXRenderCreateConicalGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:341:9: */
 14330  	bp := tls.Alloc(8)
 14331  	defer tls.Free(8)
 14332  
 14333  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14334  	var pid Picture
 14335  	var req uintptr
 14336  	var len int64
 14337  
 14338  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14339  		return uint64(0)
 14340  	}
 14341  
 14342  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14343  		(*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)
 14344  	}
 14345  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateConicalGradient), uint64(Sz_xRenderCreateConicalGradientReq))
 14346  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14347  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateConicalGradient)
 14348  
 14349  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14350  		Fext_data            uintptr
 14351  		Fprivate1            uintptr
 14352  		Ffd                  int32
 14353  		Fprivate2            int32
 14354  		Fproto_major_version int32
 14355  		Fproto_minor_version int32
 14356  		Fvendor              uintptr
 14357  		Fprivate3            XID
 14358  		Fprivate4            XID
 14359  		Fprivate5            XID
 14360  		Fprivate6            int32
 14361  		F__ccgo_pad1         [4]byte
 14362  		Fresource_alloc      uintptr
 14363  		Fbyte_order          int32
 14364  		Fbitmap_unit         int32
 14365  		Fbitmap_pad          int32
 14366  		Fbitmap_bit_order    int32
 14367  		Fnformats            int32
 14368  		F__ccgo_pad2         [4]byte
 14369  		Fpixmap_format       uintptr
 14370  		Fprivate8            int32
 14371  		Frelease             int32
 14372  		Fprivate9            uintptr
 14373  		Fprivate10           uintptr
 14374  		Fqlen                int32
 14375  		F__ccgo_pad3         [4]byte
 14376  		Flast_request_read   uint64
 14377  		Frequest             uint64
 14378  		Fprivate11           XPointer
 14379  		Fprivate12           XPointer
 14380  		Fprivate13           XPointer
 14381  		Fprivate14           XPointer
 14382  		Fmax_request_size    uint32
 14383  		F__ccgo_pad4         [4]byte
 14384  		Fdb                  uintptr
 14385  		Fprivate15           uintptr
 14386  		Fdisplay_name        uintptr
 14387  		Fdefault_screen      int32
 14388  		Fnscreens            int32
 14389  		Fscreens             uintptr
 14390  		Fmotion_buffer       uint64
 14391  		Fprivate16           uint64
 14392  		Fmin_keycode         int32
 14393  		Fmax_keycode         int32
 14394  		Fprivate17           XPointer
 14395  		Fprivate18           XPointer
 14396  		Fprivate19           int32
 14397  		F__ccgo_pad5         [4]byte
 14398  		Fxdefaults           uintptr
 14399  	})(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)))
 14400  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fx = (*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fx
 14401  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fy = (*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fy
 14402  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fangle = (*XConicalGradient)(unsafe.Pointer(gradient)).Fangle
 14403  
 14404  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops)
 14405  	len = (int64(nStops) * int64(3))
 14406  	if (int64((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 14407  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14408  			{
 14409  				// var _BRdat CARD64 at bp, 8
 14410  				var _BRlen CARD32 = (CARD32(int32((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) - 1))
 14411  				(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14412  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 14413  				libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 14414  				*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 14415  				x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 14416  			}
 14417  		} else {
 14418  			len = int64(6)
 14419  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14420  		}
 14421  	} else {
 14422  		*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14423  	}
 14424  	{
 14425  		if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14426  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64((nStops * 4)))
 14427  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3)))
 14428  		} else {
 14429  			x11.X_XSend(tls, dpy, stops, (int64(nStops * 4)))
 14430  		}
 14431  	}
 14432  
 14433  	{
 14434  		if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax {
 14435  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64((nStops * 8)))
 14436  			*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3)))
 14437  		} else {
 14438  			x11.X_XSend(tls, dpy, colors, (int64(nStops * 8)))
 14439  		}
 14440  	}
 14441  
 14442  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14443  		(*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)
 14444  	}
 14445  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14446  		(*struct {
 14447  			f func(*libc.TLS, uintptr) int32
 14448  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14449  	}
 14450  	return pid
 14451  }
 14452  
 14453  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14454  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14455  // except on WORD64 machines where it is 64 bits.
 14456  
 14457  type X_Edge = struct {
 14458  	Fedge      XLineFixed1
 14459  	Fcurrent_x XFixed
 14460  	FclockWise int32
 14461  	Fnext      uintptr
 14462  	Fprev      uintptr
 14463  } /* Poly.c:29:9 */
 14464  
 14465  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14466  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14467  // except on WORD64 machines where it is 64 bits.
 14468  
 14469  type Edge = X_Edge /* Poly.c:29:22 */
 14470  
 14471  func sCompareEdge(tls *libc.TLS, o1 uintptr, o2 uintptr) int32 { /* Poly.c:39:1: */
 14472  	var e1 uintptr = o1
 14473  	var e2 uintptr = o2
 14474  
 14475  	return ((*Edge)(unsafe.Pointer(e1)).Fedge.Fp1.Fy - (*Edge)(unsafe.Pointer(e2)).Fedge.Fp1.Fy)
 14476  }
 14477  
 14478  func sXRenderComputeX(tls *libc.TLS, line uintptr, y XFixed) XFixed { /* Poly.c:47:1: */
 14479  	var dx XFixed = ((*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fx - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx)
 14480  	var ex float64 = ((float64(y - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy)) * float64(dx))
 14481  	var dy XFixed = ((*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fy - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy)
 14482  
 14483  	return ((*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx + (libc.Int32FromFloat64(ex / float64(dy))))
 14484  }
 14485  
 14486  func sXRenderComputeInverseSlope(tls *libc.TLS, l uintptr) float64 { /* Poly.c:57:1: */
 14487  	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)))
 14488  }
 14489  
 14490  func sXRenderComputeXIntercept(tls *libc.TLS, l uintptr, inverse_slope float64) float64 { /* Poly.c:64:1: */
 14491  	return (((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx)) / float64(65536)) - (inverse_slope * ((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy)) / float64(65536))))
 14492  }
 14493  
 14494  func sXRenderComputeIntersect(tls *libc.TLS, l1 uintptr, l2 uintptr) XFixed { /* Poly.c:70:1: */
 14495  	// x = m1y + b1
 14496  	// x = m2y + b2
 14497  	// m1y + b1 = m2y + b2
 14498  	// y * (m1 - m2) = b2 - b1
 14499  	// y = (b2 - b1) / (m1 - m2)
 14500  	var m1 float64 = sXRenderComputeInverseSlope(tls, l1)
 14501  	var b1 float64 = sXRenderComputeXIntercept(tls, l1, m1)
 14502  	var m2 float64 = sXRenderComputeInverseSlope(tls, l2)
 14503  	var b2 float64 = sXRenderComputeXIntercept(tls, l2, m2)
 14504  
 14505  	return (libc.Int32FromFloat64(((b2 - b1) / (m1 - m2)) * float64(65536)))
 14506  }
 14507  
 14508  func sXRenderComputeTrapezoids(tls *libc.TLS, edges uintptr, nedges int32, winding int32, traps uintptr) int32 { /* Poly.c:88:1: */
 14509  	var ntraps int32 = 0
 14510  	var inactive int32
 14511  	var active uintptr
 14512  	var e uintptr
 14513  	var en uintptr
 14514  	var next uintptr
 14515  	var y XFixed
 14516  	var next_y XFixed
 14517  	var intersect XFixed
 14518  
 14519  	libc.Xqsort(tls, edges, uint64(nedges), uint64(unsafe.Sizeof(Edge{})), *(*uintptr)(unsafe.Pointer(&struct {
 14520  		f func(*libc.TLS, uintptr, uintptr) int32
 14521  	}{sCompareEdge})))
 14522  
 14523  	y = (*Edge)(unsafe.Pointer(edges)).Fedge.Fp1.Fy
 14524  	active = uintptr(0)
 14525  	inactive = 0
 14526  	for (active != 0) || (inactive < nedges) {
 14527  		// insert new active edges into list
 14528  		for inactive < nedges {
 14529  			e = (edges + uintptr(inactive)*40)
 14530  			if (*Edge)(unsafe.Pointer(e)).Fedge.Fp1.Fy > y {
 14531  				break
 14532  			}
 14533  			// move this edge into the active list
 14534  			inactive++
 14535  			(*Edge)(unsafe.Pointer(e)).Fnext = active
 14536  			(*Edge)(unsafe.Pointer(e)).Fprev = uintptr(0)
 14537  			if active != 0 {
 14538  				(*Edge)(unsafe.Pointer(active)).Fprev = e
 14539  			}
 14540  			active = e
 14541  		}
 14542  		// compute x coordinates along this group
 14543  		for e = active; e != 0; e = (*Edge)(unsafe.Pointer(e)).Fnext {
 14544  			(*Edge)(unsafe.Pointer(e)).Fcurrent_x = sXRenderComputeX(tls, (e /* &.edge */), y)
 14545  		}
 14546  
 14547  		// sort active list
 14548  		for e = active; e != 0; e = next {
 14549  			next = (*Edge)(unsafe.Pointer(e)).Fnext
 14550  			// Find one later in the list that belongs before the
 14551  			// current one
 14552  			for en = next; en != 0; en = (*Edge)(unsafe.Pointer(en)).Fnext {
 14553  				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)) {
 14554  					// insert en before e
 14555  					//
 14556  					// extract en
 14557  					(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(en)).Fnext
 14558  					if (*Edge)(unsafe.Pointer(en)).Fnext != 0 {
 14559  						(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(en)).Fprev
 14560  					}
 14561  					// insert en
 14562  					if (*Edge)(unsafe.Pointer(e)).Fprev != 0 {
 14563  						(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = en
 14564  					} else {
 14565  						active = en
 14566  					}
 14567  					(*Edge)(unsafe.Pointer(en)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev
 14568  					(*Edge)(unsafe.Pointer(e)).Fprev = en
 14569  					(*Edge)(unsafe.Pointer(en)).Fnext = e
 14570  					// start over at en
 14571  					next = en
 14572  					break
 14573  				}
 14574  			}
 14575  		}
 14576  		// find next inflection point
 14577  		next_y = (*Edge)(unsafe.Pointer(active)).Fedge.Fp2.Fy
 14578  		for e = active; e != 0; e = en {
 14579  			if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy < next_y {
 14580  				next_y = (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy
 14581  			}
 14582  			en = (*Edge)(unsafe.Pointer(e)).Fnext
 14583  			// check intersect
 14584  			if (en != 0) && ((*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx > (*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx) {
 14585  				intersect = sXRenderComputeIntersect(tls, (e /* &.edge */), ((*Edge)(unsafe.Pointer(e)).Fnext /* &.edge */))
 14586  				// make sure this point is below the actual intersection
 14587  				intersect = (intersect + 1)
 14588  				if intersect < next_y {
 14589  					next_y = intersect
 14590  				}
 14591  			}
 14592  		}
 14593  		// check next inactive point
 14594  		if (inactive < nedges) && ((*Edge)(unsafe.Pointer(edges+uintptr(inactive)*40)).Fedge.Fp1.Fy < next_y) {
 14595  			next_y = (*Edge)(unsafe.Pointer(edges + uintptr(inactive)*40)).Fedge.Fp1.Fy
 14596  		}
 14597  
 14598  		// walk the list generating trapezoids
 14599  		for e = active; (e != 0) && (libc.AssignUintptr(&en, (*Edge)(unsafe.Pointer(e)).Fnext) != 0); e = (*Edge)(unsafe.Pointer(en)).Fnext {
 14600  			(*XTrapezoid1)(unsafe.Pointer(traps)).Ftop = y
 14601  			(*XTrapezoid1)(unsafe.Pointer(traps)).Fbottom = next_y
 14602  			(*XTrapezoid1)(unsafe.Pointer(traps)).Fleft = (*Edge)(unsafe.Pointer(e)).Fedge
 14603  			(*XTrapezoid1)(unsafe.Pointer(traps)).Fright = (*Edge)(unsafe.Pointer(en)).Fedge
 14604  			traps += 40
 14605  			ntraps++
 14606  		}
 14607  
 14608  		y = next_y
 14609  
 14610  		// delete inactive edges from list
 14611  		for e = active; e != 0; e = next {
 14612  			next = (*Edge)(unsafe.Pointer(e)).Fnext
 14613  			if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy <= y {
 14614  				if (*Edge)(unsafe.Pointer(e)).Fprev != 0 {
 14615  					(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(e)).Fnext
 14616  				} else {
 14617  					active = (*Edge)(unsafe.Pointer(e)).Fnext
 14618  				}
 14619  				if (*Edge)(unsafe.Pointer(e)).Fnext != 0 {
 14620  					(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev
 14621  				}
 14622  			}
 14623  		}
 14624  	}
 14625  	return ntraps
 14626  }
 14627  
 14628  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: */
 14629  	var edges uintptr
 14630  	var traps uintptr
 14631  	var i int32
 14632  	var nedges int32
 14633  	var ntraps int32
 14634  	var x XFixed
 14635  	var y XFixed
 14636  	var prevx XFixed = 0
 14637  	var prevy XFixed = 0
 14638  	var firstx XFixed = 0
 14639  	var firsty XFixed = 0
 14640  	var top XFixed = 0
 14641  	var bottom XFixed = 0 // GCCism
 14642  
 14643  	edges = libc.Xmalloc(tls, func() uint64 {
 14644  		if ((uint64(npoints) * uint64(unsafe.Sizeof(Edge{}))) + ((uint64(npoints * npoints)) * uint64(unsafe.Sizeof(XTrapezoid1{})))) == uint64(0) {
 14645  			return uint64(1)
 14646  		}
 14647  		return ((uint64(npoints) * uint64(unsafe.Sizeof(Edge{}))) + ((uint64(npoints * npoints)) * uint64(unsafe.Sizeof(XTrapezoid1{}))))
 14648  	}())
 14649  	if !(edges != 0) {
 14650  		return
 14651  	}
 14652  	traps = (edges + uintptr(npoints)*40)
 14653  	nedges = 0
 14654  	for i = 0; i <= npoints; i++ {
 14655  		if i == npoints {
 14656  			x = firstx
 14657  			y = firsty
 14658  		} else {
 14659  			x = (libc.Int32FromFloat64(((*XPointDouble)(unsafe.Pointer(fpoints + uintptr(i)*16)).Fx) * float64(65536)))
 14660  			y = (libc.Int32FromFloat64(((*XPointDouble)(unsafe.Pointer(fpoints + uintptr(i)*16)).Fy) * float64(65536)))
 14661  		}
 14662  		if i != 0 {
 14663  			if y < top {
 14664  				top = y
 14665  			} else if y > bottom {
 14666  				bottom = y
 14667  			}
 14668  			if prevy < y {
 14669  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fx = prevx
 14670  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fy = prevy
 14671  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fx = x
 14672  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fy = y
 14673  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).FclockWise = True
 14674  				nedges++
 14675  			} else if prevy > y {
 14676  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fx = x
 14677  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fy = y
 14678  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fx = prevx
 14679  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fy = prevy
 14680  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).FclockWise = False
 14681  				nedges++
 14682  			}
 14683  			// drop horizontal edges
 14684  		} else {
 14685  			top = y
 14686  			bottom = y
 14687  			firstx = x
 14688  			firsty = y
 14689  		}
 14690  		prevx = x
 14691  		prevy = y
 14692  	}
 14693  	ntraps = sXRenderComputeTrapezoids(tls, edges, nedges, winding, traps)
 14694  	// XXX adjust xSrc/xDst
 14695  	XXRenderCompositeTrapezoids(tls, dpy, op, src, dst, maskFormat, xSrc, ySrc, traps, ntraps)
 14696  	libc.Xfree(tls, edges)
 14697  }
 14698  
 14699  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14700  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14701  // except on WORD64 machines where it is 64 bits.
 14702  
 14703  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: */
 14704  	bp := tls.Alloc(8)
 14705  	defer tls.Free(8)
 14706  
 14707  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14708  	var req uintptr
 14709  	var n int32
 14710  	var len int64
 14711  	var max_req uint64
 14712  	if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14713  		max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size
 14714  	} else {
 14715  		max_req = uint64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size)
 14716  	}
 14717  
 14718  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14719  		return
 14720  	}
 14721  
 14722  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14723  		(*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)
 14724  	}
 14725  	for ntrap != 0 {
 14726  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTrapezoids), uint64(Sz_xRenderTrapezoidsReq))
 14727  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14728  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTrapezoids)
 14729  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 14730  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 14731  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 14732  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 14733  			if maskFormat != 0 {
 14734  				return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 14735  			}
 14736  			return uint32(0)
 14737  		}()
 14738  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 14739  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 14740  		n = ntrap
 14741  		len = ((int64(n)) * (int64(int32(Sz_xTrapezoid) >> 2)))
 14742  		if uint64(len) > (max_req - uint64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) {
 14743  			n = (int32((max_req - uint64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) / (uint64(int32(Sz_xTrapezoid) >> 2))))
 14744  			len = ((int64(n)) * (int64(int32(Sz_xTrapezoid) >> 2)))
 14745  		}
 14746  		if (int64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 14747  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14748  				{
 14749  					// var _BRdat CARD64 at bp, 8
 14750  					var _BRlen CARD32 = (CARD32(int32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) - 1))
 14751  					(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14752  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 14753  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 14754  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 14755  					x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 14756  				}
 14757  			} else {
 14758  				len = len
 14759  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14760  			}
 14761  		} else {
 14762  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14763  		}
 14764  		len <<= 2
 14765  		{
 14766  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14767  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint64(int32(len)))
 14768  				*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3))))
 14769  			} else {
 14770  				x11.X_XSend(tls, dpy, traps, len)
 14771  			}
 14772  		}
 14773  
 14774  		ntrap = ntrap - (n)
 14775  		traps += 40 * (uintptr(n))
 14776  	}
 14777  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14778  		(*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)
 14779  	}
 14780  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14781  		(*struct {
 14782  			f func(*libc.TLS, uintptr) int32
 14783  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14784  	}
 14785  }
 14786  
 14787  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14788  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14789  // except on WORD64 machines where it is 64 bits.
 14790  
 14791  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: */
 14792  	bp := tls.Alloc(8)
 14793  	defer tls.Free(8)
 14794  
 14795  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14796  	var req uintptr
 14797  	var n int32
 14798  	var len int64
 14799  
 14800  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14801  		return
 14802  	}
 14803  
 14804  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14805  		(*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)
 14806  	}
 14807  	for ntriangle != 0 {
 14808  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriangles), uint64(Sz_xRenderTrianglesReq))
 14809  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14810  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriangles)
 14811  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 14812  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 14813  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 14814  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 14815  			if maskFormat != 0 {
 14816  				return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 14817  			}
 14818  			return uint32(0)
 14819  		}()
 14820  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 14821  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 14822  		n = ntriangle
 14823  		len = ((int64(n)) * (int64(int32(Sz_xTriangle) >> 2)))
 14824  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (len > (int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)))) {
 14825  			n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xTriangle) >> 2))))
 14826  			len = ((int64(n)) * (int64(int32(Sz_xTriangle) >> 2)))
 14827  		}
 14828  		if (int64((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 14829  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14830  				{
 14831  					// var _BRdat CARD64 at bp, 8
 14832  					var _BRlen CARD32 = (CARD32(int32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) - 1))
 14833  					(*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14834  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 14835  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 14836  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 14837  					x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 14838  				}
 14839  			} else {
 14840  				len = len
 14841  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14842  			}
 14843  		} else {
 14844  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14845  		}
 14846  		len <<= 2
 14847  		{
 14848  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14849  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, triangles, uint64(int32(len)))
 14850  				*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3))))
 14851  			} else {
 14852  				x11.X_XSend(tls, dpy, triangles, len)
 14853  			}
 14854  		}
 14855  
 14856  		ntriangle = ntriangle - (n)
 14857  		triangles += 24 * (uintptr(n))
 14858  	}
 14859  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14860  		(*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)
 14861  	}
 14862  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14863  		(*struct {
 14864  			f func(*libc.TLS, uintptr) int32
 14865  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14866  	}
 14867  }
 14868  
 14869  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: */
 14870  	bp := tls.Alloc(8)
 14871  	defer tls.Free(8)
 14872  
 14873  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14874  	var req uintptr
 14875  	var n int32
 14876  	var len int64
 14877  
 14878  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14879  		return
 14880  	}
 14881  
 14882  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14883  		(*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)
 14884  	}
 14885  	for npoint > 2 {
 14886  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriStrip), uint64(Sz_xRenderTriStripReq))
 14887  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14888  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriStrip)
 14889  		(*XRenderTriStripReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 14890  		(*XRenderTriStripReq)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 14891  		(*XRenderTriStripReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 14892  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 14893  			if maskFormat != 0 {
 14894  				return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 14895  			}
 14896  			return uint32(0)
 14897  		}()
 14898  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 14899  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 14900  		n = npoint
 14901  		len = ((int64(n)) * (int64(int32(Sz_xPointFixed) >> 2)))
 14902  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (len > (int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)))) {
 14903  			n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xPointFixed) >> 2))))
 14904  			len = ((int64(n)) * (int64(int32(Sz_xPointFixed) >> 2)))
 14905  		}
 14906  		if (int64((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 14907  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14908  				{
 14909  					// var _BRdat CARD64 at bp, 8
 14910  					var _BRlen CARD32 = (CARD32(int32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) - 1))
 14911  					(*XRenderTriStripReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14912  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 14913  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 14914  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 14915  					x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 14916  				}
 14917  			} else {
 14918  				len = len
 14919  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14920  			}
 14921  		} else {
 14922  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 14923  		}
 14924  		len <<= 2
 14925  		{
 14926  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14927  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint64(int32(len)))
 14928  				*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3))))
 14929  			} else {
 14930  				x11.X_XSend(tls, dpy, points, len)
 14931  			}
 14932  		}
 14933  
 14934  		npoint = npoint - (n - 2)
 14935  		points += 8 * (uintptr(n - 2))
 14936  	}
 14937  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14938  		(*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)
 14939  	}
 14940  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14941  		(*struct {
 14942  			f func(*libc.TLS, uintptr) int32
 14943  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14944  	}
 14945  }
 14946  
 14947  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: */
 14948  	bp := tls.Alloc(8)
 14949  	defer tls.Free(8)
 14950  
 14951  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14952  	var first uintptr = points
 14953  	var p uintptr
 14954  	var req uintptr
 14955  	var n int32
 14956  	var len int64
 14957  
 14958  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 14959  		return
 14960  	}
 14961  
 14962  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14963  		(*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)
 14964  	}
 14965  	points += 8
 14966  	npoint--
 14967  	for npoint > 1 {
 14968  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriFan), (uint64(Sz_xRenderTriFanReq + Sz_xPointFixed)))
 14969  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14970  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriFan)
 14971  		(*XRenderTriFanReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 14972  		(*XRenderTriFanReq)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 14973  		(*XRenderTriFanReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 14974  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 14975  			if maskFormat != 0 {
 14976  				return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 14977  			}
 14978  			return uint32(0)
 14979  		}()
 14980  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 14981  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 14982  		p = (req + uintptr(1)*24)
 14983  		(*XPointFixed)(unsafe.Pointer(p)).Fx = (*XPointFixed1)(unsafe.Pointer(first)).Fx
 14984  		(*XPointFixed)(unsafe.Pointer(p)).Fy = (*XPointFixed1)(unsafe.Pointer(first)).Fy
 14985  		n = npoint
 14986  		len = ((int64(n)) * (int64(int32(Sz_xPointFixed) >> 2)))
 14987  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (len > (int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)))) {
 14988  			n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xPointFixed) >> 2))))
 14989  			len = ((int64(n)) * (int64(int32(Sz_xPointFixed) >> 2)))
 14990  		}
 14991  		if (int64((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) {
 14992  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14993  				{
 14994  					// var _BRdat CARD64 at bp, 8
 14995  					var _BRlen CARD32 = (CARD32(int32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) - 1))
 14996  					(*XRenderTriFanReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14997  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)))
 14998  					libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2)))
 14999  					*(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2)))
 15000  					x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4))
 15001  				}
 15002  			} else {
 15003  				len = len
 15004  				*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 15005  			}
 15006  		} else {
 15007  			*(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len))
 15008  		}
 15009  		len <<= 2
 15010  		{
 15011  			if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 15012  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint64(int32(len)))
 15013  				*(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3))))
 15014  			} else {
 15015  				x11.X_XSend(tls, dpy, points, len)
 15016  			}
 15017  		}
 15018  
 15019  		npoint = npoint - (n - 1)
 15020  		points += 8 * (uintptr(n - 1))
 15021  	}
 15022  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15023  		(*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)
 15024  	}
 15025  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 15026  		(*struct {
 15027  			f func(*libc.TLS, uintptr) int32
 15028  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 15029  	}
 15030  }
 15031  
 15032  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 15033  // matters on alpha.  Note that this macro assumes that int is 32 bits
 15034  // except on WORD64 machines where it is 64 bits.
 15035  
 15036  // Copyright (C) 1992-2020 Free Software Foundation, Inc.
 15037  //
 15038  // This file is part of GCC.
 15039  //
 15040  // GCC is free software; you can redistribute it and/or modify it under
 15041  // the terms of the GNU General Public License as published by the Free
 15042  // Software Foundation; either version 3, or (at your option) any later
 15043  // version.
 15044  //
 15045  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 15046  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 15047  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 15048  // for more details.
 15049  //
 15050  // Under Section 7 of GPL version 3, you are granted additional
 15051  // permissions described in the GCC Runtime Library Exception, version
 15052  // 3.1, as published by the Free Software Foundation.
 15053  //
 15054  // You should have received a copy of the GNU General Public License and
 15055  // a copy of the GCC Runtime Library Exception along with this program;
 15056  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 15057  // <http://www.gnu.org/licenses/>.
 15058  
 15059  // This administrivia gets added to the beginning of limits.h
 15060  //    if the system has its own version of limits.h.
 15061  
 15062  // We use _GCC_LIMITS_H_ because we want this not to match
 15063  //    any macros that the system's limits.h uses for its own purposes.
 15064  
 15065  // Use "..." so that we find syslimits.h only in this same directory.
 15066  // syslimits.h stands for the system's own limits.h file.
 15067  //    If we can use it ok unmodified, then we install this text.
 15068  //    If fixincludes fixes it, then the fixed version is installed
 15069  //    instead of this text.
 15070  
 15071  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15072  //    This file is part of the GNU C Library.
 15073  //
 15074  //    The GNU C Library is free software; you can redistribute it and/or
 15075  //    modify it under the terms of the GNU Lesser General Public
 15076  //    License as published by the Free Software Foundation; either
 15077  //    version 2.1 of the License, or (at your option) any later version.
 15078  //
 15079  //    The GNU C Library is distributed in the hope that it will be useful,
 15080  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15081  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15082  //    Lesser General Public License for more details.
 15083  //
 15084  //    You should have received a copy of the GNU Lesser General Public
 15085  //    License along with the GNU C Library; if not, see
 15086  //    <https://www.gnu.org/licenses/>.
 15087  
 15088  //	ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types	<limits.h>
 15089  
 15090  // Handle feature test macros at the start of a header.
 15091  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
 15092  //    This file is part of the GNU C Library.
 15093  //
 15094  //    The GNU C Library is free software; you can redistribute it and/or
 15095  //    modify it under the terms of the GNU Lesser General Public
 15096  //    License as published by the Free Software Foundation; either
 15097  //    version 2.1 of the License, or (at your option) any later version.
 15098  //
 15099  //    The GNU C Library is distributed in the hope that it will be useful,
 15100  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15101  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15102  //    Lesser General Public License for more details.
 15103  //
 15104  //    You should have received a copy of the GNU Lesser General Public
 15105  //    License along with the GNU C Library; if not, see
 15106  //    <https://www.gnu.org/licenses/>.
 15107  
 15108  // This header is internal to glibc and should not be included outside
 15109  //    of glibc headers.  Headers including it must define
 15110  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
 15111  //    cannot have multiple include guards because ISO C feature test
 15112  //    macros depend on the definition of the macro when an affected
 15113  //    header is included, not when the first system header is
 15114  //    included.
 15115  
 15116  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15117  //    This file is part of the GNU C Library.
 15118  //
 15119  //    The GNU C Library is free software; you can redistribute it and/or
 15120  //    modify it under the terms of the GNU Lesser General Public
 15121  //    License as published by the Free Software Foundation; either
 15122  //    version 2.1 of the License, or (at your option) any later version.
 15123  //
 15124  //    The GNU C Library is distributed in the hope that it will be useful,
 15125  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15126  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15127  //    Lesser General Public License for more details.
 15128  //
 15129  //    You should have received a copy of the GNU Lesser General Public
 15130  //    License along with the GNU C Library; if not, see
 15131  //    <https://www.gnu.org/licenses/>.
 15132  
 15133  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
 15134  //    macro.
 15135  
 15136  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
 15137  //    macro.  Most but not all symbols enabled by that macro in TS
 15138  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
 15139  //    still require that macro in C2X.
 15140  
 15141  // ISO/IEC TS 18661-4:2015 defines the
 15142  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
 15143  //    functions, the symbols from this TS are enabled unconditionally in
 15144  //    C2X.
 15145  
 15146  // ISO/IEC TS 18661-3:2015 defines the
 15147  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
 15148  
 15149  // Maximum length of any multibyte character in any locale.
 15150  //    We define this value here since the gcc header does not define
 15151  //    the correct value.
 15152  
 15153  // If we are not using GNU CC we have to define all the symbols ourself.
 15154  //    Otherwise use gcc's definitions (see below).
 15155  
 15156  // Get the compiler's limits.h, which defines almost all the ISO constants.
 15157  //
 15158  //     We put this #include_next outside the double inclusion check because
 15159  //     it should be possible to include this file more than once and still get
 15160  //     the definitions from gcc's header.
 15161  
 15162  // The <limits.h> files in some gcc versions don't define LLONG_MIN,
 15163  //    LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for
 15164  //    ages are available.
 15165  
 15166  // The integer width macros are not defined by GCC's <limits.h> before
 15167  //    GCC 7, or if _GNU_SOURCE rather than
 15168  //    __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
 15169  
 15170  // POSIX adds things to <limits.h>.
 15171  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15172  //    This file is part of the GNU C Library.
 15173  //
 15174  //    The GNU C Library is free software; you can redistribute it and/or
 15175  //    modify it under the terms of the GNU Lesser General Public
 15176  //    License as published by the Free Software Foundation; either
 15177  //    version 2.1 of the License, or (at your option) any later version.
 15178  //
 15179  //    The GNU C Library is distributed in the hope that it will be useful,
 15180  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15181  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15182  //    Lesser General Public License for more details.
 15183  //
 15184  //    You should have received a copy of the GNU Lesser General Public
 15185  //    License along with the GNU C Library; if not, see
 15186  //    <https://www.gnu.org/licenses/>.
 15187  
 15188  //	POSIX Standard: 2.9.2 Minimum Values	Added to <limits.h>
 15189  //
 15190  //	Never include this file directly; use <limits.h> instead.
 15191  
 15192  // Determine the wordsize from the preprocessor defines.
 15193  
 15194  // Both x86-64 and x32 use the 64-bit system call interface.
 15195  
 15196  // These are the standard-mandated minimum values.
 15197  
 15198  // Minimum number of operations in one list I/O call.
 15199  
 15200  // Minimal number of outstanding asynchronous I/O operations.
 15201  
 15202  // Maximum length of arguments to `execve', including environment.
 15203  
 15204  // Maximum simultaneous processes per real user ID.
 15205  
 15206  // Minimal number of timer expiration overruns.
 15207  
 15208  // Maximum length of a host name (not including the terminating null)
 15209  //    as returned from the GETHOSTNAME function.
 15210  
 15211  // Maximum link count of a file.
 15212  
 15213  // Maximum length of login name.
 15214  
 15215  // Number of bytes in a terminal canonical input queue.
 15216  
 15217  // Number of bytes for which space will be
 15218  //    available in a terminal input queue.
 15219  
 15220  // Maximum number of message queues open for a process.
 15221  
 15222  // Maximum number of supported message priorities.
 15223  
 15224  // Number of bytes in a filename.
 15225  
 15226  // Number of simultaneous supplementary group IDs per process.
 15227  
 15228  // Number of files one process can have open at once.
 15229  
 15230  // Number of bytes in a pathname.
 15231  
 15232  // Number of bytes than can be written atomically to a pipe.
 15233  
 15234  // The number of repeated occurrences of a BRE permitted by the
 15235  //    REGEXEC and REGCOMP functions when using the interval notation.
 15236  
 15237  // Minimal number of realtime signals reserved for the application.
 15238  
 15239  // Number of semaphores a process can have.
 15240  
 15241  // Maximal value of a semaphore.
 15242  
 15243  // Number of pending realtime signals.
 15244  
 15245  // Largest value of a `ssize_t'.
 15246  
 15247  // Number of streams a process can have open at once.
 15248  
 15249  // The number of bytes in a symbolic link.
 15250  
 15251  // The number of symbolic links that can be traversed in the
 15252  //    resolution of a pathname in the absence of a loop.
 15253  
 15254  // Number of timer for a process.
 15255  
 15256  // Maximum number of characters in a tty name.
 15257  
 15258  // Maximum length of a timezone name (element of `tzname').
 15259  
 15260  // Maximum clock resolution in nanoseconds.
 15261  
 15262  // Get the implementation-specific values for the above.
 15263  // Minimum guaranteed maximum values for system limits.  Linux version.
 15264  //    Copyright (C) 1993-2020 Free Software Foundation, Inc.
 15265  //    This file is part of the GNU C Library.
 15266  //
 15267  //    The GNU C Library is free software; you can redistribute it and/or
 15268  //    modify it under the terms of the GNU Lesser General Public License as
 15269  //    published by the Free Software Foundation; either version 2.1 of the
 15270  //    License, or (at your option) any later version.
 15271  //
 15272  //    The GNU C Library is distributed in the hope that it will be useful,
 15273  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15274  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15275  //    Lesser General Public License for more details.
 15276  //
 15277  //    You should have received a copy of the GNU Lesser General Public
 15278  //    License along with the GNU C Library; see the file COPYING.LIB.  If
 15279  //    not, see <https://www.gnu.org/licenses/>.
 15280  
 15281  // The kernel header pollutes the namespace with the NR_OPEN symbol
 15282  //    and defines LINK_MAX although filesystems have different maxima.  A
 15283  //    similar thing is true for OPEN_MAX: the limit can be changed at
 15284  //    runtime and therefore the macro must not be defined.  Remove this
 15285  //    after including the header if necessary.
 15286  
 15287  // The kernel sources contain a file with all the needed information.
 15288  // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
 15289  
 15290  // Have to remove NR_OPEN?
 15291  // Have to remove LINK_MAX?
 15292  // Have to remove OPEN_MAX?
 15293  // Have to remove ARG_MAX?
 15294  
 15295  // The number of data keys per process.
 15296  // This is the value this implementation supports.
 15297  
 15298  // Controlling the iterations of destructors for thread-specific data.
 15299  // Number of iterations this implementation does.
 15300  
 15301  // The number of threads per process.
 15302  // We have no predefined limit on the number of threads.
 15303  
 15304  // Maximum amount by which a process can descrease its asynchronous I/O
 15305  //    priority level.
 15306  
 15307  // Minimum size for a thread.  We are free to choose a reasonable value.
 15308  
 15309  // Maximum number of timer expiration overruns.
 15310  
 15311  // Maximum tty name length.
 15312  
 15313  // Maximum login name length.  This is arbitrary.
 15314  
 15315  // Maximum host name length.
 15316  
 15317  // Maximum message queue priority level.
 15318  
 15319  // Maximum value the semaphore can have.
 15320  
 15321  // ssize_t is not formally required to be the signed type
 15322  //    corresponding to size_t, but it is for all configurations supported
 15323  //    by glibc.
 15324  
 15325  // This value is a guaranteed minimum maximum.
 15326  //    The current maximum can be got from `sysconf'.
 15327  
 15328  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15329  //    This file is part of the GNU C Library.
 15330  //
 15331  //    The GNU C Library is free software; you can redistribute it and/or
 15332  //    modify it under the terms of the GNU Lesser General Public
 15333  //    License as published by the Free Software Foundation; either
 15334  //    version 2.1 of the License, or (at your option) any later version.
 15335  //
 15336  //    The GNU C Library is distributed in the hope that it will be useful,
 15337  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15338  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15339  //    Lesser General Public License for more details.
 15340  //
 15341  //    You should have received a copy of the GNU Lesser General Public
 15342  //    License along with the GNU C Library; if not, see
 15343  //    <https://www.gnu.org/licenses/>.
 15344  
 15345  // Never include this file directly; include <limits.h> instead.
 15346  
 15347  // The maximum `ibase' and `obase' values allowed by the `bc' utility.
 15348  
 15349  // The maximum number of elements allowed in an array by the `bc' utility.
 15350  
 15351  // The maximum `scale' value allowed by the `bc' utility.
 15352  
 15353  // The maximum length of a string constant accepted by the `bc' utility.
 15354  
 15355  // The maximum number of weights that can be assigned to an entry of
 15356  //    the LC_COLLATE `order' keyword in the locale definition file.
 15357  
 15358  // The maximum number of expressions that can be nested
 15359  //    within parentheses by the `expr' utility.
 15360  
 15361  // The maximum length, in bytes, of an input line.
 15362  
 15363  // The maximum number of repeated occurrences of a regular expression
 15364  //    permitted when using the interval notation `\{M,N\}'.
 15365  
 15366  // The maximum number of bytes in a character class name.  We have no
 15367  //    fixed limit, 2048 is a high number.
 15368  
 15369  // These values are implementation-specific,
 15370  //    and may vary within the implementation.
 15371  //    Their precise values can be obtained from sysconf.
 15372  
 15373  // This value is defined like this in regex.h.
 15374  
 15375  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15376  //
 15377  // This file is part of GCC.
 15378  //
 15379  // GCC is free software; you can redistribute it and/or modify it under
 15380  // the terms of the GNU General Public License as published by the Free
 15381  // Software Foundation; either version 3, or (at your option) any later
 15382  // version.
 15383  //
 15384  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 15385  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 15386  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 15387  // for more details.
 15388  //
 15389  // Under Section 7 of GPL version 3, you are granted additional
 15390  // permissions described in the GCC Runtime Library Exception, version
 15391  // 3.1, as published by the Free Software Foundation.
 15392  //
 15393  // You should have received a copy of the GNU General Public License and
 15394  // a copy of the GCC Runtime Library Exception along with this program;
 15395  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 15396  // <http://www.gnu.org/licenses/>.
 15397  
 15398  // Number of bits in a `char'.
 15399  
 15400  // Maximum length of a multibyte character.
 15401  
 15402  // Minimum and maximum values a `signed char' can hold.
 15403  
 15404  // Maximum value an `unsigned char' can hold.  (Minimum is 0).
 15405  
 15406  // Minimum and maximum values a `char' can hold.
 15407  
 15408  // Minimum and maximum values a `signed short int' can hold.
 15409  
 15410  // Maximum value an `unsigned short int' can hold.  (Minimum is 0).
 15411  
 15412  // Minimum and maximum values a `signed int' can hold.
 15413  
 15414  // Maximum value an `unsigned int' can hold.  (Minimum is 0).
 15415  
 15416  // Minimum and maximum values a `signed long int' can hold.
 15417  //    (Same as `int').
 15418  
 15419  // Maximum value an `unsigned long int' can hold.  (Minimum is 0).
 15420  
 15421  // Minimum and maximum values a `signed long long int' can hold.
 15422  
 15423  // Maximum value an `unsigned long long int' can hold.  (Minimum is 0).
 15424  
 15425  // This administrivia gets added to the end of limits.h
 15426  //    if the system has its own version of limits.h.
 15427  
 15428  var XXRenderExtensionInfo XRenderExtInfo                                       /* Xrender.c:31:16: */
 15429  var XXRenderExtensionName = *(*[7]int8)(unsafe.Pointer(ts + 6 /* "RENDER" */)) /* Xrender.c:32:6 */
 15430  
 15431  // XRenderExtFindDisplay - look for a display in this extension; keeps a
 15432  // cache of the most-recently used for efficiency. (Replaces
 15433  // XextFindDisplay.)
 15434  func sXRenderExtFindDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) uintptr { /* Xrender.c:41:30: */
 15435  	var dpyinfo uintptr
 15436  
 15437  	// see if this was the most recently accessed display
 15438  	if (libc.AssignUintptr(&dpyinfo, (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur) != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy) {
 15439  		return dpyinfo
 15440  	}
 15441  
 15442  	// look for display in list
 15443  	if x11.X_XLockMutex_fn != 0 {
 15444  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15445  	}
 15446  	for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext {
 15447  		if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy {
 15448  			(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo // cache most recently used
 15449  			if x11.X_XUnlockMutex_fn != 0 {
 15450  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15451  			}
 15452  			return dpyinfo
 15453  		}
 15454  	}
 15455  	if x11.X_XUnlockMutex_fn != 0 {
 15456  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15457  	}
 15458  
 15459  	return uintptr(0)
 15460  }
 15461  
 15462  // If the server is missing support for any of the required depths on
 15463  // any screen, tell the application that Render is not present.
 15464  
 15465  // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps
 15466  
 15467  type X_DepthCheckRec = struct {
 15468  	Fnext        uintptr
 15469  	Fdpy         uintptr
 15470  	Fmissing     CARD32
 15471  	F__ccgo_pad1 [4]byte
 15472  	Fserial      uint64
 15473  } /* Xrender.c:86:9 */
 15474  
 15475  // If the server is missing support for any of the required depths on
 15476  // any screen, tell the application that Render is not present.
 15477  
 15478  // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps
 15479  
 15480  type DepthCheckRec = X_DepthCheckRec /* Xrender.c:91:3 */
 15481  type DepthCheckPtr = uintptr         /* Xrender.c:91:18 */
 15482  
 15483  var depthChecks DepthCheckPtr /* Xrender.c:93:22: */
 15484  
 15485  func sXRenderDepthCheckErrorHandler(tls *libc.TLS, dpy uintptr, evt uintptr) int32 { /* Xrender.c:96:1: */
 15486  	if (int32((*XErrorEvent)(unsafe.Pointer(evt)).Frequest_code) == X_CreatePixmap) && (int32((*XErrorEvent)(unsafe.Pointer(evt)).Ferror_code) == BadValue) {
 15487  		var d DepthCheckPtr
 15488  		if x11.X_XLockMutex_fn != 0 {
 15489  			(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15490  		}
 15491  		for d = depthChecks; d != 0; d = (*X_DepthCheckRec)(unsafe.Pointer(d)).Fnext {
 15492  			if (*X_DepthCheckRec)(unsafe.Pointer(d)).Fdpy == dpy {
 15493  				if (int64((*XErrorEvent)(unsafe.Pointer(evt)).Fserial - (*X_DepthCheckRec)(unsafe.Pointer(d)).Fserial)) >= int64(0) {
 15494  					*(*CARD32)(unsafe.Pointer(d + 16 /* &.missing */)) |= (uint32(1) << (((*XErrorEvent)(unsafe.Pointer(evt)).Fresourceid) - uint64(1)))
 15495  				}
 15496  				break
 15497  			}
 15498  		}
 15499  		if x11.X_XUnlockMutex_fn != 0 {
 15500  			(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15501  		}
 15502  	}
 15503  	return 0
 15504  }
 15505  
 15506  func sXRenderHasDepths(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:115:1: */
 15507  	bp := tls.Alloc(32)
 15508  	defer tls.Free(32)
 15509  
 15510  	var s int32
 15511  
 15512  	for s = 0; s < ((*struct {
 15513  		Fext_data            uintptr
 15514  		Fprivate1            uintptr
 15515  		Ffd                  int32
 15516  		Fprivate2            int32
 15517  		Fproto_major_version int32
 15518  		Fproto_minor_version int32
 15519  		Fvendor              uintptr
 15520  		Fprivate3            XID
 15521  		Fprivate4            XID
 15522  		Fprivate5            XID
 15523  		Fprivate6            int32
 15524  		F__ccgo_pad1         [4]byte
 15525  		Fresource_alloc      uintptr
 15526  		Fbyte_order          int32
 15527  		Fbitmap_unit         int32
 15528  		Fbitmap_pad          int32
 15529  		Fbitmap_bit_order    int32
 15530  		Fnformats            int32
 15531  		F__ccgo_pad2         [4]byte
 15532  		Fpixmap_format       uintptr
 15533  		Fprivate8            int32
 15534  		Frelease             int32
 15535  		Fprivate9            uintptr
 15536  		Fprivate10           uintptr
 15537  		Fqlen                int32
 15538  		F__ccgo_pad3         [4]byte
 15539  		Flast_request_read   uint64
 15540  		Frequest             uint64
 15541  		Fprivate11           XPointer
 15542  		Fprivate12           XPointer
 15543  		Fprivate13           XPointer
 15544  		Fprivate14           XPointer
 15545  		Fmax_request_size    uint32
 15546  		F__ccgo_pad4         [4]byte
 15547  		Fdb                  uintptr
 15548  		Fprivate15           uintptr
 15549  		Fdisplay_name        uintptr
 15550  		Fdefault_screen      int32
 15551  		Fnscreens            int32
 15552  		Fscreens             uintptr
 15553  		Fmotion_buffer       uint64
 15554  		Fprivate16           uint64
 15555  		Fmin_keycode         int32
 15556  		Fmax_keycode         int32
 15557  		Fprivate17           XPointer
 15558  		Fprivate18           XPointer
 15559  		Fprivate19           int32
 15560  		F__ccgo_pad5         [4]byte
 15561  		Fxdefaults           uintptr
 15562  	})(unsafe.Pointer(dpy)).Fnscreens); s++ {
 15563  		var depths CARD32 = CARD32(0)
 15564  		var missing CARD32
 15565  		var scr uintptr = ((*struct {
 15566  			Fext_data            uintptr
 15567  			Fprivate1            uintptr
 15568  			Ffd                  int32
 15569  			Fprivate2            int32
 15570  			Fproto_major_version int32
 15571  			Fproto_minor_version int32
 15572  			Fvendor              uintptr
 15573  			Fprivate3            XID
 15574  			Fprivate4            XID
 15575  			Fprivate5            XID
 15576  			Fprivate6            int32
 15577  			F__ccgo_pad1         [4]byte
 15578  			Fresource_alloc      uintptr
 15579  			Fbyte_order          int32
 15580  			Fbitmap_unit         int32
 15581  			Fbitmap_pad          int32
 15582  			Fbitmap_bit_order    int32
 15583  			Fnformats            int32
 15584  			F__ccgo_pad2         [4]byte
 15585  			Fpixmap_format       uintptr
 15586  			Fprivate8            int32
 15587  			Frelease             int32
 15588  			Fprivate9            uintptr
 15589  			Fprivate10           uintptr
 15590  			Fqlen                int32
 15591  			F__ccgo_pad3         [4]byte
 15592  			Flast_request_read   uint64
 15593  			Frequest             uint64
 15594  			Fprivate11           XPointer
 15595  			Fprivate12           XPointer
 15596  			Fprivate13           XPointer
 15597  			Fprivate14           XPointer
 15598  			Fmax_request_size    uint32
 15599  			F__ccgo_pad4         [4]byte
 15600  			Fdb                  uintptr
 15601  			Fprivate15           uintptr
 15602  			Fdisplay_name        uintptr
 15603  			Fdefault_screen      int32
 15604  			Fnscreens            int32
 15605  			Fscreens             uintptr
 15606  			Fmotion_buffer       uint64
 15607  			Fprivate16           uint64
 15608  			Fmin_keycode         int32
 15609  			Fmax_keycode         int32
 15610  			Fprivate17           XPointer
 15611  			Fprivate18           XPointer
 15612  			Fprivate19           int32
 15613  			F__ccgo_pad5         [4]byte
 15614  			Fxdefaults           uintptr
 15615  		})(unsafe.Pointer((dpy))).Fscreens + uintptr(s)*128)
 15616  		var d int32
 15617  
 15618  		for d = 0; d < (*Screen)(unsafe.Pointer(scr)).Fndepths; d++ {
 15619  			depths = depths | (uint32(1) << (((*Depth)(unsafe.Pointer((*Screen)(unsafe.Pointer(scr)).Fdepths + uintptr(d)*16)).Fdepth) - 1))
 15620  		}
 15621  		missing = (^depths & (((((uint32(1) << ((1) - 1)) | (uint32(1) << ((4) - 1))) | (uint32(1) << ((8) - 1))) | (uint32(1) << ((24) - 1))) | (uint32(1) << ((32) - 1))))
 15622  		if missing != 0 {
 15623  			// var dc DepthCheckRec at bp, 32
 15624  
 15625  			var dp uintptr
 15626  			var previousHandler XErrorHandler
 15627  
 15628  			// Ok, this is ugly.  It should be sufficient at this
 15629  			// point to just return False, but Xinerama is broken at
 15630  			// this point and only advertises depths which have an
 15631  			// associated visual.  Of course, the other depths still
 15632  			// work, but the only way to find out is to try them.
 15633  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fdpy = dpy
 15634  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing = CARD32(0)
 15635  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fserial = x11.XXNextRequest(tls, dpy)
 15636  			if x11.X_XLockMutex_fn != 0 {
 15637  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15638  			}
 15639  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext = depthChecks
 15640  			depthChecks = bp /* &dc */
 15641  			if x11.X_XUnlockMutex_fn != 0 {
 15642  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15643  			}
 15644  			// I suspect this is not really thread safe, but Xlib doesn't
 15645  			// provide a lot of options here
 15646  			previousHandler = x11.XXSetErrorHandler(tls, *(*uintptr)(unsafe.Pointer(&struct {
 15647  				f func(*libc.TLS, uintptr, uintptr) int32
 15648  			}{sXRenderDepthCheckErrorHandler})))
 15649  			// Try each missing depth and see if pixmap creation succeeds
 15650  			for d = 1; d <= 32; d++ {
 15651  				// don't check depth 1 == Xcursor recurses...
 15652  				if ((missing & (uint32(1) << ((d) - 1))) != 0) && (d != 1) {
 15653  					var p Pixmap
 15654  					p = x11.XXCreatePixmap(tls, dpy, (*Screen)(unsafe.Pointer(((*struct {
 15655  						Fext_data            uintptr
 15656  						Fprivate1            uintptr
 15657  						Ffd                  int32
 15658  						Fprivate2            int32
 15659  						Fproto_major_version int32
 15660  						Fproto_minor_version int32
 15661  						Fvendor              uintptr
 15662  						Fprivate3            XID
 15663  						Fprivate4            XID
 15664  						Fprivate5            XID
 15665  						Fprivate6            int32
 15666  						F__ccgo_pad1         [4]byte
 15667  						Fresource_alloc      uintptr
 15668  						Fbyte_order          int32
 15669  						Fbitmap_unit         int32
 15670  						Fbitmap_pad          int32
 15671  						Fbitmap_bit_order    int32
 15672  						Fnformats            int32
 15673  						F__ccgo_pad2         [4]byte
 15674  						Fpixmap_format       uintptr
 15675  						Fprivate8            int32
 15676  						Frelease             int32
 15677  						Fprivate9            uintptr
 15678  						Fprivate10           uintptr
 15679  						Fqlen                int32
 15680  						F__ccgo_pad3         [4]byte
 15681  						Flast_request_read   uint64
 15682  						Frequest             uint64
 15683  						Fprivate11           XPointer
 15684  						Fprivate12           XPointer
 15685  						Fprivate13           XPointer
 15686  						Fprivate14           XPointer
 15687  						Fmax_request_size    uint32
 15688  						F__ccgo_pad4         [4]byte
 15689  						Fdb                  uintptr
 15690  						Fprivate15           uintptr
 15691  						Fdisplay_name        uintptr
 15692  						Fdefault_screen      int32
 15693  						Fnscreens            int32
 15694  						Fscreens             uintptr
 15695  						Fmotion_buffer       uint64
 15696  						Fprivate16           uint64
 15697  						Fmin_keycode         int32
 15698  						Fmax_keycode         int32
 15699  						Fprivate17           XPointer
 15700  						Fprivate18           XPointer
 15701  						Fprivate19           int32
 15702  						F__ccgo_pad5         [4]byte
 15703  						Fxdefaults           uintptr
 15704  					})(unsafe.Pointer((dpy))).Fscreens + uintptr(s)*128))).Froot, uint32(1), uint32(1), uint32(d))
 15705  					x11.XXFreePixmap(tls, dpy, p)
 15706  				}
 15707  			}
 15708  			x11.XXSync(tls, dpy, False)
 15709  			x11.XXSetErrorHandler(tls, previousHandler)
 15710  			// Unhook from the list of depth check records
 15711  			if x11.X_XLockMutex_fn != 0 {
 15712  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15713  			}
 15714  			for dp = uintptr(unsafe.Pointer(&depthChecks)); *(*uintptr)(unsafe.Pointer(dp)) != 0; dp = (*(*uintptr)(unsafe.Pointer(dp)) /* &.next */) {
 15715  				if *(*uintptr)(unsafe.Pointer(dp)) == bp /* &dc */ {
 15716  					*(*uintptr)(unsafe.Pointer(dp)) = (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext
 15717  					break
 15718  				}
 15719  			}
 15720  			if x11.X_XUnlockMutex_fn != 0 {
 15721  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15722  			}
 15723  			if (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing != 0 {
 15724  				return False
 15725  			}
 15726  		}
 15727  	}
 15728  	return True
 15729  }
 15730  
 15731  // XRenderExtAddDisplay - add a display to this extension. (Replaces
 15732  // XextAddDisplay)
 15733  func sXRenderExtAddDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr, ext_name uintptr) uintptr { /* Xrender.c:190:30: */
 15734  	var dpyinfo uintptr
 15735  
 15736  	dpyinfo = libc.Xmalloc(tls, func() uint64 {
 15737  		if (uint64(unsafe.Sizeof(XRenderExtDisplayInfo{}))) == uint64(0) {
 15738  			return uint64(1)
 15739  		}
 15740  		return uint64(unsafe.Sizeof(XRenderExtDisplayInfo{}))
 15741  	}())
 15742  	if !(dpyinfo != 0) {
 15743  		return uintptr(0)
 15744  	}
 15745  	(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay = dpy
 15746  	(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Finfo = uintptr(0)
 15747  
 15748  	if sXRenderHasDepths(tls, dpy) != 0 {
 15749  		(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = x11.XXInitExtension(tls, dpy, ext_name)
 15750  	} else {
 15751  		(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = uintptr(0)
 15752  	}
 15753  
 15754  	// if the server has the extension, then we can initialize the
 15755  	// appropriate function vectors
 15756  	if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes != 0 {
 15757  		x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes)).Fextension,
 15758  			*(*uintptr)(unsafe.Pointer(&struct {
 15759  				f func(*libc.TLS, uintptr, uintptr) int32
 15760  			}{sXRenderCloseDisplay})))
 15761  	} else {
 15762  		// The server doesn't have this extension.
 15763  		// Use a private Xlib-internal extension to hang the close_display
 15764  		// hook on so that the "cache" (extinfo->cur) is properly cleaned.
 15765  		// (XBUG 7955)
 15766  		var codes uintptr = x11.XXAddExtension(tls, dpy)
 15767  		if !(codes != 0) {
 15768  			x11.XXFree(tls, dpyinfo)
 15769  			return uintptr(0)
 15770  		}
 15771  		x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer(codes)).Fextension, *(*uintptr)(unsafe.Pointer(&struct {
 15772  			f func(*libc.TLS, uintptr, uintptr) int32
 15773  		}{sXRenderCloseDisplay})))
 15774  	}
 15775  
 15776  	// now, chain it onto the list
 15777  	if x11.X_XLockMutex_fn != 0 {
 15778  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15779  	}
 15780  	(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead
 15781  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = dpyinfo
 15782  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo
 15783  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays++
 15784  	if x11.X_XUnlockMutex_fn != 0 {
 15785  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15786  	}
 15787  	return dpyinfo
 15788  }
 15789  
 15790  // XRenderExtRemoveDisplay - remove the indicated display from the
 15791  // extension object. (Replaces XextRemoveDisplay.)
 15792  func sXRenderExtRemoveDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) int32 { /* Xrender.c:246:1: */
 15793  	var dpyinfo uintptr
 15794  	var prev uintptr
 15795  
 15796  	// locate this display and its back link so that it can be removed
 15797  	if x11.X_XLockMutex_fn != 0 {
 15798  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15799  	}
 15800  	prev = uintptr(0)
 15801  	for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext {
 15802  		if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy {
 15803  			break
 15804  		}
 15805  		prev = dpyinfo
 15806  	}
 15807  	if !(dpyinfo != 0) {
 15808  		if x11.X_XUnlockMutex_fn != 0 {
 15809  			(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15810  		}
 15811  		return 0 // hmm, actually an error
 15812  	}
 15813  
 15814  	// remove the display from the list; handles going to zero
 15815  	if prev != 0 {
 15816  		(*XRenderExtDisplayInfo)(unsafe.Pointer(prev)).Fnext = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext
 15817  	} else {
 15818  		(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext
 15819  	}
 15820  
 15821  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays--
 15822  	if dpyinfo == (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur {
 15823  		(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = uintptr(0)
 15824  	} // flush cache
 15825  	if x11.X_XUnlockMutex_fn != 0 {
 15826  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15827  	}
 15828  
 15829  	libc.Xfree(tls, dpyinfo)
 15830  	return 1
 15831  }
 15832  
 15833  func XXRenderFindDisplay(tls *libc.TLS, dpy uintptr) uintptr { /* Xrender.c:282:23: */
 15834  	var dpyinfo uintptr
 15835  
 15836  	dpyinfo = sXRenderExtFindDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy)
 15837  	if !(dpyinfo != 0) {
 15838  		dpyinfo = sXRenderExtAddDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy,
 15839  			uintptr(unsafe.Pointer(&XXRenderExtensionName)))
 15840  	}
 15841  	return dpyinfo
 15842  }
 15843  
 15844  func sXRenderCloseDisplay(tls *libc.TLS, dpy uintptr, codes uintptr) int32 { /* Xrender.c:295:1: */
 15845  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 15846  	if (info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0) {
 15847  		x11.XXFree(tls, (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo)
 15848  	}
 15849  
 15850  	return sXRenderExtRemoveDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy)
 15851  }
 15852  
 15853  // ***************************************************************************
 15854  //
 15855  //                                                                          *
 15856  //			    Render public interfaces                        *
 15857  //                                                                          *
 15858  //
 15859  
 15860  func XXRenderQueryExtension(tls *libc.TLS, dpy uintptr, event_basep uintptr, error_basep uintptr) int32 { /* Xrender.c:309:6: */
 15861  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 15862  
 15863  	if (info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 15864  		*(*int32)(unsafe.Pointer(event_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_event
 15865  		*(*int32)(unsafe.Pointer(error_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_error
 15866  		return True
 15867  	} else {
 15868  		return False
 15869  	}
 15870  	return int32(0)
 15871  }
 15872  
 15873  func XXRenderQueryVersion(tls *libc.TLS, dpy uintptr, major_versionp uintptr, minor_versionp uintptr) int32 { /* Xrender.c:323:8: */
 15874  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 15875  	var xri uintptr
 15876  
 15877  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 15878  		return 0
 15879  	}
 15880  
 15881  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 15882  		return 0
 15883  	}
 15884  
 15885  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 15886  	*(*int32)(unsafe.Pointer(major_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version
 15887  	*(*int32)(unsafe.Pointer(minor_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version
 15888  	return 1
 15889  }
 15890  
 15891  func _XRenderFindFormat(tls *libc.TLS, xri uintptr, format PictFormat) uintptr { /* Xrender.c:342:26: */
 15892  	var nf int32
 15893  
 15894  	for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ {
 15895  		if (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fid == format {
 15896  			return ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*40)
 15897  		}
 15898  	}
 15899  	return uintptr(0)
 15900  }
 15901  
 15902  func _XRenderFindVisual(tls *libc.TLS, dpy uintptr, vid VisualID) uintptr { /* Xrender.c:353:15: */
 15903  	return x11.X_XVIDtoVisual(tls, dpy, vid)
 15904  }
 15905  
 15906  type X_renderVersionState = struct {
 15907  	Fversion_seq   uint64
 15908  	Ferror         int32
 15909  	Fmajor_version int32
 15910  	Fminor_version int32
 15911  	F__ccgo_pad1   [4]byte
 15912  } /* Xrender.c:359:9 */
 15913  
 15914  type X_XrenderVersionState = X_renderVersionState /* Xrender.c:365:3 */
 15915  
 15916  func _XRenderVersionHandler(tls *libc.TLS, dpy uintptr, rep uintptr, buf uintptr, len int32, data XPointer) int32 { /* Xrender.c:368:1: */
 15917  	bp := tls.Alloc(32)
 15918  	defer tls.Free(32)
 15919  
 15920  	// var replbuf XRenderQueryVersionReply at bp, 32
 15921  
 15922  	var repl uintptr
 15923  	var state uintptr = data
 15924  
 15925  	if (*Display)(unsafe.Pointer(dpy)).Flast_request_read != (*X_XrenderVersionState)(unsafe.Pointer(state)).Fversion_seq {
 15926  		return False
 15927  	}
 15928  	if int32((*XGenericReply)(unsafe.Pointer(rep)).Ftype) == X_Error {
 15929  		(*X_XrenderVersionState)(unsafe.Pointer(state)).Ferror = True
 15930  		return False
 15931  	}
 15932  	repl = x11.X_XGetAsyncReply(tls, dpy, bp /* &replbuf */, rep, buf, len,
 15933  		(int32((Sz_xRenderQueryVersionReply - Sz_xReply)) >> 2),
 15934  		True)
 15935  	(*X_XrenderVersionState)(unsafe.Pointer(state)).Fmajor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FmajorVersion)
 15936  	(*X_XrenderVersionState)(unsafe.Pointer(state)).Fminor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FminorVersion)
 15937  	return True
 15938  }
 15939  
 15940  func XXRenderQueryFormats(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:395:1: */
 15941  	bp := tls.Alloc(80)
 15942  	defer tls.Free(80)
 15943  
 15944  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 15945  	// var async X_XAsyncHandler at bp+24, 24
 15946  
 15947  	// var async_state X_XrenderVersionState at bp, 24
 15948  
 15949  	var vreq uintptr
 15950  	// var rep XRenderQueryPictFormatsReply at bp+48, 32
 15951  
 15952  	var req uintptr
 15953  	var xri uintptr
 15954  	var format uintptr
 15955  	var screen uintptr
 15956  	var depth uintptr
 15957  	var visual uintptr
 15958  	var xFormat uintptr
 15959  	var xScreen uintptr
 15960  	var xDepth uintptr
 15961  	var xVisual uintptr
 15962  	var xSubpixel uintptr
 15963  	var xData uintptr
 15964  	var nf int32
 15965  	var ns int32
 15966  	var nd int32
 15967  	var nv int32
 15968  	var rlength uint64
 15969  	var nbytes uint64
 15970  
 15971  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 15972  		return 0
 15973  	}
 15974  
 15975  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15976  		(*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)
 15977  	}
 15978  	if (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 {
 15979  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15980  			(*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)
 15981  		}
 15982  		return 1
 15983  	}
 15984  	vreq = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryVersion), uint64(Sz_xRenderQueryVersionReq))
 15985  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 15986  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FrenderReqType = CARD8(X_RenderQueryVersion)
 15987  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FmajorVersion = CARD32(RENDER_MAJOR)
 15988  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FminorVersion = CARD32(RENDER_MINOR)
 15989  
 15990  	(*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fversion_seq = (*Display)(unsafe.Pointer(dpy)).Frequest
 15991  	(*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror = False
 15992  	(*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fnext = (*Display)(unsafe.Pointer(dpy)).Fasync_handlers
 15993  	(*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fhandler = *(*uintptr)(unsafe.Pointer(&struct {
 15994  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, XPointer) int32
 15995  	}{_XRenderVersionHandler}))
 15996  	(*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fdata = bp /* &async_state */
 15997  	(*Display)(unsafe.Pointer(dpy)).Fasync_handlers = bp + 24           /* &async */
 15998  
 15999  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictFormats), uint64(Sz_xRenderQueryPictFormatsReq))
 16000  	(*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 16001  	(*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictFormats)
 16002  
 16003  	if !(x11.X_XReply(tls, dpy, bp+48 /* &rep */, 0, XFalse) != 0) {
 16004  		{
 16005  			if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == (bp + 24 /* &async */) {
 16006  				(*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fnext
 16007  			} else {
 16008  				x11.X_XDeqAsyncHandler(tls, dpy, bp+24 /* &async */)
 16009  			}
 16010  		}
 16011  
 16012  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16013  			(*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)
 16014  		}
 16015  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16016  			(*struct {
 16017  				f func(*libc.TLS, uintptr) int32
 16018  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16019  		}
 16020  		return 0
 16021  	}
 16022  	{
 16023  		if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == (bp + 24 /* &async */) {
 16024  			(*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fnext
 16025  		} else {
 16026  			x11.X_XDeqAsyncHandler(tls, dpy, bp+24 /* &async */)
 16027  		}
 16028  	}
 16029  
 16030  	if (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror != 0 {
 16031  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16032  			(*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)
 16033  		}
 16034  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16035  			(*struct {
 16036  				f func(*libc.TLS, uintptr) int32
 16037  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16038  		}
 16039  		return 0
 16040  	}
 16041  	// Check for the lack of sub-pixel data
 16042  	if ((*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version == 0) && ((*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version < 6) {
 16043  		(*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumSubpixel = CARD32(0)
 16044  	}
 16045  
 16046  	if (((((uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(XRenderPictFormat{})))) && (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumScreens) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(XRenderScreen{}))))) && (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(XRenderDepth{}))))) && (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumVisuals) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(XRenderVisual{}))))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumSubpixel < (CARD32((0x7fffffff / 4) / 4)))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) {
 16047  		xri = libc.Xmalloc(tls, func() uint64 {
 16048  			if ((((uint64(unsafe.Sizeof(XRenderInfo{})) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats) * uint64(unsafe.Sizeof(XRenderPictFormat{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumScreens) * uint64(unsafe.Sizeof(XRenderScreen{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths) * uint64(unsafe.Sizeof(XRenderDepth{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumVisuals) * uint64(unsafe.Sizeof(XRenderVisual{})))) == uint64(0) {
 16049  				return uint64(1)
 16050  			}
 16051  			return ((((uint64(unsafe.Sizeof(XRenderInfo{})) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats) * uint64(unsafe.Sizeof(XRenderPictFormat{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumScreens) * uint64(unsafe.Sizeof(XRenderScreen{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths) * uint64(unsafe.Sizeof(XRenderDepth{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumVisuals) * uint64(unsafe.Sizeof(XRenderVisual{}))))
 16052  		}())
 16053  		rlength = (((((uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats) * uint64(unsafe.Sizeof(XPictFormInfo{}))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumScreens) * uint64(unsafe.Sizeof(XPictScreen{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths) * uint64(unsafe.Sizeof(XPictDepth{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumVisuals) * uint64(unsafe.Sizeof(XPictVisual{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumSubpixel * CARD32(4))))
 16054  		xData = libc.Xmalloc(tls, func() uint64 {
 16055  			if (rlength) == uint64(0) {
 16056  				return uint64(1)
 16057  			}
 16058  			return rlength
 16059  		}())
 16060  		nbytes = (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength) << 2)
 16061  	} else {
 16062  		xri = uintptr(0)
 16063  		xData = uintptr(0)
 16064  		rlength = libc.AssignUint64(&nbytes, uint64(0))
 16065  	}
 16066  
 16067  	if (!(xri != 0) || !(xData != 0)) || (nbytes < rlength) {
 16068  		if xri != 0 {
 16069  			libc.Xfree(tls, xri)
 16070  		}
 16071  		if xData != 0 {
 16072  			libc.Xfree(tls, xData)
 16073  		}
 16074  		x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength))
 16075  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16076  			(*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)
 16077  		}
 16078  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16079  			(*struct {
 16080  				f func(*libc.TLS, uintptr) int32
 16081  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16082  		}
 16083  		return 0
 16084  	}
 16085  	(*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version
 16086  	(*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version
 16087  	(*XRenderInfo)(unsafe.Pointer(xri)).Fformat = (xri + uintptr(1)*120)
 16088  	(*XRenderInfo)(unsafe.Pointer(xri)).Fnformat = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumFormats)
 16089  	(*XRenderInfo)(unsafe.Pointer(xri)).Fscreen = ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats)*40)
 16090  	(*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumScreens)
 16091  	(*XRenderInfo)(unsafe.Pointer(xri)).Fdepth = ((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumScreens)*32)
 16092  	(*XRenderInfo)(unsafe.Pointer(xri)).Fndepth = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumDepths)
 16093  	(*XRenderInfo)(unsafe.Pointer(xri)).Fvisual = ((*XRenderInfo)(unsafe.Pointer(xri)).Fdepth + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths)*16)
 16094  	(*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumVisuals)
 16095  	x11.X_XRead(tls, dpy, xData, int64(rlength))
 16096  	format = (*XRenderInfo)(unsafe.Pointer(xri)).Fformat
 16097  	xFormat = xData
 16098  	for nf = 0; CARD32(nf) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats; nf++ {
 16099  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fid = PictFormat((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fid)
 16100  		(*XRenderPictFormat)(unsafe.Pointer(format)).Ftype = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Ftype)
 16101  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdepth = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdepth)
 16102  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fred = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fred)
 16103  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FredMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FredMask)
 16104  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fgreen = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fgreen)
 16105  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FgreenMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FgreenMask)
 16106  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fblue = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fblue)
 16107  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FblueMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FblueMask)
 16108  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Falpha = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Falpha)
 16109  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FalphaMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FalphaMask)
 16110  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fcolormap = Colormap((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fcolormap)
 16111  		format += 40
 16112  		xFormat += 28
 16113  	}
 16114  	xScreen = xFormat
 16115  	screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen
 16116  	depth = (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth
 16117  	visual = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual
 16118  	for ns = 0; ns < (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen; ns++ {
 16119  		(*XRenderScreen)(unsafe.Pointer(screen)).Fdepths = depth
 16120  		(*XRenderScreen)(unsafe.Pointer(screen)).Fndepths = int32((*XPictScreen)(unsafe.Pointer(xScreen)).FnDepth)
 16121  		(*XRenderScreen)(unsafe.Pointer(screen)).Ffallback = _XRenderFindFormat(tls, xri, uint64((*XPictScreen)(unsafe.Pointer(xScreen)).Ffallback))
 16122  		(*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = SubPixelUnknown
 16123  		xDepth = (xScreen + uintptr(1)*8)
 16124  		if CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths {
 16125  			libc.Xfree(tls, xri)
 16126  			libc.Xfree(tls, xData)
 16127  			x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength))
 16128  			if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16129  				(*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)
 16130  			}
 16131  			if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16132  				(*struct {
 16133  					f func(*libc.TLS, uintptr) int32
 16134  				})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16135  			}
 16136  			return 0
 16137  		}
 16138  		*(*CARD32)(unsafe.Pointer(bp + 48 /* &rep */ + 16 /* &.numDepths */)) -= (CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths))
 16139  		for nd = 0; nd < (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths; nd++ {
 16140  			(*XRenderDepth)(unsafe.Pointer(depth)).Fdepth = int32((*XPictDepth)(unsafe.Pointer(xDepth)).Fdepth)
 16141  			(*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals = int32((*XPictDepth)(unsafe.Pointer(xDepth)).FnPictVisuals)
 16142  			(*XRenderDepth)(unsafe.Pointer(depth)).Fvisuals = visual
 16143  			xVisual = (xDepth + uintptr(1)*8)
 16144  			if CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumVisuals {
 16145  				libc.Xfree(tls, xri)
 16146  				libc.Xfree(tls, xData)
 16147  				x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength))
 16148  				if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16149  					(*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)
 16150  				}
 16151  				if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16152  					(*struct {
 16153  						f func(*libc.TLS, uintptr) int32
 16154  					})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16155  				}
 16156  				return 0
 16157  			}
 16158  			*(*CARD32)(unsafe.Pointer(bp + 48 /* &rep */ + 20 /* &.numVisuals */)) -= (CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals))
 16159  			for nv = 0; nv < (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals; nv++ {
 16160  				(*XRenderVisual)(unsafe.Pointer(visual)).Fvisual = _XRenderFindVisual(tls, dpy, uint64((*XPictVisual)(unsafe.Pointer(xVisual)).Fvisual))
 16161  				(*XRenderVisual)(unsafe.Pointer(visual)).Fformat = _XRenderFindFormat(tls, xri, uint64((*XPictVisual)(unsafe.Pointer(xVisual)).Fformat))
 16162  				visual += 16
 16163  				xVisual += 8
 16164  			}
 16165  			depth += 16
 16166  			xDepth = xVisual
 16167  		}
 16168  		screen += 32
 16169  		xScreen = xDepth
 16170  	}
 16171  	xSubpixel = xScreen
 16172  	screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen
 16173  	for ns = 0; CARD32(ns) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumSubpixel; ns++ {
 16174  		(*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = int32(*(*CARD32)(unsafe.Pointer(xSubpixel)))
 16175  		xSubpixel += 4
 16176  		screen += 32
 16177  	}
 16178  	(*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo = xri
 16179  	// Skip any extra data
 16180  	if nbytes > rlength {
 16181  		x11.X_XEatData(tls, dpy, (nbytes - rlength))
 16182  	}
 16183  
 16184  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16185  		(*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)
 16186  	}
 16187  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16188  		(*struct {
 16189  			f func(*libc.TLS, uintptr) int32
 16190  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16191  	}
 16192  	libc.Xfree(tls, xData)
 16193  	return 1
 16194  }
 16195  
 16196  func XXRenderQuerySubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32) int32 { /* Xrender.c:595:1: */
 16197  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16198  	var xri uintptr
 16199  
 16200  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 16201  		return SubPixelUnknown
 16202  	}
 16203  
 16204  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16205  		return SubPixelUnknown
 16206  	}
 16207  
 16208  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16209  	return (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*32)).Fsubpixel
 16210  }
 16211  
 16212  func XXRenderSetSubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32, subpixel int32) int32 { /* Xrender.c:611:1: */
 16213  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16214  	var xri uintptr
 16215  
 16216  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 16217  		return False
 16218  	}
 16219  
 16220  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16221  		return False
 16222  	}
 16223  
 16224  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16225  	(*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*32)).Fsubpixel = subpixel
 16226  	return True
 16227  }
 16228  
 16229  func XXRenderFindVisualFormat(tls *libc.TLS, dpy uintptr, visual uintptr) uintptr { /* Xrender.c:627:19: */
 16230  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16231  	var nv int32
 16232  	var xri uintptr
 16233  	var xrv uintptr
 16234  
 16235  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 16236  		return uintptr(0)
 16237  	}
 16238  
 16239  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16240  		return uintptr(0)
 16241  	}
 16242  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16243  	nv = 0
 16244  	xrv = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual
 16245  __1:
 16246  	if !(nv < (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual) {
 16247  		goto __3
 16248  	}
 16249  	if (*XRenderVisual)(unsafe.Pointer(xrv)).Fvisual == visual {
 16250  		return (*XRenderVisual)(unsafe.Pointer(xrv)).Fformat
 16251  	}
 16252  	goto __2
 16253  __2:
 16254  	nv++
 16255  	xrv += 16
 16256  	goto __1
 16257  	goto __3
 16258  __3:
 16259  	;
 16260  	return uintptr(0)
 16261  }
 16262  
 16263  func XXRenderFindFormat(tls *libc.TLS, dpy uintptr, mask uint64, template uintptr, count int32) uintptr { /* Xrender.c:645:19: */
 16264  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16265  	var nf int32
 16266  	var xri uintptr
 16267  
 16268  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 16269  		return uintptr(0)
 16270  	}
 16271  
 16272  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16273  		return uintptr(0)
 16274  	}
 16275  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16276  	for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ {
 16277  		if (mask & (uint64(int32(1) << 0))) != 0 {
 16278  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Fid != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fid {
 16279  				continue
 16280  			}
 16281  		}
 16282  		if (mask & (uint64(int32(1) << 1))) != 0 {
 16283  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Ftype != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Ftype {
 16284  				continue
 16285  			}
 16286  		}
 16287  		if (mask & (uint64(int32(1) << 2))) != 0 {
 16288  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Fdepth != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdepth {
 16289  				continue
 16290  			}
 16291  		}
 16292  		if (mask & (uint64(int32(1) << 3))) != 0 {
 16293  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fred) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fred) {
 16294  				continue
 16295  			}
 16296  		}
 16297  		if (mask & (uint64(int32(1) << 4))) != 0 {
 16298  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FredMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FredMask) {
 16299  				continue
 16300  			}
 16301  		}
 16302  		if (mask & (uint64(int32(1) << 5))) != 0 {
 16303  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fgreen) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fgreen) {
 16304  				continue
 16305  			}
 16306  		}
 16307  		if (mask & (uint64(int32(1) << 6))) != 0 {
 16308  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FgreenMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FgreenMask) {
 16309  				continue
 16310  			}
 16311  		}
 16312  		if (mask & (uint64(int32(1) << 7))) != 0 {
 16313  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fblue) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fblue) {
 16314  				continue
 16315  			}
 16316  		}
 16317  		if (mask & (uint64(int32(1) << 8))) != 0 {
 16318  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FblueMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FblueMask) {
 16319  				continue
 16320  			}
 16321  		}
 16322  		if (mask & (uint64(int32(1) << 9))) != 0 {
 16323  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Falpha) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Falpha) {
 16324  				continue
 16325  			}
 16326  		}
 16327  		if (mask & (uint64(int32(1) << 10))) != 0 {
 16328  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FalphaMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FalphaMask) {
 16329  				continue
 16330  			}
 16331  		}
 16332  		if (mask & (uint64(int32(1) << 11))) != 0 {
 16333  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Fcolormap != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fcolormap {
 16334  				continue
 16335  			}
 16336  		}
 16337  		if libc.PostDecInt32(&count, 1) == 0 {
 16338  			return ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*40)
 16339  		}
 16340  	}
 16341  	return uintptr(0)
 16342  }
 16343  
 16344  func XXRenderFindStandardFormat(tls *libc.TLS, dpy uintptr, format int32) uintptr { /* Xrender.c:703:19: */
 16345  
 16346  	if (0 <= format) && (format < PictStandardNUM) {
 16347  		return XXRenderFindFormat(tls, dpy,
 16348  			standardFormats[format].Fmask,
 16349  			(uintptr(unsafe.Pointer(&standardFormats)) + uintptr(format)*48 /* &.templ */),
 16350  			0)
 16351  	}
 16352  	return uintptr(0)
 16353  }
 16354  
 16355  var standardFormats = [5]struct {
 16356  	Ftempl XRenderPictFormat
 16357  	Fmask  uint64
 16358  }{{
 16359  	// PictStandardARGB32
 16360  	Ftempl: XRenderPictFormat{ // id
 16361  		Ftype:  PictTypeDirect, // type
 16362  		Fdepth: 32,             // depth
 16363  		Fdirect: XRenderDirectFormat{ // direct
 16364  			Fred:       int16(16),   // direct.red
 16365  			FredMask:   int16(0xff), // direct.redMask
 16366  			Fgreen:     int16(8),    // direct.green
 16367  			FgreenMask: int16(0xff), // direct.blue
 16368  			FblueMask:  int16(0xff), // direct.blueMask
 16369  			Falpha:     int16(24),   // direct.alpha
 16370  			FalphaMask: int16(0xff), // direct.alphaMask
 16371  		}, // colormap
 16372  	},
 16373  	Fmask: (uint64((((((((((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))),
 16374  },
 16375  	// PictStandardRGB24
 16376  	{
 16377  		Ftempl: XRenderPictFormat{ // id
 16378  			Ftype:  PictTypeDirect, // type
 16379  			Fdepth: 24,             // depth
 16380  			Fdirect: XRenderDirectFormat{ // direct
 16381  				Fred:       int16(16),   // direct.red
 16382  				FredMask:   int16(0xff), // direct.redMask
 16383  				Fgreen:     int16(8),    // direct.green
 16384  				FgreenMask: int16(0xff), // direct.blue
 16385  				FblueMask:  int16(0xff), // direct.alphaMask
 16386  			}, // colormap
 16387  		},
 16388  		Fmask: (uint64(((((((((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))),
 16389  	},
 16390  	// PictStandardA8
 16391  	{
 16392  		Ftempl: XRenderPictFormat{ // id
 16393  			Ftype:  PictTypeDirect, // type
 16394  			Fdepth: 8,              // depth
 16395  			Fdirect: XRenderDirectFormat{ // direct.alpha
 16396  				FalphaMask: int16(0xff), // direct.alphaMask
 16397  			}, // colormap
 16398  		},
 16399  		Fmask: (uint64(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))),
 16400  	},
 16401  	// PictStandardA4
 16402  	{
 16403  		Ftempl: XRenderPictFormat{ // id
 16404  			Ftype:  PictTypeDirect, // type
 16405  			Fdepth: 4,              // depth
 16406  			Fdirect: XRenderDirectFormat{ // direct.alpha
 16407  				FalphaMask: int16(0x0f), // direct.alphaMask
 16408  			}, // colormap
 16409  		},
 16410  		Fmask: (uint64(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))),
 16411  	},
 16412  	// PictStandardA1
 16413  	{
 16414  		Ftempl: XRenderPictFormat{ // id
 16415  			Ftype:  PictTypeDirect, // type
 16416  			Fdepth: 1,              // depth
 16417  			Fdirect: XRenderDirectFormat{ // direct.alpha
 16418  				FalphaMask: int16(0x01), // direct.alphaMask
 16419  			}, // colormap
 16420  		},
 16421  		Fmask: (uint64(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))),
 16422  	},
 16423  } /* Xrender.c:710:7 */
 16424  
 16425  func XXRenderQueryPictIndexValues(tls *libc.TLS, dpy uintptr, format uintptr, num uintptr) uintptr { /* Xrender.c:856:13: */
 16426  	bp := tls.Alloc(44)
 16427  	defer tls.Free(44)
 16428  
 16429  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16430  	var req uintptr
 16431  	// var rep XRenderQueryPictIndexValuesReply at bp, 32
 16432  
 16433  	var values uintptr
 16434  	var nbytes uint32
 16435  	var nread uint32
 16436  	var rlength uint32
 16437  	var i uint32
 16438  
 16439  	if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) {
 16440  		return uintptr(0)
 16441  	}
 16442  
 16443  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16444  		(*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)
 16445  	}
 16446  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictIndexValues), uint64(Sz_xRenderQueryPictIndexValuesReq))
 16447  	(*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 16448  	(*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictIndexValues)
 16449  	(*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid)
 16450  	if !(x11.X_XReply(tls, dpy, bp /* &rep */, 0, XFalse) != 0) {
 16451  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16452  			(*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)
 16453  		}
 16454  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16455  			(*struct {
 16456  				f func(*libc.TLS, uintptr) int32
 16457  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16458  		}
 16459  		return uintptr(0)
 16460  	}
 16461  
 16462  	if ((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) && (uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues) < (uint64(0x7fffffff) / uint64(unsafe.Sizeof(XIndexValue1{})))) {
 16463  		// request data length
 16464  		nbytes = ((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength << 2)
 16465  		// bytes of actual data in the request
 16466  		nread = ((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues * CARD32(Sz_xIndexValue))
 16467  		// size of array returned to application
 16468  		rlength = (uint32(uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues) * uint64(unsafe.Sizeof(XIndexValue1{}))))
 16469  
 16470  		// allocate returned data
 16471  		values = libc.Xmalloc(tls, func() uint64 {
 16472  			if (rlength) == uint32(0) {
 16473  				return uint64(1)
 16474  			}
 16475  			return uint64(rlength)
 16476  		}())
 16477  	} else {
 16478  		nbytes = libc.AssignUint32(&nread, libc.AssignUint32(&rlength, uint32(0)))
 16479  		values = uintptr(0)
 16480  	}
 16481  
 16482  	if !(values != 0) {
 16483  		x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength))
 16484  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16485  			(*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)
 16486  		}
 16487  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16488  			(*struct {
 16489  				f func(*libc.TLS, uintptr) int32
 16490  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16491  		}
 16492  		return uintptr(0)
 16493  	}
 16494  
 16495  	// read the values one at a time and convert
 16496  	*(*int32)(unsafe.Pointer(num)) = int32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues)
 16497  	for i = uint32(0); i < (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues; i++ {
 16498  		// var value XIndexValue at bp+32, 12
 16499  
 16500  		x11.X_XRead(tls, dpy, bp+32 /* &value */, int64(Sz_xIndexValue))
 16501  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fpixel = uint64((*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fpixel)
 16502  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fred = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fred
 16503  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fgreen = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fgreen
 16504  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fblue = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fblue
 16505  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Falpha = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Falpha
 16506  	}
 16507  	// skip any padding
 16508  	if nbytes > nread {
 16509  		x11.X_XEatData(tls, dpy, (uint64(nbytes - nread)))
 16510  	}
 16511  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16512  		(*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)
 16513  	}
 16514  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16515  		(*struct {
 16516  			f func(*libc.TLS, uintptr) int32
 16517  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16518  	}
 16519  	return values
 16520  }
 16521  
 16522  var ts1 = "rgba:\x00RENDER\x00"
 16523  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data