modernc.org/xrender@v1.0.9/lib/xrender_linux_arm64.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_arm64.go -pkgname xrender -trace-translation-units /tmp/go-generate-2462973507/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 _ *libc.TLS
    21  var _ types.Size_t
    22  
    23  const (
    24  	Above                                 = 0
    25  	AllHints                              = 127
    26  	AllTemporary                          = 0
    27  	AllValues                             = 0x000F
    28  	AllocAll                              = 1
    29  	AllocNone                             = 0
    30  	AllowExposures                        = 1
    31  	AlreadyGrabbed                        = 1
    32  	Always                                = 2
    33  	AnyButton                             = 0
    34  	AnyKey                                = 0
    35  	AnyModifier                           = 32768
    36  	AnyPropertyType                       = 0
    37  	ArcChord                              = 0
    38  	ArcPieSlice                           = 1
    39  	AsyncBoth                             = 6
    40  	AsyncKeyboard                         = 3
    41  	AsyncPointer                          = 0
    42  	AutoRepeatModeDefault                 = 2
    43  	AutoRepeatModeOff                     = 0
    44  	AutoRepeatModeOn                      = 1
    45  	B16                                   = 0
    46  	B32                                   = 0
    47  	BIG_ENDIAN                            = 4321
    48  	BUFSIZE                               = 2048
    49  	BYTE_ORDER                            = 1234
    50  	BadAccess                             = 10
    51  	BadAlloc                              = 11
    52  	BadAtom                               = 5
    53  	BadColor                              = 12
    54  	BadCursor                             = 6
    55  	BadDrawable                           = 9
    56  	BadFont                               = 7
    57  	BadGC                                 = 13
    58  	BadGlyph                              = 4
    59  	BadGlyphSet                           = 3
    60  	BadIDChoice                           = 14
    61  	BadImplementation                     = 17
    62  	BadLength                             = 16
    63  	BadMatch                              = 8
    64  	BadName                               = 15
    65  	BadPictFormat                         = 0
    66  	BadPictOp                             = 2
    67  	BadPicture                            = 1
    68  	BadPixmap                             = 4
    69  	BadRequest                            = 1
    70  	BadValue                              = 2
    71  	BadWindow                             = 3
    72  	Below                                 = 1
    73  	BitmapFileInvalid                     = 2
    74  	BitmapNoMemory                        = 3
    75  	BitmapOpenFailed                      = 1
    76  	BitmapSuccess                         = 0
    77  	BottomIf                              = 3
    78  	Button1                               = 1
    79  	Button1Mask                           = 256
    80  	Button1MotionMask                     = 256
    81  	Button2                               = 2
    82  	Button2Mask                           = 512
    83  	Button2MotionMask                     = 512
    84  	Button3                               = 3
    85  	Button3Mask                           = 1024
    86  	Button3MotionMask                     = 1024
    87  	Button4                               = 4
    88  	Button4Mask                           = 2048
    89  	Button4MotionMask                     = 2048
    90  	Button5                               = 5
    91  	Button5Mask                           = 4096
    92  	Button5MotionMask                     = 4096
    93  	ButtonMotionMask                      = 8192
    94  	ButtonPress                           = 4
    95  	ButtonPressMask                       = 4
    96  	ButtonRelease                         = 5
    97  	ButtonReleaseMask                     = 8
    98  	CPAlphaMap                            = 2
    99  	CPAlphaXOrigin                        = 4
   100  	CPAlphaYOrigin                        = 8
   101  	CPClipMask                            = 64
   102  	CPClipXOrigin                         = 16
   103  	CPClipYOrigin                         = 32
   104  	CPComponentAlpha                      = 4096
   105  	CPDither                              = 2048
   106  	CPGraphicsExposure                    = 128
   107  	CPLastBit                             = 12
   108  	CPPolyEdge                            = 512
   109  	CPPolyMode                            = 1024
   110  	CPRepeat                              = 1
   111  	CPSubwindowMode                       = 256
   112  	CURSORFONT                            = "cursor"
   113  	CWBackPixel                           = 2
   114  	CWBackPixmap                          = 1
   115  	CWBackingPixel                        = 256
   116  	CWBackingPlanes                       = 128
   117  	CWBackingStore                        = 64
   118  	CWBitGravity                          = 16
   119  	CWBorderPixel                         = 8
   120  	CWBorderPixmap                        = 4
   121  	CWBorderWidth                         = 16
   122  	CWColormap                            = 8192
   123  	CWCursor                              = 16384
   124  	CWDontPropagate                       = 4096
   125  	CWEventMask                           = 2048
   126  	CWHeight                              = 8
   127  	CWOverrideRedirect                    = 512
   128  	CWSaveUnder                           = 1024
   129  	CWSibling                             = 32
   130  	CWStackMode                           = 64
   131  	CWWidth                               = 4
   132  	CWWinGravity                          = 32
   133  	CWX                                   = 1
   134  	CWY                                   = 2
   135  	CapButt                               = 1
   136  	CapNotLast                            = 0
   137  	CapProjecting                         = 3
   138  	CapRound                              = 2
   139  	CenterGravity                         = 5
   140  	CirculateNotify                       = 26
   141  	CirculateRequest                      = 27
   142  	ClientMessage                         = 33
   143  	ClipByChildren                        = 0
   144  	ColormapChangeMask                    = 8388608
   145  	ColormapInstalled                     = 1
   146  	ColormapNotify                        = 32
   147  	ColormapUninstalled                   = 0
   148  	Complex                               = 0
   149  	ConfigureNotify                       = 22
   150  	ConfigureRequest                      = 23
   151  	ControlMapIndex                       = 2
   152  	ControlMask                           = 4
   153  	Convex                                = 2
   154  	CoordModeOrigin                       = 0
   155  	CoordModePrevious                     = 1
   156  	CopyFromParent                        = 0
   157  	CreateNotify                          = 16
   158  	CurrentTime                           = 0
   159  	CursorShape                           = 0
   160  	DefaultBlanking                       = 2
   161  	DefaultExposures                      = 2
   162  	DestroyAll                            = 0
   163  	DestroyNotify                         = 17
   164  	DirectColor                           = 5
   165  	DisableAccess                         = 0
   166  	DisableScreenInterval                 = 0
   167  	DisableScreenSaver                    = 0
   168  	DoBlue                                = 4
   169  	DoGreen                               = 2
   170  	DoRed                                 = 1
   171  	DontAllowExposures                    = 0
   172  	DontCareState                         = 0
   173  	DontPreferBlanking                    = 0
   174  	E2BIG                                 = 7
   175  	EACCES                                = 13
   176  	EADDRINUSE                            = 98
   177  	EADDRNOTAVAIL                         = 99
   178  	EADV                                  = 68
   179  	EAFNOSUPPORT                          = 97
   180  	EAGAIN                                = 11
   181  	EALREADY                              = 114
   182  	EBADE                                 = 52
   183  	EBADF                                 = 9
   184  	EBADFD                                = 77
   185  	EBADMSG                               = 74
   186  	EBADR                                 = 53
   187  	EBADRQC                               = 56
   188  	EBADSLT                               = 57
   189  	EBFONT                                = 59
   190  	EBUSY                                 = 16
   191  	ECANCELED                             = 125
   192  	ECHILD                                = 10
   193  	ECHRNG                                = 44
   194  	ECOMM                                 = 70
   195  	ECONNABORTED                          = 103
   196  	ECONNREFUSED                          = 111
   197  	ECONNRESET                            = 104
   198  	EDEADLK                               = 35
   199  	EDEADLOCK                             = 35
   200  	EDESTADDRREQ                          = 89
   201  	EDOM                                  = 33
   202  	EDOTDOT                               = 73
   203  	EDQUOT                                = 122
   204  	EEXIST                                = 17
   205  	EFAULT                                = 14
   206  	EFBIG                                 = 27
   207  	EHOSTDOWN                             = 112
   208  	EHOSTUNREACH                          = 113
   209  	EHWPOISON                             = 133
   210  	EIDRM                                 = 43
   211  	EILSEQ                                = 84
   212  	EINPROGRESS                           = 115
   213  	EINTR                                 = 4
   214  	EINVAL                                = 22
   215  	EIO                                   = 5
   216  	EISCONN                               = 106
   217  	EISDIR                                = 21
   218  	EISNAM                                = 120
   219  	EKEYEXPIRED                           = 127
   220  	EKEYREJECTED                          = 129
   221  	EKEYREVOKED                           = 128
   222  	EL2HLT                                = 51
   223  	EL2NSYNC                              = 45
   224  	EL3HLT                                = 46
   225  	EL3RST                                = 47
   226  	ELFlagFocus                           = 1
   227  	ELFlagSameScreen                      = 2
   228  	ELIBACC                               = 79
   229  	ELIBBAD                               = 80
   230  	ELIBEXEC                              = 83
   231  	ELIBMAX                               = 82
   232  	ELIBSCN                               = 81
   233  	ELNRNG                                = 48
   234  	ELOOP                                 = 40
   235  	EMEDIUMTYPE                           = 124
   236  	EMFILE                                = 24
   237  	EMLINK                                = 31
   238  	EMSGSIZE                              = 90
   239  	EMULTIHOP                             = 72
   240  	ENAMETOOLONG                          = 36
   241  	ENAVAIL                               = 119
   242  	ENETDOWN                              = 100
   243  	ENETRESET                             = 102
   244  	ENETUNREACH                           = 101
   245  	ENFILE                                = 23
   246  	ENOANO                                = 55
   247  	ENOBUFS                               = 105
   248  	ENOCSI                                = 50
   249  	ENODATA                               = 61
   250  	ENODEV                                = 19
   251  	ENOENT                                = 2
   252  	ENOEXEC                               = 8
   253  	ENOKEY                                = 126
   254  	ENOLCK                                = 37
   255  	ENOLINK                               = 67
   256  	ENOMEDIUM                             = 123
   257  	ENOMEM                                = 12
   258  	ENOMSG                                = 42
   259  	ENONET                                = 64
   260  	ENOPKG                                = 65
   261  	ENOPROTOOPT                           = 92
   262  	ENOSPC                                = 28
   263  	ENOSR                                 = 63
   264  	ENOSTR                                = 60
   265  	ENOSYS                                = 38
   266  	ENOTBLK                               = 15
   267  	ENOTCONN                              = 107
   268  	ENOTDIR                               = 20
   269  	ENOTEMPTY                             = 39
   270  	ENOTNAM                               = 118
   271  	ENOTRECOVERABLE                       = 131
   272  	ENOTSOCK                              = 88
   273  	ENOTSUP                               = 95
   274  	ENOTTY                                = 25
   275  	ENOTUNIQ                              = 76
   276  	ENXIO                                 = 6
   277  	EOPNOTSUPP                            = 95
   278  	EOVERFLOW                             = 75
   279  	EOWNERDEAD                            = 130
   280  	EPERM                                 = 1
   281  	EPFNOSUPPORT                          = 96
   282  	EPIPE                                 = 32
   283  	EPROTO                                = 71
   284  	EPROTONOSUPPORT                       = 93
   285  	EPROTOTYPE                            = 91
   286  	ERANGE                                = 34
   287  	EREMCHG                               = 78
   288  	EREMOTE                               = 66
   289  	EREMOTEIO                             = 121
   290  	ERESTART                              = 85
   291  	ERFKILL                               = 132
   292  	EROFS                                 = 30
   293  	ESHUTDOWN                             = 108
   294  	ESOCKTNOSUPPORT                       = 94
   295  	ESPIPE                                = 29
   296  	ESRCH                                 = 3
   297  	ESRMNT                                = 69
   298  	ESTALE                                = 116
   299  	ESTRPIPE                              = 86
   300  	ETIME                                 = 62
   301  	ETIMEDOUT                             = 110
   302  	ETOOMANYREFS                          = 109
   303  	ETXTBSY                               = 26
   304  	EUCLEAN                               = 117
   305  	EUNATCH                               = 49
   306  	EUSERS                                = 87
   307  	EWOULDBLOCK                           = 11
   308  	EXDEV                                 = 18
   309  	EXFULL                                = 54
   310  	EXIT_FAILURE                          = 1
   311  	EXIT_SUCCESS                          = 0
   312  	EastGravity                           = 6
   313  	EnableAccess                          = 1
   314  	EnterNotify                           = 7
   315  	EnterWindowMask                       = 16
   316  	EvenOddRule                           = 0
   317  	Expose                                = 12
   318  	ExposureMask                          = 32768
   319  	FARCSPERBATCH                         = 256
   320  	FD_SETSIZE                            = 1024
   321  	FRCTSPERBATCH                         = 256
   322  	FUNCPROTO                             = 15
   323  	False                                 = 0
   324  	FamilyChaos                           = 2
   325  	FamilyDECnet                          = 1
   326  	FamilyInternet                        = 0
   327  	FamilyInternet6                       = 6
   328  	FamilyServerInterpreted               = 5
   329  	FillOpaqueStippled                    = 3
   330  	FillSolid                             = 0
   331  	FillStippled                          = 2
   332  	FillTiled                             = 1
   333  	FilterAliasNone                       = -1
   334  	FilterBest                            = "best"
   335  	FilterBilinear                        = "bilinear"
   336  	FilterConvolution                     = "convolution"
   337  	FilterFast                            = "fast"
   338  	FilterGood                            = "good"
   339  	FilterNearest                         = "nearest"
   340  	FirstExtensionError                   = 128
   341  	FocusChangeMask                       = 2097152
   342  	FocusIn                               = 9
   343  	FocusOut                              = 10
   344  	FontChange                            = 255
   345  	FontLeftToRight                       = 0
   346  	FontRightToLeft                       = 1
   347  	ForgetGravity                         = 0
   348  	GCArcMode                             = 4194304
   349  	GCBackground                          = 8
   350  	GCCapStyle                            = 64
   351  	GCClipMask                            = 524288
   352  	GCClipXOrigin                         = 131072
   353  	GCClipYOrigin                         = 262144
   354  	GCDashList                            = 2097152
   355  	GCDashOffset                          = 1048576
   356  	GCFillRule                            = 512
   357  	GCFillStyle                           = 256
   358  	GCFont                                = 16384
   359  	GCForeground                          = 4
   360  	GCFunction                            = 1
   361  	GCGraphicsExposures                   = 65536
   362  	GCJoinStyle                           = 128
   363  	GCLastBit                             = 22
   364  	GCLineStyle                           = 32
   365  	GCLineWidth                           = 16
   366  	GCPlaneMask                           = 2
   367  	GCStipple                             = 2048
   368  	GCSubwindowMode                       = 32768
   369  	GCTile                                = 1024
   370  	GCTileStipXOrigin                     = 4096
   371  	GCTileStipYOrigin                     = 8192
   372  	GXand                                 = 0x1
   373  	GXandInverted                         = 0x4
   374  	GXandReverse                          = 0x2
   375  	GXclear                               = 0x0
   376  	GXcopy                                = 0x3
   377  	GXcopyInverted                        = 0xc
   378  	GXequiv                               = 0x9
   379  	GXinvert                              = 0xa
   380  	GXnand                                = 0xe
   381  	GXnoop                                = 0x5
   382  	GXnor                                 = 0x8
   383  	GXor                                  = 0x7
   384  	GXorInverted                          = 0xd
   385  	GXorReverse                           = 0xb
   386  	GXset                                 = 0xf
   387  	GXxor                                 = 0x6
   388  	GenericEvent                          = 35
   389  	GrabFrozen                            = 4
   390  	GrabInvalidTime                       = 2
   391  	GrabModeAsync                         = 1
   392  	GrabModeSync                          = 0
   393  	GrabNotViewable                       = 3
   394  	GrabSuccess                           = 0
   395  	GraphicsExpose                        = 13
   396  	GravityNotify                         = 24
   397  	GrayScale                             = 1
   398  	HAVE_CONFIG_H                         = 1
   399  	HAVE_DLFCN_H                          = 1
   400  	HAVE_INTTYPES_H                       = 1
   401  	HAVE_MEMORY_H                         = 1
   402  	HAVE_STDINT_H                         = 1
   403  	HAVE_STDLIB_H                         = 1
   404  	HAVE_STRINGS_H                        = 1
   405  	HAVE_STRING_H                         = 1
   406  	HAVE_SYS_STAT_H                       = 1
   407  	HAVE_SYS_TYPES_H                      = 1
   408  	HAVE_UNISTD_H                         = 1
   409  	HeightValue                           = 0x0008
   410  	HostDelete                            = 1
   411  	HostInsert                            = 0
   412  	INT16_MAX                             = 32767
   413  	INT16_MIN                             = -32768
   414  	INT32_MAX                             = 2147483647
   415  	INT32_MIN                             = -2147483648
   416  	INT64_MAX                             = 9223372036854775807
   417  	INT64_MIN                             = -9223372036854775808
   418  	INT8_MAX                              = 127
   419  	INT8_MIN                              = -128
   420  	INTMAX_MAX                            = 9223372036854775807
   421  	INTMAX_MIN                            = -9223372036854775808
   422  	INTPTR_MAX                            = 9223372036854775807
   423  	INTPTR_MIN                            = -9223372036854775808
   424  	INT_FAST16_MAX                        = 9223372036854775807
   425  	INT_FAST16_MIN                        = -9223372036854775808
   426  	INT_FAST32_MAX                        = 9223372036854775807
   427  	INT_FAST32_MIN                        = -9223372036854775808
   428  	INT_FAST64_MAX                        = 9223372036854775807
   429  	INT_FAST64_MIN                        = -9223372036854775808
   430  	INT_FAST8_MAX                         = 127
   431  	INT_FAST8_MIN                         = -128
   432  	INT_LEAST16_MAX                       = 32767
   433  	INT_LEAST16_MIN                       = -32768
   434  	INT_LEAST32_MAX                       = 2147483647
   435  	INT_LEAST32_MIN                       = -2147483648
   436  	INT_LEAST64_MAX                       = 9223372036854775807
   437  	INT_LEAST64_MIN                       = -9223372036854775808
   438  	INT_LEAST8_MAX                        = 127
   439  	INT_LEAST8_MIN                        = -128
   440  	IconMaskHint                          = 32
   441  	IconPixmapHint                        = 4
   442  	IconPositionHint                      = 16
   443  	IconWindowHint                        = 8
   444  	IconicState                           = 3
   445  	InactiveState                         = 4
   446  	IncludeInferiors                      = 1
   447  	InputFocus                            = 1
   448  	InputHint                             = 1
   449  	InputOnly                             = 2
   450  	InputOutput                           = 1
   451  	IsUnmapped                            = 0
   452  	IsUnviewable                          = 1
   453  	IsViewable                            = 2
   454  	JoinBevel                             = 2
   455  	JoinMiter                             = 0
   456  	JoinRound                             = 1
   457  	KBAutoRepeatMode                      = 128
   458  	KBBellDuration                        = 8
   459  	KBBellPercent                         = 2
   460  	KBBellPitch                           = 4
   461  	KBKey                                 = 64
   462  	KBKeyClickPercent                     = 1
   463  	KBLed                                 = 16
   464  	KBLedMode                             = 32
   465  	KeyPress                              = 2
   466  	KeyPressMask                          = 1
   467  	KeyRelease                            = 3
   468  	KeyReleaseMask                        = 2
   469  	KeymapNotify                          = 11
   470  	KeymapStateMask                       = 16384
   471  	LASTEvent                             = 36
   472  	LITTLE_ENDIAN                         = 1234
   473  	LOCKED                                = 1
   474  	LONG64                                = 0
   475  	LSBFirst                              = 0
   476  	LT_OBJDIR                             = ".libs/"
   477  	LastExtensionError                    = 255
   478  	LeaveNotify                           = 8
   479  	LeaveWindowMask                       = 32
   480  	LedModeOff                            = 0
   481  	LedModeOn                             = 1
   482  	LineDoubleDash                        = 2
   483  	LineOnOffDash                         = 1
   484  	LineSolid                             = 0
   485  	LockMapIndex                          = 1
   486  	LockMask                              = 2
   487  	LowerHighest                          = 1
   488  	MALLOC_0_RETURNS_NULL                 = 1
   489  	MSBFirst                              = 1
   490  	MapNotify                             = 19
   491  	MapRequest                            = 20
   492  	MappingBusy                           = 1
   493  	MappingFailed                         = 2
   494  	MappingKeyboard                       = 1
   495  	MappingModifier                       = 0
   496  	MappingNotify                         = 34
   497  	MappingPointer                        = 2
   498  	MappingSuccess                        = 0
   499  	Mod1MapIndex                          = 3
   500  	Mod1Mask                              = 8
   501  	Mod2MapIndex                          = 4
   502  	Mod2Mask                              = 16
   503  	Mod3MapIndex                          = 5
   504  	Mod3Mask                              = 32
   505  	Mod4MapIndex                          = 6
   506  	Mod4Mask                              = 64
   507  	Mod5MapIndex                          = 7
   508  	Mod5Mask                              = 128
   509  	MotionNotify                          = 6
   510  	NARROWPROTO                           = 0
   511  	NLOCAL                                = 256
   512  	NeedFunctionPrototypes                = 1
   513  	NeedNestedPrototypes                  = 1
   514  	NeedVarargsPrototypes                 = 1
   515  	NeedWidePrototypes                    = 0
   516  	NoEventMask                           = 0
   517  	NoExpose                              = 14
   518  	NoSymbol                              = 0
   519  	NoValue                               = 0x0000
   520  	Nonconvex                             = 1
   521  	None                                  = 0
   522  	NormalState                           = 1
   523  	NorthEastGravity                      = 3
   524  	NorthGravity                          = 2
   525  	NorthWestGravity                      = 1
   526  	NotUseful                             = 0
   527  	NotifyAncestor                        = 0
   528  	NotifyDetailNone                      = 7
   529  	NotifyGrab                            = 1
   530  	NotifyHint                            = 1
   531  	NotifyInferior                        = 2
   532  	NotifyNonlinear                       = 3
   533  	NotifyNonlinearVirtual                = 4
   534  	NotifyNormal                          = 0
   535  	NotifyPointer                         = 5
   536  	NotifyPointerRoot                     = 6
   537  	NotifyUngrab                          = 2
   538  	NotifyVirtual                         = 1
   539  	NotifyWhileGrabbed                    = 3
   540  	Opposite                              = 4
   541  	OwnerGrabButtonMask                   = 16777216
   542  	PACKAGE                               = "libXrender"
   543  	PACKAGE_BUGREPORT                     = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
   544  	PACKAGE_NAME                          = "libXrender"
   545  	PACKAGE_STRING                        = "libXrender 0.9.10"
   546  	PACKAGE_TARNAME                       = "libXrender"
   547  	PACKAGE_URL                           = ""
   548  	PACKAGE_VERSION                       = "0.9.10"
   549  	PACKAGE_VERSION_MAJOR                 = 0
   550  	PACKAGE_VERSION_MINOR                 = 9
   551  	PACKAGE_VERSION_PATCHLEVEL            = 10
   552  	PAllHints                             = 252
   553  	PAspect                               = 128
   554  	PBaseSize                             = 256
   555  	PDP_ENDIAN                            = 3412
   556  	PMaxSize                              = 32
   557  	PMinSize                              = 16
   558  	PPosition                             = 4
   559  	PResizeInc                            = 64
   560  	PSize                                 = 8
   561  	PTRDIFF_MAX                           = 9223372036854775807
   562  	PTRDIFF_MIN                           = -9223372036854775808
   563  	PTSPERBATCH                           = 1024
   564  	PWinGravity                           = 512
   565  	ParentRelative                        = 1
   566  	PictFormatAlpha                       = 512
   567  	PictFormatAlphaMask                   = 1024
   568  	PictFormatBlue                        = 128
   569  	PictFormatBlueMask                    = 256
   570  	PictFormatColormap                    = 2048
   571  	PictFormatDepth                       = 4
   572  	PictFormatGreen                       = 32
   573  	PictFormatGreenMask                   = 64
   574  	PictFormatID                          = 1
   575  	PictFormatRed                         = 8
   576  	PictFormatRedMask                     = 16
   577  	PictFormatType                        = 2
   578  	PictOpAdd                             = 12
   579  	PictOpAtop                            = 9
   580  	PictOpAtopReverse                     = 10
   581  	PictOpBlendMaximum                    = 0x3e
   582  	PictOpBlendMinimum                    = 0x30
   583  	PictOpClear                           = 0
   584  	PictOpColorBurn                       = 0x36
   585  	PictOpColorDodge                      = 0x35
   586  	PictOpConjointAtop                    = 0x29
   587  	PictOpConjointAtopReverse             = 0x2a
   588  	PictOpConjointClear                   = 0x20
   589  	PictOpConjointDst                     = 0x22
   590  	PictOpConjointIn                      = 0x25
   591  	PictOpConjointInReverse               = 0x26
   592  	PictOpConjointMaximum                 = 0x2b
   593  	PictOpConjointMinimum                 = 0x20
   594  	PictOpConjointOut                     = 0x27
   595  	PictOpConjointOutReverse              = 0x28
   596  	PictOpConjointOver                    = 0x23
   597  	PictOpConjointOverReverse             = 0x24
   598  	PictOpConjointSrc                     = 0x21
   599  	PictOpConjointXor                     = 0x2b
   600  	PictOpDarken                          = 0x33
   601  	PictOpDifference                      = 0x39
   602  	PictOpDisjointAtop                    = 0x19
   603  	PictOpDisjointAtopReverse             = 0x1a
   604  	PictOpDisjointClear                   = 0x10
   605  	PictOpDisjointDst                     = 0x12
   606  	PictOpDisjointIn                      = 0x15
   607  	PictOpDisjointInReverse               = 0x16
   608  	PictOpDisjointMaximum                 = 0x1b
   609  	PictOpDisjointMinimum                 = 0x10
   610  	PictOpDisjointOut                     = 0x17
   611  	PictOpDisjointOutReverse              = 0x18
   612  	PictOpDisjointOver                    = 0x13
   613  	PictOpDisjointOverReverse             = 0x14
   614  	PictOpDisjointSrc                     = 0x11
   615  	PictOpDisjointXor                     = 0x1b
   616  	PictOpDst                             = 2
   617  	PictOpExclusion                       = 0x3a
   618  	PictOpHSLColor                        = 0x3d
   619  	PictOpHSLHue                          = 0x3b
   620  	PictOpHSLLuminosity                   = 0x3e
   621  	PictOpHSLSaturation                   = 0x3c
   622  	PictOpHardLight                       = 0x37
   623  	PictOpIn                              = 5
   624  	PictOpInReverse                       = 6
   625  	PictOpLighten                         = 0x34
   626  	PictOpMaximum                         = 13
   627  	PictOpMinimum                         = 0
   628  	PictOpMultiply                        = 0x30
   629  	PictOpOut                             = 7
   630  	PictOpOutReverse                      = 8
   631  	PictOpOver                            = 3
   632  	PictOpOverReverse                     = 4
   633  	PictOpOverlay                         = 0x32
   634  	PictOpSaturate                        = 13
   635  	PictOpScreen                          = 0x31
   636  	PictOpSoftLight                       = 0x38
   637  	PictOpSrc                             = 1
   638  	PictOpXor                             = 11
   639  	PictStandardA1                        = 4
   640  	PictStandardA4                        = 3
   641  	PictStandardA8                        = 2
   642  	PictStandardARGB32                    = 0
   643  	PictStandardNUM                       = 5
   644  	PictStandardRGB24                     = 1
   645  	PictTypeDirect                        = 1
   646  	PictTypeIndexed                       = 0
   647  	PlaceOnBottom                         = 1
   648  	PlaceOnTop                            = 0
   649  	PointerMotionHintMask                 = 128
   650  	PointerMotionMask                     = 64
   651  	PointerRoot                           = 1
   652  	PointerWindow                         = 0
   653  	PolyEdgeSharp                         = 0
   654  	PolyEdgeSmooth                        = 1
   655  	PolyModeImprecise                     = 1
   656  	PolyModePrecise                       = 0
   657  	PreferBlanking                        = 1
   658  	PropModeAppend                        = 2
   659  	PropModePrepend                       = 1
   660  	PropModeReplace                       = 0
   661  	PropertyChangeMask                    = 4194304
   662  	PropertyDelete                        = 1
   663  	PropertyNewValue                      = 0
   664  	PropertyNotify                        = 28
   665  	PseudoColor                           = 3
   666  	QueuedAfterFlush                      = 2
   667  	QueuedAfterReading                    = 1
   668  	QueuedAlready                         = 0
   669  	RAND_MAX                              = 2147483647
   670  	RENDER_MAJOR                          = 0
   671  	RENDER_MINOR                          = 11
   672  	RENDER_NAME                           = "RENDER"
   673  	RaiseLowest                           = 0
   674  	RectangleIn                           = 1
   675  	RectangleOut                          = 0
   676  	RectanglePart                         = 2
   677  	RenderNumberErrors                    = 5
   678  	RenderNumberRequests                  = 37
   679  	ReparentNotify                        = 21
   680  	RepeatNone                            = 0
   681  	RepeatNormal                          = 1
   682  	RepeatPad                             = 2
   683  	RepeatReflect                         = 3
   684  	ReplayKeyboard                        = 5
   685  	ReplayPointer                         = 2
   686  	ResizeRedirectMask                    = 262144
   687  	ResizeRequest                         = 25
   688  	RetainPermanent                       = 1
   689  	RetainTemporary                       = 2
   690  	RevertToParent                        = 2
   691  	SIG_ATOMIC_MAX                        = 2147483647
   692  	SIG_ATOMIC_MIN                        = -2147483648
   693  	SIZE_MAX                              = 18446744073709551615
   694  	STDC_HEADERS                          = 1
   695  	ScreenSaverActive                     = 1
   696  	ScreenSaverReset                      = 0
   697  	SelectionClear                        = 29
   698  	SelectionNotify                       = 31
   699  	SelectionRequest                      = 30
   700  	SetModeDelete                         = 1
   701  	SetModeInsert                         = 0
   702  	ShiftMapIndex                         = 0
   703  	ShiftMask                             = 1
   704  	SouthEastGravity                      = 9
   705  	SouthGravity                          = 8
   706  	SouthWestGravity                      = 7
   707  	StateHint                             = 2
   708  	StaticColor                           = 2
   709  	StaticGravity                         = 10
   710  	StaticGray                            = 0
   711  	StippleShape                          = 2
   712  	StructureNotifyMask                   = 131072
   713  	SubPixelHorizontalBGR                 = 2
   714  	SubPixelHorizontalRGB                 = 1
   715  	SubPixelNone                          = 5
   716  	SubPixelUnknown                       = 0
   717  	SubPixelVerticalBGR                   = 4
   718  	SubPixelVerticalRGB                   = 3
   719  	SubstructureNotifyMask                = 524288
   720  	SubstructureRedirectMask              = 1048576
   721  	Success                               = 0
   722  	SyncBoth                              = 7
   723  	SyncKeyboard                          = 4
   724  	SyncPointer                           = 1
   725  	TileShape                             = 1
   726  	TopIf                                 = 2
   727  	True                                  = 1
   728  	TrueColor                             = 4
   729  	UINT16_MAX                            = 65535
   730  	UINT32_MAX                            = 4294967295
   731  	UINT64_MAX                            = 18446744073709551615
   732  	UINT8_MAX                             = 255
   733  	UINTMAX_MAX                           = 18446744073709551615
   734  	UINTPTR_MAX                           = 18446744073709551615
   735  	UINT_FAST16_MAX                       = 18446744073709551615
   736  	UINT_FAST32_MAX                       = 18446744073709551615
   737  	UINT_FAST64_MAX                       = 18446744073709551615
   738  	UINT_FAST8_MAX                        = 255
   739  	UINT_LEAST16_MAX                      = 65535
   740  	UINT_LEAST32_MAX                      = 4294967295
   741  	UINT_LEAST64_MAX                      = 18446744073709551615
   742  	UINT_LEAST8_MAX                       = 255
   743  	UNLOCKED                              = 0
   744  	USPosition                            = 1
   745  	USSize                                = 2
   746  	UnmapGravity                          = 0
   747  	UnmapNotify                           = 18
   748  	Unsorted                              = 0
   749  	VERSION                               = "0.9.10"
   750  	VisibilityChangeMask                  = 65536
   751  	VisibilityFullyObscured               = 2
   752  	VisibilityNotify                      = 15
   753  	VisibilityPartiallyObscured           = 1
   754  	VisibilityUnobscured                  = 0
   755  	VisualAllMask                         = 0x1FF
   756  	VisualBitsPerRGBMask                  = 0x100
   757  	VisualBlueMaskMask                    = 0x40
   758  	VisualClassMask                       = 0x8
   759  	VisualColormapSizeMask                = 0x80
   760  	VisualDepthMask                       = 0x4
   761  	VisualGreenMaskMask                   = 0x20
   762  	VisualIDMask                          = 0x1
   763  	VisualNoMask                          = 0x0
   764  	VisualRedMaskMask                     = 0x10
   765  	VisualScreenMask                      = 0x2
   766  	WCHAR_MAX                             = 4294967295
   767  	WCHAR_MIN                             = 0
   768  	WCONTINUED                            = 8
   769  	WEXITED                               = 4
   770  	WINT_MAX                              = 4294967295
   771  	WINT_MIN                              = 0
   772  	WLNSPERBATCH                          = 50
   773  	WNOHANG                               = 1
   774  	WNOWAIT                               = 0x01000000
   775  	WORD64ALIGN                           = 0
   776  	WRCTSPERBATCH                         = 10
   777  	WSTOPPED                              = 2
   778  	WUNTRACED                             = 2
   779  	WestGravity                           = 4
   780  	WhenMapped                            = 1
   781  	WidthValue                            = 0x0004
   782  	WindingRule                           = 1
   783  	WindowGroupHint                       = 64
   784  	WithdrawnState                        = 0
   785  	XBufferOverflow                       = -1
   786  	XCNOENT                               = 2
   787  	XCNOMEM                               = 1
   788  	XCSUCCESS                             = 0
   789  	XConverterNotFound                    = -3
   790  	XIMHighlight                          = 4
   791  	XIMHotKeyStateOFF                     = 2
   792  	XIMHotKeyStateON                      = 1
   793  	XIMInitialState                       = 1
   794  	XIMPreeditArea                        = 0x0001
   795  	XIMPreeditCallbacks                   = 0x0002
   796  	XIMPreeditDisable                     = 2
   797  	XIMPreeditEnable                      = 1
   798  	XIMPreeditNone                        = 0x0010
   799  	XIMPreeditNothing                     = 0x0008
   800  	XIMPreeditPosition                    = 0x0004
   801  	XIMPreeditUnKnown                     = 0
   802  	XIMPreserveState                      = 2
   803  	XIMPrimary                            = 32
   804  	XIMReverse                            = 1
   805  	XIMSecondary                          = 64
   806  	XIMStatusArea                         = 0x0100
   807  	XIMStatusCallbacks                    = 0x0200
   808  	XIMStatusNone                         = 0x0800
   809  	XIMStatusNothing                      = 0x0400
   810  	XIMStringConversionBottomEdge         = 8
   811  	XIMStringConversionBuffer             = 1
   812  	XIMStringConversionChar               = 4
   813  	XIMStringConversionConcealed          = 16
   814  	XIMStringConversionLeftEdge           = 1
   815  	XIMStringConversionLine               = 2
   816  	XIMStringConversionRetrieval          = 2
   817  	XIMStringConversionRightEdge          = 2
   818  	XIMStringConversionSubstitution       = 1
   819  	XIMStringConversionTopEdge            = 4
   820  	XIMStringConversionWord               = 3
   821  	XIMStringConversionWrapped            = 32
   822  	XIMTertiary                           = 128
   823  	XIMUnderline                          = 2
   824  	XIMVisibleToBackword                  = 512
   825  	XIMVisibleToCenter                    = 1024
   826  	XIMVisibleToForward                   = 256
   827  	XK_0                                  = 0x0030
   828  	XK_1                                  = 0x0031
   829  	XK_2                                  = 0x0032
   830  	XK_3                                  = 0x0033
   831  	XK_4                                  = 0x0034
   832  	XK_5                                  = 0x0035
   833  	XK_6                                  = 0x0036
   834  	XK_7                                  = 0x0037
   835  	XK_8                                  = 0x0038
   836  	XK_9                                  = 0x0039
   837  	XK_A                                  = 0x0041
   838  	XK_AE                                 = 0x00c6
   839  	XK_ARABIC                             = 0
   840  	XK_ARMENIAN                           = 0
   841  	XK_Aacute                             = 0x00c1
   842  	XK_Abelowdot                          = 0x1001ea0
   843  	XK_Abreve                             = 0x01c3
   844  	XK_Abreveacute                        = 0x1001eae
   845  	XK_Abrevebelowdot                     = 0x1001eb6
   846  	XK_Abrevegrave                        = 0x1001eb0
   847  	XK_Abrevehook                         = 0x1001eb2
   848  	XK_Abrevetilde                        = 0x1001eb4
   849  	XK_AccessX_Enable                     = 0xfe70
   850  	XK_AccessX_Feedback_Enable            = 0xfe71
   851  	XK_Acircumflex                        = 0x00c2
   852  	XK_Acircumflexacute                   = 0x1001ea4
   853  	XK_Acircumflexbelowdot                = 0x1001eac
   854  	XK_Acircumflexgrave                   = 0x1001ea6
   855  	XK_Acircumflexhook                    = 0x1001ea8
   856  	XK_Acircumflextilde                   = 0x1001eaa
   857  	XK_Adiaeresis                         = 0x00c4
   858  	XK_Agrave                             = 0x00c0
   859  	XK_Ahook                              = 0x1001ea2
   860  	XK_Alt_L                              = 0xffe9
   861  	XK_Alt_R                              = 0xffea
   862  	XK_Amacron                            = 0x03c0
   863  	XK_Aogonek                            = 0x01a1
   864  	XK_Arabic_0                           = 0x1000660
   865  	XK_Arabic_1                           = 0x1000661
   866  	XK_Arabic_2                           = 0x1000662
   867  	XK_Arabic_3                           = 0x1000663
   868  	XK_Arabic_4                           = 0x1000664
   869  	XK_Arabic_5                           = 0x1000665
   870  	XK_Arabic_6                           = 0x1000666
   871  	XK_Arabic_7                           = 0x1000667
   872  	XK_Arabic_8                           = 0x1000668
   873  	XK_Arabic_9                           = 0x1000669
   874  	XK_Arabic_ain                         = 0x05d9
   875  	XK_Arabic_alef                        = 0x05c7
   876  	XK_Arabic_alefmaksura                 = 0x05e9
   877  	XK_Arabic_beh                         = 0x05c8
   878  	XK_Arabic_comma                       = 0x05ac
   879  	XK_Arabic_dad                         = 0x05d6
   880  	XK_Arabic_dal                         = 0x05cf
   881  	XK_Arabic_damma                       = 0x05ef
   882  	XK_Arabic_dammatan                    = 0x05ec
   883  	XK_Arabic_ddal                        = 0x1000688
   884  	XK_Arabic_farsi_yeh                   = 0x10006cc
   885  	XK_Arabic_fatha                       = 0x05ee
   886  	XK_Arabic_fathatan                    = 0x05eb
   887  	XK_Arabic_feh                         = 0x05e1
   888  	XK_Arabic_fullstop                    = 0x10006d4
   889  	XK_Arabic_gaf                         = 0x10006af
   890  	XK_Arabic_ghain                       = 0x05da
   891  	XK_Arabic_ha                          = 0x05e7
   892  	XK_Arabic_hah                         = 0x05cd
   893  	XK_Arabic_hamza                       = 0x05c1
   894  	XK_Arabic_hamza_above                 = 0x1000654
   895  	XK_Arabic_hamza_below                 = 0x1000655
   896  	XK_Arabic_hamzaonalef                 = 0x05c3
   897  	XK_Arabic_hamzaonwaw                  = 0x05c4
   898  	XK_Arabic_hamzaonyeh                  = 0x05c6
   899  	XK_Arabic_hamzaunderalef              = 0x05c5
   900  	XK_Arabic_heh                         = 0x05e7
   901  	XK_Arabic_heh_doachashmee             = 0x10006be
   902  	XK_Arabic_heh_goal                    = 0x10006c1
   903  	XK_Arabic_jeem                        = 0x05cc
   904  	XK_Arabic_jeh                         = 0x1000698
   905  	XK_Arabic_kaf                         = 0x05e3
   906  	XK_Arabic_kasra                       = 0x05f0
   907  	XK_Arabic_kasratan                    = 0x05ed
   908  	XK_Arabic_keheh                       = 0x10006a9
   909  	XK_Arabic_khah                        = 0x05ce
   910  	XK_Arabic_lam                         = 0x05e4
   911  	XK_Arabic_madda_above                 = 0x1000653
   912  	XK_Arabic_maddaonalef                 = 0x05c2
   913  	XK_Arabic_meem                        = 0x05e5
   914  	XK_Arabic_noon                        = 0x05e6
   915  	XK_Arabic_noon_ghunna                 = 0x10006ba
   916  	XK_Arabic_peh                         = 0x100067e
   917  	XK_Arabic_percent                     = 0x100066a
   918  	XK_Arabic_qaf                         = 0x05e2
   919  	XK_Arabic_question_mark               = 0x05bf
   920  	XK_Arabic_ra                          = 0x05d1
   921  	XK_Arabic_rreh                        = 0x1000691
   922  	XK_Arabic_sad                         = 0x05d5
   923  	XK_Arabic_seen                        = 0x05d3
   924  	XK_Arabic_semicolon                   = 0x05bb
   925  	XK_Arabic_shadda                      = 0x05f1
   926  	XK_Arabic_sheen                       = 0x05d4
   927  	XK_Arabic_sukun                       = 0x05f2
   928  	XK_Arabic_superscript_alef            = 0x1000670
   929  	XK_Arabic_switch                      = 0xff7e
   930  	XK_Arabic_tah                         = 0x05d7
   931  	XK_Arabic_tatweel                     = 0x05e0
   932  	XK_Arabic_tcheh                       = 0x1000686
   933  	XK_Arabic_teh                         = 0x05ca
   934  	XK_Arabic_tehmarbuta                  = 0x05c9
   935  	XK_Arabic_thal                        = 0x05d0
   936  	XK_Arabic_theh                        = 0x05cb
   937  	XK_Arabic_tteh                        = 0x1000679
   938  	XK_Arabic_veh                         = 0x10006a4
   939  	XK_Arabic_waw                         = 0x05e8
   940  	XK_Arabic_yeh                         = 0x05ea
   941  	XK_Arabic_yeh_baree                   = 0x10006d2
   942  	XK_Arabic_zah                         = 0x05d8
   943  	XK_Arabic_zain                        = 0x05d2
   944  	XK_Aring                              = 0x00c5
   945  	XK_Armenian_AT                        = 0x1000538
   946  	XK_Armenian_AYB                       = 0x1000531
   947  	XK_Armenian_BEN                       = 0x1000532
   948  	XK_Armenian_CHA                       = 0x1000549
   949  	XK_Armenian_DA                        = 0x1000534
   950  	XK_Armenian_DZA                       = 0x1000541
   951  	XK_Armenian_E                         = 0x1000537
   952  	XK_Armenian_FE                        = 0x1000556
   953  	XK_Armenian_GHAT                      = 0x1000542
   954  	XK_Armenian_GIM                       = 0x1000533
   955  	XK_Armenian_HI                        = 0x1000545
   956  	XK_Armenian_HO                        = 0x1000540
   957  	XK_Armenian_INI                       = 0x100053b
   958  	XK_Armenian_JE                        = 0x100054b
   959  	XK_Armenian_KE                        = 0x1000554
   960  	XK_Armenian_KEN                       = 0x100053f
   961  	XK_Armenian_KHE                       = 0x100053d
   962  	XK_Armenian_LYUN                      = 0x100053c
   963  	XK_Armenian_MEN                       = 0x1000544
   964  	XK_Armenian_NU                        = 0x1000546
   965  	XK_Armenian_O                         = 0x1000555
   966  	XK_Armenian_PE                        = 0x100054a
   967  	XK_Armenian_PYUR                      = 0x1000553
   968  	XK_Armenian_RA                        = 0x100054c
   969  	XK_Armenian_RE                        = 0x1000550
   970  	XK_Armenian_SE                        = 0x100054d
   971  	XK_Armenian_SHA                       = 0x1000547
   972  	XK_Armenian_TCHE                      = 0x1000543
   973  	XK_Armenian_TO                        = 0x1000539
   974  	XK_Armenian_TSA                       = 0x100053e
   975  	XK_Armenian_TSO                       = 0x1000551
   976  	XK_Armenian_TYUN                      = 0x100054f
   977  	XK_Armenian_VEV                       = 0x100054e
   978  	XK_Armenian_VO                        = 0x1000548
   979  	XK_Armenian_VYUN                      = 0x1000552
   980  	XK_Armenian_YECH                      = 0x1000535
   981  	XK_Armenian_ZA                        = 0x1000536
   982  	XK_Armenian_ZHE                       = 0x100053a
   983  	XK_Armenian_accent                    = 0x100055b
   984  	XK_Armenian_amanak                    = 0x100055c
   985  	XK_Armenian_apostrophe                = 0x100055a
   986  	XK_Armenian_at                        = 0x1000568
   987  	XK_Armenian_ayb                       = 0x1000561
   988  	XK_Armenian_ben                       = 0x1000562
   989  	XK_Armenian_but                       = 0x100055d
   990  	XK_Armenian_cha                       = 0x1000579
   991  	XK_Armenian_da                        = 0x1000564
   992  	XK_Armenian_dza                       = 0x1000571
   993  	XK_Armenian_e                         = 0x1000567
   994  	XK_Armenian_exclam                    = 0x100055c
   995  	XK_Armenian_fe                        = 0x1000586
   996  	XK_Armenian_full_stop                 = 0x1000589
   997  	XK_Armenian_ghat                      = 0x1000572
   998  	XK_Armenian_gim                       = 0x1000563
   999  	XK_Armenian_hi                        = 0x1000575
  1000  	XK_Armenian_ho                        = 0x1000570
  1001  	XK_Armenian_hyphen                    = 0x100058a
  1002  	XK_Armenian_ini                       = 0x100056b
  1003  	XK_Armenian_je                        = 0x100057b
  1004  	XK_Armenian_ke                        = 0x1000584
  1005  	XK_Armenian_ken                       = 0x100056f
  1006  	XK_Armenian_khe                       = 0x100056d
  1007  	XK_Armenian_ligature_ew               = 0x1000587
  1008  	XK_Armenian_lyun                      = 0x100056c
  1009  	XK_Armenian_men                       = 0x1000574
  1010  	XK_Armenian_nu                        = 0x1000576
  1011  	XK_Armenian_o                         = 0x1000585
  1012  	XK_Armenian_paruyk                    = 0x100055e
  1013  	XK_Armenian_pe                        = 0x100057a
  1014  	XK_Armenian_pyur                      = 0x1000583
  1015  	XK_Armenian_question                  = 0x100055e
  1016  	XK_Armenian_ra                        = 0x100057c
  1017  	XK_Armenian_re                        = 0x1000580
  1018  	XK_Armenian_se                        = 0x100057d
  1019  	XK_Armenian_separation_mark           = 0x100055d
  1020  	XK_Armenian_sha                       = 0x1000577
  1021  	XK_Armenian_shesht                    = 0x100055b
  1022  	XK_Armenian_tche                      = 0x1000573
  1023  	XK_Armenian_to                        = 0x1000569
  1024  	XK_Armenian_tsa                       = 0x100056e
  1025  	XK_Armenian_tso                       = 0x1000581
  1026  	XK_Armenian_tyun                      = 0x100057f
  1027  	XK_Armenian_verjaket                  = 0x1000589
  1028  	XK_Armenian_vev                       = 0x100057e
  1029  	XK_Armenian_vo                        = 0x1000578
  1030  	XK_Armenian_vyun                      = 0x1000582
  1031  	XK_Armenian_yech                      = 0x1000565
  1032  	XK_Armenian_yentamna                  = 0x100058a
  1033  	XK_Armenian_za                        = 0x1000566
  1034  	XK_Armenian_zhe                       = 0x100056a
  1035  	XK_Atilde                             = 0x00c3
  1036  	XK_AudibleBell_Enable                 = 0xfe7a
  1037  	XK_B                                  = 0x0042
  1038  	XK_BRAILLE                            = 0
  1039  	XK_Babovedot                          = 0x1001e02
  1040  	XK_BackSpace                          = 0xff08
  1041  	XK_Begin                              = 0xff58
  1042  	XK_BounceKeys_Enable                  = 0xfe74
  1043  	XK_Break                              = 0xff6b
  1044  	XK_Byelorussian_SHORTU                = 0x06be
  1045  	XK_Byelorussian_shortu                = 0x06ae
  1046  	XK_C                                  = 0x0043
  1047  	XK_CAUCASUS                           = 0
  1048  	XK_CH                                 = 0xfea2
  1049  	XK_CURRENCY                           = 0
  1050  	XK_CYRILLIC                           = 0
  1051  	XK_C_H                                = 0xfea5
  1052  	XK_C_h                                = 0xfea4
  1053  	XK_Cabovedot                          = 0x02c5
  1054  	XK_Cacute                             = 0x01c6
  1055  	XK_Cancel                             = 0xff69
  1056  	XK_Caps_Lock                          = 0xffe5
  1057  	XK_Ccaron                             = 0x01c8
  1058  	XK_Ccedilla                           = 0x00c7
  1059  	XK_Ccircumflex                        = 0x02c6
  1060  	XK_Ch                                 = 0xfea1
  1061  	XK_Clear                              = 0xff0b
  1062  	XK_Codeinput                          = 0xff37
  1063  	XK_ColonSign                          = 0x10020a1
  1064  	XK_Control_L                          = 0xffe3
  1065  	XK_Control_R                          = 0xffe4
  1066  	XK_CruzeiroSign                       = 0x10020a2
  1067  	XK_Cyrillic_A                         = 0x06e1
  1068  	XK_Cyrillic_BE                        = 0x06e2
  1069  	XK_Cyrillic_CHE                       = 0x06fe
  1070  	XK_Cyrillic_CHE_descender             = 0x10004b6
  1071  	XK_Cyrillic_CHE_vertstroke            = 0x10004b8
  1072  	XK_Cyrillic_DE                        = 0x06e4
  1073  	XK_Cyrillic_DZHE                      = 0x06bf
  1074  	XK_Cyrillic_E                         = 0x06fc
  1075  	XK_Cyrillic_EF                        = 0x06e6
  1076  	XK_Cyrillic_EL                        = 0x06ec
  1077  	XK_Cyrillic_EM                        = 0x06ed
  1078  	XK_Cyrillic_EN                        = 0x06ee
  1079  	XK_Cyrillic_EN_descender              = 0x10004a2
  1080  	XK_Cyrillic_ER                        = 0x06f2
  1081  	XK_Cyrillic_ES                        = 0x06f3
  1082  	XK_Cyrillic_GHE                       = 0x06e7
  1083  	XK_Cyrillic_GHE_bar                   = 0x1000492
  1084  	XK_Cyrillic_HA                        = 0x06e8
  1085  	XK_Cyrillic_HARDSIGN                  = 0x06ff
  1086  	XK_Cyrillic_HA_descender              = 0x10004b2
  1087  	XK_Cyrillic_I                         = 0x06e9
  1088  	XK_Cyrillic_IE                        = 0x06e5
  1089  	XK_Cyrillic_IO                        = 0x06b3
  1090  	XK_Cyrillic_I_macron                  = 0x10004e2
  1091  	XK_Cyrillic_JE                        = 0x06b8
  1092  	XK_Cyrillic_KA                        = 0x06eb
  1093  	XK_Cyrillic_KA_descender              = 0x100049a
  1094  	XK_Cyrillic_KA_vertstroke             = 0x100049c
  1095  	XK_Cyrillic_LJE                       = 0x06b9
  1096  	XK_Cyrillic_NJE                       = 0x06ba
  1097  	XK_Cyrillic_O                         = 0x06ef
  1098  	XK_Cyrillic_O_bar                     = 0x10004e8
  1099  	XK_Cyrillic_PE                        = 0x06f0
  1100  	XK_Cyrillic_SCHWA                     = 0x10004d8
  1101  	XK_Cyrillic_SHA                       = 0x06fb
  1102  	XK_Cyrillic_SHCHA                     = 0x06fd
  1103  	XK_Cyrillic_SHHA                      = 0x10004ba
  1104  	XK_Cyrillic_SHORTI                    = 0x06ea
  1105  	XK_Cyrillic_SOFTSIGN                  = 0x06f8
  1106  	XK_Cyrillic_TE                        = 0x06f4
  1107  	XK_Cyrillic_TSE                       = 0x06e3
  1108  	XK_Cyrillic_U                         = 0x06f5
  1109  	XK_Cyrillic_U_macron                  = 0x10004ee
  1110  	XK_Cyrillic_U_straight                = 0x10004ae
  1111  	XK_Cyrillic_U_straight_bar            = 0x10004b0
  1112  	XK_Cyrillic_VE                        = 0x06f7
  1113  	XK_Cyrillic_YA                        = 0x06f1
  1114  	XK_Cyrillic_YERU                      = 0x06f9
  1115  	XK_Cyrillic_YU                        = 0x06e0
  1116  	XK_Cyrillic_ZE                        = 0x06fa
  1117  	XK_Cyrillic_ZHE                       = 0x06f6
  1118  	XK_Cyrillic_ZHE_descender             = 0x1000496
  1119  	XK_Cyrillic_a                         = 0x06c1
  1120  	XK_Cyrillic_be                        = 0x06c2
  1121  	XK_Cyrillic_che                       = 0x06de
  1122  	XK_Cyrillic_che_descender             = 0x10004b7
  1123  	XK_Cyrillic_che_vertstroke            = 0x10004b9
  1124  	XK_Cyrillic_de                        = 0x06c4
  1125  	XK_Cyrillic_dzhe                      = 0x06af
  1126  	XK_Cyrillic_e                         = 0x06dc
  1127  	XK_Cyrillic_ef                        = 0x06c6
  1128  	XK_Cyrillic_el                        = 0x06cc
  1129  	XK_Cyrillic_em                        = 0x06cd
  1130  	XK_Cyrillic_en                        = 0x06ce
  1131  	XK_Cyrillic_en_descender              = 0x10004a3
  1132  	XK_Cyrillic_er                        = 0x06d2
  1133  	XK_Cyrillic_es                        = 0x06d3
  1134  	XK_Cyrillic_ghe                       = 0x06c7
  1135  	XK_Cyrillic_ghe_bar                   = 0x1000493
  1136  	XK_Cyrillic_ha                        = 0x06c8
  1137  	XK_Cyrillic_ha_descender              = 0x10004b3
  1138  	XK_Cyrillic_hardsign                  = 0x06df
  1139  	XK_Cyrillic_i                         = 0x06c9
  1140  	XK_Cyrillic_i_macron                  = 0x10004e3
  1141  	XK_Cyrillic_ie                        = 0x06c5
  1142  	XK_Cyrillic_io                        = 0x06a3
  1143  	XK_Cyrillic_je                        = 0x06a8
  1144  	XK_Cyrillic_ka                        = 0x06cb
  1145  	XK_Cyrillic_ka_descender              = 0x100049b
  1146  	XK_Cyrillic_ka_vertstroke             = 0x100049d
  1147  	XK_Cyrillic_lje                       = 0x06a9
  1148  	XK_Cyrillic_nje                       = 0x06aa
  1149  	XK_Cyrillic_o                         = 0x06cf
  1150  	XK_Cyrillic_o_bar                     = 0x10004e9
  1151  	XK_Cyrillic_pe                        = 0x06d0
  1152  	XK_Cyrillic_schwa                     = 0x10004d9
  1153  	XK_Cyrillic_sha                       = 0x06db
  1154  	XK_Cyrillic_shcha                     = 0x06dd
  1155  	XK_Cyrillic_shha                      = 0x10004bb
  1156  	XK_Cyrillic_shorti                    = 0x06ca
  1157  	XK_Cyrillic_softsign                  = 0x06d8
  1158  	XK_Cyrillic_te                        = 0x06d4
  1159  	XK_Cyrillic_tse                       = 0x06c3
  1160  	XK_Cyrillic_u                         = 0x06d5
  1161  	XK_Cyrillic_u_macron                  = 0x10004ef
  1162  	XK_Cyrillic_u_straight                = 0x10004af
  1163  	XK_Cyrillic_u_straight_bar            = 0x10004b1
  1164  	XK_Cyrillic_ve                        = 0x06d7
  1165  	XK_Cyrillic_ya                        = 0x06d1
  1166  	XK_Cyrillic_yeru                      = 0x06d9
  1167  	XK_Cyrillic_yu                        = 0x06c0
  1168  	XK_Cyrillic_ze                        = 0x06da
  1169  	XK_Cyrillic_zhe                       = 0x06d6
  1170  	XK_Cyrillic_zhe_descender             = 0x1000497
  1171  	XK_D                                  = 0x0044
  1172  	XK_Dabovedot                          = 0x1001e0a
  1173  	XK_Dcaron                             = 0x01cf
  1174  	XK_Delete                             = 0xffff
  1175  	XK_DongSign                           = 0x10020ab
  1176  	XK_Down                               = 0xff54
  1177  	XK_Dstroke                            = 0x01d0
  1178  	XK_E                                  = 0x0045
  1179  	XK_ENG                                = 0x03bd
  1180  	XK_ETH                                = 0x00d0
  1181  	XK_EZH                                = 0x10001b7
  1182  	XK_Eabovedot                          = 0x03cc
  1183  	XK_Eacute                             = 0x00c9
  1184  	XK_Ebelowdot                          = 0x1001eb8
  1185  	XK_Ecaron                             = 0x01cc
  1186  	XK_Ecircumflex                        = 0x00ca
  1187  	XK_Ecircumflexacute                   = 0x1001ebe
  1188  	XK_Ecircumflexbelowdot                = 0x1001ec6
  1189  	XK_Ecircumflexgrave                   = 0x1001ec0
  1190  	XK_Ecircumflexhook                    = 0x1001ec2
  1191  	XK_Ecircumflextilde                   = 0x1001ec4
  1192  	XK_EcuSign                            = 0x10020a0
  1193  	XK_Ediaeresis                         = 0x00cb
  1194  	XK_Egrave                             = 0x00c8
  1195  	XK_Ehook                              = 0x1001eba
  1196  	XK_Eisu_Shift                         = 0xff2f
  1197  	XK_Eisu_toggle                        = 0xff30
  1198  	XK_Emacron                            = 0x03aa
  1199  	XK_End                                = 0xff57
  1200  	XK_Eogonek                            = 0x01ca
  1201  	XK_Escape                             = 0xff1b
  1202  	XK_Eth                                = 0x00d0
  1203  	XK_Etilde                             = 0x1001ebc
  1204  	XK_EuroSign                           = 0x20ac
  1205  	XK_Execute                            = 0xff62
  1206  	XK_F                                  = 0x0046
  1207  	XK_F1                                 = 0xffbe
  1208  	XK_F10                                = 0xffc7
  1209  	XK_F11                                = 0xffc8
  1210  	XK_F12                                = 0xffc9
  1211  	XK_F13                                = 0xffca
  1212  	XK_F14                                = 0xffcb
  1213  	XK_F15                                = 0xffcc
  1214  	XK_F16                                = 0xffcd
  1215  	XK_F17                                = 0xffce
  1216  	XK_F18                                = 0xffcf
  1217  	XK_F19                                = 0xffd0
  1218  	XK_F2                                 = 0xffbf
  1219  	XK_F20                                = 0xffd1
  1220  	XK_F21                                = 0xffd2
  1221  	XK_F22                                = 0xffd3
  1222  	XK_F23                                = 0xffd4
  1223  	XK_F24                                = 0xffd5
  1224  	XK_F25                                = 0xffd6
  1225  	XK_F26                                = 0xffd7
  1226  	XK_F27                                = 0xffd8
  1227  	XK_F28                                = 0xffd9
  1228  	XK_F29                                = 0xffda
  1229  	XK_F3                                 = 0xffc0
  1230  	XK_F30                                = 0xffdb
  1231  	XK_F31                                = 0xffdc
  1232  	XK_F32                                = 0xffdd
  1233  	XK_F33                                = 0xffde
  1234  	XK_F34                                = 0xffdf
  1235  	XK_F35                                = 0xffe0
  1236  	XK_F4                                 = 0xffc1
  1237  	XK_F5                                 = 0xffc2
  1238  	XK_F6                                 = 0xffc3
  1239  	XK_F7                                 = 0xffc4
  1240  	XK_F8                                 = 0xffc5
  1241  	XK_F9                                 = 0xffc6
  1242  	XK_FFrancSign                         = 0x10020a3
  1243  	XK_Fabovedot                          = 0x1001e1e
  1244  	XK_Farsi_0                            = 0x10006f0
  1245  	XK_Farsi_1                            = 0x10006f1
  1246  	XK_Farsi_2                            = 0x10006f2
  1247  	XK_Farsi_3                            = 0x10006f3
  1248  	XK_Farsi_4                            = 0x10006f4
  1249  	XK_Farsi_5                            = 0x10006f5
  1250  	XK_Farsi_6                            = 0x10006f6
  1251  	XK_Farsi_7                            = 0x10006f7
  1252  	XK_Farsi_8                            = 0x10006f8
  1253  	XK_Farsi_9                            = 0x10006f9
  1254  	XK_Farsi_yeh                          = 0x10006cc
  1255  	XK_Find                               = 0xff68
  1256  	XK_First_Virtual_Screen               = 0xfed0
  1257  	XK_G                                  = 0x0047
  1258  	XK_GEORGIAN                           = 0
  1259  	XK_GREEK                              = 0
  1260  	XK_Gabovedot                          = 0x02d5
  1261  	XK_Gbreve                             = 0x02ab
  1262  	XK_Gcaron                             = 0x10001e6
  1263  	XK_Gcedilla                           = 0x03ab
  1264  	XK_Gcircumflex                        = 0x02d8
  1265  	XK_Georgian_an                        = 0x10010d0
  1266  	XK_Georgian_ban                       = 0x10010d1
  1267  	XK_Georgian_can                       = 0x10010ea
  1268  	XK_Georgian_char                      = 0x10010ed
  1269  	XK_Georgian_chin                      = 0x10010e9
  1270  	XK_Georgian_cil                       = 0x10010ec
  1271  	XK_Georgian_don                       = 0x10010d3
  1272  	XK_Georgian_en                        = 0x10010d4
  1273  	XK_Georgian_fi                        = 0x10010f6
  1274  	XK_Georgian_gan                       = 0x10010d2
  1275  	XK_Georgian_ghan                      = 0x10010e6
  1276  	XK_Georgian_hae                       = 0x10010f0
  1277  	XK_Georgian_har                       = 0x10010f4
  1278  	XK_Georgian_he                        = 0x10010f1
  1279  	XK_Georgian_hie                       = 0x10010f2
  1280  	XK_Georgian_hoe                       = 0x10010f5
  1281  	XK_Georgian_in                        = 0x10010d8
  1282  	XK_Georgian_jhan                      = 0x10010ef
  1283  	XK_Georgian_jil                       = 0x10010eb
  1284  	XK_Georgian_kan                       = 0x10010d9
  1285  	XK_Georgian_khar                      = 0x10010e5
  1286  	XK_Georgian_las                       = 0x10010da
  1287  	XK_Georgian_man                       = 0x10010db
  1288  	XK_Georgian_nar                       = 0x10010dc
  1289  	XK_Georgian_on                        = 0x10010dd
  1290  	XK_Georgian_par                       = 0x10010de
  1291  	XK_Georgian_phar                      = 0x10010e4
  1292  	XK_Georgian_qar                       = 0x10010e7
  1293  	XK_Georgian_rae                       = 0x10010e0
  1294  	XK_Georgian_san                       = 0x10010e1
  1295  	XK_Georgian_shin                      = 0x10010e8
  1296  	XK_Georgian_tan                       = 0x10010d7
  1297  	XK_Georgian_tar                       = 0x10010e2
  1298  	XK_Georgian_un                        = 0x10010e3
  1299  	XK_Georgian_vin                       = 0x10010d5
  1300  	XK_Georgian_we                        = 0x10010f3
  1301  	XK_Georgian_xan                       = 0x10010ee
  1302  	XK_Georgian_zen                       = 0x10010d6
  1303  	XK_Georgian_zhar                      = 0x10010df
  1304  	XK_Greek_ALPHA                        = 0x07c1
  1305  	XK_Greek_ALPHAaccent                  = 0x07a1
  1306  	XK_Greek_BETA                         = 0x07c2
  1307  	XK_Greek_CHI                          = 0x07d7
  1308  	XK_Greek_DELTA                        = 0x07c4
  1309  	XK_Greek_EPSILON                      = 0x07c5
  1310  	XK_Greek_EPSILONaccent                = 0x07a2
  1311  	XK_Greek_ETA                          = 0x07c7
  1312  	XK_Greek_ETAaccent                    = 0x07a3
  1313  	XK_Greek_GAMMA                        = 0x07c3
  1314  	XK_Greek_IOTA                         = 0x07c9
  1315  	XK_Greek_IOTAaccent                   = 0x07a4
  1316  	XK_Greek_IOTAdiaeresis                = 0x07a5
  1317  	XK_Greek_IOTAdieresis                 = 0x07a5
  1318  	XK_Greek_KAPPA                        = 0x07ca
  1319  	XK_Greek_LAMBDA                       = 0x07cb
  1320  	XK_Greek_LAMDA                        = 0x07cb
  1321  	XK_Greek_MU                           = 0x07cc
  1322  	XK_Greek_NU                           = 0x07cd
  1323  	XK_Greek_OMEGA                        = 0x07d9
  1324  	XK_Greek_OMEGAaccent                  = 0x07ab
  1325  	XK_Greek_OMICRON                      = 0x07cf
  1326  	XK_Greek_OMICRONaccent                = 0x07a7
  1327  	XK_Greek_PHI                          = 0x07d6
  1328  	XK_Greek_PI                           = 0x07d0
  1329  	XK_Greek_PSI                          = 0x07d8
  1330  	XK_Greek_RHO                          = 0x07d1
  1331  	XK_Greek_SIGMA                        = 0x07d2
  1332  	XK_Greek_TAU                          = 0x07d4
  1333  	XK_Greek_THETA                        = 0x07c8
  1334  	XK_Greek_UPSILON                      = 0x07d5
  1335  	XK_Greek_UPSILONaccent                = 0x07a8
  1336  	XK_Greek_UPSILONdieresis              = 0x07a9
  1337  	XK_Greek_XI                           = 0x07ce
  1338  	XK_Greek_ZETA                         = 0x07c6
  1339  	XK_Greek_accentdieresis               = 0x07ae
  1340  	XK_Greek_alpha                        = 0x07e1
  1341  	XK_Greek_alphaaccent                  = 0x07b1
  1342  	XK_Greek_beta                         = 0x07e2
  1343  	XK_Greek_chi                          = 0x07f7
  1344  	XK_Greek_delta                        = 0x07e4
  1345  	XK_Greek_epsilon                      = 0x07e5
  1346  	XK_Greek_epsilonaccent                = 0x07b2
  1347  	XK_Greek_eta                          = 0x07e7
  1348  	XK_Greek_etaaccent                    = 0x07b3
  1349  	XK_Greek_finalsmallsigma              = 0x07f3
  1350  	XK_Greek_gamma                        = 0x07e3
  1351  	XK_Greek_horizbar                     = 0x07af
  1352  	XK_Greek_iota                         = 0x07e9
  1353  	XK_Greek_iotaaccent                   = 0x07b4
  1354  	XK_Greek_iotaaccentdieresis           = 0x07b6
  1355  	XK_Greek_iotadieresis                 = 0x07b5
  1356  	XK_Greek_kappa                        = 0x07ea
  1357  	XK_Greek_lambda                       = 0x07eb
  1358  	XK_Greek_lamda                        = 0x07eb
  1359  	XK_Greek_mu                           = 0x07ec
  1360  	XK_Greek_nu                           = 0x07ed
  1361  	XK_Greek_omega                        = 0x07f9
  1362  	XK_Greek_omegaaccent                  = 0x07bb
  1363  	XK_Greek_omicron                      = 0x07ef
  1364  	XK_Greek_omicronaccent                = 0x07b7
  1365  	XK_Greek_phi                          = 0x07f6
  1366  	XK_Greek_pi                           = 0x07f0
  1367  	XK_Greek_psi                          = 0x07f8
  1368  	XK_Greek_rho                          = 0x07f1
  1369  	XK_Greek_sigma                        = 0x07f2
  1370  	XK_Greek_switch                       = 0xff7e
  1371  	XK_Greek_tau                          = 0x07f4
  1372  	XK_Greek_theta                        = 0x07e8
  1373  	XK_Greek_upsilon                      = 0x07f5
  1374  	XK_Greek_upsilonaccent                = 0x07b8
  1375  	XK_Greek_upsilonaccentdieresis        = 0x07ba
  1376  	XK_Greek_upsilondieresis              = 0x07b9
  1377  	XK_Greek_xi                           = 0x07ee
  1378  	XK_Greek_zeta                         = 0x07e6
  1379  	XK_H                                  = 0x0048
  1380  	XK_HEBREW                             = 0
  1381  	XK_Hangul                             = 0xff31
  1382  	XK_Hangul_A                           = 0x0ebf
  1383  	XK_Hangul_AE                          = 0x0ec0
  1384  	XK_Hangul_AraeA                       = 0x0ef6
  1385  	XK_Hangul_AraeAE                      = 0x0ef7
  1386  	XK_Hangul_Banja                       = 0xff39
  1387  	XK_Hangul_Cieuc                       = 0x0eba
  1388  	XK_Hangul_Codeinput                   = 0xff37
  1389  	XK_Hangul_Dikeud                      = 0x0ea7
  1390  	XK_Hangul_E                           = 0x0ec4
  1391  	XK_Hangul_EO                          = 0x0ec3
  1392  	XK_Hangul_EU                          = 0x0ed1
  1393  	XK_Hangul_End                         = 0xff33
  1394  	XK_Hangul_Hanja                       = 0xff34
  1395  	XK_Hangul_Hieuh                       = 0x0ebe
  1396  	XK_Hangul_I                           = 0x0ed3
  1397  	XK_Hangul_Ieung                       = 0x0eb7
  1398  	XK_Hangul_J_Cieuc                     = 0x0eea
  1399  	XK_Hangul_J_Dikeud                    = 0x0eda
  1400  	XK_Hangul_J_Hieuh                     = 0x0eee
  1401  	XK_Hangul_J_Ieung                     = 0x0ee8
  1402  	XK_Hangul_J_Jieuj                     = 0x0ee9
  1403  	XK_Hangul_J_Khieuq                    = 0x0eeb
  1404  	XK_Hangul_J_Kiyeog                    = 0x0ed4
  1405  	XK_Hangul_J_KiyeogSios                = 0x0ed6
  1406  	XK_Hangul_J_KkogjiDalrinIeung         = 0x0ef9
  1407  	XK_Hangul_J_Mieum                     = 0x0ee3
  1408  	XK_Hangul_J_Nieun                     = 0x0ed7
  1409  	XK_Hangul_J_NieunHieuh                = 0x0ed9
  1410  	XK_Hangul_J_NieunJieuj                = 0x0ed8
  1411  	XK_Hangul_J_PanSios                   = 0x0ef8
  1412  	XK_Hangul_J_Phieuf                    = 0x0eed
  1413  	XK_Hangul_J_Pieub                     = 0x0ee4
  1414  	XK_Hangul_J_PieubSios                 = 0x0ee5
  1415  	XK_Hangul_J_Rieul                     = 0x0edb
  1416  	XK_Hangul_J_RieulHieuh                = 0x0ee2
  1417  	XK_Hangul_J_RieulKiyeog               = 0x0edc
  1418  	XK_Hangul_J_RieulMieum                = 0x0edd
  1419  	XK_Hangul_J_RieulPhieuf               = 0x0ee1
  1420  	XK_Hangul_J_RieulPieub                = 0x0ede
  1421  	XK_Hangul_J_RieulSios                 = 0x0edf
  1422  	XK_Hangul_J_RieulTieut                = 0x0ee0
  1423  	XK_Hangul_J_Sios                      = 0x0ee6
  1424  	XK_Hangul_J_SsangKiyeog               = 0x0ed5
  1425  	XK_Hangul_J_SsangSios                 = 0x0ee7
  1426  	XK_Hangul_J_Tieut                     = 0x0eec
  1427  	XK_Hangul_J_YeorinHieuh               = 0x0efa
  1428  	XK_Hangul_Jamo                        = 0xff35
  1429  	XK_Hangul_Jeonja                      = 0xff38
  1430  	XK_Hangul_Jieuj                       = 0x0eb8
  1431  	XK_Hangul_Khieuq                      = 0x0ebb
  1432  	XK_Hangul_Kiyeog                      = 0x0ea1
  1433  	XK_Hangul_KiyeogSios                  = 0x0ea3
  1434  	XK_Hangul_KkogjiDalrinIeung           = 0x0ef3
  1435  	XK_Hangul_Mieum                       = 0x0eb1
  1436  	XK_Hangul_MultipleCandidate           = 0xff3d
  1437  	XK_Hangul_Nieun                       = 0x0ea4
  1438  	XK_Hangul_NieunHieuh                  = 0x0ea6
  1439  	XK_Hangul_NieunJieuj                  = 0x0ea5
  1440  	XK_Hangul_O                           = 0x0ec7
  1441  	XK_Hangul_OE                          = 0x0eca
  1442  	XK_Hangul_PanSios                     = 0x0ef2
  1443  	XK_Hangul_Phieuf                      = 0x0ebd
  1444  	XK_Hangul_Pieub                       = 0x0eb2
  1445  	XK_Hangul_PieubSios                   = 0x0eb4
  1446  	XK_Hangul_PostHanja                   = 0xff3b
  1447  	XK_Hangul_PreHanja                    = 0xff3a
  1448  	XK_Hangul_PreviousCandidate           = 0xff3e
  1449  	XK_Hangul_Rieul                       = 0x0ea9
  1450  	XK_Hangul_RieulHieuh                  = 0x0eb0
  1451  	XK_Hangul_RieulKiyeog                 = 0x0eaa
  1452  	XK_Hangul_RieulMieum                  = 0x0eab
  1453  	XK_Hangul_RieulPhieuf                 = 0x0eaf
  1454  	XK_Hangul_RieulPieub                  = 0x0eac
  1455  	XK_Hangul_RieulSios                   = 0x0ead
  1456  	XK_Hangul_RieulTieut                  = 0x0eae
  1457  	XK_Hangul_RieulYeorinHieuh            = 0x0eef
  1458  	XK_Hangul_Romaja                      = 0xff36
  1459  	XK_Hangul_SingleCandidate             = 0xff3c
  1460  	XK_Hangul_Sios                        = 0x0eb5
  1461  	XK_Hangul_Special                     = 0xff3f
  1462  	XK_Hangul_SsangDikeud                 = 0x0ea8
  1463  	XK_Hangul_SsangJieuj                  = 0x0eb9
  1464  	XK_Hangul_SsangKiyeog                 = 0x0ea2
  1465  	XK_Hangul_SsangPieub                  = 0x0eb3
  1466  	XK_Hangul_SsangSios                   = 0x0eb6
  1467  	XK_Hangul_Start                       = 0xff32
  1468  	XK_Hangul_SunkyeongeumMieum           = 0x0ef0
  1469  	XK_Hangul_SunkyeongeumPhieuf          = 0x0ef4
  1470  	XK_Hangul_SunkyeongeumPieub           = 0x0ef1
  1471  	XK_Hangul_Tieut                       = 0x0ebc
  1472  	XK_Hangul_U                           = 0x0ecc
  1473  	XK_Hangul_WA                          = 0x0ec8
  1474  	XK_Hangul_WAE                         = 0x0ec9
  1475  	XK_Hangul_WE                          = 0x0ece
  1476  	XK_Hangul_WEO                         = 0x0ecd
  1477  	XK_Hangul_WI                          = 0x0ecf
  1478  	XK_Hangul_YA                          = 0x0ec1
  1479  	XK_Hangul_YAE                         = 0x0ec2
  1480  	XK_Hangul_YE                          = 0x0ec6
  1481  	XK_Hangul_YEO                         = 0x0ec5
  1482  	XK_Hangul_YI                          = 0x0ed2
  1483  	XK_Hangul_YO                          = 0x0ecb
  1484  	XK_Hangul_YU                          = 0x0ed0
  1485  	XK_Hangul_YeorinHieuh                 = 0x0ef5
  1486  	XK_Hangul_switch                      = 0xff7e
  1487  	XK_Hankaku                            = 0xff29
  1488  	XK_Hcircumflex                        = 0x02a6
  1489  	XK_Hebrew_switch                      = 0xff7e
  1490  	XK_Help                               = 0xff6a
  1491  	XK_Henkan                             = 0xff23
  1492  	XK_Henkan_Mode                        = 0xff23
  1493  	XK_Hiragana                           = 0xff25
  1494  	XK_Hiragana_Katakana                  = 0xff27
  1495  	XK_Home                               = 0xff50
  1496  	XK_Hstroke                            = 0x02a1
  1497  	XK_Hyper_L                            = 0xffed
  1498  	XK_Hyper_R                            = 0xffee
  1499  	XK_I                                  = 0x0049
  1500  	XK_ISO_Center_Object                  = 0xfe33
  1501  	XK_ISO_Continuous_Underline           = 0xfe30
  1502  	XK_ISO_Discontinuous_Underline        = 0xfe31
  1503  	XK_ISO_Emphasize                      = 0xfe32
  1504  	XK_ISO_Enter                          = 0xfe34
  1505  	XK_ISO_Fast_Cursor_Down               = 0xfe2f
  1506  	XK_ISO_Fast_Cursor_Left               = 0xfe2c
  1507  	XK_ISO_Fast_Cursor_Right              = 0xfe2d
  1508  	XK_ISO_Fast_Cursor_Up                 = 0xfe2e
  1509  	XK_ISO_First_Group                    = 0xfe0c
  1510  	XK_ISO_First_Group_Lock               = 0xfe0d
  1511  	XK_ISO_Group_Latch                    = 0xfe06
  1512  	XK_ISO_Group_Lock                     = 0xfe07
  1513  	XK_ISO_Group_Shift                    = 0xff7e
  1514  	XK_ISO_Last_Group                     = 0xfe0e
  1515  	XK_ISO_Last_Group_Lock                = 0xfe0f
  1516  	XK_ISO_Left_Tab                       = 0xfe20
  1517  	XK_ISO_Level2_Latch                   = 0xfe02
  1518  	XK_ISO_Level3_Latch                   = 0xfe04
  1519  	XK_ISO_Level3_Lock                    = 0xfe05
  1520  	XK_ISO_Level3_Shift                   = 0xfe03
  1521  	XK_ISO_Level5_Latch                   = 0xfe12
  1522  	XK_ISO_Level5_Lock                    = 0xfe13
  1523  	XK_ISO_Level5_Shift                   = 0xfe11
  1524  	XK_ISO_Lock                           = 0xfe01
  1525  	XK_ISO_Move_Line_Down                 = 0xfe22
  1526  	XK_ISO_Move_Line_Up                   = 0xfe21
  1527  	XK_ISO_Next_Group                     = 0xfe08
  1528  	XK_ISO_Next_Group_Lock                = 0xfe09
  1529  	XK_ISO_Partial_Line_Down              = 0xfe24
  1530  	XK_ISO_Partial_Line_Up                = 0xfe23
  1531  	XK_ISO_Partial_Space_Left             = 0xfe25
  1532  	XK_ISO_Partial_Space_Right            = 0xfe26
  1533  	XK_ISO_Prev_Group                     = 0xfe0a
  1534  	XK_ISO_Prev_Group_Lock                = 0xfe0b
  1535  	XK_ISO_Release_Both_Margins           = 0xfe2b
  1536  	XK_ISO_Release_Margin_Left            = 0xfe29
  1537  	XK_ISO_Release_Margin_Right           = 0xfe2a
  1538  	XK_ISO_Set_Margin_Left                = 0xfe27
  1539  	XK_ISO_Set_Margin_Right               = 0xfe28
  1540  	XK_Iabovedot                          = 0x02a9
  1541  	XK_Iacute                             = 0x00cd
  1542  	XK_Ibelowdot                          = 0x1001eca
  1543  	XK_Ibreve                             = 0x100012c
  1544  	XK_Icircumflex                        = 0x00ce
  1545  	XK_Idiaeresis                         = 0x00cf
  1546  	XK_Igrave                             = 0x00cc
  1547  	XK_Ihook                              = 0x1001ec8
  1548  	XK_Imacron                            = 0x03cf
  1549  	XK_Insert                             = 0xff63
  1550  	XK_Iogonek                            = 0x03c7
  1551  	XK_Itilde                             = 0x03a5
  1552  	XK_J                                  = 0x004a
  1553  	XK_Jcircumflex                        = 0x02ac
  1554  	XK_K                                  = 0x004b
  1555  	XK_KATAKANA                           = 0
  1556  	XK_KOREAN                             = 0
  1557  	XK_KP_0                               = 0xffb0
  1558  	XK_KP_1                               = 0xffb1
  1559  	XK_KP_2                               = 0xffb2
  1560  	XK_KP_3                               = 0xffb3
  1561  	XK_KP_4                               = 0xffb4
  1562  	XK_KP_5                               = 0xffb5
  1563  	XK_KP_6                               = 0xffb6
  1564  	XK_KP_7                               = 0xffb7
  1565  	XK_KP_8                               = 0xffb8
  1566  	XK_KP_9                               = 0xffb9
  1567  	XK_KP_Add                             = 0xffab
  1568  	XK_KP_Begin                           = 0xff9d
  1569  	XK_KP_Decimal                         = 0xffae
  1570  	XK_KP_Delete                          = 0xff9f
  1571  	XK_KP_Divide                          = 0xffaf
  1572  	XK_KP_Down                            = 0xff99
  1573  	XK_KP_End                             = 0xff9c
  1574  	XK_KP_Enter                           = 0xff8d
  1575  	XK_KP_Equal                           = 0xffbd
  1576  	XK_KP_F1                              = 0xff91
  1577  	XK_KP_F2                              = 0xff92
  1578  	XK_KP_F3                              = 0xff93
  1579  	XK_KP_F4                              = 0xff94
  1580  	XK_KP_Home                            = 0xff95
  1581  	XK_KP_Insert                          = 0xff9e
  1582  	XK_KP_Left                            = 0xff96
  1583  	XK_KP_Multiply                        = 0xffaa
  1584  	XK_KP_Next                            = 0xff9b
  1585  	XK_KP_Page_Down                       = 0xff9b
  1586  	XK_KP_Page_Up                         = 0xff9a
  1587  	XK_KP_Prior                           = 0xff9a
  1588  	XK_KP_Right                           = 0xff98
  1589  	XK_KP_Separator                       = 0xffac
  1590  	XK_KP_Space                           = 0xff80
  1591  	XK_KP_Subtract                        = 0xffad
  1592  	XK_KP_Tab                             = 0xff89
  1593  	XK_KP_Up                              = 0xff97
  1594  	XK_Kana_Lock                          = 0xff2d
  1595  	XK_Kana_Shift                         = 0xff2e
  1596  	XK_Kanji                              = 0xff21
  1597  	XK_Kanji_Bangou                       = 0xff37
  1598  	XK_Katakana                           = 0xff26
  1599  	XK_Kcedilla                           = 0x03d3
  1600  	XK_Korean_Won                         = 0x0eff
  1601  	XK_L                                  = 0x004c
  1602  	XK_L1                                 = 0xffc8
  1603  	XK_L10                                = 0xffd1
  1604  	XK_L2                                 = 0xffc9
  1605  	XK_L3                                 = 0xffca
  1606  	XK_L4                                 = 0xffcb
  1607  	XK_L5                                 = 0xffcc
  1608  	XK_L6                                 = 0xffcd
  1609  	XK_L7                                 = 0xffce
  1610  	XK_L8                                 = 0xffcf
  1611  	XK_L9                                 = 0xffd0
  1612  	XK_LATIN1                             = 0
  1613  	XK_LATIN2                             = 0
  1614  	XK_LATIN3                             = 0
  1615  	XK_LATIN4                             = 0
  1616  	XK_LATIN8                             = 0
  1617  	XK_LATIN9                             = 0
  1618  	XK_Lacute                             = 0x01c5
  1619  	XK_Last_Virtual_Screen                = 0xfed4
  1620  	XK_Lbelowdot                          = 0x1001e36
  1621  	XK_Lcaron                             = 0x01a5
  1622  	XK_Lcedilla                           = 0x03a6
  1623  	XK_Left                               = 0xff51
  1624  	XK_Linefeed                           = 0xff0a
  1625  	XK_LiraSign                           = 0x10020a4
  1626  	XK_Lstroke                            = 0x01a3
  1627  	XK_M                                  = 0x004d
  1628  	XK_MATHEMATICAL                       = 0
  1629  	XK_MISCELLANY                         = 0
  1630  	XK_Mabovedot                          = 0x1001e40
  1631  	XK_Macedonia_DSE                      = 0x06b5
  1632  	XK_Macedonia_GJE                      = 0x06b2
  1633  	XK_Macedonia_KJE                      = 0x06bc
  1634  	XK_Macedonia_dse                      = 0x06a5
  1635  	XK_Macedonia_gje                      = 0x06a2
  1636  	XK_Macedonia_kje                      = 0x06ac
  1637  	XK_Mae_Koho                           = 0xff3e
  1638  	XK_Massyo                             = 0xff2c
  1639  	XK_Menu                               = 0xff67
  1640  	XK_Meta_L                             = 0xffe7
  1641  	XK_Meta_R                             = 0xffe8
  1642  	XK_MillSign                           = 0x10020a5
  1643  	XK_Mode_switch                        = 0xff7e
  1644  	XK_MouseKeys_Accel_Enable             = 0xfe77
  1645  	XK_MouseKeys_Enable                   = 0xfe76
  1646  	XK_Muhenkan                           = 0xff22
  1647  	XK_Multi_key                          = 0xff20
  1648  	XK_MultipleCandidate                  = 0xff3d
  1649  	XK_N                                  = 0x004e
  1650  	XK_Nacute                             = 0x01d1
  1651  	XK_NairaSign                          = 0x10020a6
  1652  	XK_Ncaron                             = 0x01d2
  1653  	XK_Ncedilla                           = 0x03d1
  1654  	XK_NewSheqelSign                      = 0x10020aa
  1655  	XK_Next                               = 0xff56
  1656  	XK_Next_Virtual_Screen                = 0xfed2
  1657  	XK_Ntilde                             = 0x00d1
  1658  	XK_Num_Lock                           = 0xff7f
  1659  	XK_O                                  = 0x004f
  1660  	XK_OE                                 = 0x13bc
  1661  	XK_Oacute                             = 0x00d3
  1662  	XK_Obarred                            = 0x100019f
  1663  	XK_Obelowdot                          = 0x1001ecc
  1664  	XK_Ocaron                             = 0x10001d1
  1665  	XK_Ocircumflex                        = 0x00d4
  1666  	XK_Ocircumflexacute                   = 0x1001ed0
  1667  	XK_Ocircumflexbelowdot                = 0x1001ed8
  1668  	XK_Ocircumflexgrave                   = 0x1001ed2
  1669  	XK_Ocircumflexhook                    = 0x1001ed4
  1670  	XK_Ocircumflextilde                   = 0x1001ed6
  1671  	XK_Odiaeresis                         = 0x00d6
  1672  	XK_Odoubleacute                       = 0x01d5
  1673  	XK_Ograve                             = 0x00d2
  1674  	XK_Ohook                              = 0x1001ece
  1675  	XK_Ohorn                              = 0x10001a0
  1676  	XK_Ohornacute                         = 0x1001eda
  1677  	XK_Ohornbelowdot                      = 0x1001ee2
  1678  	XK_Ohorngrave                         = 0x1001edc
  1679  	XK_Ohornhook                          = 0x1001ede
  1680  	XK_Ohorntilde                         = 0x1001ee0
  1681  	XK_Omacron                            = 0x03d2
  1682  	XK_Ooblique                           = 0x00d8
  1683  	XK_Oslash                             = 0x00d8
  1684  	XK_Otilde                             = 0x00d5
  1685  	XK_Overlay1_Enable                    = 0xfe78
  1686  	XK_Overlay2_Enable                    = 0xfe79
  1687  	XK_P                                  = 0x0050
  1688  	XK_Pabovedot                          = 0x1001e56
  1689  	XK_Page_Down                          = 0xff56
  1690  	XK_Page_Up                            = 0xff55
  1691  	XK_Pause                              = 0xff13
  1692  	XK_PesetaSign                         = 0x10020a7
  1693  	XK_Pointer_Accelerate                 = 0xfefa
  1694  	XK_Pointer_Button1                    = 0xfee9
  1695  	XK_Pointer_Button2                    = 0xfeea
  1696  	XK_Pointer_Button3                    = 0xfeeb
  1697  	XK_Pointer_Button4                    = 0xfeec
  1698  	XK_Pointer_Button5                    = 0xfeed
  1699  	XK_Pointer_Button_Dflt                = 0xfee8
  1700  	XK_Pointer_DblClick1                  = 0xfeef
  1701  	XK_Pointer_DblClick2                  = 0xfef0
  1702  	XK_Pointer_DblClick3                  = 0xfef1
  1703  	XK_Pointer_DblClick4                  = 0xfef2
  1704  	XK_Pointer_DblClick5                  = 0xfef3
  1705  	XK_Pointer_DblClick_Dflt              = 0xfeee
  1706  	XK_Pointer_DfltBtnNext                = 0xfefb
  1707  	XK_Pointer_DfltBtnPrev                = 0xfefc
  1708  	XK_Pointer_Down                       = 0xfee3
  1709  	XK_Pointer_DownLeft                   = 0xfee6
  1710  	XK_Pointer_DownRight                  = 0xfee7
  1711  	XK_Pointer_Drag1                      = 0xfef5
  1712  	XK_Pointer_Drag2                      = 0xfef6
  1713  	XK_Pointer_Drag3                      = 0xfef7
  1714  	XK_Pointer_Drag4                      = 0xfef8
  1715  	XK_Pointer_Drag5                      = 0xfefd
  1716  	XK_Pointer_Drag_Dflt                  = 0xfef4
  1717  	XK_Pointer_EnableKeys                 = 0xfef9
  1718  	XK_Pointer_Left                       = 0xfee0
  1719  	XK_Pointer_Right                      = 0xfee1
  1720  	XK_Pointer_Up                         = 0xfee2
  1721  	XK_Pointer_UpLeft                     = 0xfee4
  1722  	XK_Pointer_UpRight                    = 0xfee5
  1723  	XK_Prev_Virtual_Screen                = 0xfed1
  1724  	XK_PreviousCandidate                  = 0xff3e
  1725  	XK_Print                              = 0xff61
  1726  	XK_Prior                              = 0xff55
  1727  	XK_Q                                  = 0x0051
  1728  	XK_R                                  = 0x0052
  1729  	XK_R1                                 = 0xffd2
  1730  	XK_R10                                = 0xffdb
  1731  	XK_R11                                = 0xffdc
  1732  	XK_R12                                = 0xffdd
  1733  	XK_R13                                = 0xffde
  1734  	XK_R14                                = 0xffdf
  1735  	XK_R15                                = 0xffe0
  1736  	XK_R2                                 = 0xffd3
  1737  	XK_R3                                 = 0xffd4
  1738  	XK_R4                                 = 0xffd5
  1739  	XK_R5                                 = 0xffd6
  1740  	XK_R6                                 = 0xffd7
  1741  	XK_R7                                 = 0xffd8
  1742  	XK_R8                                 = 0xffd9
  1743  	XK_R9                                 = 0xffda
  1744  	XK_Racute                             = 0x01c0
  1745  	XK_Rcaron                             = 0x01d8
  1746  	XK_Rcedilla                           = 0x03a3
  1747  	XK_Redo                               = 0xff66
  1748  	XK_RepeatKeys_Enable                  = 0xfe72
  1749  	XK_Return                             = 0xff0d
  1750  	XK_Right                              = 0xff53
  1751  	XK_Romaji                             = 0xff24
  1752  	XK_RupeeSign                          = 0x10020a8
  1753  	XK_S                                  = 0x0053
  1754  	XK_SCHWA                              = 0x100018f
  1755  	XK_SINHALA                            = 0
  1756  	XK_Sabovedot                          = 0x1001e60
  1757  	XK_Sacute                             = 0x01a6
  1758  	XK_Scaron                             = 0x01a9
  1759  	XK_Scedilla                           = 0x01aa
  1760  	XK_Scircumflex                        = 0x02de
  1761  	XK_Scroll_Lock                        = 0xff14
  1762  	XK_Select                             = 0xff60
  1763  	XK_Serbian_DJE                        = 0x06b1
  1764  	XK_Serbian_DZE                        = 0x06bf
  1765  	XK_Serbian_JE                         = 0x06b8
  1766  	XK_Serbian_LJE                        = 0x06b9
  1767  	XK_Serbian_NJE                        = 0x06ba
  1768  	XK_Serbian_TSHE                       = 0x06bb
  1769  	XK_Serbian_dje                        = 0x06a1
  1770  	XK_Serbian_dze                        = 0x06af
  1771  	XK_Serbian_je                         = 0x06a8
  1772  	XK_Serbian_lje                        = 0x06a9
  1773  	XK_Serbian_nje                        = 0x06aa
  1774  	XK_Serbian_tshe                       = 0x06ab
  1775  	XK_Shift_L                            = 0xffe1
  1776  	XK_Shift_Lock                         = 0xffe6
  1777  	XK_Shift_R                            = 0xffe2
  1778  	XK_SingleCandidate                    = 0xff3c
  1779  	XK_Sinh_a                             = 0x1000d85
  1780  	XK_Sinh_aa                            = 0x1000d86
  1781  	XK_Sinh_aa2                           = 0x1000dcf
  1782  	XK_Sinh_ae                            = 0x1000d87
  1783  	XK_Sinh_ae2                           = 0x1000dd0
  1784  	XK_Sinh_aee                           = 0x1000d88
  1785  	XK_Sinh_aee2                          = 0x1000dd1
  1786  	XK_Sinh_ai                            = 0x1000d93
  1787  	XK_Sinh_ai2                           = 0x1000ddb
  1788  	XK_Sinh_al                            = 0x1000dca
  1789  	XK_Sinh_au                            = 0x1000d96
  1790  	XK_Sinh_au2                           = 0x1000dde
  1791  	XK_Sinh_ba                            = 0x1000db6
  1792  	XK_Sinh_bha                           = 0x1000db7
  1793  	XK_Sinh_ca                            = 0x1000da0
  1794  	XK_Sinh_cha                           = 0x1000da1
  1795  	XK_Sinh_dda                           = 0x1000da9
  1796  	XK_Sinh_ddha                          = 0x1000daa
  1797  	XK_Sinh_dha                           = 0x1000daf
  1798  	XK_Sinh_dhha                          = 0x1000db0
  1799  	XK_Sinh_e                             = 0x1000d91
  1800  	XK_Sinh_e2                            = 0x1000dd9
  1801  	XK_Sinh_ee                            = 0x1000d92
  1802  	XK_Sinh_ee2                           = 0x1000dda
  1803  	XK_Sinh_fa                            = 0x1000dc6
  1804  	XK_Sinh_ga                            = 0x1000d9c
  1805  	XK_Sinh_gha                           = 0x1000d9d
  1806  	XK_Sinh_h2                            = 0x1000d83
  1807  	XK_Sinh_ha                            = 0x1000dc4
  1808  	XK_Sinh_i                             = 0x1000d89
  1809  	XK_Sinh_i2                            = 0x1000dd2
  1810  	XK_Sinh_ii                            = 0x1000d8a
  1811  	XK_Sinh_ii2                           = 0x1000dd3
  1812  	XK_Sinh_ja                            = 0x1000da2
  1813  	XK_Sinh_jha                           = 0x1000da3
  1814  	XK_Sinh_jnya                          = 0x1000da5
  1815  	XK_Sinh_ka                            = 0x1000d9a
  1816  	XK_Sinh_kha                           = 0x1000d9b
  1817  	XK_Sinh_kunddaliya                    = 0x1000df4
  1818  	XK_Sinh_la                            = 0x1000dbd
  1819  	XK_Sinh_lla                           = 0x1000dc5
  1820  	XK_Sinh_lu                            = 0x1000d8f
  1821  	XK_Sinh_lu2                           = 0x1000ddf
  1822  	XK_Sinh_luu                           = 0x1000d90
  1823  	XK_Sinh_luu2                          = 0x1000df3
  1824  	XK_Sinh_ma                            = 0x1000db8
  1825  	XK_Sinh_mba                           = 0x1000db9
  1826  	XK_Sinh_na                            = 0x1000db1
  1827  	XK_Sinh_ndda                          = 0x1000dac
  1828  	XK_Sinh_ndha                          = 0x1000db3
  1829  	XK_Sinh_ng                            = 0x1000d82
  1830  	XK_Sinh_ng2                           = 0x1000d9e
  1831  	XK_Sinh_nga                           = 0x1000d9f
  1832  	XK_Sinh_nja                           = 0x1000da6
  1833  	XK_Sinh_nna                           = 0x1000dab
  1834  	XK_Sinh_nya                           = 0x1000da4
  1835  	XK_Sinh_o                             = 0x1000d94
  1836  	XK_Sinh_o2                            = 0x1000ddc
  1837  	XK_Sinh_oo                            = 0x1000d95
  1838  	XK_Sinh_oo2                           = 0x1000ddd
  1839  	XK_Sinh_pa                            = 0x1000db4
  1840  	XK_Sinh_pha                           = 0x1000db5
  1841  	XK_Sinh_ra                            = 0x1000dbb
  1842  	XK_Sinh_ri                            = 0x1000d8d
  1843  	XK_Sinh_rii                           = 0x1000d8e
  1844  	XK_Sinh_ru2                           = 0x1000dd8
  1845  	XK_Sinh_ruu2                          = 0x1000df2
  1846  	XK_Sinh_sa                            = 0x1000dc3
  1847  	XK_Sinh_sha                           = 0x1000dc1
  1848  	XK_Sinh_ssha                          = 0x1000dc2
  1849  	XK_Sinh_tha                           = 0x1000dad
  1850  	XK_Sinh_thha                          = 0x1000dae
  1851  	XK_Sinh_tta                           = 0x1000da7
  1852  	XK_Sinh_ttha                          = 0x1000da8
  1853  	XK_Sinh_u                             = 0x1000d8b
  1854  	XK_Sinh_u2                            = 0x1000dd4
  1855  	XK_Sinh_uu                            = 0x1000d8c
  1856  	XK_Sinh_uu2                           = 0x1000dd6
  1857  	XK_Sinh_va                            = 0x1000dc0
  1858  	XK_Sinh_ya                            = 0x1000dba
  1859  	XK_SlowKeys_Enable                    = 0xfe73
  1860  	XK_StickyKeys_Enable                  = 0xfe75
  1861  	XK_Super_L                            = 0xffeb
  1862  	XK_Super_R                            = 0xffec
  1863  	XK_Sys_Req                            = 0xff15
  1864  	XK_T                                  = 0x0054
  1865  	XK_THAI                               = 0
  1866  	XK_THORN                              = 0x00de
  1867  	XK_Tab                                = 0xff09
  1868  	XK_Tabovedot                          = 0x1001e6a
  1869  	XK_Tcaron                             = 0x01ab
  1870  	XK_Tcedilla                           = 0x01de
  1871  	XK_Terminate_Server                   = 0xfed5
  1872  	XK_Thai_baht                          = 0x0ddf
  1873  	XK_Thai_bobaimai                      = 0x0dba
  1874  	XK_Thai_chochan                       = 0x0da8
  1875  	XK_Thai_chochang                      = 0x0daa
  1876  	XK_Thai_choching                      = 0x0da9
  1877  	XK_Thai_chochoe                       = 0x0dac
  1878  	XK_Thai_dochada                       = 0x0dae
  1879  	XK_Thai_dodek                         = 0x0db4
  1880  	XK_Thai_fofa                          = 0x0dbd
  1881  	XK_Thai_fofan                         = 0x0dbf
  1882  	XK_Thai_hohip                         = 0x0dcb
  1883  	XK_Thai_honokhuk                      = 0x0dce
  1884  	XK_Thai_khokhai                       = 0x0da2
  1885  	XK_Thai_khokhon                       = 0x0da5
  1886  	XK_Thai_khokhuat                      = 0x0da3
  1887  	XK_Thai_khokhwai                      = 0x0da4
  1888  	XK_Thai_khorakhang                    = 0x0da6
  1889  	XK_Thai_kokai                         = 0x0da1
  1890  	XK_Thai_lakkhangyao                   = 0x0de5
  1891  	XK_Thai_lekchet                       = 0x0df7
  1892  	XK_Thai_lekha                         = 0x0df5
  1893  	XK_Thai_lekhok                        = 0x0df6
  1894  	XK_Thai_lekkao                        = 0x0df9
  1895  	XK_Thai_leknung                       = 0x0df1
  1896  	XK_Thai_lekpaet                       = 0x0df8
  1897  	XK_Thai_leksam                        = 0x0df3
  1898  	XK_Thai_leksi                         = 0x0df4
  1899  	XK_Thai_leksong                       = 0x0df2
  1900  	XK_Thai_leksun                        = 0x0df0
  1901  	XK_Thai_lochula                       = 0x0dcc
  1902  	XK_Thai_loling                        = 0x0dc5
  1903  	XK_Thai_lu                            = 0x0dc6
  1904  	XK_Thai_maichattawa                   = 0x0deb
  1905  	XK_Thai_maiek                         = 0x0de8
  1906  	XK_Thai_maihanakat                    = 0x0dd1
  1907  	XK_Thai_maihanakat_maitho             = 0x0dde
  1908  	XK_Thai_maitaikhu                     = 0x0de7
  1909  	XK_Thai_maitho                        = 0x0de9
  1910  	XK_Thai_maitri                        = 0x0dea
  1911  	XK_Thai_maiyamok                      = 0x0de6
  1912  	XK_Thai_moma                          = 0x0dc1
  1913  	XK_Thai_ngongu                        = 0x0da7
  1914  	XK_Thai_nikhahit                      = 0x0ded
  1915  	XK_Thai_nonen                         = 0x0db3
  1916  	XK_Thai_nonu                          = 0x0db9
  1917  	XK_Thai_oang                          = 0x0dcd
  1918  	XK_Thai_paiyannoi                     = 0x0dcf
  1919  	XK_Thai_phinthu                       = 0x0dda
  1920  	XK_Thai_phophan                       = 0x0dbe
  1921  	XK_Thai_phophung                      = 0x0dbc
  1922  	XK_Thai_phosamphao                    = 0x0dc0
  1923  	XK_Thai_popla                         = 0x0dbb
  1924  	XK_Thai_rorua                         = 0x0dc3
  1925  	XK_Thai_ru                            = 0x0dc4
  1926  	XK_Thai_saraa                         = 0x0dd0
  1927  	XK_Thai_saraaa                        = 0x0dd2
  1928  	XK_Thai_saraae                        = 0x0de1
  1929  	XK_Thai_saraaimaimalai                = 0x0de4
  1930  	XK_Thai_saraaimaimuan                 = 0x0de3
  1931  	XK_Thai_saraam                        = 0x0dd3
  1932  	XK_Thai_sarae                         = 0x0de0
  1933  	XK_Thai_sarai                         = 0x0dd4
  1934  	XK_Thai_saraii                        = 0x0dd5
  1935  	XK_Thai_sarao                         = 0x0de2
  1936  	XK_Thai_sarau                         = 0x0dd8
  1937  	XK_Thai_saraue                        = 0x0dd6
  1938  	XK_Thai_sarauee                       = 0x0dd7
  1939  	XK_Thai_sarauu                        = 0x0dd9
  1940  	XK_Thai_sorusi                        = 0x0dc9
  1941  	XK_Thai_sosala                        = 0x0dc8
  1942  	XK_Thai_soso                          = 0x0dab
  1943  	XK_Thai_sosua                         = 0x0dca
  1944  	XK_Thai_thanthakhat                   = 0x0dec
  1945  	XK_Thai_thonangmontho                 = 0x0db1
  1946  	XK_Thai_thophuthao                    = 0x0db2
  1947  	XK_Thai_thothahan                     = 0x0db7
  1948  	XK_Thai_thothan                       = 0x0db0
  1949  	XK_Thai_thothong                      = 0x0db8
  1950  	XK_Thai_thothung                      = 0x0db6
  1951  	XK_Thai_topatak                       = 0x0daf
  1952  	XK_Thai_totao                         = 0x0db5
  1953  	XK_Thai_wowaen                        = 0x0dc7
  1954  	XK_Thai_yoyak                         = 0x0dc2
  1955  	XK_Thai_yoying                        = 0x0dad
  1956  	XK_Thorn                              = 0x00de
  1957  	XK_Touroku                            = 0xff2b
  1958  	XK_Tslash                             = 0x03ac
  1959  	XK_U                                  = 0x0055
  1960  	XK_Uacute                             = 0x00da
  1961  	XK_Ubelowdot                          = 0x1001ee4
  1962  	XK_Ubreve                             = 0x02dd
  1963  	XK_Ucircumflex                        = 0x00db
  1964  	XK_Udiaeresis                         = 0x00dc
  1965  	XK_Udoubleacute                       = 0x01db
  1966  	XK_Ugrave                             = 0x00d9
  1967  	XK_Uhook                              = 0x1001ee6
  1968  	XK_Uhorn                              = 0x10001af
  1969  	XK_Uhornacute                         = 0x1001ee8
  1970  	XK_Uhornbelowdot                      = 0x1001ef0
  1971  	XK_Uhorngrave                         = 0x1001eea
  1972  	XK_Uhornhook                          = 0x1001eec
  1973  	XK_Uhorntilde                         = 0x1001eee
  1974  	XK_Ukrainian_GHE_WITH_UPTURN          = 0x06bd
  1975  	XK_Ukrainian_I                        = 0x06b6
  1976  	XK_Ukrainian_IE                       = 0x06b4
  1977  	XK_Ukrainian_YI                       = 0x06b7
  1978  	XK_Ukrainian_ghe_with_upturn          = 0x06ad
  1979  	XK_Ukrainian_i                        = 0x06a6
  1980  	XK_Ukrainian_ie                       = 0x06a4
  1981  	XK_Ukrainian_yi                       = 0x06a7
  1982  	XK_Ukranian_I                         = 0x06b6
  1983  	XK_Ukranian_JE                        = 0x06b4
  1984  	XK_Ukranian_YI                        = 0x06b7
  1985  	XK_Ukranian_i                         = 0x06a6
  1986  	XK_Ukranian_je                        = 0x06a4
  1987  	XK_Ukranian_yi                        = 0x06a7
  1988  	XK_Umacron                            = 0x03de
  1989  	XK_Undo                               = 0xff65
  1990  	XK_Uogonek                            = 0x03d9
  1991  	XK_Up                                 = 0xff52
  1992  	XK_Uring                              = 0x01d9
  1993  	XK_Utilde                             = 0x03dd
  1994  	XK_V                                  = 0x0056
  1995  	XK_VIETNAMESE                         = 0
  1996  	XK_VoidSymbol                         = 0xffffff
  1997  	XK_W                                  = 0x0057
  1998  	XK_Wacute                             = 0x1001e82
  1999  	XK_Wcircumflex                        = 0x1000174
  2000  	XK_Wdiaeresis                         = 0x1001e84
  2001  	XK_Wgrave                             = 0x1001e80
  2002  	XK_WonSign                            = 0x10020a9
  2003  	XK_X                                  = 0x0058
  2004  	XK_XKB_KEYS                           = 0
  2005  	XK_Xabovedot                          = 0x1001e8a
  2006  	XK_Y                                  = 0x0059
  2007  	XK_Yacute                             = 0x00dd
  2008  	XK_Ybelowdot                          = 0x1001ef4
  2009  	XK_Ycircumflex                        = 0x1000176
  2010  	XK_Ydiaeresis                         = 0x13be
  2011  	XK_Ygrave                             = 0x1001ef2
  2012  	XK_Yhook                              = 0x1001ef6
  2013  	XK_Ytilde                             = 0x1001ef8
  2014  	XK_Z                                  = 0x005a
  2015  	XK_Zabovedot                          = 0x01af
  2016  	XK_Zacute                             = 0x01ac
  2017  	XK_Zcaron                             = 0x01ae
  2018  	XK_Zen_Koho                           = 0xff3d
  2019  	XK_Zenkaku                            = 0xff28
  2020  	XK_Zenkaku_Hankaku                    = 0xff2a
  2021  	XK_Zstroke                            = 0x10001b5
  2022  	XK_a                                  = 0x0061
  2023  	XK_aacute                             = 0x00e1
  2024  	XK_abelowdot                          = 0x1001ea1
  2025  	XK_abovedot                           = 0x01ff
  2026  	XK_abreve                             = 0x01e3
  2027  	XK_abreveacute                        = 0x1001eaf
  2028  	XK_abrevebelowdot                     = 0x1001eb7
  2029  	XK_abrevegrave                        = 0x1001eb1
  2030  	XK_abrevehook                         = 0x1001eb3
  2031  	XK_abrevetilde                        = 0x1001eb5
  2032  	XK_acircumflex                        = 0x00e2
  2033  	XK_acircumflexacute                   = 0x1001ea5
  2034  	XK_acircumflexbelowdot                = 0x1001ead
  2035  	XK_acircumflexgrave                   = 0x1001ea7
  2036  	XK_acircumflexhook                    = 0x1001ea9
  2037  	XK_acircumflextilde                   = 0x1001eab
  2038  	XK_acute                              = 0x00b4
  2039  	XK_adiaeresis                         = 0x00e4
  2040  	XK_ae                                 = 0x00e6
  2041  	XK_agrave                             = 0x00e0
  2042  	XK_ahook                              = 0x1001ea3
  2043  	XK_amacron                            = 0x03e0
  2044  	XK_ampersand                          = 0x0026
  2045  	XK_aogonek                            = 0x01b1
  2046  	XK_apostrophe                         = 0x0027
  2047  	XK_approxeq                           = 0x1002248
  2048  	XK_aring                              = 0x00e5
  2049  	XK_asciicircum                        = 0x005e
  2050  	XK_asciitilde                         = 0x007e
  2051  	XK_asterisk                           = 0x002a
  2052  	XK_at                                 = 0x0040
  2053  	XK_atilde                             = 0x00e3
  2054  	XK_b                                  = 0x0062
  2055  	XK_babovedot                          = 0x1001e03
  2056  	XK_backslash                          = 0x005c
  2057  	XK_bar                                = 0x007c
  2058  	XK_because                            = 0x1002235
  2059  	XK_braceleft                          = 0x007b
  2060  	XK_braceright                         = 0x007d
  2061  	XK_bracketleft                        = 0x005b
  2062  	XK_bracketright                       = 0x005d
  2063  	XK_braille_blank                      = 0x1002800
  2064  	XK_braille_dot_1                      = 0xfff1
  2065  	XK_braille_dot_10                     = 0xfffa
  2066  	XK_braille_dot_2                      = 0xfff2
  2067  	XK_braille_dot_3                      = 0xfff3
  2068  	XK_braille_dot_4                      = 0xfff4
  2069  	XK_braille_dot_5                      = 0xfff5
  2070  	XK_braille_dot_6                      = 0xfff6
  2071  	XK_braille_dot_7                      = 0xfff7
  2072  	XK_braille_dot_8                      = 0xfff8
  2073  	XK_braille_dot_9                      = 0xfff9
  2074  	XK_braille_dots_1                     = 0x1002801
  2075  	XK_braille_dots_12                    = 0x1002803
  2076  	XK_braille_dots_123                   = 0x1002807
  2077  	XK_braille_dots_1234                  = 0x100280f
  2078  	XK_braille_dots_12345                 = 0x100281f
  2079  	XK_braille_dots_123456                = 0x100283f
  2080  	XK_braille_dots_1234567               = 0x100287f
  2081  	XK_braille_dots_12345678              = 0x10028ff
  2082  	XK_braille_dots_1234568               = 0x10028bf
  2083  	XK_braille_dots_123457                = 0x100285f
  2084  	XK_braille_dots_1234578               = 0x10028df
  2085  	XK_braille_dots_123458                = 0x100289f
  2086  	XK_braille_dots_12346                 = 0x100282f
  2087  	XK_braille_dots_123467                = 0x100286f
  2088  	XK_braille_dots_1234678               = 0x10028ef
  2089  	XK_braille_dots_123468                = 0x10028af
  2090  	XK_braille_dots_12347                 = 0x100284f
  2091  	XK_braille_dots_123478                = 0x10028cf
  2092  	XK_braille_dots_12348                 = 0x100288f
  2093  	XK_braille_dots_1235                  = 0x1002817
  2094  	XK_braille_dots_12356                 = 0x1002837
  2095  	XK_braille_dots_123567                = 0x1002877
  2096  	XK_braille_dots_1235678               = 0x10028f7
  2097  	XK_braille_dots_123568                = 0x10028b7
  2098  	XK_braille_dots_12357                 = 0x1002857
  2099  	XK_braille_dots_123578                = 0x10028d7
  2100  	XK_braille_dots_12358                 = 0x1002897
  2101  	XK_braille_dots_1236                  = 0x1002827
  2102  	XK_braille_dots_12367                 = 0x1002867
  2103  	XK_braille_dots_123678                = 0x10028e7
  2104  	XK_braille_dots_12368                 = 0x10028a7
  2105  	XK_braille_dots_1237                  = 0x1002847
  2106  	XK_braille_dots_12378                 = 0x10028c7
  2107  	XK_braille_dots_1238                  = 0x1002887
  2108  	XK_braille_dots_124                   = 0x100280b
  2109  	XK_braille_dots_1245                  = 0x100281b
  2110  	XK_braille_dots_12456                 = 0x100283b
  2111  	XK_braille_dots_124567                = 0x100287b
  2112  	XK_braille_dots_1245678               = 0x10028fb
  2113  	XK_braille_dots_124568                = 0x10028bb
  2114  	XK_braille_dots_12457                 = 0x100285b
  2115  	XK_braille_dots_124578                = 0x10028db
  2116  	XK_braille_dots_12458                 = 0x100289b
  2117  	XK_braille_dots_1246                  = 0x100282b
  2118  	XK_braille_dots_12467                 = 0x100286b
  2119  	XK_braille_dots_124678                = 0x10028eb
  2120  	XK_braille_dots_12468                 = 0x10028ab
  2121  	XK_braille_dots_1247                  = 0x100284b
  2122  	XK_braille_dots_12478                 = 0x10028cb
  2123  	XK_braille_dots_1248                  = 0x100288b
  2124  	XK_braille_dots_125                   = 0x1002813
  2125  	XK_braille_dots_1256                  = 0x1002833
  2126  	XK_braille_dots_12567                 = 0x1002873
  2127  	XK_braille_dots_125678                = 0x10028f3
  2128  	XK_braille_dots_12568                 = 0x10028b3
  2129  	XK_braille_dots_1257                  = 0x1002853
  2130  	XK_braille_dots_12578                 = 0x10028d3
  2131  	XK_braille_dots_1258                  = 0x1002893
  2132  	XK_braille_dots_126                   = 0x1002823
  2133  	XK_braille_dots_1267                  = 0x1002863
  2134  	XK_braille_dots_12678                 = 0x10028e3
  2135  	XK_braille_dots_1268                  = 0x10028a3
  2136  	XK_braille_dots_127                   = 0x1002843
  2137  	XK_braille_dots_1278                  = 0x10028c3
  2138  	XK_braille_dots_128                   = 0x1002883
  2139  	XK_braille_dots_13                    = 0x1002805
  2140  	XK_braille_dots_134                   = 0x100280d
  2141  	XK_braille_dots_1345                  = 0x100281d
  2142  	XK_braille_dots_13456                 = 0x100283d
  2143  	XK_braille_dots_134567                = 0x100287d
  2144  	XK_braille_dots_1345678               = 0x10028fd
  2145  	XK_braille_dots_134568                = 0x10028bd
  2146  	XK_braille_dots_13457                 = 0x100285d
  2147  	XK_braille_dots_134578                = 0x10028dd
  2148  	XK_braille_dots_13458                 = 0x100289d
  2149  	XK_braille_dots_1346                  = 0x100282d
  2150  	XK_braille_dots_13467                 = 0x100286d
  2151  	XK_braille_dots_134678                = 0x10028ed
  2152  	XK_braille_dots_13468                 = 0x10028ad
  2153  	XK_braille_dots_1347                  = 0x100284d
  2154  	XK_braille_dots_13478                 = 0x10028cd
  2155  	XK_braille_dots_1348                  = 0x100288d
  2156  	XK_braille_dots_135                   = 0x1002815
  2157  	XK_braille_dots_1356                  = 0x1002835
  2158  	XK_braille_dots_13567                 = 0x1002875
  2159  	XK_braille_dots_135678                = 0x10028f5
  2160  	XK_braille_dots_13568                 = 0x10028b5
  2161  	XK_braille_dots_1357                  = 0x1002855
  2162  	XK_braille_dots_13578                 = 0x10028d5
  2163  	XK_braille_dots_1358                  = 0x1002895
  2164  	XK_braille_dots_136                   = 0x1002825
  2165  	XK_braille_dots_1367                  = 0x1002865
  2166  	XK_braille_dots_13678                 = 0x10028e5
  2167  	XK_braille_dots_1368                  = 0x10028a5
  2168  	XK_braille_dots_137                   = 0x1002845
  2169  	XK_braille_dots_1378                  = 0x10028c5
  2170  	XK_braille_dots_138                   = 0x1002885
  2171  	XK_braille_dots_14                    = 0x1002809
  2172  	XK_braille_dots_145                   = 0x1002819
  2173  	XK_braille_dots_1456                  = 0x1002839
  2174  	XK_braille_dots_14567                 = 0x1002879
  2175  	XK_braille_dots_145678                = 0x10028f9
  2176  	XK_braille_dots_14568                 = 0x10028b9
  2177  	XK_braille_dots_1457                  = 0x1002859
  2178  	XK_braille_dots_14578                 = 0x10028d9
  2179  	XK_braille_dots_1458                  = 0x1002899
  2180  	XK_braille_dots_146                   = 0x1002829
  2181  	XK_braille_dots_1467                  = 0x1002869
  2182  	XK_braille_dots_14678                 = 0x10028e9
  2183  	XK_braille_dots_1468                  = 0x10028a9
  2184  	XK_braille_dots_147                   = 0x1002849
  2185  	XK_braille_dots_1478                  = 0x10028c9
  2186  	XK_braille_dots_148                   = 0x1002889
  2187  	XK_braille_dots_15                    = 0x1002811
  2188  	XK_braille_dots_156                   = 0x1002831
  2189  	XK_braille_dots_1567                  = 0x1002871
  2190  	XK_braille_dots_15678                 = 0x10028f1
  2191  	XK_braille_dots_1568                  = 0x10028b1
  2192  	XK_braille_dots_157                   = 0x1002851
  2193  	XK_braille_dots_1578                  = 0x10028d1
  2194  	XK_braille_dots_158                   = 0x1002891
  2195  	XK_braille_dots_16                    = 0x1002821
  2196  	XK_braille_dots_167                   = 0x1002861
  2197  	XK_braille_dots_1678                  = 0x10028e1
  2198  	XK_braille_dots_168                   = 0x10028a1
  2199  	XK_braille_dots_17                    = 0x1002841
  2200  	XK_braille_dots_178                   = 0x10028c1
  2201  	XK_braille_dots_18                    = 0x1002881
  2202  	XK_braille_dots_2                     = 0x1002802
  2203  	XK_braille_dots_23                    = 0x1002806
  2204  	XK_braille_dots_234                   = 0x100280e
  2205  	XK_braille_dots_2345                  = 0x100281e
  2206  	XK_braille_dots_23456                 = 0x100283e
  2207  	XK_braille_dots_234567                = 0x100287e
  2208  	XK_braille_dots_2345678               = 0x10028fe
  2209  	XK_braille_dots_234568                = 0x10028be
  2210  	XK_braille_dots_23457                 = 0x100285e
  2211  	XK_braille_dots_234578                = 0x10028de
  2212  	XK_braille_dots_23458                 = 0x100289e
  2213  	XK_braille_dots_2346                  = 0x100282e
  2214  	XK_braille_dots_23467                 = 0x100286e
  2215  	XK_braille_dots_234678                = 0x10028ee
  2216  	XK_braille_dots_23468                 = 0x10028ae
  2217  	XK_braille_dots_2347                  = 0x100284e
  2218  	XK_braille_dots_23478                 = 0x10028ce
  2219  	XK_braille_dots_2348                  = 0x100288e
  2220  	XK_braille_dots_235                   = 0x1002816
  2221  	XK_braille_dots_2356                  = 0x1002836
  2222  	XK_braille_dots_23567                 = 0x1002876
  2223  	XK_braille_dots_235678                = 0x10028f6
  2224  	XK_braille_dots_23568                 = 0x10028b6
  2225  	XK_braille_dots_2357                  = 0x1002856
  2226  	XK_braille_dots_23578                 = 0x10028d6
  2227  	XK_braille_dots_2358                  = 0x1002896
  2228  	XK_braille_dots_236                   = 0x1002826
  2229  	XK_braille_dots_2367                  = 0x1002866
  2230  	XK_braille_dots_23678                 = 0x10028e6
  2231  	XK_braille_dots_2368                  = 0x10028a6
  2232  	XK_braille_dots_237                   = 0x1002846
  2233  	XK_braille_dots_2378                  = 0x10028c6
  2234  	XK_braille_dots_238                   = 0x1002886
  2235  	XK_braille_dots_24                    = 0x100280a
  2236  	XK_braille_dots_245                   = 0x100281a
  2237  	XK_braille_dots_2456                  = 0x100283a
  2238  	XK_braille_dots_24567                 = 0x100287a
  2239  	XK_braille_dots_245678                = 0x10028fa
  2240  	XK_braille_dots_24568                 = 0x10028ba
  2241  	XK_braille_dots_2457                  = 0x100285a
  2242  	XK_braille_dots_24578                 = 0x10028da
  2243  	XK_braille_dots_2458                  = 0x100289a
  2244  	XK_braille_dots_246                   = 0x100282a
  2245  	XK_braille_dots_2467                  = 0x100286a
  2246  	XK_braille_dots_24678                 = 0x10028ea
  2247  	XK_braille_dots_2468                  = 0x10028aa
  2248  	XK_braille_dots_247                   = 0x100284a
  2249  	XK_braille_dots_2478                  = 0x10028ca
  2250  	XK_braille_dots_248                   = 0x100288a
  2251  	XK_braille_dots_25                    = 0x1002812
  2252  	XK_braille_dots_256                   = 0x1002832
  2253  	XK_braille_dots_2567                  = 0x1002872
  2254  	XK_braille_dots_25678                 = 0x10028f2
  2255  	XK_braille_dots_2568                  = 0x10028b2
  2256  	XK_braille_dots_257                   = 0x1002852
  2257  	XK_braille_dots_2578                  = 0x10028d2
  2258  	XK_braille_dots_258                   = 0x1002892
  2259  	XK_braille_dots_26                    = 0x1002822
  2260  	XK_braille_dots_267                   = 0x1002862
  2261  	XK_braille_dots_2678                  = 0x10028e2
  2262  	XK_braille_dots_268                   = 0x10028a2
  2263  	XK_braille_dots_27                    = 0x1002842
  2264  	XK_braille_dots_278                   = 0x10028c2
  2265  	XK_braille_dots_28                    = 0x1002882
  2266  	XK_braille_dots_3                     = 0x1002804
  2267  	XK_braille_dots_34                    = 0x100280c
  2268  	XK_braille_dots_345                   = 0x100281c
  2269  	XK_braille_dots_3456                  = 0x100283c
  2270  	XK_braille_dots_34567                 = 0x100287c
  2271  	XK_braille_dots_345678                = 0x10028fc
  2272  	XK_braille_dots_34568                 = 0x10028bc
  2273  	XK_braille_dots_3457                  = 0x100285c
  2274  	XK_braille_dots_34578                 = 0x10028dc
  2275  	XK_braille_dots_3458                  = 0x100289c
  2276  	XK_braille_dots_346                   = 0x100282c
  2277  	XK_braille_dots_3467                  = 0x100286c
  2278  	XK_braille_dots_34678                 = 0x10028ec
  2279  	XK_braille_dots_3468                  = 0x10028ac
  2280  	XK_braille_dots_347                   = 0x100284c
  2281  	XK_braille_dots_3478                  = 0x10028cc
  2282  	XK_braille_dots_348                   = 0x100288c
  2283  	XK_braille_dots_35                    = 0x1002814
  2284  	XK_braille_dots_356                   = 0x1002834
  2285  	XK_braille_dots_3567                  = 0x1002874
  2286  	XK_braille_dots_35678                 = 0x10028f4
  2287  	XK_braille_dots_3568                  = 0x10028b4
  2288  	XK_braille_dots_357                   = 0x1002854
  2289  	XK_braille_dots_3578                  = 0x10028d4
  2290  	XK_braille_dots_358                   = 0x1002894
  2291  	XK_braille_dots_36                    = 0x1002824
  2292  	XK_braille_dots_367                   = 0x1002864
  2293  	XK_braille_dots_3678                  = 0x10028e4
  2294  	XK_braille_dots_368                   = 0x10028a4
  2295  	XK_braille_dots_37                    = 0x1002844
  2296  	XK_braille_dots_378                   = 0x10028c4
  2297  	XK_braille_dots_38                    = 0x1002884
  2298  	XK_braille_dots_4                     = 0x1002808
  2299  	XK_braille_dots_45                    = 0x1002818
  2300  	XK_braille_dots_456                   = 0x1002838
  2301  	XK_braille_dots_4567                  = 0x1002878
  2302  	XK_braille_dots_45678                 = 0x10028f8
  2303  	XK_braille_dots_4568                  = 0x10028b8
  2304  	XK_braille_dots_457                   = 0x1002858
  2305  	XK_braille_dots_4578                  = 0x10028d8
  2306  	XK_braille_dots_458                   = 0x1002898
  2307  	XK_braille_dots_46                    = 0x1002828
  2308  	XK_braille_dots_467                   = 0x1002868
  2309  	XK_braille_dots_4678                  = 0x10028e8
  2310  	XK_braille_dots_468                   = 0x10028a8
  2311  	XK_braille_dots_47                    = 0x1002848
  2312  	XK_braille_dots_478                   = 0x10028c8
  2313  	XK_braille_dots_48                    = 0x1002888
  2314  	XK_braille_dots_5                     = 0x1002810
  2315  	XK_braille_dots_56                    = 0x1002830
  2316  	XK_braille_dots_567                   = 0x1002870
  2317  	XK_braille_dots_5678                  = 0x10028f0
  2318  	XK_braille_dots_568                   = 0x10028b0
  2319  	XK_braille_dots_57                    = 0x1002850
  2320  	XK_braille_dots_578                   = 0x10028d0
  2321  	XK_braille_dots_58                    = 0x1002890
  2322  	XK_braille_dots_6                     = 0x1002820
  2323  	XK_braille_dots_67                    = 0x1002860
  2324  	XK_braille_dots_678                   = 0x10028e0
  2325  	XK_braille_dots_68                    = 0x10028a0
  2326  	XK_braille_dots_7                     = 0x1002840
  2327  	XK_braille_dots_78                    = 0x10028c0
  2328  	XK_braille_dots_8                     = 0x1002880
  2329  	XK_breve                              = 0x01a2
  2330  	XK_brokenbar                          = 0x00a6
  2331  	XK_c                                  = 0x0063
  2332  	XK_c_h                                = 0xfea3
  2333  	XK_cabovedot                          = 0x02e5
  2334  	XK_cacute                             = 0x01e6
  2335  	XK_caron                              = 0x01b7
  2336  	XK_ccaron                             = 0x01e8
  2337  	XK_ccedilla                           = 0x00e7
  2338  	XK_ccircumflex                        = 0x02e6
  2339  	XK_cedilla                            = 0x00b8
  2340  	XK_cent                               = 0x00a2
  2341  	XK_ch                                 = 0xfea0
  2342  	XK_colon                              = 0x003a
  2343  	XK_comma                              = 0x002c
  2344  	XK_containsas                         = 0x100220B
  2345  	XK_copyright                          = 0x00a9
  2346  	XK_cuberoot                           = 0x100221B
  2347  	XK_currency                           = 0x00a4
  2348  	XK_d                                  = 0x0064
  2349  	XK_dabovedot                          = 0x1001e0b
  2350  	XK_dcaron                             = 0x01ef
  2351  	XK_dead_A                             = 0xfe81
  2352  	XK_dead_E                             = 0xfe83
  2353  	XK_dead_I                             = 0xfe85
  2354  	XK_dead_O                             = 0xfe87
  2355  	XK_dead_U                             = 0xfe89
  2356  	XK_dead_a                             = 0xfe80
  2357  	XK_dead_abovecomma                    = 0xfe64
  2358  	XK_dead_abovedot                      = 0xfe56
  2359  	XK_dead_abovereversedcomma            = 0xfe65
  2360  	XK_dead_abovering                     = 0xfe58
  2361  	XK_dead_aboveverticalline             = 0xfe91
  2362  	XK_dead_acute                         = 0xfe51
  2363  	XK_dead_belowbreve                    = 0xfe6b
  2364  	XK_dead_belowcircumflex               = 0xfe69
  2365  	XK_dead_belowcomma                    = 0xfe6e
  2366  	XK_dead_belowdiaeresis                = 0xfe6c
  2367  	XK_dead_belowdot                      = 0xfe60
  2368  	XK_dead_belowmacron                   = 0xfe68
  2369  	XK_dead_belowring                     = 0xfe67
  2370  	XK_dead_belowtilde                    = 0xfe6a
  2371  	XK_dead_belowverticalline             = 0xfe92
  2372  	XK_dead_breve                         = 0xfe55
  2373  	XK_dead_capital_schwa                 = 0xfe8b
  2374  	XK_dead_caron                         = 0xfe5a
  2375  	XK_dead_cedilla                       = 0xfe5b
  2376  	XK_dead_circumflex                    = 0xfe52
  2377  	XK_dead_currency                      = 0xfe6f
  2378  	XK_dead_dasia                         = 0xfe65
  2379  	XK_dead_diaeresis                     = 0xfe57
  2380  	XK_dead_doubleacute                   = 0xfe59
  2381  	XK_dead_doublegrave                   = 0xfe66
  2382  	XK_dead_e                             = 0xfe82
  2383  	XK_dead_grave                         = 0xfe50
  2384  	XK_dead_greek                         = 0xfe8c
  2385  	XK_dead_hook                          = 0xfe61
  2386  	XK_dead_horn                          = 0xfe62
  2387  	XK_dead_i                             = 0xfe84
  2388  	XK_dead_invertedbreve                 = 0xfe6d
  2389  	XK_dead_iota                          = 0xfe5d
  2390  	XK_dead_longsolidusoverlay            = 0xfe93
  2391  	XK_dead_lowline                       = 0xfe90
  2392  	XK_dead_macron                        = 0xfe54
  2393  	XK_dead_o                             = 0xfe86
  2394  	XK_dead_ogonek                        = 0xfe5c
  2395  	XK_dead_perispomeni                   = 0xfe53
  2396  	XK_dead_psili                         = 0xfe64
  2397  	XK_dead_semivoiced_sound              = 0xfe5f
  2398  	XK_dead_small_schwa                   = 0xfe8a
  2399  	XK_dead_stroke                        = 0xfe63
  2400  	XK_dead_tilde                         = 0xfe53
  2401  	XK_dead_u                             = 0xfe88
  2402  	XK_dead_voiced_sound                  = 0xfe5e
  2403  	XK_degree                             = 0x00b0
  2404  	XK_diaeresis                          = 0x00a8
  2405  	XK_dintegral                          = 0x100222C
  2406  	XK_division                           = 0x00f7
  2407  	XK_dollar                             = 0x0024
  2408  	XK_doubleacute                        = 0x01bd
  2409  	XK_dstroke                            = 0x01f0
  2410  	XK_e                                  = 0x0065
  2411  	XK_eabovedot                          = 0x03ec
  2412  	XK_eacute                             = 0x00e9
  2413  	XK_ebelowdot                          = 0x1001eb9
  2414  	XK_ecaron                             = 0x01ec
  2415  	XK_ecircumflex                        = 0x00ea
  2416  	XK_ecircumflexacute                   = 0x1001ebf
  2417  	XK_ecircumflexbelowdot                = 0x1001ec7
  2418  	XK_ecircumflexgrave                   = 0x1001ec1
  2419  	XK_ecircumflexhook                    = 0x1001ec3
  2420  	XK_ecircumflextilde                   = 0x1001ec5
  2421  	XK_ediaeresis                         = 0x00eb
  2422  	XK_egrave                             = 0x00e8
  2423  	XK_ehook                              = 0x1001ebb
  2424  	XK_eightsubscript                     = 0x1002088
  2425  	XK_eightsuperior                      = 0x1002078
  2426  	XK_elementof                          = 0x1002208
  2427  	XK_emacron                            = 0x03ba
  2428  	XK_emptyset                           = 0x1002205
  2429  	XK_eng                                = 0x03bf
  2430  	XK_eogonek                            = 0x01ea
  2431  	XK_equal                              = 0x003d
  2432  	XK_eth                                = 0x00f0
  2433  	XK_etilde                             = 0x1001ebd
  2434  	XK_exclam                             = 0x0021
  2435  	XK_exclamdown                         = 0x00a1
  2436  	XK_ezh                                = 0x1000292
  2437  	XK_f                                  = 0x0066
  2438  	XK_fabovedot                          = 0x1001e1f
  2439  	XK_fivesubscript                      = 0x1002085
  2440  	XK_fivesuperior                       = 0x1002075
  2441  	XK_foursubscript                      = 0x1002084
  2442  	XK_foursuperior                       = 0x1002074
  2443  	XK_fourthroot                         = 0x100221C
  2444  	XK_g                                  = 0x0067
  2445  	XK_gabovedot                          = 0x02f5
  2446  	XK_gbreve                             = 0x02bb
  2447  	XK_gcaron                             = 0x10001e7
  2448  	XK_gcedilla                           = 0x03bb
  2449  	XK_gcircumflex                        = 0x02f8
  2450  	XK_grave                              = 0x0060
  2451  	XK_greater                            = 0x003e
  2452  	XK_guillemotleft                      = 0x00ab
  2453  	XK_guillemotright                     = 0x00bb
  2454  	XK_h                                  = 0x0068
  2455  	XK_hcircumflex                        = 0x02b6
  2456  	XK_hebrew_aleph                       = 0x0ce0
  2457  	XK_hebrew_ayin                        = 0x0cf2
  2458  	XK_hebrew_bet                         = 0x0ce1
  2459  	XK_hebrew_beth                        = 0x0ce1
  2460  	XK_hebrew_chet                        = 0x0ce7
  2461  	XK_hebrew_dalet                       = 0x0ce3
  2462  	XK_hebrew_daleth                      = 0x0ce3
  2463  	XK_hebrew_doublelowline               = 0x0cdf
  2464  	XK_hebrew_finalkaph                   = 0x0cea
  2465  	XK_hebrew_finalmem                    = 0x0ced
  2466  	XK_hebrew_finalnun                    = 0x0cef
  2467  	XK_hebrew_finalpe                     = 0x0cf3
  2468  	XK_hebrew_finalzade                   = 0x0cf5
  2469  	XK_hebrew_finalzadi                   = 0x0cf5
  2470  	XK_hebrew_gimel                       = 0x0ce2
  2471  	XK_hebrew_gimmel                      = 0x0ce2
  2472  	XK_hebrew_he                          = 0x0ce4
  2473  	XK_hebrew_het                         = 0x0ce7
  2474  	XK_hebrew_kaph                        = 0x0ceb
  2475  	XK_hebrew_kuf                         = 0x0cf7
  2476  	XK_hebrew_lamed                       = 0x0cec
  2477  	XK_hebrew_mem                         = 0x0cee
  2478  	XK_hebrew_nun                         = 0x0cf0
  2479  	XK_hebrew_pe                          = 0x0cf4
  2480  	XK_hebrew_qoph                        = 0x0cf7
  2481  	XK_hebrew_resh                        = 0x0cf8
  2482  	XK_hebrew_samech                      = 0x0cf1
  2483  	XK_hebrew_samekh                      = 0x0cf1
  2484  	XK_hebrew_shin                        = 0x0cf9
  2485  	XK_hebrew_taf                         = 0x0cfa
  2486  	XK_hebrew_taw                         = 0x0cfa
  2487  	XK_hebrew_tet                         = 0x0ce8
  2488  	XK_hebrew_teth                        = 0x0ce8
  2489  	XK_hebrew_waw                         = 0x0ce5
  2490  	XK_hebrew_yod                         = 0x0ce9
  2491  	XK_hebrew_zade                        = 0x0cf6
  2492  	XK_hebrew_zadi                        = 0x0cf6
  2493  	XK_hebrew_zain                        = 0x0ce6
  2494  	XK_hebrew_zayin                       = 0x0ce6
  2495  	XK_hstroke                            = 0x02b1
  2496  	XK_hyphen                             = 0x00ad
  2497  	XK_i                                  = 0x0069
  2498  	XK_iacute                             = 0x00ed
  2499  	XK_ibelowdot                          = 0x1001ecb
  2500  	XK_ibreve                             = 0x100012d
  2501  	XK_icircumflex                        = 0x00ee
  2502  	XK_idiaeresis                         = 0x00ef
  2503  	XK_idotless                           = 0x02b9
  2504  	XK_igrave                             = 0x00ec
  2505  	XK_ihook                              = 0x1001ec9
  2506  	XK_imacron                            = 0x03ef
  2507  	XK_iogonek                            = 0x03e7
  2508  	XK_itilde                             = 0x03b5
  2509  	XK_j                                  = 0x006a
  2510  	XK_jcircumflex                        = 0x02bc
  2511  	XK_k                                  = 0x006b
  2512  	XK_kana_A                             = 0x04b1
  2513  	XK_kana_CHI                           = 0x04c1
  2514  	XK_kana_E                             = 0x04b4
  2515  	XK_kana_FU                            = 0x04cc
  2516  	XK_kana_HA                            = 0x04ca
  2517  	XK_kana_HE                            = 0x04cd
  2518  	XK_kana_HI                            = 0x04cb
  2519  	XK_kana_HO                            = 0x04ce
  2520  	XK_kana_HU                            = 0x04cc
  2521  	XK_kana_I                             = 0x04b2
  2522  	XK_kana_KA                            = 0x04b6
  2523  	XK_kana_KE                            = 0x04b9
  2524  	XK_kana_KI                            = 0x04b7
  2525  	XK_kana_KO                            = 0x04ba
  2526  	XK_kana_KU                            = 0x04b8
  2527  	XK_kana_MA                            = 0x04cf
  2528  	XK_kana_ME                            = 0x04d2
  2529  	XK_kana_MI                            = 0x04d0
  2530  	XK_kana_MO                            = 0x04d3
  2531  	XK_kana_MU                            = 0x04d1
  2532  	XK_kana_N                             = 0x04dd
  2533  	XK_kana_NA                            = 0x04c5
  2534  	XK_kana_NE                            = 0x04c8
  2535  	XK_kana_NI                            = 0x04c6
  2536  	XK_kana_NO                            = 0x04c9
  2537  	XK_kana_NU                            = 0x04c7
  2538  	XK_kana_O                             = 0x04b5
  2539  	XK_kana_RA                            = 0x04d7
  2540  	XK_kana_RE                            = 0x04da
  2541  	XK_kana_RI                            = 0x04d8
  2542  	XK_kana_RO                            = 0x04db
  2543  	XK_kana_RU                            = 0x04d9
  2544  	XK_kana_SA                            = 0x04bb
  2545  	XK_kana_SE                            = 0x04be
  2546  	XK_kana_SHI                           = 0x04bc
  2547  	XK_kana_SO                            = 0x04bf
  2548  	XK_kana_SU                            = 0x04bd
  2549  	XK_kana_TA                            = 0x04c0
  2550  	XK_kana_TE                            = 0x04c3
  2551  	XK_kana_TI                            = 0x04c1
  2552  	XK_kana_TO                            = 0x04c4
  2553  	XK_kana_TSU                           = 0x04c2
  2554  	XK_kana_TU                            = 0x04c2
  2555  	XK_kana_U                             = 0x04b3
  2556  	XK_kana_WA                            = 0x04dc
  2557  	XK_kana_WO                            = 0x04a6
  2558  	XK_kana_YA                            = 0x04d4
  2559  	XK_kana_YO                            = 0x04d6
  2560  	XK_kana_YU                            = 0x04d5
  2561  	XK_kana_a                             = 0x04a7
  2562  	XK_kana_closingbracket                = 0x04a3
  2563  	XK_kana_comma                         = 0x04a4
  2564  	XK_kana_conjunctive                   = 0x04a5
  2565  	XK_kana_e                             = 0x04aa
  2566  	XK_kana_fullstop                      = 0x04a1
  2567  	XK_kana_i                             = 0x04a8
  2568  	XK_kana_middledot                     = 0x04a5
  2569  	XK_kana_o                             = 0x04ab
  2570  	XK_kana_openingbracket                = 0x04a2
  2571  	XK_kana_switch                        = 0xff7e
  2572  	XK_kana_tsu                           = 0x04af
  2573  	XK_kana_tu                            = 0x04af
  2574  	XK_kana_u                             = 0x04a9
  2575  	XK_kana_ya                            = 0x04ac
  2576  	XK_kana_yo                            = 0x04ae
  2577  	XK_kana_yu                            = 0x04ad
  2578  	XK_kappa                              = 0x03a2
  2579  	XK_kcedilla                           = 0x03f3
  2580  	XK_kra                                = 0x03a2
  2581  	XK_l                                  = 0x006c
  2582  	XK_lacute                             = 0x01e5
  2583  	XK_lbelowdot                          = 0x1001e37
  2584  	XK_lcaron                             = 0x01b5
  2585  	XK_lcedilla                           = 0x03b6
  2586  	XK_less                               = 0x003c
  2587  	XK_lstroke                            = 0x01b3
  2588  	XK_m                                  = 0x006d
  2589  	XK_mabovedot                          = 0x1001e41
  2590  	XK_macron                             = 0x00af
  2591  	XK_masculine                          = 0x00ba
  2592  	XK_minus                              = 0x002d
  2593  	XK_mu                                 = 0x00b5
  2594  	XK_multiply                           = 0x00d7
  2595  	XK_n                                  = 0x006e
  2596  	XK_nacute                             = 0x01f1
  2597  	XK_ncaron                             = 0x01f2
  2598  	XK_ncedilla                           = 0x03f1
  2599  	XK_ninesubscript                      = 0x1002089
  2600  	XK_ninesuperior                       = 0x1002079
  2601  	XK_nobreakspace                       = 0x00a0
  2602  	XK_notapproxeq                        = 0x1002247
  2603  	XK_notelementof                       = 0x1002209
  2604  	XK_notidentical                       = 0x1002262
  2605  	XK_notsign                            = 0x00ac
  2606  	XK_ntilde                             = 0x00f1
  2607  	XK_numbersign                         = 0x0023
  2608  	XK_numerosign                         = 0x06b0
  2609  	XK_o                                  = 0x006f
  2610  	XK_oacute                             = 0x00f3
  2611  	XK_obarred                            = 0x1000275
  2612  	XK_obelowdot                          = 0x1001ecd
  2613  	XK_ocaron                             = 0x10001d2
  2614  	XK_ocircumflex                        = 0x00f4
  2615  	XK_ocircumflexacute                   = 0x1001ed1
  2616  	XK_ocircumflexbelowdot                = 0x1001ed9
  2617  	XK_ocircumflexgrave                   = 0x1001ed3
  2618  	XK_ocircumflexhook                    = 0x1001ed5
  2619  	XK_ocircumflextilde                   = 0x1001ed7
  2620  	XK_odiaeresis                         = 0x00f6
  2621  	XK_odoubleacute                       = 0x01f5
  2622  	XK_oe                                 = 0x13bd
  2623  	XK_ogonek                             = 0x01b2
  2624  	XK_ograve                             = 0x00f2
  2625  	XK_ohook                              = 0x1001ecf
  2626  	XK_ohorn                              = 0x10001a1
  2627  	XK_ohornacute                         = 0x1001edb
  2628  	XK_ohornbelowdot                      = 0x1001ee3
  2629  	XK_ohorngrave                         = 0x1001edd
  2630  	XK_ohornhook                          = 0x1001edf
  2631  	XK_ohorntilde                         = 0x1001ee1
  2632  	XK_omacron                            = 0x03f2
  2633  	XK_onehalf                            = 0x00bd
  2634  	XK_onequarter                         = 0x00bc
  2635  	XK_onesubscript                       = 0x1002081
  2636  	XK_onesuperior                        = 0x00b9
  2637  	XK_ooblique                           = 0x00f8
  2638  	XK_ordfeminine                        = 0x00aa
  2639  	XK_oslash                             = 0x00f8
  2640  	XK_otilde                             = 0x00f5
  2641  	XK_overline                           = 0x047e
  2642  	XK_p                                  = 0x0070
  2643  	XK_pabovedot                          = 0x1001e57
  2644  	XK_paragraph                          = 0x00b6
  2645  	XK_parenleft                          = 0x0028
  2646  	XK_parenright                         = 0x0029
  2647  	XK_partdifferential                   = 0x1002202
  2648  	XK_percent                            = 0x0025
  2649  	XK_period                             = 0x002e
  2650  	XK_periodcentered                     = 0x00b7
  2651  	XK_plus                               = 0x002b
  2652  	XK_plusminus                          = 0x00b1
  2653  	XK_prolongedsound                     = 0x04b0
  2654  	XK_q                                  = 0x0071
  2655  	XK_question                           = 0x003f
  2656  	XK_questiondown                       = 0x00bf
  2657  	XK_quotedbl                           = 0x0022
  2658  	XK_quoteleft                          = 0x0060
  2659  	XK_quoteright                         = 0x0027
  2660  	XK_r                                  = 0x0072
  2661  	XK_racute                             = 0x01e0
  2662  	XK_rcaron                             = 0x01f8
  2663  	XK_rcedilla                           = 0x03b3
  2664  	XK_registered                         = 0x00ae
  2665  	XK_s                                  = 0x0073
  2666  	XK_sabovedot                          = 0x1001e61
  2667  	XK_sacute                             = 0x01b6
  2668  	XK_scaron                             = 0x01b9
  2669  	XK_scedilla                           = 0x01ba
  2670  	XK_schwa                              = 0x1000259
  2671  	XK_scircumflex                        = 0x02fe
  2672  	XK_script_switch                      = 0xff7e
  2673  	XK_section                            = 0x00a7
  2674  	XK_semicolon                          = 0x003b
  2675  	XK_semivoicedsound                    = 0x04df
  2676  	XK_sevensubscript                     = 0x1002087
  2677  	XK_sevensuperior                      = 0x1002077
  2678  	XK_sixsubscript                       = 0x1002086
  2679  	XK_sixsuperior                        = 0x1002076
  2680  	XK_slash                              = 0x002f
  2681  	XK_space                              = 0x0020
  2682  	XK_squareroot                         = 0x100221A
  2683  	XK_ssharp                             = 0x00df
  2684  	XK_sterling                           = 0x00a3
  2685  	XK_stricteq                           = 0x1002263
  2686  	XK_t                                  = 0x0074
  2687  	XK_tabovedot                          = 0x1001e6b
  2688  	XK_tcaron                             = 0x01bb
  2689  	XK_tcedilla                           = 0x01fe
  2690  	XK_thorn                              = 0x00fe
  2691  	XK_threequarters                      = 0x00be
  2692  	XK_threesubscript                     = 0x1002083
  2693  	XK_threesuperior                      = 0x00b3
  2694  	XK_tintegral                          = 0x100222D
  2695  	XK_tslash                             = 0x03bc
  2696  	XK_twosubscript                       = 0x1002082
  2697  	XK_twosuperior                        = 0x00b2
  2698  	XK_u                                  = 0x0075
  2699  	XK_uacute                             = 0x00fa
  2700  	XK_ubelowdot                          = 0x1001ee5
  2701  	XK_ubreve                             = 0x02fd
  2702  	XK_ucircumflex                        = 0x00fb
  2703  	XK_udiaeresis                         = 0x00fc
  2704  	XK_udoubleacute                       = 0x01fb
  2705  	XK_ugrave                             = 0x00f9
  2706  	XK_uhook                              = 0x1001ee7
  2707  	XK_uhorn                              = 0x10001b0
  2708  	XK_uhornacute                         = 0x1001ee9
  2709  	XK_uhornbelowdot                      = 0x1001ef1
  2710  	XK_uhorngrave                         = 0x1001eeb
  2711  	XK_uhornhook                          = 0x1001eed
  2712  	XK_uhorntilde                         = 0x1001eef
  2713  	XK_umacron                            = 0x03fe
  2714  	XK_underscore                         = 0x005f
  2715  	XK_uogonek                            = 0x03f9
  2716  	XK_uring                              = 0x01f9
  2717  	XK_utilde                             = 0x03fd
  2718  	XK_v                                  = 0x0076
  2719  	XK_voicedsound                        = 0x04de
  2720  	XK_w                                  = 0x0077
  2721  	XK_wacute                             = 0x1001e83
  2722  	XK_wcircumflex                        = 0x1000175
  2723  	XK_wdiaeresis                         = 0x1001e85
  2724  	XK_wgrave                             = 0x1001e81
  2725  	XK_x                                  = 0x0078
  2726  	XK_xabovedot                          = 0x1001e8b
  2727  	XK_y                                  = 0x0079
  2728  	XK_yacute                             = 0x00fd
  2729  	XK_ybelowdot                          = 0x1001ef5
  2730  	XK_ycircumflex                        = 0x1000177
  2731  	XK_ydiaeresis                         = 0x00ff
  2732  	XK_yen                                = 0x00a5
  2733  	XK_ygrave                             = 0x1001ef3
  2734  	XK_yhook                              = 0x1001ef7
  2735  	XK_ytilde                             = 0x1001ef9
  2736  	XK_z                                  = 0x007a
  2737  	XK_zabovedot                          = 0x01bf
  2738  	XK_zacute                             = 0x01bc
  2739  	XK_zcaron                             = 0x01be
  2740  	XK_zerosubscript                      = 0x1002080
  2741  	XK_zerosuperior                       = 0x1002070
  2742  	XK_zstroke                            = 0x10001b6
  2743  	XLocaleNotSupported                   = -2
  2744  	XLookupBoth                           = 4
  2745  	XLookupChars                          = 2
  2746  	XLookupKeySym                         = 3
  2747  	XLookupNone                           = 1
  2748  	XMD_H                                 = 1
  2749  	XNArea                                = "area"
  2750  	XNAreaNeeded                          = "areaNeeded"
  2751  	XNBackground                          = "background"
  2752  	XNBackgroundPixmap                    = "backgroundPixmap"
  2753  	XNBaseFontName                        = "baseFontName"
  2754  	XNClientWindow                        = "clientWindow"
  2755  	XNColormap                            = "colorMap"
  2756  	XNContextualDrawing                   = "contextualDrawing"
  2757  	XNCursor                              = "cursor"
  2758  	XNDefaultString                       = "defaultString"
  2759  	XNDestroyCallback                     = "destroyCallback"
  2760  	XNDirectionalDependentDrawing         = "directionalDependentDrawing"
  2761  	XNFilterEvents                        = "filterEvents"
  2762  	XNFocusWindow                         = "focusWindow"
  2763  	XNFontInfo                            = "fontInfo"
  2764  	XNFontSet                             = "fontSet"
  2765  	XNForeground                          = "foreground"
  2766  	XNGeometryCallback                    = "geometryCallback"
  2767  	XNHotKey                              = "hotKey"
  2768  	XNHotKeyState                         = "hotKeyState"
  2769  	XNInputStyle                          = "inputStyle"
  2770  	XNLineSpace                           = "lineSpace"
  2771  	XNMissingCharSet                      = "missingCharSet"
  2772  	XNOMAutomatic                         = "omAutomatic"
  2773  	XNOrientation                         = "orientation"
  2774  	XNPreeditAttributes                   = "preeditAttributes"
  2775  	XNPreeditCaretCallback                = "preeditCaretCallback"
  2776  	XNPreeditDoneCallback                 = "preeditDoneCallback"
  2777  	XNPreeditDrawCallback                 = "preeditDrawCallback"
  2778  	XNPreeditStartCallback                = "preeditStartCallback"
  2779  	XNPreeditState                        = "preeditState"
  2780  	XNPreeditStateNotifyCallback          = "preeditStateNotifyCallback"
  2781  	XNQueryICValuesList                   = "queryICValuesList"
  2782  	XNQueryIMValuesList                   = "queryIMValuesList"
  2783  	XNQueryInputStyle                     = "queryInputStyle"
  2784  	XNQueryOrientation                    = "queryOrientation"
  2785  	XNR6PreeditCallback                   = "r6PreeditCallback"
  2786  	XNRequiredCharSet                     = "requiredCharSet"
  2787  	XNResetState                          = "resetState"
  2788  	XNResourceClass                       = "resourceClass"
  2789  	XNResourceName                        = "resourceName"
  2790  	XNSeparatorofNestedList               = "separatorofNestedList"
  2791  	XNSpotLocation                        = "spotLocation"
  2792  	XNStatusAttributes                    = "statusAttributes"
  2793  	XNStatusDoneCallback                  = "statusDoneCallback"
  2794  	XNStatusDrawCallback                  = "statusDrawCallback"
  2795  	XNStatusStartCallback                 = "statusStartCallback"
  2796  	XNStdColormap                         = "stdColorMap"
  2797  	XNStringConversion                    = "stringConversion"
  2798  	XNStringConversionCallback            = "stringConversionCallback"
  2799  	XNVaNestedList                        = "XNVaNestedList"
  2800  	XNVisiblePosition                     = "visiblePosition"
  2801  	XNegative                             = 0x0010
  2802  	XNoMemory                             = -1
  2803  	XPROTOSTRUCTS_H                       = 0
  2804  	XPROTO_H                              = 0
  2805  	XTHREADS                              = 1
  2806  	XUSE_MTSAFE_API                       = 1
  2807  	XUrgencyHint                          = 256
  2808  	XValue                                = 0x0001
  2809  	XYBitmap                              = 0
  2810  	XYPixmap                              = 1
  2811  	X_AllocColor                          = 84
  2812  	X_AllocColorCells                     = 86
  2813  	X_AllocColorPlanes                    = 87
  2814  	X_AllocNamedColor                     = 85
  2815  	X_AllowEvents                         = 35
  2816  	X_Bell                                = 104
  2817  	X_ChangeActivePointerGrab             = 30
  2818  	X_ChangeGC                            = 56
  2819  	X_ChangeHosts                         = 109
  2820  	X_ChangeKeyboardControl               = 102
  2821  	X_ChangeKeyboardMapping               = 100
  2822  	X_ChangePointerControl                = 105
  2823  	X_ChangeProperty                      = 18
  2824  	X_ChangeSaveSet                       = 6
  2825  	X_ChangeWindowAttributes              = 2
  2826  	X_CirculateWindow                     = 13
  2827  	X_ClearArea                           = 61
  2828  	X_CloseFont                           = 46
  2829  	X_ConfigureWindow                     = 12
  2830  	X_ConvertSelection                    = 24
  2831  	X_CopyArea                            = 62
  2832  	X_CopyColormapAndFree                 = 80
  2833  	X_CopyGC                              = 57
  2834  	X_CopyPlane                           = 63
  2835  	X_CreateColormap                      = 78
  2836  	X_CreateCursor                        = 93
  2837  	X_CreateGC                            = 55
  2838  	X_CreateGlyphCursor                   = 94
  2839  	X_CreatePixmap                        = 53
  2840  	X_CreateWindow                        = 1
  2841  	X_DeleteProperty                      = 19
  2842  	X_DestroySubwindows                   = 5
  2843  	X_DestroyWindow                       = 4
  2844  	X_Error                               = 0
  2845  	X_FillPoly                            = 69
  2846  	X_ForceScreenSaver                    = 115
  2847  	X_FreeColormap                        = 79
  2848  	X_FreeColors                          = 88
  2849  	X_FreeCursor                          = 95
  2850  	X_FreeGC                              = 60
  2851  	X_FreePixmap                          = 54
  2852  	X_GetAtomName                         = 17
  2853  	X_GetFontPath                         = 52
  2854  	X_GetGeometry                         = 14
  2855  	X_GetImage                            = 73
  2856  	X_GetInputFocus                       = 43
  2857  	X_GetKeyboardControl                  = 103
  2858  	X_GetKeyboardMapping                  = 101
  2859  	X_GetModifierMapping                  = 119
  2860  	X_GetMotionEvents                     = 39
  2861  	X_GetPointerControl                   = 106
  2862  	X_GetPointerMapping                   = 117
  2863  	X_GetProperty                         = 20
  2864  	X_GetScreenSaver                      = 108
  2865  	X_GetSelectionOwner                   = 23
  2866  	X_GetWindowAttributes                 = 3
  2867  	X_GrabButton                          = 28
  2868  	X_GrabKey                             = 33
  2869  	X_GrabKeyboard                        = 31
  2870  	X_GrabPointer                         = 26
  2871  	X_GrabServer                          = 36
  2872  	X_H                                   = 0
  2873  	X_HAVE_UTF8_STRING                    = 1
  2874  	X_ImageText16                         = 77
  2875  	X_ImageText8                          = 76
  2876  	X_InstallColormap                     = 81
  2877  	X_InternAtom                          = 16
  2878  	X_KillClient                          = 113
  2879  	X_ListExtensions                      = 99
  2880  	X_ListFonts                           = 49
  2881  	X_ListFontsWithInfo                   = 50
  2882  	X_ListHosts                           = 110
  2883  	X_ListInstalledColormaps              = 83
  2884  	X_ListProperties                      = 21
  2885  	X_LookupColor                         = 92
  2886  	X_MapSubwindows                       = 9
  2887  	X_MapWindow                           = 8
  2888  	X_NoOperation                         = 127
  2889  	X_OpenFont                            = 45
  2890  	X_PROTOCOL                            = 11
  2891  	X_PROTOCOL_REVISION                   = 0
  2892  	X_PolyArc                             = 68
  2893  	X_PolyFillArc                         = 71
  2894  	X_PolyFillRectangle                   = 70
  2895  	X_PolyLine                            = 65
  2896  	X_PolyPoint                           = 64
  2897  	X_PolyRectangle                       = 67
  2898  	X_PolySegment                         = 66
  2899  	X_PolyText16                          = 75
  2900  	X_PolyText8                           = 74
  2901  	X_PutImage                            = 72
  2902  	X_QueryBestSize                       = 97
  2903  	X_QueryColors                         = 91
  2904  	X_QueryExtension                      = 98
  2905  	X_QueryFont                           = 47
  2906  	X_QueryKeymap                         = 44
  2907  	X_QueryPointer                        = 38
  2908  	X_QueryTextExtents                    = 48
  2909  	X_QueryTree                           = 15
  2910  	X_RecolorCursor                       = 96
  2911  	X_RenderAddGlyphs                     = 20
  2912  	X_RenderAddGlyphsFromPicture          = 21
  2913  	X_RenderAddTraps                      = 32
  2914  	X_RenderChangePicture                 = 5
  2915  	X_RenderColorTrapezoids               = 14
  2916  	X_RenderColorTriangles                = 15
  2917  	X_RenderComposite                     = 8
  2918  	X_RenderCompositeGlyphs16             = 24
  2919  	X_RenderCompositeGlyphs32             = 25
  2920  	X_RenderCompositeGlyphs8              = 23
  2921  	X_RenderCreateAnimCursor              = 31
  2922  	X_RenderCreateConicalGradient         = 36
  2923  	X_RenderCreateCursor                  = 27
  2924  	X_RenderCreateGlyphSet                = 17
  2925  	X_RenderCreateLinearGradient          = 34
  2926  	X_RenderCreatePicture                 = 4
  2927  	X_RenderCreateRadialGradient          = 35
  2928  	X_RenderCreateSolidFill               = 33
  2929  	X_RenderFillRectangles                = 26
  2930  	X_RenderFreeGlyphSet                  = 19
  2931  	X_RenderFreeGlyphs                    = 22
  2932  	X_RenderFreePicture                   = 7
  2933  	X_RenderQueryDithers                  = 3
  2934  	X_RenderQueryFilters                  = 29
  2935  	X_RenderQueryPictFormats              = 1
  2936  	X_RenderQueryPictIndexValues          = 2
  2937  	X_RenderQueryVersion                  = 0
  2938  	X_RenderReferenceGlyphSet             = 18
  2939  	X_RenderScale                         = 9
  2940  	X_RenderSetPictureClipRectangles      = 6
  2941  	X_RenderSetPictureFilter              = 30
  2942  	X_RenderSetPictureTransform           = 28
  2943  	X_RenderTrapezoids                    = 10
  2944  	X_RenderTriFan                        = 13
  2945  	X_RenderTriStrip                      = 12
  2946  	X_RenderTriangles                     = 11
  2947  	X_ReparentWindow                      = 7
  2948  	X_Reply                               = 1
  2949  	X_RotateProperties                    = 114
  2950  	X_SendEvent                           = 25
  2951  	X_SetAccessControl                    = 111
  2952  	X_SetClipRectangles                   = 59
  2953  	X_SetCloseDownMode                    = 112
  2954  	X_SetDashes                           = 58
  2955  	X_SetFontPath                         = 51
  2956  	X_SetInputFocus                       = 42
  2957  	X_SetModifierMapping                  = 118
  2958  	X_SetPointerMapping                   = 116
  2959  	X_SetScreenSaver                      = 107
  2960  	X_SetSelectionOwner                   = 22
  2961  	X_StoreColors                         = 89
  2962  	X_StoreNamedColor                     = 90
  2963  	X_TCP_PORT                            = 6000
  2964  	X_TranslateCoords                     = 40
  2965  	X_UngrabButton                        = 29
  2966  	X_UngrabKey                           = 34
  2967  	X_UngrabKeyboard                      = 32
  2968  	X_UngrabPointer                       = 27
  2969  	X_UngrabServer                        = 37
  2970  	X_UninstallColormap                   = 82
  2971  	X_UnmapSubwindows                     = 11
  2972  	X_UnmapWindow                         = 10
  2973  	X_WarpPointer                         = 41
  2974  	XlibDisplayClosing                    = 2
  2975  	XlibDisplayDfltRMDB                   = 128
  2976  	XlibDisplayIOError                    = 1
  2977  	XlibDisplayNoXkb                      = 4
  2978  	XlibDisplayPrivSync                   = 8
  2979  	XlibDisplayProcConni                  = 16
  2980  	XlibDisplayReadEvents                 = 32
  2981  	XlibDisplayReply                      = 32
  2982  	XlibDisplayWriting                    = 64
  2983  	XlibSpecificationRelease              = 6
  2984  	YNegative                             = 0x0020
  2985  	YSorted                               = 1
  2986  	YValue                                = 0x0002
  2987  	YXBanded                              = 3
  2988  	YXSorted                              = 2
  2989  	ZLNSPERBATCH                          = 1024
  2990  	ZPixmap                               = 2
  2991  	ZRCTSPERBATCH                         = 256
  2992  	ZoomState                             = 2
  2993  	X_ALLOCA_H                            = 1
  2994  	X_ANSI_STDDEF_H                       = 0
  2995  	X_ASM_GENERIC_ERRNO_BASE_H            = 0
  2996  	X_ASM_GENERIC_ERRNO_H                 = 0
  2997  	X_ATFILE_SOURCE                       = 1
  2998  	X_BITS_BYTESWAP_H                     = 1
  2999  	X_BITS_ENDIANNESS_H                   = 1
  3000  	X_BITS_ENDIAN_H                       = 1
  3001  	X_BITS_ERRNO_H                        = 1
  3002  	X_BITS_FLOATN_COMMON_H                = 0
  3003  	X_BITS_FLOATN_H                       = 0
  3004  	X_BITS_PTHREADTYPES_ARCH_H            = 1
  3005  	X_BITS_PTHREADTYPES_COMMON_H          = 1
  3006  	X_BITS_STDINT_INTN_H                  = 1
  3007  	X_BITS_STDINT_UINTN_H                 = 1
  3008  	X_BITS_TIME64_H                       = 1
  3009  	X_BITS_TYPESIZES_H                    = 1
  3010  	X_BITS_TYPES_H                        = 1
  3011  	X_BITS_TYPES_LOCALE_T_H               = 1
  3012  	X_BITS_TYPES___LOCALE_T_H             = 1
  3013  	X_BITS_UINTN_IDENTITY_H               = 1
  3014  	X_BITS_WCHAR_H                        = 1
  3015  	X_BSD_PTRDIFF_T_                      = 0
  3016  	X_BSD_SIZE_T_                         = 0
  3017  	X_BSD_SIZE_T_DEFINED_                 = 0
  3018  	X_DEFAULT_SOURCE                      = 1
  3019  	X_ENDIAN_H                            = 1
  3020  	X_ERRNO_H                             = 1
  3021  	X_FEATURES_H                          = 1
  3022  	X_FILE_OFFSET_BITS                    = 64
  3023  	X_GCC_MAX_ALIGN_T                     = 0
  3024  	X_GCC_PTRDIFF_T                       = 0
  3025  	X_GCC_SIZE_T                          = 0
  3026  	X_GCC_WCHAR_T                         = 0
  3027  	X_GCC_WRAP_STDINT_H                   = 0
  3028  	X_LP64                                = 1
  3029  	X_POSIX_C_SOURCE                      = 200809
  3030  	X_POSIX_SOURCE                        = 1
  3031  	X_PTRDIFF_T                           = 0
  3032  	X_PTRDIFF_T_                          = 0
  3033  	X_PTRDIFF_T_DECLARED                  = 0
  3034  	X_RENDER_H_                           = 0
  3035  	X_RWLOCK_INTERNAL_H                   = 0
  3036  	X_SIZET_                              = 0
  3037  	X_SIZE_T                              = 0
  3038  	X_SIZE_T_                             = 0
  3039  	X_SIZE_T_DECLARED                     = 0
  3040  	X_SIZE_T_DEFINED                      = 0
  3041  	X_SIZE_T_DEFINED_                     = 0
  3042  	X_STDC_PREDEF_H                       = 1
  3043  	X_STDDEF_H                            = 0
  3044  	X_STDDEF_H_                           = 0
  3045  	X_STDINT_H                            = 1
  3046  	X_STDLIB_H                            = 1
  3047  	X_STRINGS_H                           = 1
  3048  	X_STRING_H                            = 1
  3049  	X_STRUCT_TIMESPEC                     = 1
  3050  	X_SYS_CDEFS_H                         = 1
  3051  	X_SYS_SELECT_H                        = 1
  3052  	X_SYS_SIZE_T_H                        = 0
  3053  	X_SYS_TYPES_H                         = 1
  3054  	X_THREAD_MUTEX_INTERNAL_H             = 1
  3055  	X_THREAD_SHARED_TYPES_H               = 1
  3056  	X_T_PTRDIFF                           = 0
  3057  	X_T_PTRDIFF_                          = 0
  3058  	X_T_SIZE                              = 0
  3059  	X_T_SIZE_                             = 0
  3060  	X_T_WCHAR                             = 0
  3061  	X_T_WCHAR_                            = 0
  3062  	X_WCHAR_T                             = 0
  3063  	X_WCHAR_T_                            = 0
  3064  	X_WCHAR_T_DECLARED                    = 0
  3065  	X_WCHAR_T_DEFINED                     = 0
  3066  	X_WCHAR_T_DEFINED_                    = 0
  3067  	X_WCHAR_T_H                           = 0
  3068  	X_X11_XLIBINT_H_                      = 1
  3069  	X_X11_XLIB_H_                         = 0
  3070  	X_X11_XUTIL_H_                        = 0
  3071  	X_XDEFS_H                             = 0
  3072  	X_XFUNCPROTOBEGIN                     = 0
  3073  	X_XFUNCPROTOEND                       = 0
  3074  	X_XFUNCPROTO_H_                       = 0
  3075  	X_XFUNCS_H_                           = 0
  3076  	X_XFUNCS_H_INCLUDED_STRING_H          = 0
  3077  	X_XLIBCONF_H_                         = 0
  3078  	X_XOSDEFS_H_                          = 0
  3079  	X_XRENDERINT_H_                       = 0
  3080  	X_XRENDERP_H_                         = 0
  3081  	X_XRENDER_H_                          = 0
  3082  	X_XTYPEDEF_ATOM                       = 0
  3083  	X_XTYPEDEF_CLIENTPTR                  = 0
  3084  	X_XTYPEDEF_FONT                       = 0
  3085  	X_XTYPEDEF_FONTPTR                    = 0
  3086  	X_XTYPEDEF_MASK                       = 0
  3087  	X_XTYPEDEF_POINTER                    = 0
  3088  	X_XTYPEDEF_XID                        = 0
  3089  	X_X_NOTSAN                            = 0
  3090  	Linux                                 = 1
  3091  	Sz_xAllocColorCellsReply              = 32
  3092  	Sz_xAllocColorCellsReq                = 12
  3093  	Sz_xAllocColorPlanesReply             = 32
  3094  	Sz_xAllocColorPlanesReq               = 16
  3095  	Sz_xAllocColorReply                   = 32
  3096  	Sz_xAllocColorReq                     = 16
  3097  	Sz_xAllocNamedColorReply              = 32
  3098  	Sz_xAllocNamedColorReq                = 12
  3099  	Sz_xAllowEventsReq                    = 8
  3100  	Sz_xAnimCursorElt                     = 8
  3101  	Sz_xArc                               = 12
  3102  	Sz_xBellReq                           = 4
  3103  	Sz_xChangeActivePointerGrabReq        = 16
  3104  	Sz_xChangeGCReq                       = 12
  3105  	Sz_xChangeHostsReq                    = 8
  3106  	Sz_xChangeKeyboardControlReq          = 8
  3107  	Sz_xChangeKeyboardMappingReq          = 8
  3108  	Sz_xChangeModeReq                     = 4
  3109  	Sz_xChangePointerControlReq           = 12
  3110  	Sz_xChangePropertyReq                 = 24
  3111  	Sz_xChangeSaveSetReq                  = 8
  3112  	Sz_xChangeWindowAttributesReq         = 12
  3113  	Sz_xCharInfo                          = 12
  3114  	Sz_xCirculateWindowReq                = 8
  3115  	Sz_xClearAreaReq                      = 16
  3116  	Sz_xColorItem                         = 12
  3117  	Sz_xConfigureWindowReq                = 12
  3118  	Sz_xConnClientPrefix                  = 12
  3119  	Sz_xConnSetup                         = 32
  3120  	Sz_xConnSetupPrefix                   = 8
  3121  	Sz_xConvertSelectionReq               = 24
  3122  	Sz_xCopyAreaReq                       = 28
  3123  	Sz_xCopyColormapAndFreeReq            = 12
  3124  	Sz_xCopyGCReq                         = 16
  3125  	Sz_xCopyPlaneReq                      = 32
  3126  	Sz_xCreateColormapReq                 = 16
  3127  	Sz_xCreateCursorReq                   = 32
  3128  	Sz_xCreateGCReq                       = 16
  3129  	Sz_xCreateGlyphCursorReq              = 32
  3130  	Sz_xCreatePixmapReq                   = 16
  3131  	Sz_xCreateWindowReq                   = 32
  3132  	Sz_xDeletePropertyReq                 = 12
  3133  	Sz_xDepth                             = 8
  3134  	Sz_xDirectFormat                      = 16
  3135  	Sz_xError                             = 32
  3136  	Sz_xEvent                             = 32
  3137  	Sz_xFillPolyReq                       = 16
  3138  	Sz_xFontProp                          = 8
  3139  	Sz_xForceScreenSaverReq               = 4
  3140  	Sz_xFreeColorsReq                     = 12
  3141  	Sz_xGenericReply                      = 32
  3142  	Sz_xGetAtomNameReply                  = 32
  3143  	Sz_xGetFontPathReply                  = 32
  3144  	Sz_xGetGeometryReply                  = 32
  3145  	Sz_xGetImageReply                     = 32
  3146  	Sz_xGetImageReq                       = 20
  3147  	Sz_xGetInputFocusReply                = 32
  3148  	Sz_xGetKeyboardControlReply           = 52
  3149  	Sz_xGetKeyboardMappingReply           = 32
  3150  	Sz_xGetKeyboardMappingReq             = 8
  3151  	Sz_xGetModifierMappingReply           = 32
  3152  	Sz_xGetMotionEventsReply              = 32
  3153  	Sz_xGetMotionEventsReq                = 16
  3154  	Sz_xGetPointerControlReply            = 32
  3155  	Sz_xGetPointerMappingReply            = 32
  3156  	Sz_xGetPropertyReply                  = 32
  3157  	Sz_xGetPropertyReq                    = 24
  3158  	Sz_xGetScreenSaverReply               = 32
  3159  	Sz_xGetSelectionOwnerReply            = 32
  3160  	Sz_xGetWindowAttributesReply          = 44
  3161  	Sz_xGlyphElt                          = 8
  3162  	Sz_xGlyphInfo                         = 12
  3163  	Sz_xGrabButtonReq                     = 24
  3164  	Sz_xGrabKeyReq                        = 16
  3165  	Sz_xGrabKeyboardReply                 = 32
  3166  	Sz_xGrabKeyboardReq                   = 16
  3167  	Sz_xGrabPointerReply                  = 32
  3168  	Sz_xGrabPointerReq                    = 24
  3169  	Sz_xHostEntry                         = 4
  3170  	Sz_xImageText16Req                    = 16
  3171  	Sz_xImageText8Req                     = 16
  3172  	Sz_xImageTextReq                      = 16
  3173  	Sz_xIndexValue                        = 12
  3174  	Sz_xInternAtomReply                   = 32
  3175  	Sz_xInternAtomReq                     = 8
  3176  	Sz_xKeymapEvent                       = 32
  3177  	Sz_xLineFixed                         = 16
  3178  	Sz_xListExtensionsReply               = 32
  3179  	Sz_xListFontsReply                    = 32
  3180  	Sz_xListFontsReq                      = 8
  3181  	Sz_xListFontsWithInfoReply            = 60
  3182  	Sz_xListFontsWithInfoReq              = 8
  3183  	Sz_xListHostsReply                    = 32
  3184  	Sz_xListHostsReq                      = 4
  3185  	Sz_xListInstalledColormapsReply       = 32
  3186  	Sz_xListPropertiesReply               = 32
  3187  	Sz_xLookupColorReply                  = 32
  3188  	Sz_xLookupColorReq                    = 12
  3189  	Sz_xOpenFontReq                       = 12
  3190  	Sz_xPictDepth                         = 8
  3191  	Sz_xPictFormInfo                      = 28
  3192  	Sz_xPictScreen                        = 8
  3193  	Sz_xPictVisual                        = 8
  3194  	Sz_xPixmapFormat                      = 8
  3195  	Sz_xPoint                             = 4
  3196  	Sz_xPointFixed                        = 8
  3197  	Sz_xPolyArcReq                        = 12
  3198  	Sz_xPolyFillArcReq                    = 12
  3199  	Sz_xPolyFillRectangleReq              = 12
  3200  	Sz_xPolyLineReq                       = 12
  3201  	Sz_xPolyPointReq                      = 12
  3202  	Sz_xPolyRectangleReq                  = 12
  3203  	Sz_xPolySegmentReq                    = 12
  3204  	Sz_xPolyText16Req                     = 16
  3205  	Sz_xPolyText8Req                      = 16
  3206  	Sz_xPolyTextReq                       = 16
  3207  	Sz_xPropIconSize                      = 24
  3208  	Sz_xPutImageReq                       = 24
  3209  	Sz_xQueryBestSizeReply                = 32
  3210  	Sz_xQueryBestSizeReq                  = 12
  3211  	Sz_xQueryColorsReply                  = 32
  3212  	Sz_xQueryColorsReq                    = 8
  3213  	Sz_xQueryExtensionReply               = 32
  3214  	Sz_xQueryExtensionReq                 = 8
  3215  	Sz_xQueryFontReply                    = 60
  3216  	Sz_xQueryKeymapReply                  = 40
  3217  	Sz_xQueryPointerReply                 = 32
  3218  	Sz_xQueryTextExtentsReply             = 32
  3219  	Sz_xQueryTextExtentsReq               = 8
  3220  	Sz_xQueryTreeReply                    = 32
  3221  	Sz_xRecolorCursorReq                  = 20
  3222  	Sz_xRectangle                         = 8
  3223  	Sz_xRenderAddGlyphsReq                = 12
  3224  	Sz_xRenderAddTrapsReq                 = 12
  3225  	Sz_xRenderChangePictureReq            = 12
  3226  	Sz_xRenderColor                       = 8
  3227  	Sz_xRenderCompositeGlyphs16Req        = 28
  3228  	Sz_xRenderCompositeGlyphs32Req        = 28
  3229  	Sz_xRenderCompositeGlyphs8Req         = 28
  3230  	Sz_xRenderCompositeReq                = 36
  3231  	Sz_xRenderCreateAnimCursorReq         = 8
  3232  	Sz_xRenderCreateConicalGradientReq    = 24
  3233  	Sz_xRenderCreateCursorReq             = 16
  3234  	Sz_xRenderCreateGlyphSetReq           = 12
  3235  	Sz_xRenderCreateLinearGradientReq     = 28
  3236  	Sz_xRenderCreatePictureReq            = 20
  3237  	Sz_xRenderCreateRadialGradientReq     = 36
  3238  	Sz_xRenderCreateSolidFillReq          = 16
  3239  	Sz_xRenderFillRectanglesReq           = 20
  3240  	Sz_xRenderFreeGlyphSetReq             = 8
  3241  	Sz_xRenderFreeGlyphsReq               = 8
  3242  	Sz_xRenderFreePictureReq              = 8
  3243  	Sz_xRenderQueryFiltersReply           = 32
  3244  	Sz_xRenderQueryFiltersReq             = 8
  3245  	Sz_xRenderQueryPictFormatsReply       = 32
  3246  	Sz_xRenderQueryPictFormatsReq         = 4
  3247  	Sz_xRenderQueryPictIndexValuesReply   = 32
  3248  	Sz_xRenderQueryPictIndexValuesReq     = 8
  3249  	Sz_xRenderQueryVersionReply           = 32
  3250  	Sz_xRenderQueryVersionReq             = 12
  3251  	Sz_xRenderReferenceGlyphSetReq        = 24
  3252  	Sz_xRenderScaleReq                    = 32
  3253  	Sz_xRenderSetPictureClipRectanglesReq = 12
  3254  	Sz_xRenderSetPictureFilterReq         = 12
  3255  	Sz_xRenderSetPictureTransformReq      = 44
  3256  	Sz_xRenderTransform                   = 36
  3257  	Sz_xRenderTrapezoidsReq               = 24
  3258  	Sz_xRenderTriFanReq                   = 24
  3259  	Sz_xRenderTriStripReq                 = 24
  3260  	Sz_xRenderTrianglesReq                = 24
  3261  	Sz_xReparentWindowReq                 = 16
  3262  	Sz_xReply                             = 32
  3263  	Sz_xReq                               = 4
  3264  	Sz_xResourceReq                       = 8
  3265  	Sz_xRotatePropertiesReq               = 12
  3266  	Sz_xSegment                           = 8
  3267  	Sz_xSendEventReq                      = 44
  3268  	Sz_xSetAccessControlReq               = 4
  3269  	Sz_xSetClipRectanglesReq              = 12
  3270  	Sz_xSetCloseDownModeReq               = 4
  3271  	Sz_xSetDashesReq                      = 12
  3272  	Sz_xSetFontPathReq                    = 8
  3273  	Sz_xSetInputFocusReq                  = 12
  3274  	Sz_xSetMappingReply                   = 32
  3275  	Sz_xSetModifierMappingReply           = 32
  3276  	Sz_xSetModifierMappingReq             = 4
  3277  	Sz_xSetPointerMappingReply            = 32
  3278  	Sz_xSetPointerMappingReq              = 4
  3279  	Sz_xSetScreenSaverReq                 = 12
  3280  	Sz_xSetSelectionOwnerReq              = 16
  3281  	Sz_xSpanFix                           = 12
  3282  	Sz_xStoreColorsReq                    = 8
  3283  	Sz_xStoreNamedColorReq                = 16
  3284  	Sz_xTextElt                           = 2
  3285  	Sz_xTimecoord                         = 8
  3286  	Sz_xTranslateCoordsReply              = 32
  3287  	Sz_xTranslateCoordsReq                = 16
  3288  	Sz_xTrap                              = 24
  3289  	Sz_xTrapezoid                         = 40
  3290  	Sz_xTriangle                          = 24
  3291  	Sz_xUngrabButtonReq                   = 12
  3292  	Sz_xUngrabKeyReq                      = 12
  3293  	Sz_xVisualType                        = 24
  3294  	Sz_xWarpPointerReq                    = 24
  3295  	Sz_xWindowRoot                        = 40
  3296  	Sz_xrgb                               = 8
  3297  	Unix                                  = 1
  3298  	XFalse                                = 0
  3299  	XTrue                                 = 1
  3300  	Size                                  = 2068
  3301  	AIO_PRIO_DELTA_MAX                    = 20
  3302  	BC_BASE_MAX                           = 99
  3303  	BC_DIM_MAX                            = 2048
  3304  	BC_SCALE_MAX                          = 99
  3305  	BC_STRING_MAX                         = 1000
  3306  	CHARCLASS_NAME_MAX                    = 2048
  3307  	CHAR_BIT                              = 8
  3308  	CHAR_MAX                              = 255
  3309  	CHAR_MIN                              = 0
  3310  	COLL_WEIGHTS_MAX                      = 255
  3311  	DELAYTIMER_MAX                        = 2147483647
  3312  	EXPR_NEST_MAX                         = 32
  3313  	HOST_NAME_MAX                         = 64
  3314  	INT_MAX                               = 2147483647
  3315  	INT_MIN                               = -2147483648
  3316  	LINE_MAX                              = 2048
  3317  	LLONG_MAX                             = 9223372036854775807
  3318  	LLONG_MIN                             = -9223372036854775808
  3319  	LOGIN_NAME_MAX                        = 256
  3320  	LONG_MAX                              = 9223372036854775807
  3321  	LONG_MIN                              = -9223372036854775808
  3322  	MAX_CANON                             = 255
  3323  	MAX_INPUT                             = 255
  3324  	MB_LEN_MAX                            = 16
  3325  	MQ_PRIO_MAX                           = 32768
  3326  	NAME_MAX                              = 255
  3327  	NGROUPS_MAX                           = 65536
  3328  	PATH_MAX                              = 4096
  3329  	PIPE_BUF                              = 4096
  3330  	PTHREAD_DESTRUCTOR_ITERATIONS         = 4
  3331  	PTHREAD_KEYS_MAX                      = 1024
  3332  	PTHREAD_STACK_MIN                     = 131072
  3333  	RE_DUP_MAX                            = 32767
  3334  	RTSIG_MAX                             = 32
  3335  	SCHAR_MAX                             = 127
  3336  	SCHAR_MIN                             = -128
  3337  	SEM_VALUE_MAX                         = 2147483647
  3338  	SHRT_MAX                              = 32767
  3339  	SHRT_MIN                              = -32768
  3340  	SSIZE_MAX                             = 9223372036854775807
  3341  	TTY_NAME_MAX                          = 32
  3342  	UCHAR_MAX                             = 255
  3343  	UINT_MAX                              = 4294967295
  3344  	ULLONG_MAX                            = 18446744073709551615
  3345  	ULONG_MAX                             = 18446744073709551615
  3346  	USHRT_MAX                             = 65535
  3347  	XATTR_LIST_MAX                        = 65536
  3348  	XATTR_NAME_MAX                        = 255
  3349  	XATTR_SIZE_MAX                        = 65536
  3350  	X_BITS_POSIX1_LIM_H                   = 1
  3351  	X_BITS_POSIX2_LIM_H                   = 1
  3352  	X_GCC_LIMITS_H_                       = 0
  3353  	X_LIBC_LIMITS_H_                      = 1
  3354  	X_LIMITS_H___                         = 0
  3355  	X_LINUX_LIMITS_H                      = 0
  3356  	X_POSIX2_BC_BASE_MAX                  = 99
  3357  	X_POSIX2_BC_DIM_MAX                   = 2048
  3358  	X_POSIX2_BC_SCALE_MAX                 = 99
  3359  	X_POSIX2_BC_STRING_MAX                = 1000
  3360  	X_POSIX2_CHARCLASS_NAME_MAX           = 14
  3361  	X_POSIX2_COLL_WEIGHTS_MAX             = 2
  3362  	X_POSIX2_EXPR_NEST_MAX                = 32
  3363  	X_POSIX2_LINE_MAX                     = 2048
  3364  	X_POSIX2_RE_DUP_MAX                   = 255
  3365  	X_POSIX_AIO_LISTIO_MAX                = 2
  3366  	X_POSIX_AIO_MAX                       = 1
  3367  	X_POSIX_ARG_MAX                       = 4096
  3368  	X_POSIX_CHILD_MAX                     = 25
  3369  	X_POSIX_CLOCKRES_MIN                  = 20000000
  3370  	X_POSIX_DELAYTIMER_MAX                = 32
  3371  	X_POSIX_HOST_NAME_MAX                 = 255
  3372  	X_POSIX_LINK_MAX                      = 8
  3373  	X_POSIX_LOGIN_NAME_MAX                = 9
  3374  	X_POSIX_MAX_CANON                     = 255
  3375  	X_POSIX_MAX_INPUT                     = 255
  3376  	X_POSIX_MQ_OPEN_MAX                   = 8
  3377  	X_POSIX_MQ_PRIO_MAX                   = 32
  3378  	X_POSIX_NAME_MAX                      = 14
  3379  	X_POSIX_NGROUPS_MAX                   = 8
  3380  	X_POSIX_OPEN_MAX                      = 20
  3381  	X_POSIX_PATH_MAX                      = 256
  3382  	X_POSIX_PIPE_BUF                      = 512
  3383  	X_POSIX_RE_DUP_MAX                    = 255
  3384  	X_POSIX_RTSIG_MAX                     = 8
  3385  	X_POSIX_SEM_NSEMS_MAX                 = 256
  3386  	X_POSIX_SEM_VALUE_MAX                 = 32767
  3387  	X_POSIX_SIGQUEUE_MAX                  = 32
  3388  	X_POSIX_SSIZE_MAX                     = 32767
  3389  	X_POSIX_STREAM_MAX                    = 8
  3390  	X_POSIX_SYMLINK_MAX                   = 255
  3391  	X_POSIX_SYMLOOP_MAX                   = 8
  3392  	X_POSIX_THREAD_DESTRUCTOR_ITERATIONS  = 4
  3393  	X_POSIX_THREAD_KEYS_MAX               = 128
  3394  	X_POSIX_THREAD_THREADS_MAX            = 64
  3395  	X_POSIX_TIMER_MAX                     = 32
  3396  	X_POSIX_TTY_NAME_MAX                  = 9
  3397  	X_POSIX_TZNAME_MAX                    = 6
  3398  	FALSE                                 = 0
  3399  	MAXSHORT                              = 32767
  3400  	MINSHORT                              = -32767
  3401  	NUMPTSTOBUFFER                        = 200
  3402  	TRUE                                  = 1
  3403  	X_X11_XREGION_H_                      = 0
  3404  	REQUIRED_DEPTHS                       = 2155872393
  3405  )
  3406  
  3407  const ( /* Xlib.h:1126:1: */
  3408  	XOMOrientation_LTR_TTB = 0
  3409  	XOMOrientation_RTL_TTB = 1
  3410  	XOMOrientation_TTB_LTR = 2
  3411  	XOMOrientation_TTB_RTL = 3
  3412  	XOMOrientation_Context = 4
  3413  )
  3414  
  3415  const ( /* Xlib.h:1315:1: */
  3416  	XIMForwardChar      = 0
  3417  	XIMBackwardChar     = 1
  3418  	XIMForwardWord      = 2
  3419  	XIMBackwardWord     = 3
  3420  	XIMCaretUp          = 4
  3421  	XIMCaretDown        = 5
  3422  	XIMNextLine         = 6
  3423  	XIMPreviousLine     = 7
  3424  	XIMLineStart        = 8
  3425  	XIMLineEnd          = 9
  3426  	XIMAbsolutePosition = 10
  3427  	XIMDontChange       = 11
  3428  )
  3429  
  3430  const ( /* Xlib.h:1340:1: */
  3431  	XIMIsInvisible = 0 // Disable caret feedback
  3432  	XIMIsPrimary   = 1 // UI defined caret feedback
  3433  	XIMIsSecondary = 2
  3434  )
  3435  
  3436  const ( /* Xlib.h:1352:1: */
  3437  	XIMTextType   = 0
  3438  	XIMBitmapType = 1
  3439  )
  3440  
  3441  const ( /* Xutil.h:174:1: */
  3442  	XStringStyle       = 0 // STRING
  3443  	XCompoundTextStyle = 1 // COMPOUND_TEXT
  3444  	XTextStyle         = 2 // text in owner's encoding (current locale)
  3445  	XStdICCTextStyle   = 3 // STRING, else COMPOUND_TEXT
  3446  	// The following is an XFree86 extension, introduced in November 2000
  3447  	XUTF8StringStyle = 4
  3448  )
  3449  
  3450  // the new Xfuncs.h
  3451  
  3452  // the ANSI C way
  3453  
  3454  //
  3455  //  O/S-dependent (mis)feature macro definitions
  3456  //
  3457  // Copyright 1991, 1998  The Open Group
  3458  //
  3459  // Permission to use, copy, modify, distribute, and sell this software and its
  3460  // documentation for any purpose is hereby granted without fee, provided that
  3461  // the above copyright notice appear in all copies and that both that
  3462  // copyright notice and this permission notice appear in supporting
  3463  // documentation.
  3464  //
  3465  // The above copyright notice and this permission notice shall be included in
  3466  // all copies or substantial portions of the Software.
  3467  //
  3468  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  3469  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  3470  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  3471  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  3472  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  3473  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  3474  //
  3475  // Except as contained in this notice, the name of The Open Group shall not be
  3476  // used in advertising or otherwise to promote the sale, use or other dealings
  3477  // in this Software without prior written authorization from The Open Group.
  3478  //
  3479  
  3480  // Utek leaves kernel macros around in include files (bleah)
  3481  
  3482  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  3483  //    This file is part of the GNU C Library.
  3484  //
  3485  //    The GNU C Library is free software; you can redistribute it and/or
  3486  //    modify it under the terms of the GNU Lesser General Public
  3487  //    License as published by the Free Software Foundation; either
  3488  //    version 2.1 of the License, or (at your option) any later version.
  3489  //
  3490  //    The GNU C Library is distributed in the hope that it will be useful,
  3491  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3492  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3493  //    Lesser General Public License for more details.
  3494  //
  3495  //    You should have received a copy of the GNU Lesser General Public
  3496  //    License along with the GNU C Library; if not, see
  3497  //    <https://www.gnu.org/licenses/>.
  3498  
  3499  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  3500  
  3501  // Handle feature test macros at the start of a header.
  3502  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  3503  //    This file is part of the GNU C Library.
  3504  //
  3505  //    The GNU C Library is free software; you can redistribute it and/or
  3506  //    modify it under the terms of the GNU Lesser General Public
  3507  //    License as published by the Free Software Foundation; either
  3508  //    version 2.1 of the License, or (at your option) any later version.
  3509  //
  3510  //    The GNU C Library is distributed in the hope that it will be useful,
  3511  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3512  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3513  //    Lesser General Public License for more details.
  3514  //
  3515  //    You should have received a copy of the GNU Lesser General Public
  3516  //    License along with the GNU C Library; if not, see
  3517  //    <https://www.gnu.org/licenses/>.
  3518  
  3519  // This header is internal to glibc and should not be included outside
  3520  //    of glibc headers.  Headers including it must define
  3521  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  3522  //    cannot have multiple include guards because ISO C feature test
  3523  //    macros depend on the definition of the macro when an affected
  3524  //    header is included, not when the first system header is
  3525  //    included.
  3526  
  3527  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  3528  //    This file is part of the GNU C Library.
  3529  //
  3530  //    The GNU C Library is free software; you can redistribute it and/or
  3531  //    modify it under the terms of the GNU Lesser General Public
  3532  //    License as published by the Free Software Foundation; either
  3533  //    version 2.1 of the License, or (at your option) any later version.
  3534  //
  3535  //    The GNU C Library is distributed in the hope that it will be useful,
  3536  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3537  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3538  //    Lesser General Public License for more details.
  3539  //
  3540  //    You should have received a copy of the GNU Lesser General Public
  3541  //    License along with the GNU C Library; if not, see
  3542  //    <https://www.gnu.org/licenses/>.
  3543  
  3544  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  3545  //    macro.
  3546  
  3547  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  3548  //    macro.  Most but not all symbols enabled by that macro in TS
  3549  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
  3550  //    still require that macro in C2X.
  3551  
  3552  // ISO/IEC TS 18661-4:2015 defines the
  3553  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  3554  //    functions, the symbols from this TS are enabled unconditionally in
  3555  //    C2X.
  3556  
  3557  // ISO/IEC TS 18661-3:2015 defines the
  3558  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  3559  
  3560  // Get size_t, wchar_t and NULL from <stddef.h>.
  3561  // Copyright (C) 1989-2020 Free Software Foundation, Inc.
  3562  //
  3563  // This file is part of GCC.
  3564  //
  3565  // GCC is free software; you can redistribute it and/or modify
  3566  // it under the terms of the GNU General Public License as published by
  3567  // the Free Software Foundation; either version 3, or (at your option)
  3568  // any later version.
  3569  //
  3570  // GCC is distributed in the hope that it will be useful,
  3571  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  3572  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3573  // GNU General Public License for more details.
  3574  //
  3575  // Under Section 7 of GPL version 3, you are granted additional
  3576  // permissions described in the GCC Runtime Library Exception, version
  3577  // 3.1, as published by the Free Software Foundation.
  3578  //
  3579  // You should have received a copy of the GNU General Public License and
  3580  // a copy of the GCC Runtime Library Exception along with this program;
  3581  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  3582  // <http://www.gnu.org/licenses/>.
  3583  
  3584  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  3585  
  3586  // Any one of these symbols __need_* means that GNU libc
  3587  //    wants us just to define one data type.  So don't define
  3588  //    the symbols that indicate this file's entire job has been done.
  3589  
  3590  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  3591  //    There's no way to win with the other order!  Sun lossage.
  3592  
  3593  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  3594  //    Just ignore it.
  3595  
  3596  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  3597  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  3598  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  3599  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  3600  //    If we find that the macros are still defined at this point, we must
  3601  //    invoke them so that the type is defined as expected.
  3602  
  3603  // In case nobody has defined these types, but we aren't running under
  3604  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  3605  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  3606  //    parts of GCC is compiled by an older compiler, that actually
  3607  //    include gstddef.h, such as collect2.
  3608  
  3609  // Signed type of difference of two pointers.
  3610  
  3611  // Define this type if we are doing the whole job,
  3612  //    or if we want this type in particular.
  3613  
  3614  // If this symbol has done its job, get rid of it.
  3615  
  3616  // Unsigned type of `sizeof' something.
  3617  
  3618  // Define this type if we are doing the whole job,
  3619  //    or if we want this type in particular.
  3620  
  3621  // Wide character type.
  3622  //    Locale-writers should change this as necessary to
  3623  //    be big enough to hold unique values not between 0 and 127,
  3624  //    and not (wchar_t) -1, for each defined multibyte character.
  3625  
  3626  // Define this type if we are doing the whole job,
  3627  //    or if we want this type in particular.
  3628  
  3629  // A null pointer constant.
  3630  
  3631  // Offset of member MEMBER in a struct of type TYPE.
  3632  
  3633  // XPG requires a few symbols from <sys/wait.h> being defined.
  3634  // Definitions of flag bits for `waitpid' et al.
  3635  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  3636  //    This file is part of the GNU C Library.
  3637  //
  3638  //    The GNU C Library is free software; you can redistribute it and/or
  3639  //    modify it under the terms of the GNU Lesser General Public
  3640  //    License as published by the Free Software Foundation; either
  3641  //    version 2.1 of the License, or (at your option) any later version.
  3642  //
  3643  //    The GNU C Library is distributed in the hope that it will be useful,
  3644  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3645  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3646  //    Lesser General Public License for more details.
  3647  //
  3648  //    You should have received a copy of the GNU Lesser General Public
  3649  //    License along with the GNU C Library; if not, see
  3650  //    <https://www.gnu.org/licenses/>.
  3651  
  3652  // Bits in the third argument to `waitpid'.
  3653  
  3654  // Bits in the fourth argument to `waitid'.
  3655  
  3656  // The following values are used by the `waitid' function.
  3657  
  3658  // The Linux kernel defines these bare, rather than an enum,
  3659  //    which causes a conflict if the include order is reversed.
  3660  
  3661  const ( /* waitflags.h:52:1: */
  3662  	P_ALL  = 0 // Wait for any child.
  3663  	P_PID  = 1 // Wait for specified process.
  3664  	P_PGID = 2
  3665  )
  3666  
  3667  type Ptrdiff_t = int64 /* <builtin>:3:26 */
  3668  
  3669  type Size_t = uint64 /* <builtin>:9:23 */
  3670  
  3671  type Wchar_t = uint32 /* <builtin>:15:24 */
  3672  
  3673  type X__int128_t = struct {
  3674  	Flo int64
  3675  	Fhi int64
  3676  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
  3677  type X__uint128_t = struct {
  3678  	Flo uint64
  3679  	Fhi uint64
  3680  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
  3681  
  3682  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
  3683  type X__float128 = float64        /* <builtin>:47:21 */
  3684  
  3685  // Copyright © 2004 Keith Packard
  3686  //
  3687  // Permission to use, copy, modify, distribute, and sell this software and its
  3688  // documentation for any purpose is hereby granted without fee, provided that
  3689  // the above copyright notice appear in all copies and that both that
  3690  // copyright notice and this permission notice appear in supporting
  3691  // documentation, and that the name of Keith Packard not be used in
  3692  // advertising or publicity pertaining to distribution of the software without
  3693  // specific, written prior permission.  Keith Packard makes no
  3694  // representations about the suitability of this software for any purpose.  It
  3695  // is provided "as is" without express or implied warranty.
  3696  //
  3697  // KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  3698  // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  3699  // EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  3700  // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  3701  // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  3702  // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  3703  // PERFORMANCE OF THIS SOFTWARE.
  3704  
  3705  // config.h.  Generated from config.h.in by configure.
  3706  // config.h.in.  Generated from configure.ac by autoheader.
  3707  
  3708  // Define to 1 if you have the <dlfcn.h> header file.
  3709  
  3710  // Define to 1 if you have the <inttypes.h> header file.
  3711  
  3712  // Define to 1 if you have the <memory.h> header file.
  3713  
  3714  // Define to 1 if you have the <stdint.h> header file.
  3715  
  3716  // Define to 1 if you have the <stdlib.h> header file.
  3717  
  3718  // Define to 1 if you have the <strings.h> header file.
  3719  
  3720  // Define to 1 if you have the <string.h> header file.
  3721  
  3722  // Define to 1 if you have the <sys/stat.h> header file.
  3723  
  3724  // Define to 1 if you have the <sys/types.h> header file.
  3725  
  3726  // Define to 1 if you have the <unistd.h> header file.
  3727  
  3728  // Define to the sub-directory in which libtool stores uninstalled libraries.
  3729  
  3730  // Name of package
  3731  
  3732  // Define to the address where bug reports for this package should be sent.
  3733  
  3734  // Define to the full name of this package.
  3735  
  3736  // Define to the full name and version of this package.
  3737  
  3738  // Define to the one symbol short name of this package.
  3739  
  3740  // Define to the home page for this package.
  3741  
  3742  // Define to the version of this package.
  3743  
  3744  // Major version of this package
  3745  
  3746  // Minor version of this package
  3747  
  3748  // Patch version of this package
  3749  
  3750  // Define to 1 if you have the ANSI C header files.
  3751  
  3752  // Version number of package
  3753  //
  3754  // Copyright © 2000 SuSE, Inc.
  3755  //
  3756  // Permission to use, copy, modify, distribute, and sell this software and its
  3757  // documentation for any purpose is hereby granted without fee, provided that
  3758  // the above copyright notice appear in all copies and that both that
  3759  // copyright notice and this permission notice appear in supporting
  3760  // documentation, and that the name of SuSE not be used in advertising or
  3761  // publicity pertaining to distribution of the software without specific,
  3762  // written prior permission.  SuSE makes no representations about the
  3763  // suitability of this software for any purpose.  It is provided "as is"
  3764  // without express or implied warranty.
  3765  //
  3766  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
  3767  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
  3768  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  3769  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  3770  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  3771  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  3772  //
  3773  // Author:  Keith Packard, SuSE, Inc.
  3774  
  3775  // config.h.  Generated from config.h.in by configure.
  3776  // config.h.in.  Generated from configure.ac by autoheader.
  3777  
  3778  // Define to 1 if you have the <dlfcn.h> header file.
  3779  
  3780  // Define to 1 if you have the <inttypes.h> header file.
  3781  
  3782  // Define to 1 if you have the <memory.h> header file.
  3783  
  3784  // Define to 1 if you have the <stdint.h> header file.
  3785  
  3786  // Define to 1 if you have the <stdlib.h> header file.
  3787  
  3788  // Define to 1 if you have the <strings.h> header file.
  3789  
  3790  // Define to 1 if you have the <string.h> header file.
  3791  
  3792  // Define to 1 if you have the <sys/stat.h> header file.
  3793  
  3794  // Define to 1 if you have the <sys/types.h> header file.
  3795  
  3796  // Define to 1 if you have the <unistd.h> header file.
  3797  
  3798  // Define to the sub-directory in which libtool stores uninstalled libraries.
  3799  
  3800  // Name of package
  3801  
  3802  // Define to the address where bug reports for this package should be sent.
  3803  
  3804  // Define to the full name of this package.
  3805  
  3806  // Define to the full name and version of this package.
  3807  
  3808  // Define to the one symbol short name of this package.
  3809  
  3810  // Define to the home page for this package.
  3811  
  3812  // Define to the version of this package.
  3813  
  3814  // Major version of this package
  3815  
  3816  // Minor version of this package
  3817  
  3818  // Patch version of this package
  3819  
  3820  // Define to 1 if you have the ANSI C header files.
  3821  
  3822  // Version number of package
  3823  
  3824  //
  3825  //
  3826  // Copyright 1984, 1985, 1987, 1989, 1998  The Open Group
  3827  //
  3828  // Permission to use, copy, modify, distribute, and sell this software and its
  3829  // documentation for any purpose is hereby granted without fee, provided that
  3830  // the above copyright notice appear in all copies and that both that
  3831  // copyright notice and this permission notice appear in supporting
  3832  // documentation.
  3833  //
  3834  // The above copyright notice and this permission notice shall be included
  3835  // in all copies or substantial portions of the Software.
  3836  //
  3837  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  3838  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  3839  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  3840  // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
  3841  // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  3842  // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  3843  // OTHER DEALINGS IN THE SOFTWARE.
  3844  //
  3845  // Except as contained in this notice, the name of The Open Group shall
  3846  // not be used in advertising or otherwise to promote the sale, use or
  3847  // other dealings in this Software without prior written authorization
  3848  // from The Open Group.
  3849  //
  3850  
  3851  //	Xlibint.h - Header definition and support file for the internal
  3852  //	support routines used by the C subroutine interface
  3853  //	library (Xlib) to the X Window System.
  3854  //
  3855  //	Warning, there be dragons here....
  3856  
  3857  // Copyright (C) 1997-2020 Free Software Foundation, Inc.
  3858  //    This file is part of the GNU C Library.
  3859  //
  3860  //    The GNU C Library is free software; you can redistribute it and/or
  3861  //    modify it under the terms of the GNU Lesser General Public
  3862  //    License as published by the Free Software Foundation; either
  3863  //    version 2.1 of the License, or (at your option) any later version.
  3864  //
  3865  //    The GNU C Library is distributed in the hope that it will be useful,
  3866  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3867  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3868  //    Lesser General Public License for more details.
  3869  //
  3870  //    You should have received a copy of the GNU Lesser General Public
  3871  //    License along with the GNU C Library; if not, see
  3872  //    <https://www.gnu.org/licenses/>.
  3873  
  3874  //	ISO C99: 7.18 Integer types <stdint.h>
  3875  
  3876  // Handle feature test macros at the start of a header.
  3877  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  3878  //    This file is part of the GNU C Library.
  3879  //
  3880  //    The GNU C Library is free software; you can redistribute it and/or
  3881  //    modify it under the terms of the GNU Lesser General Public
  3882  //    License as published by the Free Software Foundation; either
  3883  //    version 2.1 of the License, or (at your option) any later version.
  3884  //
  3885  //    The GNU C Library is distributed in the hope that it will be useful,
  3886  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3887  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3888  //    Lesser General Public License for more details.
  3889  //
  3890  //    You should have received a copy of the GNU Lesser General Public
  3891  //    License along with the GNU C Library; if not, see
  3892  //    <https://www.gnu.org/licenses/>.
  3893  
  3894  // This header is internal to glibc and should not be included outside
  3895  //    of glibc headers.  Headers including it must define
  3896  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  3897  //    cannot have multiple include guards because ISO C feature test
  3898  //    macros depend on the definition of the macro when an affected
  3899  //    header is included, not when the first system header is
  3900  //    included.
  3901  
  3902  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  3903  //    This file is part of the GNU C Library.
  3904  //
  3905  //    The GNU C Library is free software; you can redistribute it and/or
  3906  //    modify it under the terms of the GNU Lesser General Public
  3907  //    License as published by the Free Software Foundation; either
  3908  //    version 2.1 of the License, or (at your option) any later version.
  3909  //
  3910  //    The GNU C Library is distributed in the hope that it will be useful,
  3911  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3912  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  3913  //    Lesser General Public License for more details.
  3914  //
  3915  //    You should have received a copy of the GNU Lesser General Public
  3916  //    License along with the GNU C Library; if not, see
  3917  //    <https://www.gnu.org/licenses/>.
  3918  
  3919  // These are defined by the user (or the compiler)
  3920  //    to specify the desired environment:
  3921  //
  3922  //    __STRICT_ANSI__	ISO Standard C.
  3923  //    _ISOC99_SOURCE	Extensions to ISO C89 from ISO C99.
  3924  //    _ISOC11_SOURCE	Extensions to ISO C99 from ISO C11.
  3925  //    _ISOC2X_SOURCE	Extensions to ISO C99 from ISO C2X.
  3926  //    __STDC_WANT_LIB_EXT2__
  3927  // 			Extensions to ISO C99 from TR 27431-2:2010.
  3928  //    __STDC_WANT_IEC_60559_BFP_EXT__
  3929  // 			Extensions to ISO C11 from TS 18661-1:2014.
  3930  //    __STDC_WANT_IEC_60559_FUNCS_EXT__
  3931  // 			Extensions to ISO C11 from TS 18661-4:2015.
  3932  //    __STDC_WANT_IEC_60559_TYPES_EXT__
  3933  // 			Extensions to ISO C11 from TS 18661-3:2015.
  3934  //
  3935  //    _POSIX_SOURCE	IEEE Std 1003.1.
  3936  //    _POSIX_C_SOURCE	If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
  3937  // 			if >=199309L, add IEEE Std 1003.1b-1993;
  3938  // 			if >=199506L, add IEEE Std 1003.1c-1995;
  3939  // 			if >=200112L, all of IEEE 1003.1-2004
  3940  // 			if >=200809L, all of IEEE 1003.1-2008
  3941  //    _XOPEN_SOURCE	Includes POSIX and XPG things.  Set to 500 if
  3942  // 			Single Unix conformance is wanted, to 600 for the
  3943  // 			sixth revision, to 700 for the seventh revision.
  3944  //    _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
  3945  //    _LARGEFILE_SOURCE	Some more functions for correct standard I/O.
  3946  //    _LARGEFILE64_SOURCE	Additional functionality from LFS for large files.
  3947  //    _FILE_OFFSET_BITS=N	Select default filesystem interface.
  3948  //    _ATFILE_SOURCE	Additional *at interfaces.
  3949  //    _GNU_SOURCE		All of the above, plus GNU extensions.
  3950  //    _DEFAULT_SOURCE	The default set of features (taking precedence over
  3951  // 			__STRICT_ANSI__).
  3952  //
  3953  //    _FORTIFY_SOURCE	Add security hardening to many library functions.
  3954  // 			Set to 1 or 2; 2 performs stricter checks than 1.
  3955  //
  3956  //    _REENTRANT, _THREAD_SAFE
  3957  // 			Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
  3958  //
  3959  //    The `-ansi' switch to the GNU C compiler, and standards conformance
  3960  //    options such as `-std=c99', define __STRICT_ANSI__.  If none of
  3961  //    these are defined, or if _DEFAULT_SOURCE is defined, the default is
  3962  //    to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
  3963  //    200809L, as well as enabling miscellaneous functions from BSD and
  3964  //    SVID.  If more than one of these are defined, they accumulate.  For
  3965  //    example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
  3966  //    give you ISO C, 1003.1, and 1003.2, but nothing else.
  3967  //
  3968  //    These are defined by this file and are used by the
  3969  //    header files to decide what to declare or define:
  3970  //
  3971  //    __GLIBC_USE (F)	Define things from feature set F.  This is defined
  3972  // 			to 1 or 0; the subsequent macros are either defined
  3973  // 			or undefined, and those tests should be moved to
  3974  // 			__GLIBC_USE.
  3975  //    __USE_ISOC11		Define ISO C11 things.
  3976  //    __USE_ISOC99		Define ISO C99 things.
  3977  //    __USE_ISOC95		Define ISO C90 AMD1 (C95) things.
  3978  //    __USE_ISOCXX11	Define ISO C++11 things.
  3979  //    __USE_POSIX		Define IEEE Std 1003.1 things.
  3980  //    __USE_POSIX2		Define IEEE Std 1003.2 things.
  3981  //    __USE_POSIX199309	Define IEEE Std 1003.1, and .1b things.
  3982  //    __USE_POSIX199506	Define IEEE Std 1003.1, .1b, .1c and .1i things.
  3983  //    __USE_XOPEN		Define XPG things.
  3984  //    __USE_XOPEN_EXTENDED	Define X/Open Unix things.
  3985  //    __USE_UNIX98		Define Single Unix V2 things.
  3986  //    __USE_XOPEN2K        Define XPG6 things.
  3987  //    __USE_XOPEN2KXSI     Define XPG6 XSI things.
  3988  //    __USE_XOPEN2K8       Define XPG7 things.
  3989  //    __USE_XOPEN2K8XSI    Define XPG7 XSI things.
  3990  //    __USE_LARGEFILE	Define correct standard I/O things.
  3991  //    __USE_LARGEFILE64	Define LFS things with separate names.
  3992  //    __USE_FILE_OFFSET64	Define 64bit interface as default.
  3993  //    __USE_MISC		Define things from 4.3BSD or System V Unix.
  3994  //    __USE_ATFILE		Define *at interfaces and AT_* constants for them.
  3995  //    __USE_GNU		Define GNU extensions.
  3996  //    __USE_FORTIFY_LEVEL	Additional security measures used, according to level.
  3997  //
  3998  //    The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
  3999  //    defined by this file unconditionally.  `__GNU_LIBRARY__' is provided
  4000  //    only for compatibility.  All new code should use the other symbols
  4001  //    to test for features.
  4002  //
  4003  //    All macros listed above as possibly being defined by this file are
  4004  //    explicitly undefined if they are not explicitly defined.
  4005  //    Feature-test macros that are not defined by the user or compiler
  4006  //    but are implied by the other feature-test macros defined (or by the
  4007  //    lack of any definitions) are defined by the file.
  4008  //
  4009  //    ISO C feature test macros depend on the definition of the macro
  4010  //    when an affected header is included, not when the first system
  4011  //    header is included, and so they are handled in
  4012  //    <bits/libc-header-start.h>, which does not have a multiple include
  4013  //    guard.  Feature test macros that can be handled from the first
  4014  //    system header included are handled here.
  4015  
  4016  // Undefine everything, so we get a clean slate.
  4017  
  4018  // Suppress kernel-name space pollution unless user expressedly asks
  4019  //    for it.
  4020  
  4021  // Convenience macro to test the version of gcc.
  4022  //    Use like this:
  4023  //    #if __GNUC_PREREQ (2,8)
  4024  //    ... code requiring gcc 2.8 or later ...
  4025  //    #endif
  4026  //    Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
  4027  //    added in 2.0.
  4028  
  4029  // Similarly for clang.  Features added to GCC after version 4.2 may
  4030  //    or may not also be available in clang, and clang's definitions of
  4031  //    __GNUC(_MINOR)__ are fixed at 4 and 2 respectively.  Not all such
  4032  //    features can be queried via __has_extension/__has_feature.
  4033  
  4034  // Whether to use feature set F.
  4035  
  4036  // _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
  4037  //    _DEFAULT_SOURCE.  If _DEFAULT_SOURCE is present we do not
  4038  //    issue a warning; the expectation is that the source is being
  4039  //    transitioned to use the new macro.
  4040  
  4041  // If _GNU_SOURCE was defined by the user, turn on all the other features.
  4042  
  4043  // If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
  4044  //    define _DEFAULT_SOURCE.
  4045  
  4046  // This is to enable the ISO C2X extension.
  4047  
  4048  // This is to enable the ISO C11 extension.
  4049  
  4050  // This is to enable the ISO C99 extension.
  4051  
  4052  // This is to enable the ISO C90 Amendment 1:1995 extension.
  4053  
  4054  // If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
  4055  //    is defined, use POSIX.1-2008 (or another version depending on
  4056  //    _XOPEN_SOURCE).
  4057  
  4058  // Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
  4059  //    defined in all multithreaded code.  GNU libc has not required this
  4060  //    for many years.  We now treat them as compatibility synonyms for
  4061  //    _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
  4062  //    comprehensive support for multithreaded code.  Using them never
  4063  //    lowers the selected level of POSIX conformance, only raises it.
  4064  
  4065  // The function 'gets' existed in C89, but is impossible to use
  4066  //    safely.  It has been removed from ISO C11 and ISO C++14.  Note: for
  4067  //    compatibility with various implementations of <cstdio>, this test
  4068  //    must consider only the value of __cplusplus when compiling C++.
  4069  
  4070  // GNU formerly extended the scanf functions with modified format
  4071  //    specifiers %as, %aS, and %a[...] that allocate a buffer for the
  4072  //    input using malloc.  This extension conflicts with ISO C99, which
  4073  //    defines %a as a standalone format specifier that reads a floating-
  4074  //    point number; moreover, POSIX.1-2008 provides the same feature
  4075  //    using the modifier letter 'm' instead (%ms, %mS, %m[...]).
  4076  //
  4077  //    We now follow C99 unless GNU extensions are active and the compiler
  4078  //    is specifically in C89 or C++98 mode (strict or not).  For
  4079  //    instance, with GCC, -std=gnu11 will have C99-compliant scanf with
  4080  //    or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
  4081  //    old extension.
  4082  
  4083  // Get definitions of __STDC_* predefined macros, if the compiler has
  4084  //    not preincluded this header automatically.
  4085  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4086  //    This file is part of the GNU C Library.
  4087  //
  4088  //    The GNU C Library is free software; you can redistribute it and/or
  4089  //    modify it under the terms of the GNU Lesser General Public
  4090  //    License as published by the Free Software Foundation; either
  4091  //    version 2.1 of the License, or (at your option) any later version.
  4092  //
  4093  //    The GNU C Library is distributed in the hope that it will be useful,
  4094  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4095  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4096  //    Lesser General Public License for more details.
  4097  //
  4098  //    You should have received a copy of the GNU Lesser General Public
  4099  //    License along with the GNU C Library; if not, see
  4100  //    <https://www.gnu.org/licenses/>.
  4101  
  4102  // This macro indicates that the installed library is the GNU C Library.
  4103  //    For historic reasons the value now is 6 and this will stay from now
  4104  //    on.  The use of this variable is deprecated.  Use __GLIBC__ and
  4105  //    __GLIBC_MINOR__ now (see below) when you want to test for a specific
  4106  //    GNU C library version and use the values in <gnu/lib-names.h> to get
  4107  //    the sonames of the shared libraries.
  4108  
  4109  // Major and minor version number of the GNU C library package.  Use
  4110  //    these macros to test for features in specific releases.
  4111  
  4112  // This is here only because every header file already includes this one.
  4113  // Copyright (C) 1992-2020 Free Software Foundation, Inc.
  4114  //    This file is part of the GNU C Library.
  4115  //
  4116  //    The GNU C Library is free software; you can redistribute it and/or
  4117  //    modify it under the terms of the GNU Lesser General Public
  4118  //    License as published by the Free Software Foundation; either
  4119  //    version 2.1 of the License, or (at your option) any later version.
  4120  //
  4121  //    The GNU C Library is distributed in the hope that it will be useful,
  4122  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4123  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4124  //    Lesser General Public License for more details.
  4125  //
  4126  //    You should have received a copy of the GNU Lesser General Public
  4127  //    License along with the GNU C Library; if not, see
  4128  //    <https://www.gnu.org/licenses/>.
  4129  
  4130  // We are almost always included from features.h.
  4131  
  4132  // The GNU libc does not support any K&R compilers or the traditional mode
  4133  //    of ISO C compilers anymore.  Check for some of the combinations not
  4134  //    anymore supported.
  4135  
  4136  // Some user header file might have defined this before.
  4137  
  4138  // All functions, except those with callbacks or those that
  4139  //    synchronize memory, are leaf functions.
  4140  
  4141  // GCC can always grok prototypes.  For C++ programs we add throw()
  4142  //    to help it optimize the function calls.  But this works only with
  4143  //    gcc 2.8.x and egcs.  For gcc 3.2 and up we even mark C functions
  4144  //    as non-throwing using a function attribute since programs can use
  4145  //    the -fexceptions options for C code as well.
  4146  
  4147  // Compilers that are not clang may object to
  4148  //        #if defined __clang__ && __has_extension(...)
  4149  //    even though they do not need to evaluate the right-hand side of the &&.
  4150  
  4151  // These two macros are not used in glibc anymore.  They are kept here
  4152  //    only because some other projects expect the macros to be defined.
  4153  
  4154  // For these things, GCC behaves the ANSI way normally,
  4155  //    and the non-ANSI way under -traditional.
  4156  
  4157  // This is not a typedef so `const __ptr_t' does the right thing.
  4158  
  4159  // C++ needs to know that types and declarations are C, not C++.
  4160  
  4161  // Fortify support.
  4162  
  4163  // Support for flexible arrays.
  4164  //    Headers that should use flexible arrays only if they're "real"
  4165  //    (e.g. only if they won't affect sizeof()) should test
  4166  //    #if __glibc_c99_flexarr_available.
  4167  
  4168  // __asm__ ("xyz") is used throughout the headers to rename functions
  4169  //    at the assembly language level.  This is wrapped by the __REDIRECT
  4170  //    macro, in order to support compilers that can do this some other
  4171  //    way.  When compilers don't support asm-names at all, we have to do
  4172  //    preprocessor tricks instead (which don't have exactly the right
  4173  //    semantics, but it's the best we can do).
  4174  //
  4175  //    Example:
  4176  //    int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
  4177  
  4178  //
  4179  // #elif __SOME_OTHER_COMPILER__
  4180  //
  4181  // # define __REDIRECT(name, proto, alias) name proto; 	_Pragma("let " #name " = " #alias)
  4182  
  4183  // GCC has various useful declarations that can be made with the
  4184  //    `__attribute__' syntax.  All of the ways we use this do fine if
  4185  //    they are omitted for compilers that don't understand it.
  4186  
  4187  // At some point during the gcc 2.96 development the `malloc' attribute
  4188  //    for functions was introduced.  We don't want to use it unconditionally
  4189  //    (although this would be possible) since it generates warnings.
  4190  
  4191  // Tell the compiler which arguments to an allocation function
  4192  //    indicate the size of the allocation.
  4193  
  4194  // At some point during the gcc 2.96 development the `pure' attribute
  4195  //    for functions was introduced.  We don't want to use it unconditionally
  4196  //    (although this would be possible) since it generates warnings.
  4197  
  4198  // This declaration tells the compiler that the value is constant.
  4199  
  4200  // At some point during the gcc 3.1 development the `used' attribute
  4201  //    for functions was introduced.  We don't want to use it unconditionally
  4202  //    (although this would be possible) since it generates warnings.
  4203  
  4204  // Since version 3.2, gcc allows marking deprecated functions.
  4205  
  4206  // Since version 4.5, gcc also allows one to specify the message printed
  4207  //    when a deprecated function is used.  clang claims to be gcc 4.2, but
  4208  //    may also support this feature.
  4209  
  4210  // At some point during the gcc 2.8 development the `format_arg' attribute
  4211  //    for functions was introduced.  We don't want to use it unconditionally
  4212  //    (although this would be possible) since it generates warnings.
  4213  //    If several `format_arg' attributes are given for the same function, in
  4214  //    gcc-3.0 and older, all but the last one are ignored.  In newer gccs,
  4215  //    all designated arguments are considered.
  4216  
  4217  // At some point during the gcc 2.97 development the `strfmon' format
  4218  //    attribute for functions was introduced.  We don't want to use it
  4219  //    unconditionally (although this would be possible) since it
  4220  //    generates warnings.
  4221  
  4222  // The nonull function attribute allows to mark pointer parameters which
  4223  //    must not be NULL.
  4224  
  4225  // If fortification mode, we warn about unused results of certain
  4226  //    function calls which can lead to problems.
  4227  
  4228  // Forces a function to be always inlined.
  4229  // The Linux kernel defines __always_inline in stddef.h (283d7573), and
  4230  //    it conflicts with this definition.  Therefore undefine it first to
  4231  //    allow either header to be included first.
  4232  
  4233  // Associate error messages with the source location of the call site rather
  4234  //    than with the source location inside the function.
  4235  
  4236  // GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
  4237  //    inline semantics, unless -fgnu89-inline is used.  Using __GNUC_STDC_INLINE__
  4238  //    or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
  4239  //    older than 4.3 may define these macros and still not guarantee GNU inlining
  4240  //    semantics.
  4241  //
  4242  //    clang++ identifies itself as gcc-4.2, but has support for GNU inlining
  4243  //    semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
  4244  //    __GNUC_GNU_INLINE__ macro definitions.
  4245  
  4246  // GCC 4.3 and above allow passing all anonymous arguments of an
  4247  //    __extern_always_inline function to some other vararg function.
  4248  
  4249  // It is possible to compile containing GCC extensions even if GCC is
  4250  //    run in pedantic mode if the uses are carefully marked using the
  4251  //    `__extension__' keyword.  But this is not generally available before
  4252  //    version 2.8.
  4253  
  4254  // __restrict is known in EGCS 1.2 and above.
  4255  
  4256  // ISO C99 also allows to declare arrays as non-overlapping.  The syntax is
  4257  //      array_name[restrict]
  4258  //    GCC 3.1 supports this.
  4259  
  4260  // Describes a char array whose address can safely be passed as the first
  4261  //    argument to strncpy and strncat, as the char array is not necessarily
  4262  //    a NUL-terminated string.
  4263  
  4264  // Undefine (also defined in libc-symbols.h).
  4265  // Copies attributes from the declaration or type referenced by
  4266  //    the argument.
  4267  
  4268  // Determine the wordsize from the preprocessor defines.
  4269  //
  4270  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  4271  //    This file is part of the GNU C Library.
  4272  //
  4273  //    The GNU C Library is free software; you can redistribute it and/or
  4274  //    modify it under the terms of the GNU Lesser General Public
  4275  //    License as published by the Free Software Foundation; either
  4276  //    version 2.1 of the License, or (at your option) any later version.
  4277  //
  4278  //    The GNU C Library is distributed in the hope that it will be useful,
  4279  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4280  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4281  //    Lesser General Public License for more details.
  4282  //
  4283  //    You should have received a copy of the GNU Lesser General Public
  4284  //    License along with the GNU C Library; if not, see
  4285  //    <https://www.gnu.org/licenses/>.
  4286  
  4287  // Properties of long double type.  ldbl-128 version.
  4288  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  4289  //    This file is part of the GNU C Library.
  4290  //
  4291  //    The GNU C Library is free software; you can redistribute it and/or
  4292  //    modify it under the terms of the GNU Lesser General Public
  4293  //    License  published by the Free Software Foundation; either
  4294  //    version 2.1 of the License, or (at your option) any later version.
  4295  //
  4296  //    The GNU C Library is distributed in the hope that it will be useful,
  4297  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4298  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4299  //    Lesser General Public License for more details.
  4300  //
  4301  //    You should have received a copy of the GNU Lesser General Public
  4302  //    License along with the GNU C Library; if not, see
  4303  //    <https://www.gnu.org/licenses/>.
  4304  
  4305  // long double is distinct from double, so there is nothing to
  4306  //    define here.
  4307  
  4308  // __glibc_macro_warning (MESSAGE) issues warning MESSAGE.  This is
  4309  //    intended for use in preprocessor macros.
  4310  //
  4311  //    Note: MESSAGE must be a _single_ string; concatenation of string
  4312  //    literals is not supported.
  4313  
  4314  // Generic selection (ISO C11) is a C-only feature, available in GCC
  4315  //    since version 4.9.  Previous versions do not provide generic
  4316  //    selection, even though they might set __STDC_VERSION__ to 201112L,
  4317  //    when in -std=c11 mode.  Thus, we must check for !defined __GNUC__
  4318  //    when testing __STDC_VERSION__ for generic selection support.
  4319  //    On the other hand, Clang also defines __GNUC__, so a clang-specific
  4320  //    check is required to enable the use of generic selection.
  4321  
  4322  // Designates a 1-based positional argument ref-index of pointer type
  4323  //    that can be used to access size-index elements of the pointed-to
  4324  //    array according to access mode, or at least one element when
  4325  //    size-index is not provided:
  4326  //      access (access-mode, <ref-index> [, <size-index>])
  4327  
  4328  // If we don't have __REDIRECT, prototypes will be missing if
  4329  //    __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
  4330  
  4331  // Decide whether we can define 'extern inline' functions in headers.
  4332  
  4333  // This is here only because every header file already includes this one.
  4334  //    Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
  4335  //    <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
  4336  //    that will always return failure (and set errno to ENOSYS).
  4337  // This file is automatically generated.
  4338  //    This file selects the right generated file of `__stub_FUNCTION' macros
  4339  //    based on the architecture being compiled for.
  4340  
  4341  // Determine the wordsize from the preprocessor defines.
  4342  //
  4343  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  4344  //    This file is part of the GNU C Library.
  4345  //
  4346  //    The GNU C Library is free software; you can redistribute it and/or
  4347  //    modify it under the terms of the GNU Lesser General Public
  4348  //    License as published by the Free Software Foundation; either
  4349  //    version 2.1 of the License, or (at your option) any later version.
  4350  //
  4351  //    The GNU C Library is distributed in the hope that it will be useful,
  4352  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4353  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4354  //    Lesser General Public License for more details.
  4355  //
  4356  //    You should have received a copy of the GNU Lesser General Public
  4357  //    License along with the GNU C Library; if not, see
  4358  //    <https://www.gnu.org/licenses/>.
  4359  
  4360  // This file is automatically generated.
  4361  //    It defines a symbol `__stub_FUNCTION' for each function
  4362  //    in the C library which is a stub, meaning it will fail
  4363  //    every time called, usually setting errno to ENOSYS.
  4364  
  4365  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  4366  //    macro.
  4367  
  4368  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  4369  //    macro.  Most but not all symbols enabled by that macro in TS
  4370  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
  4371  //    still require that macro in C2X.
  4372  
  4373  // ISO/IEC TS 18661-4:2015 defines the
  4374  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  4375  //    functions, the symbols from this TS are enabled unconditionally in
  4376  //    C2X.
  4377  
  4378  // ISO/IEC TS 18661-3:2015 defines the
  4379  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  4380  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4381  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4382  //    This file is part of the GNU C Library.
  4383  //
  4384  //    The GNU C Library is free software; you can redistribute it and/or
  4385  //    modify it under the terms of the GNU Lesser General Public
  4386  //    License as published by the Free Software Foundation; either
  4387  //    version 2.1 of the License, or (at your option) any later version.
  4388  //
  4389  //    The GNU C Library is distributed in the hope that it will be useful,
  4390  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4391  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4392  //    Lesser General Public License for more details.
  4393  //
  4394  //    You should have received a copy of the GNU Lesser General Public
  4395  //    License along with the GNU C Library; if not, see
  4396  //    <https://www.gnu.org/licenses/>.
  4397  
  4398  // Never include this file directly; use <sys/types.h> instead.
  4399  
  4400  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4401  //    This file is part of the GNU C Library.
  4402  //
  4403  //    The GNU C Library is free software; you can redistribute it and/or
  4404  //    modify it under the terms of the GNU Lesser General Public
  4405  //    License as published by the Free Software Foundation; either
  4406  //    version 2.1 of the License, or (at your option) any later version.
  4407  //
  4408  //    The GNU C Library is distributed in the hope that it will be useful,
  4409  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4410  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4411  //    Lesser General Public License for more details.
  4412  //
  4413  //    You should have received a copy of the GNU Lesser General Public
  4414  //    License along with the GNU C Library; if not, see
  4415  //    <https://www.gnu.org/licenses/>.
  4416  
  4417  // Determine the wordsize from the preprocessor defines.
  4418  //
  4419  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  4420  //    This file is part of the GNU C Library.
  4421  //
  4422  //    The GNU C Library is free software; you can redistribute it and/or
  4423  //    modify it under the terms of the GNU Lesser General Public
  4424  //    License as published by the Free Software Foundation; either
  4425  //    version 2.1 of the License, or (at your option) any later version.
  4426  //
  4427  //    The GNU C Library is distributed in the hope that it will be useful,
  4428  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4429  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4430  //    Lesser General Public License for more details.
  4431  //
  4432  //    You should have received a copy of the GNU Lesser General Public
  4433  //    License along with the GNU C Library; if not, see
  4434  //    <https://www.gnu.org/licenses/>.
  4435  
  4436  // Bit size of the time_t type at glibc build time, general case.
  4437  //    Copyright (C) 2018-2020 Free Software Foundation, Inc.
  4438  //    This file is part of the GNU C Library.
  4439  //
  4440  //    The GNU C Library is free software; you can redistribute it and/or
  4441  //    modify it under the terms of the GNU Lesser General Public
  4442  //    License as published by the Free Software Foundation; either
  4443  //    version 2.1 of the License, or (at your option) any later version.
  4444  //
  4445  //    The GNU C Library is distributed in the hope that it will be useful,
  4446  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4447  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4448  //    Lesser General Public License for more details.
  4449  //
  4450  //    You should have received a copy of the GNU Lesser General Public
  4451  //    License along with the GNU C Library; if not, see
  4452  //    <https://www.gnu.org/licenses/>.
  4453  
  4454  // Determine the wordsize from the preprocessor defines.
  4455  //
  4456  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  4457  //    This file is part of the GNU C Library.
  4458  //
  4459  //    The GNU C Library is free software; you can redistribute it and/or
  4460  //    modify it under the terms of the GNU Lesser General Public
  4461  //    License as published by the Free Software Foundation; either
  4462  //    version 2.1 of the License, or (at your option) any later version.
  4463  //
  4464  //    The GNU C Library is distributed in the hope that it will be useful,
  4465  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4466  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4467  //    Lesser General Public License for more details.
  4468  //
  4469  //    You should have received a copy of the GNU Lesser General Public
  4470  //    License along with the GNU C Library; if not, see
  4471  //    <https://www.gnu.org/licenses/>.
  4472  
  4473  // Size in bits of the 'time_t' type of the default ABI.
  4474  
  4475  // Convenience types.
  4476  type X__u_char = uint8   /* types.h:31:23 */
  4477  type X__u_short = uint16 /* types.h:32:28 */
  4478  type X__u_int = uint32   /* types.h:33:22 */
  4479  type X__u_long = uint64  /* types.h:34:27 */
  4480  
  4481  // Fixed-size types, underlying types depend on word size and compiler.
  4482  type X__int8_t = int8     /* types.h:37:21 */
  4483  type X__uint8_t = uint8   /* types.h:38:23 */
  4484  type X__int16_t = int16   /* types.h:39:26 */
  4485  type X__uint16_t = uint16 /* types.h:40:28 */
  4486  type X__int32_t = int32   /* types.h:41:20 */
  4487  type X__uint32_t = uint32 /* types.h:42:22 */
  4488  type X__int64_t = int64   /* types.h:44:25 */
  4489  type X__uint64_t = uint64 /* types.h:45:27 */
  4490  
  4491  // Smallest types with at least a given width.
  4492  type X__int_least8_t = X__int8_t     /* types.h:52:18 */
  4493  type X__uint_least8_t = X__uint8_t   /* types.h:53:19 */
  4494  type X__int_least16_t = X__int16_t   /* types.h:54:19 */
  4495  type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
  4496  type X__int_least32_t = X__int32_t   /* types.h:56:19 */
  4497  type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
  4498  type X__int_least64_t = X__int64_t   /* types.h:58:19 */
  4499  type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
  4500  
  4501  // quad_t is also 64 bits.
  4502  type X__quad_t = int64    /* types.h:63:18 */
  4503  type X__u_quad_t = uint64 /* types.h:64:27 */
  4504  
  4505  // Largest integral types.
  4506  type X__intmax_t = int64   /* types.h:72:18 */
  4507  type X__uintmax_t = uint64 /* types.h:73:27 */
  4508  
  4509  // The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
  4510  //    macros for each of the OS types we define below.  The definitions
  4511  //    of those macros must use the following macros for underlying types.
  4512  //    We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
  4513  //    variants of each of the following integer types on this machine.
  4514  //
  4515  // 	16		-- "natural" 16-bit type (always short)
  4516  // 	32		-- "natural" 32-bit type (always int)
  4517  // 	64		-- "natural" 64-bit type (long or long long)
  4518  // 	LONG32		-- 32-bit type, traditionally long
  4519  // 	QUAD		-- 64-bit type, traditionally long long
  4520  // 	WORD		-- natural type of __WORDSIZE bits (int or long)
  4521  // 	LONGWORD	-- type of __WORDSIZE bits, traditionally long
  4522  //
  4523  //    We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
  4524  //    conventional uses of `long' or `long long' type modifiers match the
  4525  //    types we define, even when a less-adorned type would be the same size.
  4526  //    This matters for (somewhat) portably writing printf/scanf formats for
  4527  //    these types, where using the appropriate l or ll format modifiers can
  4528  //    make the typedefs and the formats match up across all GNU platforms.  If
  4529  //    we used `long' when it's 64 bits where `long long' is expected, then the
  4530  //    compiler would warn about the formats not matching the argument types,
  4531  //    and the programmer changing them to shut up the compiler would break the
  4532  //    program's portability.
  4533  //
  4534  //    Here we assume what is presently the case in all the GCC configurations
  4535  //    we support: long long is always 64 bits, long is always word/address size,
  4536  //    and int is always 32 bits.
  4537  
  4538  // No need to mark the typedef with __extension__.
  4539  // bits/typesizes.h -- underlying types for *_t.  For the generic Linux ABI.
  4540  //    Copyright (C) 2011-2020 Free Software Foundation, Inc.
  4541  //    This file is part of the GNU C Library.
  4542  //    Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
  4543  //
  4544  //    The GNU C Library is free software; you can redistribute it and/or
  4545  //    modify it under the terms of the GNU Lesser General Public
  4546  //    License as published by the Free Software Foundation; either
  4547  //    version 2.1 of the License, or (at your option) any later version.
  4548  //
  4549  //    The GNU C Library is distributed in the hope that it will be useful,
  4550  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4551  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4552  //    Lesser General Public License for more details.
  4553  //
  4554  //    You should have received a copy of the GNU Lesser General Public
  4555  //    License along with the GNU C Library.  If not, see
  4556  //    <https://www.gnu.org/licenses/>.
  4557  
  4558  // See <bits/types.h> for the meaning of these macros.  This file exists so
  4559  //    that <bits/types.h> need not vary across different GNU platforms.
  4560  
  4561  // Tell the libc code that off_t and off64_t are actually the same type
  4562  //    for all ABI purposes, even if possibly expressed as different base types
  4563  //    for C type-checking purposes.
  4564  
  4565  // Same for ino_t and ino64_t.
  4566  
  4567  // And for __rlim_t and __rlim64_t.
  4568  
  4569  // And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
  4570  
  4571  // And for getitimer, setitimer and rusage
  4572  
  4573  // Number of descriptors that can fit in an `fd_set'.
  4574  
  4575  // bits/time64.h -- underlying types for __time64_t.  Generic version.
  4576  //    Copyright (C) 2018-2020 Free Software Foundation, Inc.
  4577  //    This file is part of the GNU C Library.
  4578  //
  4579  //    The GNU C Library is free software; you can redistribute it and/or
  4580  //    modify it under the terms of the GNU Lesser General Public
  4581  //    License as published by the Free Software Foundation; either
  4582  //    version 2.1 of the License, or (at your option) any later version.
  4583  //
  4584  //    The GNU C Library is distributed in the hope that it will be useful,
  4585  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4586  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4587  //    Lesser General Public License for more details.
  4588  //
  4589  //    You should have received a copy of the GNU Lesser General Public
  4590  //    License along with the GNU C Library; if not, see
  4591  //    <https://www.gnu.org/licenses/>.
  4592  
  4593  // Define __TIME64_T_TYPE so that it is always a 64-bit type.
  4594  
  4595  // If we already have 64-bit time type then use it.
  4596  
  4597  type X__dev_t = uint64                     /* types.h:145:25 */ // Type of device numbers.
  4598  type X__uid_t = uint32                     /* types.h:146:25 */ // Type of user identifications.
  4599  type X__gid_t = uint32                     /* types.h:147:25 */ // Type of group identifications.
  4600  type X__ino_t = uint64                     /* types.h:148:25 */ // Type of file serial numbers.
  4601  type X__ino64_t = uint64                   /* types.h:149:27 */ // Type of file serial numbers (LFS).
  4602  type X__mode_t = uint32                    /* types.h:150:26 */ // Type of file attribute bitmasks.
  4603  type X__nlink_t = uint32                   /* types.h:151:27 */ // Type of file link counts.
  4604  type X__off_t = int64                      /* types.h:152:25 */ // Type of file sizes and offsets.
  4605  type X__off64_t = int64                    /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
  4606  type X__pid_t = int32                      /* types.h:154:25 */ // Type of process identifications.
  4607  type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
  4608  type X__clock_t = int64                    /* types.h:156:27 */ // Type of CPU usage counts.
  4609  type X__rlim_t = uint64                    /* types.h:157:26 */ // Type for resource measurement.
  4610  type X__rlim64_t = uint64                  /* types.h:158:28 */ // Type for resource measurement (LFS).
  4611  type X__id_t = uint32                      /* types.h:159:24 */ // General type for IDs.
  4612  type X__time_t = int64                     /* types.h:160:26 */ // Seconds since the Epoch.
  4613  type X__useconds_t = uint32                /* types.h:161:30 */ // Count of microseconds.
  4614  type X__suseconds_t = int64                /* types.h:162:31 */ // Signed count of microseconds.
  4615  type X__suseconds64_t = int64              /* types.h:163:33 */
  4616  
  4617  type X__daddr_t = int32 /* types.h:165:27 */ // The type of a disk address.
  4618  type X__key_t = int32   /* types.h:166:25 */ // Type of an IPC key.
  4619  
  4620  // Clock ID used in clock and timer functions.
  4621  type X__clockid_t = int32 /* types.h:169:29 */
  4622  
  4623  // Timer ID returned by `timer_create'.
  4624  type X__timer_t = uintptr /* types.h:172:12 */
  4625  
  4626  // Type to represent block size.
  4627  type X__blksize_t = int32 /* types.h:175:29 */
  4628  
  4629  // Types from the Large File Support interface.
  4630  
  4631  // Type to count number of disk blocks.
  4632  type X__blkcnt_t = int64   /* types.h:180:28 */
  4633  type X__blkcnt64_t = int64 /* types.h:181:30 */
  4634  
  4635  // Type to count file system blocks.
  4636  type X__fsblkcnt_t = uint64   /* types.h:184:30 */
  4637  type X__fsblkcnt64_t = uint64 /* types.h:185:32 */
  4638  
  4639  // Type to count file system nodes.
  4640  type X__fsfilcnt_t = uint64   /* types.h:188:30 */
  4641  type X__fsfilcnt64_t = uint64 /* types.h:189:32 */
  4642  
  4643  // Type of miscellaneous file system fields.
  4644  type X__fsword_t = int64 /* types.h:192:28 */
  4645  
  4646  type X__ssize_t = int64 /* types.h:194:27 */ // Type of a byte count, or error.
  4647  
  4648  // Signed long type used in system calls.
  4649  type X__syscall_slong_t = int64 /* types.h:197:33 */
  4650  // Unsigned long type used in system calls.
  4651  type X__syscall_ulong_t = uint64 /* types.h:199:33 */
  4652  
  4653  // These few don't really vary by system, they always correspond
  4654  //    to one of the other defined types.
  4655  type X__loff_t = X__off64_t /* types.h:203:19 */ // Type of file sizes and offsets (LFS).
  4656  type X__caddr_t = uintptr   /* types.h:204:14 */
  4657  
  4658  // Duplicates info from stdint.h but this is used in unistd.h.
  4659  type X__intptr_t = int64 /* types.h:207:25 */
  4660  
  4661  // Duplicate info from sys/socket.h.
  4662  type X__socklen_t = uint32 /* types.h:210:23 */
  4663  
  4664  // C99: An integer type that can be accessed as an atomic entity,
  4665  //    even in the presence of asynchronous interrupts.
  4666  //    It is not currently necessary for this to be machine-specific.
  4667  type X__sig_atomic_t = int32 /* types.h:215:13 */
  4668  
  4669  // Seconds since the Epoch, visible to user code when time_t is too
  4670  //    narrow only for consistency with the old way of widening too-narrow
  4671  //    types.  User code should never use __time64_t.
  4672  
  4673  // wchar_t type related definitions.
  4674  //    Copyright (C) 2000-2020 Free Software Foundation, Inc.
  4675  //    This file is part of the GNU C Library.
  4676  //
  4677  //    The GNU C Library is free software; you can redistribute it and/or
  4678  //    modify it under the terms of the GNU Lesser General Public
  4679  //    License as published by the Free Software Foundation; either
  4680  //    version 2.1 of the License, or (at your option) any later version.
  4681  //
  4682  //    The GNU C Library is distributed in the hope that it will be useful,
  4683  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4684  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4685  //    Lesser General Public License for more details.
  4686  //
  4687  //    You should have received a copy of the GNU Lesser General Public
  4688  //    License along with the GNU C Library; if not, see
  4689  //    <https://www.gnu.org/licenses/>.
  4690  
  4691  // The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__
  4692  //    are not defined, give the right value and type as long as both int
  4693  //    and wchar_t are 32-bit types.  Adding L'\0' to a constant value
  4694  //    ensures that the type is correct; it is necessary to use (L'\0' +
  4695  //    0) rather than just L'\0' so that the type in C++ is the promoted
  4696  //    version of wchar_t rather than the distinct wchar_t type itself.
  4697  //    Because wchar_t in preprocessor #if expressions is treated as
  4698  //    intmax_t or uintmax_t, the expression (L'\0' - 1) would have the
  4699  //    wrong value for WCHAR_MAX in such expressions and so cannot be used
  4700  //    to define __WCHAR_MAX in the unsigned case.
  4701  
  4702  // Determine the wordsize from the preprocessor defines.
  4703  //
  4704  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  4705  //    This file is part of the GNU C Library.
  4706  //
  4707  //    The GNU C Library is free software; you can redistribute it and/or
  4708  //    modify it under the terms of the GNU Lesser General Public
  4709  //    License as published by the Free Software Foundation; either
  4710  //    version 2.1 of the License, or (at your option) any later version.
  4711  //
  4712  //    The GNU C Library is distributed in the hope that it will be useful,
  4713  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4714  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4715  //    Lesser General Public License for more details.
  4716  //
  4717  //    You should have received a copy of the GNU Lesser General Public
  4718  //    License along with the GNU C Library; if not, see
  4719  //    <https://www.gnu.org/licenses/>.
  4720  
  4721  // Exact integral types.
  4722  
  4723  // Signed.
  4724  // Define intN_t types.
  4725  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  4726  //    This file is part of the GNU C Library.
  4727  //
  4728  //    The GNU C Library is free software; you can redistribute it and/or
  4729  //    modify it under the terms of the GNU Lesser General Public
  4730  //    License as published by the Free Software Foundation; either
  4731  //    version 2.1 of the License, or (at your option) any later version.
  4732  //
  4733  //    The GNU C Library is distributed in the hope that it will be useful,
  4734  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4735  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4736  //    Lesser General Public License for more details.
  4737  //
  4738  //    You should have received a copy of the GNU Lesser General Public
  4739  //    License along with the GNU C Library; if not, see
  4740  //    <https://www.gnu.org/licenses/>.
  4741  
  4742  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4743  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4744  //    This file is part of the GNU C Library.
  4745  //
  4746  //    The GNU C Library is free software; you can redistribute it and/or
  4747  //    modify it under the terms of the GNU Lesser General Public
  4748  //    License as published by the Free Software Foundation; either
  4749  //    version 2.1 of the License, or (at your option) any later version.
  4750  //
  4751  //    The GNU C Library is distributed in the hope that it will be useful,
  4752  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4753  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4754  //    Lesser General Public License for more details.
  4755  //
  4756  //    You should have received a copy of the GNU Lesser General Public
  4757  //    License along with the GNU C Library; if not, see
  4758  //    <https://www.gnu.org/licenses/>.
  4759  
  4760  // Never include this file directly; use <sys/types.h> instead.
  4761  
  4762  type Int8_t = X__int8_t   /* stdint-intn.h:24:18 */
  4763  type Int16_t = X__int16_t /* stdint-intn.h:25:19 */
  4764  type Int32_t = X__int32_t /* stdint-intn.h:26:19 */
  4765  type Int64_t = X__int64_t /* stdint-intn.h:27:19 */
  4766  
  4767  // Unsigned.
  4768  // Define uintN_t types.
  4769  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  4770  //    This file is part of the GNU C Library.
  4771  //
  4772  //    The GNU C Library is free software; you can redistribute it and/or
  4773  //    modify it under the terms of the GNU Lesser General Public
  4774  //    License as published by the Free Software Foundation; either
  4775  //    version 2.1 of the License, or (at your option) any later version.
  4776  //
  4777  //    The GNU C Library is distributed in the hope that it will be useful,
  4778  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4779  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4780  //    Lesser General Public License for more details.
  4781  //
  4782  //    You should have received a copy of the GNU Lesser General Public
  4783  //    License along with the GNU C Library; if not, see
  4784  //    <https://www.gnu.org/licenses/>.
  4785  
  4786  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4787  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4788  //    This file is part of the GNU C Library.
  4789  //
  4790  //    The GNU C Library is free software; you can redistribute it and/or
  4791  //    modify it under the terms of the GNU Lesser General Public
  4792  //    License as published by the Free Software Foundation; either
  4793  //    version 2.1 of the License, or (at your option) any later version.
  4794  //
  4795  //    The GNU C Library is distributed in the hope that it will be useful,
  4796  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4797  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4798  //    Lesser General Public License for more details.
  4799  //
  4800  //    You should have received a copy of the GNU Lesser General Public
  4801  //    License along with the GNU C Library; if not, see
  4802  //    <https://www.gnu.org/licenses/>.
  4803  
  4804  // Never include this file directly; use <sys/types.h> instead.
  4805  
  4806  type Uint8_t = X__uint8_t   /* stdint-uintn.h:24:19 */
  4807  type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */
  4808  type Uint32_t = X__uint32_t /* stdint-uintn.h:26:20 */
  4809  type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */
  4810  
  4811  // Small types.
  4812  
  4813  // Signed.
  4814  type Int_least8_t = X__int_least8_t   /* stdint.h:43:24 */
  4815  type Int_least16_t = X__int_least16_t /* stdint.h:44:25 */
  4816  type Int_least32_t = X__int_least32_t /* stdint.h:45:25 */
  4817  type Int_least64_t = X__int_least64_t /* stdint.h:46:25 */
  4818  
  4819  // Unsigned.
  4820  type Uint_least8_t = X__uint_least8_t   /* stdint.h:49:25 */
  4821  type Uint_least16_t = X__uint_least16_t /* stdint.h:50:26 */
  4822  type Uint_least32_t = X__uint_least32_t /* stdint.h:51:26 */
  4823  type Uint_least64_t = X__uint_least64_t /* stdint.h:52:26 */
  4824  
  4825  // Fast types.
  4826  
  4827  // Signed.
  4828  type Int_fast8_t = int8   /* stdint.h:58:22 */
  4829  type Int_fast16_t = int64 /* stdint.h:60:19 */
  4830  type Int_fast32_t = int64 /* stdint.h:61:19 */
  4831  type Int_fast64_t = int64 /* stdint.h:62:19 */
  4832  
  4833  // Unsigned.
  4834  type Uint_fast8_t = uint8   /* stdint.h:71:24 */
  4835  type Uint_fast16_t = uint64 /* stdint.h:73:27 */
  4836  type Uint_fast32_t = uint64 /* stdint.h:74:27 */
  4837  type Uint_fast64_t = uint64 /* stdint.h:75:27 */
  4838  
  4839  // Types for `void *' pointers.
  4840  type Intptr_t = int64   /* stdint.h:87:19 */
  4841  type Uintptr_t = uint64 /* stdint.h:90:27 */
  4842  
  4843  // Largest integral types.
  4844  type Intmax_t = X__intmax_t   /* stdint.h:101:21 */
  4845  type Uintmax_t = X__uintmax_t /* stdint.h:102:22 */
  4846  
  4847  // Limits of integral types.
  4848  
  4849  // Minimum of signed integral types.
  4850  // Maximum of signed integral types.
  4851  
  4852  // Maximum of unsigned integral types.
  4853  
  4854  // Minimum of signed integral types having a minimum size.
  4855  // Maximum of signed integral types having a minimum size.
  4856  
  4857  // Maximum of unsigned integral types having a minimum size.
  4858  
  4859  // Minimum of fast signed integral types having a minimum size.
  4860  // Maximum of fast signed integral types having a minimum size.
  4861  
  4862  // Maximum of fast unsigned integral types having a minimum size.
  4863  
  4864  // Values to test for integral types holding `void *' pointer.
  4865  
  4866  // Minimum for largest signed integral type.
  4867  // Maximum for largest signed integral type.
  4868  
  4869  // Maximum for largest unsigned integral type.
  4870  
  4871  // Limits of other integer types.
  4872  
  4873  // Limits of `ptrdiff_t' type.
  4874  
  4875  // Limits of `sig_atomic_t'.
  4876  
  4877  // Limit of `size_t' type.
  4878  
  4879  // Limits of `wchar_t'.
  4880  // These constants might also be defined in <wchar.h>.
  4881  
  4882  // Limits of `wint_t'.
  4883  
  4884  // Signed.
  4885  
  4886  // Unsigned.
  4887  
  4888  // Maximal type.
  4889  
  4890  //
  4891  //
  4892  // Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
  4893  //
  4894  // Permission to use, copy, modify, distribute, and sell this software and its
  4895  // documentation for any purpose is hereby granted without fee, provided that
  4896  // the above copyright notice appear in all copies and that both that
  4897  // copyright notice and this permission notice appear in supporting
  4898  // documentation.
  4899  //
  4900  // The above copyright notice and this permission notice shall be included in
  4901  // all copies or substantial portions of the Software.
  4902  //
  4903  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  4904  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  4905  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  4906  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  4907  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  4908  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  4909  //
  4910  // Except as contained in this notice, the name of The Open Group shall not be
  4911  // used in advertising or otherwise to promote the sale, use or other dealings
  4912  // in this Software without prior written authorization from The Open Group.
  4913  //
  4914  
  4915  //	Xlib.h - Header definition and support file for the C subroutine
  4916  //	interface library (Xlib) to the X Window System Protocol (V11).
  4917  //	Structures and symbols starting with "_" are private to the library.
  4918  
  4919  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4920  //    This file is part of the GNU C Library.
  4921  //
  4922  //    The GNU C Library is free software; you can redistribute it and/or
  4923  //    modify it under the terms of the GNU Lesser General Public
  4924  //    License as published by the Free Software Foundation; either
  4925  //    version 2.1 of the License, or (at your option) any later version.
  4926  //
  4927  //    The GNU C Library is distributed in the hope that it will be useful,
  4928  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4929  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4930  //    Lesser General Public License for more details.
  4931  //
  4932  //    You should have received a copy of the GNU Lesser General Public
  4933  //    License along with the GNU C Library; if not, see
  4934  //    <https://www.gnu.org/licenses/>.
  4935  
  4936  //	POSIX Standard: 2.6 Primitive System Data Types	<sys/types.h>
  4937  
  4938  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  4939  //    This file is part of the GNU C Library.
  4940  //
  4941  //    The GNU C Library is free software; you can redistribute it and/or
  4942  //    modify it under the terms of the GNU Lesser General Public
  4943  //    License as published by the Free Software Foundation; either
  4944  //    version 2.1 of the License, or (at your option) any later version.
  4945  //
  4946  //    The GNU C Library is distributed in the hope that it will be useful,
  4947  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4948  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4949  //    Lesser General Public License for more details.
  4950  //
  4951  //    You should have received a copy of the GNU Lesser General Public
  4952  //    License along with the GNU C Library; if not, see
  4953  //    <https://www.gnu.org/licenses/>.
  4954  
  4955  // bits/types.h -- definitions of __*_t types underlying *_t types.
  4956  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  4957  //    This file is part of the GNU C Library.
  4958  //
  4959  //    The GNU C Library is free software; you can redistribute it and/or
  4960  //    modify it under the terms of the GNU Lesser General Public
  4961  //    License as published by the Free Software Foundation; either
  4962  //    version 2.1 of the License, or (at your option) any later version.
  4963  //
  4964  //    The GNU C Library is distributed in the hope that it will be useful,
  4965  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  4966  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  4967  //    Lesser General Public License for more details.
  4968  //
  4969  //    You should have received a copy of the GNU Lesser General Public
  4970  //    License along with the GNU C Library; if not, see
  4971  //    <https://www.gnu.org/licenses/>.
  4972  
  4973  // Never include this file directly; use <sys/types.h> instead.
  4974  
  4975  type U_char = X__u_char     /* types.h:33:18 */
  4976  type U_short = X__u_short   /* types.h:34:19 */
  4977  type U_int = X__u_int       /* types.h:35:17 */
  4978  type U_long = X__u_long     /* types.h:36:18 */
  4979  type Quad_t = X__quad_t     /* types.h:37:18 */
  4980  type U_quad_t = X__u_quad_t /* types.h:38:20 */
  4981  type Fsid_t = X__fsid_t     /* types.h:39:18 */
  4982  type Loff_t = X__loff_t     /* types.h:42:18 */
  4983  
  4984  type Ino_t = X__ino64_t /* types.h:49:19 */
  4985  
  4986  type Dev_t = X__dev_t /* types.h:59:17 */
  4987  
  4988  type Gid_t = X__gid_t /* types.h:64:17 */
  4989  
  4990  type Mode_t = X__mode_t /* types.h:69:18 */
  4991  
  4992  type Nlink_t = X__nlink_t /* types.h:74:19 */
  4993  
  4994  type Uid_t = X__uid_t /* types.h:79:17 */
  4995  
  4996  type Off_t = X__off64_t /* types.h:87:19 */
  4997  
  4998  type Pid_t = X__pid_t /* types.h:97:17 */
  4999  
  5000  type Id_t = X__id_t /* types.h:103:16 */
  5001  
  5002  type Ssize_t = X__ssize_t /* types.h:108:19 */
  5003  
  5004  type Daddr_t = X__daddr_t /* types.h:114:19 */
  5005  type Caddr_t = X__caddr_t /* types.h:115:19 */
  5006  
  5007  type Key_t = X__key_t /* types.h:121:17 */
  5008  
  5009  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5010  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5011  //    This file is part of the GNU C Library.
  5012  //
  5013  //    The GNU C Library is free software; you can redistribute it and/or
  5014  //    modify it under the terms of the GNU Lesser General Public
  5015  //    License as published by the Free Software Foundation; either
  5016  //    version 2.1 of the License, or (at your option) any later version.
  5017  //
  5018  //    The GNU C Library is distributed in the hope that it will be useful,
  5019  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5020  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5021  //    Lesser General Public License for more details.
  5022  //
  5023  //    You should have received a copy of the GNU Lesser General Public
  5024  //    License along with the GNU C Library; if not, see
  5025  //    <https://www.gnu.org/licenses/>.
  5026  
  5027  // Never include this file directly; use <sys/types.h> instead.
  5028  
  5029  // Returned by `clock'.
  5030  type Clock_t = X__clock_t /* clock_t.h:7:19 */
  5031  
  5032  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5033  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5034  //    This file is part of the GNU C Library.
  5035  //
  5036  //    The GNU C Library is free software; you can redistribute it and/or
  5037  //    modify it under the terms of the GNU Lesser General Public
  5038  //    License as published by the Free Software Foundation; either
  5039  //    version 2.1 of the License, or (at your option) any later version.
  5040  //
  5041  //    The GNU C Library is distributed in the hope that it will be useful,
  5042  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5043  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5044  //    Lesser General Public License for more details.
  5045  //
  5046  //    You should have received a copy of the GNU Lesser General Public
  5047  //    License along with the GNU C Library; if not, see
  5048  //    <https://www.gnu.org/licenses/>.
  5049  
  5050  // Never include this file directly; use <sys/types.h> instead.
  5051  
  5052  // Clock ID used in clock and timer functions.
  5053  type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
  5054  
  5055  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5056  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5057  //    This file is part of the GNU C Library.
  5058  //
  5059  //    The GNU C Library is free software; you can redistribute it and/or
  5060  //    modify it under the terms of the GNU Lesser General Public
  5061  //    License as published by the Free Software Foundation; either
  5062  //    version 2.1 of the License, or (at your option) any later version.
  5063  //
  5064  //    The GNU C Library is distributed in the hope that it will be useful,
  5065  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5066  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5067  //    Lesser General Public License for more details.
  5068  //
  5069  //    You should have received a copy of the GNU Lesser General Public
  5070  //    License along with the GNU C Library; if not, see
  5071  //    <https://www.gnu.org/licenses/>.
  5072  
  5073  // Never include this file directly; use <sys/types.h> instead.
  5074  
  5075  // Returned by `time'.
  5076  type Time_t = X__time_t /* time_t.h:7:18 */
  5077  
  5078  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5079  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5080  //    This file is part of the GNU C Library.
  5081  //
  5082  //    The GNU C Library is free software; you can redistribute it and/or
  5083  //    modify it under the terms of the GNU Lesser General Public
  5084  //    License as published by the Free Software Foundation; either
  5085  //    version 2.1 of the License, or (at your option) any later version.
  5086  //
  5087  //    The GNU C Library is distributed in the hope that it will be useful,
  5088  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5089  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5090  //    Lesser General Public License for more details.
  5091  //
  5092  //    You should have received a copy of the GNU Lesser General Public
  5093  //    License along with the GNU C Library; if not, see
  5094  //    <https://www.gnu.org/licenses/>.
  5095  
  5096  // Never include this file directly; use <sys/types.h> instead.
  5097  
  5098  // Timer ID returned by `timer_create'.
  5099  type Timer_t = X__timer_t /* timer_t.h:7:19 */
  5100  
  5101  // Wide character type.
  5102  //    Locale-writers should change this as necessary to
  5103  //    be big enough to hold unique values not between 0 and 127,
  5104  //    and not (wchar_t) -1, for each defined multibyte character.
  5105  
  5106  // Define this type if we are doing the whole job,
  5107  //    or if we want this type in particular.
  5108  
  5109  // A null pointer constant.
  5110  
  5111  // Old compatibility names for C types.
  5112  type Ulong = uint64  /* types.h:148:27 */
  5113  type Ushort = uint16 /* types.h:149:28 */
  5114  type Uint = uint32   /* types.h:150:22 */
  5115  
  5116  // These size-specific names are used by some of the inet code.
  5117  
  5118  // Define intN_t types.
  5119  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5120  //    This file is part of the GNU C Library.
  5121  //
  5122  //    The GNU C Library is free software; you can redistribute it and/or
  5123  //    modify it under the terms of the GNU Lesser General Public
  5124  //    License as published by the Free Software Foundation; either
  5125  //    version 2.1 of the License, or (at your option) any later version.
  5126  //
  5127  //    The GNU C Library is distributed in the hope that it will be useful,
  5128  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5129  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5130  //    Lesser General Public License for more details.
  5131  //
  5132  //    You should have received a copy of the GNU Lesser General Public
  5133  //    License along with the GNU C Library; if not, see
  5134  //    <https://www.gnu.org/licenses/>.
  5135  
  5136  // These were defined by ISO C without the first `_'.
  5137  type U_int8_t = X__uint8_t   /* types.h:158:19 */
  5138  type U_int16_t = X__uint16_t /* types.h:159:20 */
  5139  type U_int32_t = X__uint32_t /* types.h:160:20 */
  5140  type U_int64_t = X__uint64_t /* types.h:161:20 */
  5141  
  5142  type Register_t = int32 /* types.h:164:13 */
  5143  
  5144  // It also defines `fd_set' and the FD_* macros for `select'.
  5145  // `fd_set' type and related macros, and `select'/`pselect' declarations.
  5146  //    Copyright (C) 1996-2020 Free Software Foundation, Inc.
  5147  //    This file is part of the GNU C Library.
  5148  //
  5149  //    The GNU C Library is free software; you can redistribute it and/or
  5150  //    modify it under the terms of the GNU Lesser General Public
  5151  //    License as published by the Free Software Foundation; either
  5152  //    version 2.1 of the License, or (at your option) any later version.
  5153  //
  5154  //    The GNU C Library is distributed in the hope that it will be useful,
  5155  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5156  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5157  //    Lesser General Public License for more details.
  5158  //
  5159  //    You should have received a copy of the GNU Lesser General Public
  5160  //    License along with the GNU C Library; if not, see
  5161  //    <https://www.gnu.org/licenses/>.
  5162  
  5163  //	POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h>
  5164  
  5165  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  5166  //    This file is part of the GNU C Library.
  5167  //
  5168  //    The GNU C Library is free software; you can redistribute it and/or
  5169  //    modify it under the terms of the GNU Lesser General Public
  5170  //    License as published by the Free Software Foundation; either
  5171  //    version 2.1 of the License, or (at your option) any later version.
  5172  //
  5173  //    The GNU C Library is distributed in the hope that it will be useful,
  5174  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5175  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5176  //    Lesser General Public License for more details.
  5177  //
  5178  //    You should have received a copy of the GNU Lesser General Public
  5179  //    License along with the GNU C Library; if not, see
  5180  //    <https://www.gnu.org/licenses/>.
  5181  
  5182  // Get definition of needed basic types.
  5183  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5184  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5185  //    This file is part of the GNU C Library.
  5186  //
  5187  //    The GNU C Library is free software; you can redistribute it and/or
  5188  //    modify it under the terms of the GNU Lesser General Public
  5189  //    License as published by the Free Software Foundation; either
  5190  //    version 2.1 of the License, or (at your option) any later version.
  5191  //
  5192  //    The GNU C Library is distributed in the hope that it will be useful,
  5193  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5194  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5195  //    Lesser General Public License for more details.
  5196  //
  5197  //    You should have received a copy of the GNU Lesser General Public
  5198  //    License along with the GNU C Library; if not, see
  5199  //    <https://www.gnu.org/licenses/>.
  5200  
  5201  // Never include this file directly; use <sys/types.h> instead.
  5202  
  5203  // Get __FD_* definitions.
  5204  // Copyright (C) 1997-2020 Free Software Foundation, Inc.
  5205  //    This file is part of the GNU C Library.
  5206  //
  5207  //    The GNU C Library is free software; you can redistribute it and/or
  5208  //    modify it under the terms of the GNU Lesser General Public
  5209  //    License as published by the Free Software Foundation; either
  5210  //    version 2.1 of the License, or (at your option) any later version.
  5211  //
  5212  //    The GNU C Library is distributed in the hope that it will be useful,
  5213  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5214  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5215  //    Lesser General Public License for more details.
  5216  //
  5217  //    You should have received a copy of the GNU Lesser General Public
  5218  //    License along with the GNU C Library; if not, see
  5219  //    <https://www.gnu.org/licenses/>.
  5220  
  5221  // We don't use `memset' because this would require a prototype and
  5222  //    the array isn't too big.
  5223  
  5224  // Get sigset_t.
  5225  
  5226  type X__sigset_t = struct{ F__val [16]uint64 } /* __sigset_t.h:8:3 */
  5227  
  5228  // A set of signals to be blocked, unblocked, or waited for.
  5229  type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */
  5230  
  5231  // Get definition of timer specification structures.
  5232  
  5233  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5234  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5235  //    This file is part of the GNU C Library.
  5236  //
  5237  //    The GNU C Library is free software; you can redistribute it and/or
  5238  //    modify it under the terms of the GNU Lesser General Public
  5239  //    License as published by the Free Software Foundation; either
  5240  //    version 2.1 of the License, or (at your option) any later version.
  5241  //
  5242  //    The GNU C Library is distributed in the hope that it will be useful,
  5243  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5244  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5245  //    Lesser General Public License for more details.
  5246  //
  5247  //    You should have received a copy of the GNU Lesser General Public
  5248  //    License along with the GNU C Library; if not, see
  5249  //    <https://www.gnu.org/licenses/>.
  5250  
  5251  // Never include this file directly; use <sys/types.h> instead.
  5252  
  5253  // A time value that is accurate to the nearest
  5254  //    microsecond but also has a range of years.
  5255  type Timeval = struct {
  5256  	Ftv_sec  X__time_t
  5257  	Ftv_usec X__suseconds_t
  5258  } /* struct_timeval.h:8:1 */
  5259  
  5260  // NB: Include guard matches what <linux/time.h> uses.
  5261  
  5262  // bits/types.h -- definitions of __*_t types underlying *_t types.
  5263  //    Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5264  //    This file is part of the GNU C Library.
  5265  //
  5266  //    The GNU C Library is free software; you can redistribute it and/or
  5267  //    modify it under the terms of the GNU Lesser General Public
  5268  //    License as published by the Free Software Foundation; either
  5269  //    version 2.1 of the License, or (at your option) any later version.
  5270  //
  5271  //    The GNU C Library is distributed in the hope that it will be useful,
  5272  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5273  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5274  //    Lesser General Public License for more details.
  5275  //
  5276  //    You should have received a copy of the GNU Lesser General Public
  5277  //    License along with the GNU C Library; if not, see
  5278  //    <https://www.gnu.org/licenses/>.
  5279  
  5280  // Never include this file directly; use <sys/types.h> instead.
  5281  
  5282  // Endian macros for string.h functions
  5283  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  5284  //    This file is part of the GNU C Library.
  5285  //
  5286  //    The GNU C Library is free software; you can redistribute it and/or
  5287  //    modify it under the terms of the GNU Lesser General Public
  5288  //    License as published by the Free Software Foundation; either
  5289  //    version 2.1 of the License, or (at your option) any later version.
  5290  //
  5291  //    The GNU C Library is distributed in the hope that it will be useful,
  5292  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5293  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5294  //    Lesser General Public License for more details.
  5295  //
  5296  //    You should have received a copy of the GNU Lesser General Public
  5297  //    License along with the GNU C Library; if not, see
  5298  //    <http://www.gnu.org/licenses/>.
  5299  
  5300  // POSIX.1b structure for a time value.  This is like a `struct timeval' but
  5301  //    has nanoseconds instead of microseconds.
  5302  type Timespec = struct {
  5303  	Ftv_sec  X__time_t
  5304  	Ftv_nsec X__syscall_slong_t
  5305  } /* struct_timespec.h:10:1 */
  5306  
  5307  type Suseconds_t = X__suseconds_t /* select.h:43:23 */
  5308  
  5309  // The fd_set member is required to be an array of longs.
  5310  type X__fd_mask = int64 /* select.h:49:18 */
  5311  
  5312  // Some versions of <linux/posix_types.h> define this macros.
  5313  // It's easier to assume 8-bit bytes than to get CHAR_BIT.
  5314  
  5315  // fd_set for select and pselect.
  5316  type Fd_set = struct{ F__fds_bits [16]X__fd_mask } /* select.h:70:5 */
  5317  
  5318  // Maximum number of file descriptors in `fd_set'.
  5319  
  5320  // Sometimes the fd_set member is assumed to have this type.
  5321  type Fd_mask = X__fd_mask /* select.h:77:19 */
  5322  
  5323  // Define some inlines helping to catch common problems.
  5324  
  5325  type Blksize_t = X__blksize_t /* types.h:185:21 */
  5326  
  5327  // Types from the Large File Support interface.
  5328  type Blkcnt_t = X__blkcnt64_t     /* types.h:205:22 */ // Type to count number of disk blocks.
  5329  type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks.
  5330  type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes.
  5331  
  5332  // Now add the thread types.
  5333  // Declaration of common pthread types for all architectures.
  5334  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5335  //    This file is part of the GNU C Library.
  5336  //
  5337  //    The GNU C Library is free software; you can redistribute it and/or
  5338  //    modify it under the terms of the GNU Lesser General Public
  5339  //    License as published by the Free Software Foundation; either
  5340  //    version 2.1 of the License, or (at your option) any later version.
  5341  //
  5342  //    The GNU C Library is distributed in the hope that it will be useful,
  5343  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5344  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5345  //    Lesser General Public License for more details.
  5346  //
  5347  //    You should have received a copy of the GNU Lesser General Public
  5348  //    License along with the GNU C Library; if not, see
  5349  //    <https://www.gnu.org/licenses/>.
  5350  
  5351  // For internal mutex and condition variable definitions.
  5352  // Common threading primitives definitions for both POSIX and C11.
  5353  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5354  //    This file is part of the GNU C Library.
  5355  //
  5356  //    The GNU C Library is free software; you can redistribute it and/or
  5357  //    modify it under the terms of the GNU Lesser General Public
  5358  //    License as published by the Free Software Foundation; either
  5359  //    version 2.1 of the License, or (at your option) any later version.
  5360  //
  5361  //    The GNU C Library is distributed in the hope that it will be useful,
  5362  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5363  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5364  //    Lesser General Public License for more details.
  5365  //
  5366  //    You should have received a copy of the GNU Lesser General Public
  5367  //    License along with the GNU C Library; if not, see
  5368  //    <https://www.gnu.org/licenses/>.
  5369  
  5370  // Arch-specific definitions.  Each architecture must define the following
  5371  //    macros to define the expected sizes of pthread data types:
  5372  //
  5373  //    __SIZEOF_PTHREAD_ATTR_T        - size of pthread_attr_t.
  5374  //    __SIZEOF_PTHREAD_MUTEX_T       - size of pthread_mutex_t.
  5375  //    __SIZEOF_PTHREAD_MUTEXATTR_T   - size of pthread_mutexattr_t.
  5376  //    __SIZEOF_PTHREAD_COND_T        - size of pthread_cond_t.
  5377  //    __SIZEOF_PTHREAD_CONDATTR_T    - size of pthread_condattr_t.
  5378  //    __SIZEOF_PTHREAD_RWLOCK_T      - size of pthread_rwlock_t.
  5379  //    __SIZEOF_PTHREAD_RWLOCKATTR_T  - size of pthread_rwlockattr_t.
  5380  //    __SIZEOF_PTHREAD_BARRIER_T     - size of pthread_barrier_t.
  5381  //    __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
  5382  //
  5383  //    The additional macro defines any constraint for the lock alignment
  5384  //    inside the thread structures:
  5385  //
  5386  //    __LOCK_ALIGNMENT - for internal lock/futex usage.
  5387  //
  5388  //    Same idea but for the once locking primitive:
  5389  //
  5390  //    __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
  5391  
  5392  // Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5393  //
  5394  //    This file is part of the GNU C Library.
  5395  //
  5396  //    The GNU C Library is free software; you can redistribute it and/or
  5397  //    modify it under the terms of the GNU Lesser General Public
  5398  //    License as published by the Free Software Foundation; either
  5399  //    version 2.1 of the License, or (at your option) any later version.
  5400  //
  5401  //    The GNU C Library is distributed in the hope that it will be useful,
  5402  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5403  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5404  //    Lesser General Public License for more details.
  5405  //
  5406  //    You should have received a copy of the GNU Lesser General Public
  5407  //    License along with the GNU C Library; if not, see
  5408  //    <https://www.gnu.org/licenses/>.
  5409  
  5410  // Endian macros for string.h functions
  5411  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  5412  //    This file is part of the GNU C Library.
  5413  //
  5414  //    The GNU C Library is free software; you can redistribute it and/or
  5415  //    modify it under the terms of the GNU Lesser General Public
  5416  //    License as published by the Free Software Foundation; either
  5417  //    version 2.1 of the License, or (at your option) any later version.
  5418  //
  5419  //    The GNU C Library is distributed in the hope that it will be useful,
  5420  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5421  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5422  //    Lesser General Public License for more details.
  5423  //
  5424  //    You should have received a copy of the GNU Lesser General Public
  5425  //    License along with the GNU C Library; if not, see
  5426  //    <http://www.gnu.org/licenses/>.
  5427  
  5428  // Common definition of pthread_mutex_t.
  5429  
  5430  type X__pthread_internal_list = struct {
  5431  	F__prev uintptr
  5432  	F__next uintptr
  5433  } /* thread-shared-types.h:49:9 */
  5434  
  5435  // Type to count file system inodes.
  5436  
  5437  // Now add the thread types.
  5438  // Declaration of common pthread types for all architectures.
  5439  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5440  //    This file is part of the GNU C Library.
  5441  //
  5442  //    The GNU C Library is free software; you can redistribute it and/or
  5443  //    modify it under the terms of the GNU Lesser General Public
  5444  //    License as published by the Free Software Foundation; either
  5445  //    version 2.1 of the License, or (at your option) any later version.
  5446  //
  5447  //    The GNU C Library is distributed in the hope that it will be useful,
  5448  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5449  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5450  //    Lesser General Public License for more details.
  5451  //
  5452  //    You should have received a copy of the GNU Lesser General Public
  5453  //    License along with the GNU C Library; if not, see
  5454  //    <https://www.gnu.org/licenses/>.
  5455  
  5456  // For internal mutex and condition variable definitions.
  5457  // Common threading primitives definitions for both POSIX and C11.
  5458  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  5459  //    This file is part of the GNU C Library.
  5460  //
  5461  //    The GNU C Library is free software; you can redistribute it and/or
  5462  //    modify it under the terms of the GNU Lesser General Public
  5463  //    License as published by the Free Software Foundation; either
  5464  //    version 2.1 of the License, or (at your option) any later version.
  5465  //
  5466  //    The GNU C Library is distributed in the hope that it will be useful,
  5467  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5468  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5469  //    Lesser General Public License for more details.
  5470  //
  5471  //    You should have received a copy of the GNU Lesser General Public
  5472  //    License along with the GNU C Library; if not, see
  5473  //    <https://www.gnu.org/licenses/>.
  5474  
  5475  // Arch-specific definitions.  Each architecture must define the following
  5476  //    macros to define the expected sizes of pthread data types:
  5477  //
  5478  //    __SIZEOF_PTHREAD_ATTR_T        - size of pthread_attr_t.
  5479  //    __SIZEOF_PTHREAD_MUTEX_T       - size of pthread_mutex_t.
  5480  //    __SIZEOF_PTHREAD_MUTEXATTR_T   - size of pthread_mutexattr_t.
  5481  //    __SIZEOF_PTHREAD_COND_T        - size of pthread_cond_t.
  5482  //    __SIZEOF_PTHREAD_CONDATTR_T    - size of pthread_condattr_t.
  5483  //    __SIZEOF_PTHREAD_RWLOCK_T      - size of pthread_rwlock_t.
  5484  //    __SIZEOF_PTHREAD_RWLOCKATTR_T  - size of pthread_rwlockattr_t.
  5485  //    __SIZEOF_PTHREAD_BARRIER_T     - size of pthread_barrier_t.
  5486  //    __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
  5487  //
  5488  //    The additional macro defines any constraint for the lock alignment
  5489  //    inside the thread structures:
  5490  //
  5491  //    __LOCK_ALIGNMENT - for internal lock/futex usage.
  5492  //
  5493  //    Same idea but for the once locking primitive:
  5494  //
  5495  //    __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition.
  5496  
  5497  // Copyright (C) 2002-2020 Free Software Foundation, Inc.
  5498  //
  5499  //    This file is part of the GNU C Library.
  5500  //
  5501  //    The GNU C Library is free software; you can redistribute it and/or
  5502  //    modify it under the terms of the GNU Lesser General Public
  5503  //    License as published by the Free Software Foundation; either
  5504  //    version 2.1 of the License, or (at your option) any later version.
  5505  //
  5506  //    The GNU C Library is distributed in the hope that it will be useful,
  5507  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5508  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5509  //    Lesser General Public License for more details.
  5510  //
  5511  //    You should have received a copy of the GNU Lesser General Public
  5512  //    License along with the GNU C Library; if not, see
  5513  //    <https://www.gnu.org/licenses/>.
  5514  
  5515  // Endian macros for string.h functions
  5516  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  5517  //    This file is part of the GNU C Library.
  5518  //
  5519  //    The GNU C Library is free software; you can redistribute it and/or
  5520  //    modify it under the terms of the GNU Lesser General Public
  5521  //    License as published by the Free Software Foundation; either
  5522  //    version 2.1 of the License, or (at your option) any later version.
  5523  //
  5524  //    The GNU C Library is distributed in the hope that it will be useful,
  5525  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5526  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5527  //    Lesser General Public License for more details.
  5528  //
  5529  //    You should have received a copy of the GNU Lesser General Public
  5530  //    License along with the GNU C Library; if not, see
  5531  //    <http://www.gnu.org/licenses/>.
  5532  
  5533  // Common definition of pthread_mutex_t.
  5534  
  5535  type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */
  5536  
  5537  type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */
  5538  
  5539  type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */
  5540  
  5541  // Arch-specific mutex definitions.  A generic implementation is provided
  5542  //    by sysdeps/nptl/bits/struct_mutex.h.  If required, an architecture
  5543  //    can override it by defining:
  5544  //
  5545  //    1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
  5546  //       definition).  It should contains at least the internal members
  5547  //       defined in the generic version.
  5548  //
  5549  //    2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
  5550  //       atomic operations.
  5551  //
  5552  //    3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
  5553  //       It should initialize the mutex internal flag.
  5554  
  5555  // Default mutex implementation struct definitions.
  5556  //    Copyright (C) 2019-2020 Free Software Foundation, Inc.
  5557  //    This file is part of the GNU C Library.
  5558  //
  5559  //    The GNU C Library is free software; you can redistribute it and/or
  5560  //    modify it under the terms of the GNU Lesser General Public
  5561  //    License as published by the Free Software Foundation; either
  5562  //    version 2.1 of the License, or (at your option) any later version.
  5563  //
  5564  //    The GNU C Library is distributed in the hope that it will be useful,
  5565  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5566  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5567  //    Lesser General Public License for more details.
  5568  //
  5569  //    You should have received a copy of the GNU Lesser General Public
  5570  //    License along with the GNU C Library; if not, see
  5571  //    <http://www.gnu.org/licenses/>.
  5572  
  5573  // Generic struct for both POSIX and C11 mutexes.  New ports are expected
  5574  //    to use the default layout, however architecture can redefine it to
  5575  //    add arch-specific extension (such as lock-elision).  The struct have
  5576  //    a size of 32 bytes on LP32 and 40 bytes on LP64 architectures.
  5577  
  5578  type X__pthread_mutex_s = struct {
  5579  	F__lock   int32
  5580  	F__count  uint32
  5581  	F__owner  int32
  5582  	F__nusers uint32
  5583  	F__kind   int32
  5584  	F__spins  int32
  5585  	F__list   X__pthread_list_t
  5586  } /* struct_mutex.h:27:1 */
  5587  
  5588  // Arch-sepecific read-write lock definitions.  A generic implementation is
  5589  //    provided by struct_rwlock.h.  If required, an architecture can override it
  5590  //    by defining:
  5591  //
  5592  //    1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
  5593  //       It should contain at least the internal members defined in the
  5594  //       generic version.
  5595  //
  5596  //    2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
  5597  //       It should initialize the rwlock internal type.
  5598  
  5599  // AArch64 internal rwlock struct definitions.
  5600  //    Copyright (C) 2019-2020 Free Software Foundation, Inc.
  5601  //
  5602  //    This file is part of the GNU C Library.
  5603  //
  5604  //    The GNU C Library is free software; you can redistribute it and/or
  5605  //    modify it under the terms of the GNU Lesser General Public
  5606  //    License as published by the Free Software Foundation; either
  5607  //    version 2.1 of the License, or (at your option) any later version.
  5608  //
  5609  //    The GNU C Library is distributed in the hope that it will be useful,
  5610  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  5611  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  5612  //    Lesser General Public License for more details.
  5613  //
  5614  //    You should have received a copy of the GNU Lesser General Public
  5615  //    License along with the GNU C Library; if not, see
  5616  //    <http://www.gnu.org/licenses/>.
  5617  
  5618  type X__pthread_rwlock_arch_t = struct {
  5619  	F__readers       uint32
  5620  	F__writers       uint32
  5621  	F__wrphase_futex uint32
  5622  	F__writers_futex uint32
  5623  	F__pad3          uint32
  5624  	F__pad4          uint32
  5625  	F__cur_writer    int32
  5626  	F__shared        int32
  5627  	F__pad1          uint64
  5628  	F__pad2          uint64
  5629  	F__flags         uint32
  5630  	F__ccgo_pad1     [4]byte
  5631  } /* struct_rwlock.h:23:1 */
  5632  
  5633  // Common definition of pthread_cond_t.
  5634  
  5635  type X__pthread_cond_s = struct {
  5636  	F__0            struct{ F__wseq uint64 }
  5637  	F__8            struct{ F__g1_start uint64 }
  5638  	F__g_refs       [2]uint32
  5639  	F__g_size       [2]uint32
  5640  	F__g1_orig_size uint32
  5641  	F__wrefs        uint32
  5642  	F__g_signals    [2]uint32
  5643  } /* thread-shared-types.h:92:1 */
  5644  
  5645  type X__tss_t = uint32  /* thread-shared-types.h:119:22 */
  5646  type X__thrd_t = uint64 /* thread-shared-types.h:120:27 */
  5647  
  5648  type X__once_flag = struct{ F__data int32 } /* thread-shared-types.h:125:3 */
  5649  
  5650  // Thread identifiers.  The structure of the attribute type is not
  5651  //    exposed on purpose.
  5652  type Pthread_t = uint64 /* pthreadtypes.h:27:27 */
  5653  
  5654  // Data structures for mutex handling.  The structure of the attribute
  5655  //    type is not exposed on purpose.
  5656  type Pthread_mutexattr_t = struct {
  5657  	F__ccgo_pad1 [0]uint32
  5658  	F__size      [8]uint8
  5659  } /* pthreadtypes.h:36:3 */
  5660  
  5661  // Data structure for condition variable handling.  The structure of
  5662  //    the attribute type is not exposed on purpose.
  5663  type Pthread_condattr_t = struct {
  5664  	F__ccgo_pad1 [0]uint32
  5665  	F__size      [8]uint8
  5666  } /* pthreadtypes.h:45:3 */
  5667  
  5668  // Keys for thread-specific data
  5669  type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */
  5670  
  5671  // Once-only execution
  5672  type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */
  5673  
  5674  type Pthread_attr_t1 = struct {
  5675  	F__ccgo_pad1 [0]uint64
  5676  	F__size      [64]uint8
  5677  } /* pthreadtypes.h:56:1 */
  5678  
  5679  type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */
  5680  
  5681  type Pthread_mutex_t = struct {
  5682  	F__data      X__pthread_mutex_s
  5683  	F__ccgo_pad1 [8]byte
  5684  } /* pthreadtypes.h:72:3 */
  5685  
  5686  type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */
  5687  
  5688  // Data structure for reader-writer lock variable handling.  The
  5689  //    structure of the attribute type is deliberately not exposed.
  5690  type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */
  5691  
  5692  type Pthread_rwlockattr_t = struct {
  5693  	F__ccgo_pad1 [0]uint64
  5694  	F__size      [8]uint8
  5695  } /* pthreadtypes.h:97:3 */
  5696  
  5697  // POSIX spinlock data type.
  5698  type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */
  5699  
  5700  // POSIX barriers data type.  The structure of the type is
  5701  //    deliberately not exposed.
  5702  type Pthread_barrier_t = struct {
  5703  	F__ccgo_pad1 [0]uint64
  5704  	F__size      [32]uint8
  5705  } /* pthreadtypes.h:112:3 */
  5706  
  5707  type Pthread_barrierattr_t = struct {
  5708  	F__ccgo_pad1 [0]uint32
  5709  	F__size      [8]uint8
  5710  } /* pthreadtypes.h:118:3 */
  5711  
  5712  // Definitions for the X window system likely to be used by applications
  5713  
  5714  //**********************************************************
  5715  //
  5716  // Copyright 1987, 1998  The Open Group
  5717  //
  5718  // Permission to use, copy, modify, distribute, and sell this software and its
  5719  // documentation for any purpose is hereby granted without fee, provided that
  5720  // the above copyright notice appear in all copies and that both that
  5721  // copyright notice and this permission notice appear in supporting
  5722  // documentation.
  5723  //
  5724  // The above copyright notice and this permission notice shall be included in
  5725  // all copies or substantial portions of the Software.
  5726  //
  5727  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  5728  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  5729  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  5730  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  5731  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  5732  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  5733  //
  5734  // Except as contained in this notice, the name of The Open Group shall not be
  5735  // used in advertising or otherwise to promote the sale, use or other dealings
  5736  // in this Software without prior written authorization from The Open Group.
  5737  //
  5738  //
  5739  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  5740  //
  5741  //                         All Rights Reserved
  5742  //
  5743  // Permission to use, copy, modify, and distribute this software and its
  5744  // documentation for any purpose and without fee is hereby granted,
  5745  // provided that the above copyright notice appear in all copies and that
  5746  // both that copyright notice and this permission notice appear in
  5747  // supporting documentation, and that the name of Digital not be
  5748  // used in advertising or publicity pertaining to distribution of the
  5749  // software without specific, written prior permission.
  5750  //
  5751  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  5752  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  5753  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  5754  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  5755  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  5756  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  5757  // SOFTWARE.
  5758  //
  5759  // *****************************************************************
  5760  
  5761  // Resources
  5762  
  5763  // _XSERVER64 must ONLY be defined when compiling X server sources on
  5764  // systems where unsigned long is not 32 bits, must NOT be used in
  5765  // client or library code.
  5766  type XID = uint64      /* X.h:66:23 */
  5767  type Mask = uint64     /* X.h:70:23 */
  5768  type Atom = uint64     /* X.h:74:23 */ // Also in Xdefs.h
  5769  type VisualID = uint64 /* X.h:76:23 */
  5770  type Time = uint64     /* X.h:77:23 */
  5771  
  5772  type Window = XID   /* X.h:96:13 */
  5773  type Drawable = XID /* X.h:97:13 */
  5774  type Font = XID     /* X.h:100:13 */
  5775  type Pixmap = XID   /* X.h:102:13 */
  5776  type Cursor = XID   /* X.h:103:13 */
  5777  type Colormap = XID /* X.h:104:13 */
  5778  type GContext = XID /* X.h:105:13 */
  5779  type KeySym = XID   /* X.h:106:13 */
  5780  
  5781  type KeyCode = uint8 /* X.h:108:23 */
  5782  
  5783  // A null pointer constant.
  5784  
  5785  // Offset of member MEMBER in a struct of type TYPE.
  5786  
  5787  // Type whose alignment is supported in every context and is at least
  5788  //    as great as that of any standard type not using alignment
  5789  //    specifiers.
  5790  type Max_align_t = struct {
  5791  	F__max_align_ll int64
  5792  	F__max_align_ld float64
  5793  } /* stddef.h:426:3 */
  5794  
  5795  // API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
  5796  //    November 2000. Its presence is indicated through the following macro.
  5797  
  5798  // The Xlib structs are full of implicit padding to properly align members.
  5799  //    We can't clean that up without breaking ABI, so tell clang not to bother
  5800  //    complaining about it.
  5801  
  5802  type XPointer = uintptr /* Xlib.h:80:14 */
  5803  
  5804  // macros for screen oriented applications (toolkit)
  5805  
  5806  // Extensions need a way to hang private data on some structures.
  5807  type X_XExtData = struct {
  5808  	Fnumber       int32
  5809  	F__ccgo_pad1  [4]byte
  5810  	Fnext         uintptr
  5811  	Ffree_private uintptr
  5812  	Fprivate_data XPointer
  5813  } /* Xlib.h:148:9 */
  5814  
  5815  // macros for screen oriented applications (toolkit)
  5816  
  5817  // Extensions need a way to hang private data on some structures.
  5818  type XExtData = X_XExtData /* Xlib.h:155:3 */
  5819  
  5820  // This file contains structures used by the extension mechanism.
  5821  type XExtCodes = struct {
  5822  	Fextension    int32
  5823  	Fmajor_opcode int32
  5824  	Ffirst_event  int32
  5825  	Ffirst_error  int32
  5826  } /* Xlib.h:165:3 */
  5827  
  5828  // Data structure for retrieving info about pixmap formats.
  5829  
  5830  type XPixmapFormatValues = struct {
  5831  	Fdepth          int32
  5832  	Fbits_per_pixel int32
  5833  	Fscanline_pad   int32
  5834  } /* Xlib.h:175:3 */
  5835  
  5836  // Data structure for setting graphics context.
  5837  type XGCValues = struct {
  5838  	Ffunction           int32
  5839  	F__ccgo_pad1        [4]byte
  5840  	Fplane_mask         uint64
  5841  	Fforeground         uint64
  5842  	Fbackground         uint64
  5843  	Fline_width         int32
  5844  	Fline_style         int32
  5845  	Fcap_style          int32
  5846  	Fjoin_style         int32
  5847  	Ffill_style         int32
  5848  	Ffill_rule          int32
  5849  	Farc_mode           int32
  5850  	F__ccgo_pad2        [4]byte
  5851  	Ftile               Pixmap
  5852  	Fstipple            Pixmap
  5853  	Fts_x_origin        int32
  5854  	Fts_y_origin        int32
  5855  	Ffont               Font
  5856  	Fsubwindow_mode     int32
  5857  	Fgraphics_exposures int32
  5858  	Fclip_x_origin      int32
  5859  	Fclip_y_origin      int32
  5860  	Fclip_mask          Pixmap
  5861  	Fdash_offset        int32
  5862  	Fdashes             uint8
  5863  	F__ccgo_pad3        [3]byte
  5864  } /* Xlib.h:207:3 */
  5865  
  5866  // Graphics context.  The contents of this structure are implementation
  5867  // dependent.  A GC should be treated as opaque by application code.
  5868  
  5869  type X_XGC = struct {
  5870  	Fext_data uintptr
  5871  	Fgid      GContext
  5872  	Frects    int32
  5873  	Fdashes   int32
  5874  	Fdirty    uint64
  5875  	Fvalues   XGCValues
  5876  } /* Xlib.h:214:9 */
  5877  
  5878  // Graphics context.  The contents of this structure are implementation
  5879  // dependent.  A GC should be treated as opaque by application code.
  5880  
  5881  type GC = uintptr /* Xlib.h:222:1 */
  5882  
  5883  // Visual structure; contains information about colormapping possible.
  5884  type Visual = struct {
  5885  	Fext_data     uintptr
  5886  	Fvisualid     VisualID
  5887  	Fclass        int32
  5888  	F__ccgo_pad1  [4]byte
  5889  	Fred_mask     uint64
  5890  	Fgreen_mask   uint64
  5891  	Fblue_mask    uint64
  5892  	Fbits_per_rgb int32
  5893  	Fmap_entries  int32
  5894  } /* Xlib.h:238:3 */
  5895  
  5896  // Depth structure; contains information for each possible depth.
  5897  type Depth = struct {
  5898  	Fdepth    int32
  5899  	Fnvisuals int32
  5900  	Fvisuals  uintptr
  5901  } /* Xlib.h:247:3 */
  5902  
  5903  // Information about the screen.  The contents of this structure are
  5904  // implementation dependent.  A Screen should be treated as opaque
  5905  // by application code.
  5906  
  5907  type X_XDisplay = struct {
  5908  	Fext_data            uintptr
  5909  	Ffree_funcs          uintptr
  5910  	Ffd                  int32
  5911  	Fconn_checker        int32
  5912  	Fproto_major_version int32
  5913  	Fproto_minor_version int32
  5914  	Fvendor              uintptr
  5915  	Fresource_base       XID
  5916  	Fresource_mask       XID
  5917  	Fresource_id         XID
  5918  	Fresource_shift      int32
  5919  	F__ccgo_pad1         [4]byte
  5920  	Fresource_alloc      uintptr
  5921  	Fbyte_order          int32
  5922  	Fbitmap_unit         int32
  5923  	Fbitmap_pad          int32
  5924  	Fbitmap_bit_order    int32
  5925  	Fnformats            int32
  5926  	F__ccgo_pad2         [4]byte
  5927  	Fpixmap_format       uintptr
  5928  	Fvnumber             int32
  5929  	Frelease             int32
  5930  	Fhead                uintptr
  5931  	Ftail                uintptr
  5932  	Fqlen                int32
  5933  	F__ccgo_pad3         [4]byte
  5934  	Flast_request_read   uint64
  5935  	Frequest             uint64
  5936  	Flast_req            uintptr
  5937  	Fbuffer              uintptr
  5938  	Fbufptr              uintptr
  5939  	Fbufmax              uintptr
  5940  	Fmax_request_size    uint32
  5941  	F__ccgo_pad4         [4]byte
  5942  	Fdb                  uintptr
  5943  	Fsynchandler         uintptr
  5944  	Fdisplay_name        uintptr
  5945  	Fdefault_screen      int32
  5946  	Fnscreens            int32
  5947  	Fscreens             uintptr
  5948  	Fmotion_buffer       uint64
  5949  	Fflags               uint64
  5950  	Fmin_keycode         int32
  5951  	Fmax_keycode         int32
  5952  	Fkeysyms             uintptr
  5953  	Fmodifiermap         uintptr
  5954  	Fkeysyms_per_keycode int32
  5955  	F__ccgo_pad5         [4]byte
  5956  	Fxdefaults           uintptr
  5957  	Fscratch_buffer      uintptr
  5958  	Fscratch_length      uint64
  5959  	Fext_number          int32
  5960  	F__ccgo_pad6         [4]byte
  5961  	Fext_procs           uintptr
  5962  	Fevent_vec           [128]uintptr
  5963  	Fwire_vec            [128]uintptr
  5964  	Flock_meaning        KeySym
  5965  	Flock                uintptr
  5966  	Fasync_handlers      uintptr
  5967  	Fbigreq_size         uint64
  5968  	Flock_fns            uintptr
  5969  	Fidlist_alloc        uintptr
  5970  	Fkey_bindings        uintptr
  5971  	Fcursor_font         Font
  5972  	Fatoms               uintptr
  5973  	Fmode_switch         uint32
  5974  	Fnum_lock            uint32
  5975  	Fcontext_db          uintptr
  5976  	Ferror_vec           uintptr
  5977  	Fcms                 struct {
  5978  		FdefaultCCCs            XPointer
  5979  		FclientCmaps            XPointer
  5980  		FperVisualIntensityMaps XPointer
  5981  	}
  5982  	Fim_filters             uintptr
  5983  	Fqfree                  uintptr
  5984  	Fnext_event_serial_num  uint64
  5985  	Fflushes                uintptr
  5986  	Fim_fd_info             uintptr
  5987  	Fim_fd_length           int32
  5988  	F__ccgo_pad7            [4]byte
  5989  	Fconn_watchers          uintptr
  5990  	Fwatcher_count          int32
  5991  	F__ccgo_pad8            [4]byte
  5992  	Ffiledes                XPointer
  5993  	Fsavedsynchandler       uintptr
  5994  	Fresource_max           XID
  5995  	Fxcmisc_opcode          int32
  5996  	F__ccgo_pad9            [4]byte
  5997  	Fxkb_info               uintptr
  5998  	Ftrans_conn             uintptr
  5999  	Fxcb                    uintptr
  6000  	Fnext_cookie            uint32
  6001  	F__ccgo_pad10           [4]byte
  6002  	Fgeneric_event_vec      [128]uintptr
  6003  	Fgeneric_event_copy_vec [128]uintptr
  6004  	Fcookiejar              uintptr
  6005  	Freq_seq_syncing        int32
  6006  	F__ccgo_pad11           [4]byte
  6007  } /* Xlib.h:255:1 */
  6008  
  6009  // Forward declare before use for C++
  6010  
  6011  type Screen = struct {
  6012  	Fext_data        uintptr
  6013  	Fdisplay         uintptr
  6014  	Froot            Window
  6015  	Fwidth           int32
  6016  	Fheight          int32
  6017  	Fmwidth          int32
  6018  	Fmheight         int32
  6019  	Fndepths         int32
  6020  	F__ccgo_pad1     [4]byte
  6021  	Fdepths          uintptr
  6022  	Froot_depth      int32
  6023  	F__ccgo_pad2     [4]byte
  6024  	Froot_visual     uintptr
  6025  	Fdefault_gc      GC
  6026  	Fcmap            Colormap
  6027  	Fwhite_pixel     uint64
  6028  	Fblack_pixel     uint64
  6029  	Fmax_maps        int32
  6030  	Fmin_maps        int32
  6031  	Fbacking_store   int32
  6032  	Fsave_unders     int32
  6033  	Froot_input_mask int64
  6034  } /* Xlib.h:275:3 */
  6035  
  6036  // Format structure; describes ZFormat data the screen will understand.
  6037  type ScreenFormat = struct {
  6038  	Fext_data       uintptr
  6039  	Fdepth          int32
  6040  	Fbits_per_pixel int32
  6041  	Fscanline_pad   int32
  6042  	F__ccgo_pad1    [4]byte
  6043  } /* Xlib.h:285:3 */
  6044  
  6045  // Data structure for setting window attributes.
  6046  type XSetWindowAttributes = struct {
  6047  	Fbackground_pixmap     Pixmap
  6048  	Fbackground_pixel      uint64
  6049  	Fborder_pixmap         Pixmap
  6050  	Fborder_pixel          uint64
  6051  	Fbit_gravity           int32
  6052  	Fwin_gravity           int32
  6053  	Fbacking_store         int32
  6054  	F__ccgo_pad1           [4]byte
  6055  	Fbacking_planes        uint64
  6056  	Fbacking_pixel         uint64
  6057  	Fsave_under            int32
  6058  	F__ccgo_pad2           [4]byte
  6059  	Fevent_mask            int64
  6060  	Fdo_not_propagate_mask int64
  6061  	Foverride_redirect     int32
  6062  	F__ccgo_pad3           [4]byte
  6063  	Fcolormap              Colormap
  6064  	Fcursor                Cursor
  6065  } /* Xlib.h:306:3 */
  6066  
  6067  type XWindowAttributes = struct {
  6068  	Fx                     int32
  6069  	Fy                     int32
  6070  	Fwidth                 int32
  6071  	Fheight                int32
  6072  	Fborder_width          int32
  6073  	Fdepth                 int32
  6074  	Fvisual                uintptr
  6075  	Froot                  Window
  6076  	Fclass                 int32
  6077  	Fbit_gravity           int32
  6078  	Fwin_gravity           int32
  6079  	Fbacking_store         int32
  6080  	Fbacking_planes        uint64
  6081  	Fbacking_pixel         uint64
  6082  	Fsave_under            int32
  6083  	F__ccgo_pad1           [4]byte
  6084  	Fcolormap              Colormap
  6085  	Fmap_installed         int32
  6086  	Fmap_state             int32
  6087  	Fall_event_masks       int64
  6088  	Fyour_event_mask       int64
  6089  	Fdo_not_propagate_mask int64
  6090  	Foverride_redirect     int32
  6091  	F__ccgo_pad2           [4]byte
  6092  	Fscreen                uintptr
  6093  } /* Xlib.h:334:3 */
  6094  
  6095  // Data structure for host setting; getting routines.
  6096  //
  6097  
  6098  type XHostAddress = struct {
  6099  	Ffamily  int32
  6100  	Flength  int32
  6101  	Faddress uintptr
  6102  } /* Xlib.h:345:3 */
  6103  
  6104  // Data structure for ServerFamilyInterpreted addresses in host routines
  6105  type XServerInterpretedAddress = struct {
  6106  	Ftypelength  int32
  6107  	Fvaluelength int32
  6108  	Ftype        uintptr
  6109  	Fvalue       uintptr
  6110  } /* Xlib.h:355:3 */
  6111  
  6112  // Data structure for "image" data, used by image manipulation routines.
  6113  type X_XImage = struct {
  6114  	Fwidth            int32
  6115  	Fheight           int32
  6116  	Fxoffset          int32
  6117  	Fformat           int32
  6118  	Fdata             uintptr
  6119  	Fbyte_order       int32
  6120  	Fbitmap_unit      int32
  6121  	Fbitmap_bit_order int32
  6122  	Fbitmap_pad       int32
  6123  	Fdepth            int32
  6124  	Fbytes_per_line   int32
  6125  	Fbits_per_pixel   int32
  6126  	F__ccgo_pad1      [4]byte
  6127  	Fred_mask         uint64
  6128  	Fgreen_mask       uint64
  6129  	Fblue_mask        uint64
  6130  	Fobdata           XPointer
  6131  	Ff                struct {
  6132  		Fcreate_image  uintptr
  6133  		Fdestroy_image uintptr
  6134  		Fget_pixel     uintptr
  6135  		Fput_pixel     uintptr
  6136  		Fsub_image     uintptr
  6137  		Fadd_pixel     uintptr
  6138  	}
  6139  } /* Xlib.h:360:9 */
  6140  
  6141  // Data structure for "image" data, used by image manipulation routines.
  6142  type Funcs = struct {
  6143  	Fcreate_image  uintptr
  6144  	Fdestroy_image uintptr
  6145  	Fget_pixel     uintptr
  6146  	Fput_pixel     uintptr
  6147  	Fsub_image     uintptr
  6148  	Fadd_pixel     uintptr
  6149  } /* Xlib.h:360:9 */
  6150  
  6151  // Data structure for "image" data, used by image manipulation routines.
  6152  type XImage = X_XImage /* Xlib.h:394:3 */
  6153  
  6154  // Data structure for XReconfigureWindow
  6155  type XWindowChanges = struct {
  6156  	Fx            int32
  6157  	Fy            int32
  6158  	Fwidth        int32
  6159  	Fheight       int32
  6160  	Fborder_width int32
  6161  	F__ccgo_pad1  [4]byte
  6162  	Fsibling      Window
  6163  	Fstack_mode   int32
  6164  	F__ccgo_pad2  [4]byte
  6165  } /* Xlib.h:405:3 */
  6166  
  6167  // Data structure used by color operations
  6168  type XColor = struct {
  6169  	Fpixel uint64
  6170  	Fred   uint16
  6171  	Fgreen uint16
  6172  	Fblue  uint16
  6173  	Fflags uint8
  6174  	Fpad   uint8
  6175  } /* Xlib.h:415:3 */
  6176  
  6177  // Data structures for graphics operations.  On most machines, these are
  6178  // congruent with the wire protocol structures, so reformatting the data
  6179  // can be avoided on these architectures.
  6180  type XSegment = struct {
  6181  	Fx1 int16
  6182  	Fy1 int16
  6183  	Fx2 int16
  6184  	Fy2 int16
  6185  } /* Xlib.h:424:3 */
  6186  
  6187  type XPoint = struct {
  6188  	Fx int16
  6189  	Fy int16
  6190  } /* Xlib.h:428:3 */
  6191  
  6192  type XRectangle = struct {
  6193  	Fx      int16
  6194  	Fy      int16
  6195  	Fwidth  uint16
  6196  	Fheight uint16
  6197  } /* Xlib.h:433:3 */
  6198  
  6199  type XArc = struct {
  6200  	Fx      int16
  6201  	Fy      int16
  6202  	Fwidth  uint16
  6203  	Fheight uint16
  6204  	Fangle1 int16
  6205  	Fangle2 int16
  6206  } /* Xlib.h:439:3 */
  6207  
  6208  // Data structure for XChangeKeyboardControl
  6209  
  6210  type XKeyboardControl = struct {
  6211  	Fkey_click_percent int32
  6212  	Fbell_percent      int32
  6213  	Fbell_pitch        int32
  6214  	Fbell_duration     int32
  6215  	Fled               int32
  6216  	Fled_mode          int32
  6217  	Fkey               int32
  6218  	Fauto_repeat_mode  int32
  6219  } /* Xlib.h:453:3 */
  6220  
  6221  // Data structure for XGetKeyboardControl
  6222  
  6223  type XKeyboardState = struct {
  6224  	Fkey_click_percent  int32
  6225  	Fbell_percent       int32
  6226  	Fbell_pitch         uint32
  6227  	Fbell_duration      uint32
  6228  	Fled_mask           uint64
  6229  	Fglobal_auto_repeat int32
  6230  	Fauto_repeats       [32]uint8
  6231  	F__ccgo_pad1        [4]byte
  6232  } /* Xlib.h:464:3 */
  6233  
  6234  // Data structure for XGetMotionEvents.
  6235  
  6236  type XTimeCoord = struct {
  6237  	Ftime        Time
  6238  	Fx           int16
  6239  	Fy           int16
  6240  	F__ccgo_pad1 [4]byte
  6241  } /* Xlib.h:471:3 */
  6242  
  6243  // Data structure for X{Set,Get}ModifierMapping
  6244  
  6245  type XModifierKeymap = struct {
  6246  	Fmax_keypermod int32
  6247  	F__ccgo_pad1   [4]byte
  6248  	Fmodifiermap   uintptr
  6249  } /* Xlib.h:478:3 */
  6250  
  6251  // Display datatype maintaining display specific data.
  6252  // The contents of this structure are implementation dependent.
  6253  // A Display should be treated as opaque by application code.
  6254  type Display = X_XDisplay /* Xlib.h:487:26 */
  6255  
  6256  type X_XPrivDisplay = uintptr /* Xlib.h:550:1 */
  6257  
  6258  // Definitions of specific events.
  6259  type XKeyEvent = struct {
  6260  	Ftype        int32
  6261  	F__ccgo_pad1 [4]byte
  6262  	Fserial      uint64
  6263  	Fsend_event  int32
  6264  	F__ccgo_pad2 [4]byte
  6265  	Fdisplay     uintptr
  6266  	Fwindow      Window
  6267  	Froot        Window
  6268  	Fsubwindow   Window
  6269  	Ftime        Time
  6270  	Fx           int32
  6271  	Fy           int32
  6272  	Fx_root      int32
  6273  	Fy_root      int32
  6274  	Fstate       uint32
  6275  	Fkeycode     uint32
  6276  	Fsame_screen int32
  6277  	F__ccgo_pad3 [4]byte
  6278  }                                  /* Xlib.h:571:3 */
  6279  type XKeyPressedEvent = XKeyEvent  /* Xlib.h:572:19 */
  6280  type XKeyReleasedEvent = XKeyEvent /* Xlib.h:573:19 */
  6281  
  6282  type XButtonEvent = struct {
  6283  	Ftype        int32
  6284  	F__ccgo_pad1 [4]byte
  6285  	Fserial      uint64
  6286  	Fsend_event  int32
  6287  	F__ccgo_pad2 [4]byte
  6288  	Fdisplay     uintptr
  6289  	Fwindow      Window
  6290  	Froot        Window
  6291  	Fsubwindow   Window
  6292  	Ftime        Time
  6293  	Fx           int32
  6294  	Fy           int32
  6295  	Fx_root      int32
  6296  	Fy_root      int32
  6297  	Fstate       uint32
  6298  	Fbutton      uint32
  6299  	Fsame_screen int32
  6300  	F__ccgo_pad3 [4]byte
  6301  }                                        /* Xlib.h:589:3 */
  6302  type XButtonPressedEvent = XButtonEvent  /* Xlib.h:590:22 */
  6303  type XButtonReleasedEvent = XButtonEvent /* Xlib.h:591:22 */
  6304  
  6305  type XMotionEvent = struct {
  6306  	Ftype        int32
  6307  	F__ccgo_pad1 [4]byte
  6308  	Fserial      uint64
  6309  	Fsend_event  int32
  6310  	F__ccgo_pad2 [4]byte
  6311  	Fdisplay     uintptr
  6312  	Fwindow      Window
  6313  	Froot        Window
  6314  	Fsubwindow   Window
  6315  	Ftime        Time
  6316  	Fx           int32
  6317  	Fy           int32
  6318  	Fx_root      int32
  6319  	Fy_root      int32
  6320  	Fstate       uint32
  6321  	Fis_hint     uint8
  6322  	F__ccgo_pad3 [3]byte
  6323  	Fsame_screen int32
  6324  	F__ccgo_pad4 [4]byte
  6325  }                                      /* Xlib.h:607:3 */
  6326  type XPointerMovedEvent = XMotionEvent /* Xlib.h:608:22 */
  6327  
  6328  type XCrossingEvent = struct {
  6329  	Ftype        int32
  6330  	F__ccgo_pad1 [4]byte
  6331  	Fserial      uint64
  6332  	Fsend_event  int32
  6333  	F__ccgo_pad2 [4]byte
  6334  	Fdisplay     uintptr
  6335  	Fwindow      Window
  6336  	Froot        Window
  6337  	Fsubwindow   Window
  6338  	Ftime        Time
  6339  	Fx           int32
  6340  	Fy           int32
  6341  	Fx_root      int32
  6342  	Fy_root      int32
  6343  	Fmode        int32
  6344  	Fdetail      int32
  6345  	Fsame_screen int32
  6346  	Ffocus       int32
  6347  	Fstate       uint32
  6348  	F__ccgo_pad3 [4]byte
  6349  }                                       /* Xlib.h:630:3 */
  6350  type XEnterWindowEvent = XCrossingEvent /* Xlib.h:631:24 */
  6351  type XLeaveWindowEvent = XCrossingEvent /* Xlib.h:632:24 */
  6352  
  6353  type XFocusChangeEvent = struct {
  6354  	Ftype        int32
  6355  	F__ccgo_pad1 [4]byte
  6356  	Fserial      uint64
  6357  	Fsend_event  int32
  6358  	F__ccgo_pad2 [4]byte
  6359  	Fdisplay     uintptr
  6360  	Fwindow      Window
  6361  	Fmode        int32
  6362  	Fdetail      int32
  6363  }                                       /* Xlib.h:648:3 */
  6364  type XFocusInEvent = XFocusChangeEvent  /* Xlib.h:649:27 */
  6365  type XFocusOutEvent = XFocusChangeEvent /* Xlib.h:650:27 */
  6366  
  6367  // generated on EnterWindow and FocusIn  when KeyMapState selected
  6368  type XKeymapEvent = struct {
  6369  	Ftype        int32
  6370  	F__ccgo_pad1 [4]byte
  6371  	Fserial      uint64
  6372  	Fsend_event  int32
  6373  	F__ccgo_pad2 [4]byte
  6374  	Fdisplay     uintptr
  6375  	Fwindow      Window
  6376  	Fkey_vector  [32]uint8
  6377  } /* Xlib.h:660:3 */
  6378  
  6379  type XExposeEvent = struct {
  6380  	Ftype        int32
  6381  	F__ccgo_pad1 [4]byte
  6382  	Fserial      uint64
  6383  	Fsend_event  int32
  6384  	F__ccgo_pad2 [4]byte
  6385  	Fdisplay     uintptr
  6386  	Fwindow      Window
  6387  	Fx           int32
  6388  	Fy           int32
  6389  	Fwidth       int32
  6390  	Fheight      int32
  6391  	Fcount       int32
  6392  	F__ccgo_pad3 [4]byte
  6393  } /* Xlib.h:671:3 */
  6394  
  6395  type XGraphicsExposeEvent = struct {
  6396  	Ftype        int32
  6397  	F__ccgo_pad1 [4]byte
  6398  	Fserial      uint64
  6399  	Fsend_event  int32
  6400  	F__ccgo_pad2 [4]byte
  6401  	Fdisplay     uintptr
  6402  	Fdrawable    Drawable
  6403  	Fx           int32
  6404  	Fy           int32
  6405  	Fwidth       int32
  6406  	Fheight      int32
  6407  	Fcount       int32
  6408  	Fmajor_code  int32
  6409  	Fminor_code  int32
  6410  	F__ccgo_pad3 [4]byte
  6411  } /* Xlib.h:684:3 */
  6412  
  6413  type XNoExposeEvent = struct {
  6414  	Ftype        int32
  6415  	F__ccgo_pad1 [4]byte
  6416  	Fserial      uint64
  6417  	Fsend_event  int32
  6418  	F__ccgo_pad2 [4]byte
  6419  	Fdisplay     uintptr
  6420  	Fdrawable    Drawable
  6421  	Fmajor_code  int32
  6422  	Fminor_code  int32
  6423  } /* Xlib.h:694:3 */
  6424  
  6425  type XVisibilityEvent = struct {
  6426  	Ftype        int32
  6427  	F__ccgo_pad1 [4]byte
  6428  	Fserial      uint64
  6429  	Fsend_event  int32
  6430  	F__ccgo_pad2 [4]byte
  6431  	Fdisplay     uintptr
  6432  	Fwindow      Window
  6433  	Fstate       int32
  6434  	F__ccgo_pad3 [4]byte
  6435  } /* Xlib.h:703:3 */
  6436  
  6437  type XCreateWindowEvent = struct {
  6438  	Ftype              int32
  6439  	F__ccgo_pad1       [4]byte
  6440  	Fserial            uint64
  6441  	Fsend_event        int32
  6442  	F__ccgo_pad2       [4]byte
  6443  	Fdisplay           uintptr
  6444  	Fparent            Window
  6445  	Fwindow            Window
  6446  	Fx                 int32
  6447  	Fy                 int32
  6448  	Fwidth             int32
  6449  	Fheight            int32
  6450  	Fborder_width      int32
  6451  	Foverride_redirect int32
  6452  } /* Xlib.h:716:3 */
  6453  
  6454  type XDestroyWindowEvent = struct {
  6455  	Ftype        int32
  6456  	F__ccgo_pad1 [4]byte
  6457  	Fserial      uint64
  6458  	Fsend_event  int32
  6459  	F__ccgo_pad2 [4]byte
  6460  	Fdisplay     uintptr
  6461  	Fevent       Window
  6462  	Fwindow      Window
  6463  } /* Xlib.h:725:3 */
  6464  
  6465  type XUnmapEvent = struct {
  6466  	Ftype           int32
  6467  	F__ccgo_pad1    [4]byte
  6468  	Fserial         uint64
  6469  	Fsend_event     int32
  6470  	F__ccgo_pad2    [4]byte
  6471  	Fdisplay        uintptr
  6472  	Fevent          Window
  6473  	Fwindow         Window
  6474  	Ffrom_configure int32
  6475  	F__ccgo_pad3    [4]byte
  6476  } /* Xlib.h:735:3 */
  6477  
  6478  type XMapEvent = struct {
  6479  	Ftype              int32
  6480  	F__ccgo_pad1       [4]byte
  6481  	Fserial            uint64
  6482  	Fsend_event        int32
  6483  	F__ccgo_pad2       [4]byte
  6484  	Fdisplay           uintptr
  6485  	Fevent             Window
  6486  	Fwindow            Window
  6487  	Foverride_redirect int32
  6488  	F__ccgo_pad3       [4]byte
  6489  } /* Xlib.h:745:3 */
  6490  
  6491  type XMapRequestEvent = 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  	Fparent      Window
  6499  	Fwindow      Window
  6500  } /* Xlib.h:754:3 */
  6501  
  6502  type XReparentEvent = struct {
  6503  	Ftype              int32
  6504  	F__ccgo_pad1       [4]byte
  6505  	Fserial            uint64
  6506  	Fsend_event        int32
  6507  	F__ccgo_pad2       [4]byte
  6508  	Fdisplay           uintptr
  6509  	Fevent             Window
  6510  	Fwindow            Window
  6511  	Fparent            Window
  6512  	Fx                 int32
  6513  	Fy                 int32
  6514  	Foverride_redirect int32
  6515  	F__ccgo_pad3       [4]byte
  6516  } /* Xlib.h:766:3 */
  6517  
  6518  type XConfigureEvent = 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  	Fevent             Window
  6526  	Fwindow            Window
  6527  	Fx                 int32
  6528  	Fy                 int32
  6529  	Fwidth             int32
  6530  	Fheight            int32
  6531  	Fborder_width      int32
  6532  	F__ccgo_pad3       [4]byte
  6533  	Fabove             Window
  6534  	Foverride_redirect int32
  6535  	F__ccgo_pad4       [4]byte
  6536  } /* Xlib.h:780:3 */
  6537  
  6538  type XGravityEvent = struct {
  6539  	Ftype        int32
  6540  	F__ccgo_pad1 [4]byte
  6541  	Fserial      uint64
  6542  	Fsend_event  int32
  6543  	F__ccgo_pad2 [4]byte
  6544  	Fdisplay     uintptr
  6545  	Fevent       Window
  6546  	Fwindow      Window
  6547  	Fx           int32
  6548  	Fy           int32
  6549  } /* Xlib.h:790:3 */
  6550  
  6551  type XResizeRequestEvent = struct {
  6552  	Ftype        int32
  6553  	F__ccgo_pad1 [4]byte
  6554  	Fserial      uint64
  6555  	Fsend_event  int32
  6556  	F__ccgo_pad2 [4]byte
  6557  	Fdisplay     uintptr
  6558  	Fwindow      Window
  6559  	Fwidth       int32
  6560  	Fheight      int32
  6561  } /* Xlib.h:799:3 */
  6562  
  6563  type XConfigureRequestEvent = 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  	Fparent       Window
  6571  	Fwindow       Window
  6572  	Fx            int32
  6573  	Fy            int32
  6574  	Fwidth        int32
  6575  	Fheight       int32
  6576  	Fborder_width int32
  6577  	F__ccgo_pad3  [4]byte
  6578  	Fabove        Window
  6579  	Fdetail       int32
  6580  	F__ccgo_pad4  [4]byte
  6581  	Fvalue_mask   uint64
  6582  } /* Xlib.h:814:3 */
  6583  
  6584  type XCirculateEvent = struct {
  6585  	Ftype        int32
  6586  	F__ccgo_pad1 [4]byte
  6587  	Fserial      uint64
  6588  	Fsend_event  int32
  6589  	F__ccgo_pad2 [4]byte
  6590  	Fdisplay     uintptr
  6591  	Fevent       Window
  6592  	Fwindow      Window
  6593  	Fplace       int32
  6594  	F__ccgo_pad3 [4]byte
  6595  } /* Xlib.h:824:3 */
  6596  
  6597  type XCirculateRequestEvent = struct {
  6598  	Ftype        int32
  6599  	F__ccgo_pad1 [4]byte
  6600  	Fserial      uint64
  6601  	Fsend_event  int32
  6602  	F__ccgo_pad2 [4]byte
  6603  	Fdisplay     uintptr
  6604  	Fparent      Window
  6605  	Fwindow      Window
  6606  	Fplace       int32
  6607  	F__ccgo_pad3 [4]byte
  6608  } /* Xlib.h:834:3 */
  6609  
  6610  type XPropertyEvent = struct {
  6611  	Ftype        int32
  6612  	F__ccgo_pad1 [4]byte
  6613  	Fserial      uint64
  6614  	Fsend_event  int32
  6615  	F__ccgo_pad2 [4]byte
  6616  	Fdisplay     uintptr
  6617  	Fwindow      Window
  6618  	Fatom        Atom
  6619  	Ftime        Time
  6620  	Fstate       int32
  6621  	F__ccgo_pad3 [4]byte
  6622  } /* Xlib.h:845:3 */
  6623  
  6624  type XSelectionClearEvent = struct {
  6625  	Ftype        int32
  6626  	F__ccgo_pad1 [4]byte
  6627  	Fserial      uint64
  6628  	Fsend_event  int32
  6629  	F__ccgo_pad2 [4]byte
  6630  	Fdisplay     uintptr
  6631  	Fwindow      Window
  6632  	Fselection   Atom
  6633  	Ftime        Time
  6634  } /* Xlib.h:855:3 */
  6635  
  6636  type XSelectionRequestEvent = struct {
  6637  	Ftype        int32
  6638  	F__ccgo_pad1 [4]byte
  6639  	Fserial      uint64
  6640  	Fsend_event  int32
  6641  	F__ccgo_pad2 [4]byte
  6642  	Fdisplay     uintptr
  6643  	Fowner       Window
  6644  	Frequestor   Window
  6645  	Fselection   Atom
  6646  	Ftarget      Atom
  6647  	Fproperty    Atom
  6648  	Ftime        Time
  6649  } /* Xlib.h:868:3 */
  6650  
  6651  type XSelectionEvent = struct {
  6652  	Ftype        int32
  6653  	F__ccgo_pad1 [4]byte
  6654  	Fserial      uint64
  6655  	Fsend_event  int32
  6656  	F__ccgo_pad2 [4]byte
  6657  	Fdisplay     uintptr
  6658  	Frequestor   Window
  6659  	Fselection   Atom
  6660  	Ftarget      Atom
  6661  	Fproperty    Atom
  6662  	Ftime        Time
  6663  } /* Xlib.h:880:3 */
  6664  
  6665  type XColormapEvent = struct {
  6666  	Ftype        int32
  6667  	F__ccgo_pad1 [4]byte
  6668  	Fserial      uint64
  6669  	Fsend_event  int32
  6670  	F__ccgo_pad2 [4]byte
  6671  	Fdisplay     uintptr
  6672  	Fwindow      Window
  6673  	Fcolormap    Colormap
  6674  	Fnew         int32
  6675  	Fstate       int32
  6676  } /* Xlib.h:895:3 */
  6677  
  6678  type XClientMessageEvent = struct {
  6679  	Ftype         int32
  6680  	F__ccgo_pad1  [4]byte
  6681  	Fserial       uint64
  6682  	Fsend_event   int32
  6683  	F__ccgo_pad2  [4]byte
  6684  	Fdisplay      uintptr
  6685  	Fwindow       Window
  6686  	Fmessage_type Atom
  6687  	Fformat       int32
  6688  	F__ccgo_pad3  [4]byte
  6689  	Fdata         struct {
  6690  		F__ccgo_pad1 [0]uint64
  6691  		Fb           [20]uint8
  6692  		F__ccgo_pad2 [20]byte
  6693  	}
  6694  } /* Xlib.h:910:3 */
  6695  
  6696  type XMappingEvent = struct {
  6697  	Ftype          int32
  6698  	F__ccgo_pad1   [4]byte
  6699  	Fserial        uint64
  6700  	Fsend_event    int32
  6701  	F__ccgo_pad2   [4]byte
  6702  	Fdisplay       uintptr
  6703  	Fwindow        Window
  6704  	Frequest       int32
  6705  	Ffirst_keycode int32
  6706  	Fcount         int32
  6707  	F__ccgo_pad3   [4]byte
  6708  } /* Xlib.h:922:3 */
  6709  
  6710  type XErrorEvent = struct {
  6711  	Ftype         int32
  6712  	F__ccgo_pad1  [4]byte
  6713  	Fdisplay      uintptr
  6714  	Fresourceid   XID
  6715  	Fserial       uint64
  6716  	Ferror_code   uint8
  6717  	Frequest_code uint8
  6718  	Fminor_code   uint8
  6719  	F__ccgo_pad2  [5]byte
  6720  } /* Xlib.h:932:3 */
  6721  
  6722  type XAnyEvent = struct {
  6723  	Ftype        int32
  6724  	F__ccgo_pad1 [4]byte
  6725  	Fserial      uint64
  6726  	Fsend_event  int32
  6727  	F__ccgo_pad2 [4]byte
  6728  	Fdisplay     uintptr
  6729  	Fwindow      Window
  6730  } /* Xlib.h:940:3 */
  6731  
  6732  // **************************************************************
  6733  //
  6734  //
  6735  // GenericEvent.  This event is the standard event for all newer extensions.
  6736  
  6737  type XGenericEvent = struct {
  6738  	Ftype        int32
  6739  	F__ccgo_pad1 [4]byte
  6740  	Fserial      uint64
  6741  	Fsend_event  int32
  6742  	F__ccgo_pad2 [4]byte
  6743  	Fdisplay     uintptr
  6744  	Fextension   int32
  6745  	Fevtype      int32
  6746  } /* Xlib.h:956:7 */
  6747  
  6748  type XGenericEventCookie = struct {
  6749  	Ftype        int32
  6750  	F__ccgo_pad1 [4]byte
  6751  	Fserial      uint64
  6752  	Fsend_event  int32
  6753  	F__ccgo_pad2 [4]byte
  6754  	Fdisplay     uintptr
  6755  	Fextension   int32
  6756  	Fevtype      int32
  6757  	Fcookie      uint32
  6758  	F__ccgo_pad3 [4]byte
  6759  	Fdata        uintptr
  6760  } /* Xlib.h:967:3 */
  6761  
  6762  // this union is defined so Xlib can always use the same sized
  6763  // event structure internally, to avoid memory fragmentation.
  6764  type X_XEvent = struct {
  6765  	F__ccgo_pad1 [0]uint64
  6766  	Ftype        int32
  6767  	F__ccgo_pad2 [188]byte
  6768  } /* Xlib.h:255:1 */
  6769  
  6770  // this union is defined so Xlib can always use the same sized
  6771  // event structure internally, to avoid memory fragmentation.
  6772  type XEvent = X_XEvent /* Xlib.h:1009:3 */
  6773  
  6774  // per character font metric information.
  6775  type XCharStruct = struct {
  6776  	Flbearing   int16
  6777  	Frbearing   int16
  6778  	Fwidth      int16
  6779  	Fascent     int16
  6780  	Fdescent    int16
  6781  	Fattributes uint16
  6782  } /* Xlib.h:1024:3 */
  6783  
  6784  // To allow arbitrary information with fonts, there are additional properties
  6785  // returned.
  6786  type XFontProp = struct {
  6787  	Fname   Atom
  6788  	Fcard32 uint64
  6789  } /* Xlib.h:1033:3 */
  6790  
  6791  type XFontStruct = struct {
  6792  	Fext_data          uintptr
  6793  	Ffid               Font
  6794  	Fdirection         uint32
  6795  	Fmin_char_or_byte2 uint32
  6796  	Fmax_char_or_byte2 uint32
  6797  	Fmin_byte1         uint32
  6798  	Fmax_byte1         uint32
  6799  	Fall_chars_exist   int32
  6800  	Fdefault_char      uint32
  6801  	Fn_properties      int32
  6802  	Fproperties        uintptr
  6803  	Fmin_bounds        XCharStruct
  6804  	Fmax_bounds        XCharStruct
  6805  	Fper_char          uintptr
  6806  	Fascent            int32
  6807  	Fdescent           int32
  6808  } /* Xlib.h:1052:3 */
  6809  
  6810  // PolyText routines take these as arguments.
  6811  type XTextItem = struct {
  6812  	Fchars  uintptr
  6813  	Fnchars int32
  6814  	Fdelta  int32
  6815  	Ffont   Font
  6816  } /* Xlib.h:1062:3 */
  6817  
  6818  type XChar2b = struct {
  6819  	Fbyte1 uint8
  6820  	Fbyte2 uint8
  6821  } /* Xlib.h:1067:3 */
  6822  
  6823  type XTextItem16 = struct {
  6824  	Fchars  uintptr
  6825  	Fnchars int32
  6826  	Fdelta  int32
  6827  	Ffont   Font
  6828  } /* Xlib.h:1074:3 */
  6829  
  6830  type XEDataObject = struct{ Fdisplay uintptr } /* Xlib.h:1082:24 */
  6831  
  6832  type XFontSetExtents = struct {
  6833  	Fmax_ink_extent     XRectangle
  6834  	Fmax_logical_extent XRectangle
  6835  } /* Xlib.h:1087:3 */
  6836  
  6837  // unused:
  6838  // typedef void (*XOMProc)();
  6839  //
  6840  
  6841  type XOM = uintptr      /* Xlib.h:1093:21 */
  6842  type XOC = uintptr      /* Xlib.h:1094:21 */
  6843  type XFontSet = uintptr /* Xlib.h:1094:27 */
  6844  
  6845  type XmbTextItem = struct {
  6846  	Fchars    uintptr
  6847  	Fnchars   int32
  6848  	Fdelta    int32
  6849  	Ffont_set XFontSet
  6850  } /* Xlib.h:1101:3 */
  6851  
  6852  type XwcTextItem = struct {
  6853  	Fchars    uintptr
  6854  	Fnchars   int32
  6855  	Fdelta    int32
  6856  	Ffont_set XFontSet
  6857  } /* Xlib.h:1108:3 */
  6858  
  6859  type XOMCharSetList = struct {
  6860  	Fcharset_count int32
  6861  	F__ccgo_pad1   [4]byte
  6862  	Fcharset_list  uintptr
  6863  } /* Xlib.h:1124:3 */
  6864  
  6865  type XOrientation = uint32 /* Xlib.h:1132:3 */
  6866  
  6867  type XOMOrientation = struct {
  6868  	Fnum_orientation int32
  6869  	F__ccgo_pad1     [4]byte
  6870  	Forientation     uintptr
  6871  } /* Xlib.h:1137:3 */
  6872  
  6873  type XOMFontInfo = struct {
  6874  	Fnum_font         int32
  6875  	F__ccgo_pad1      [4]byte
  6876  	Ffont_struct_list uintptr
  6877  	Ffont_name_list   uintptr
  6878  } /* Xlib.h:1143:3 */
  6879  
  6880  type XIM = uintptr /* Xlib.h:1145:21 */
  6881  type XIC = uintptr /* Xlib.h:1146:21 */
  6882  
  6883  type XIMProc = uintptr /* Xlib.h:1148:14 */
  6884  
  6885  type XICProc = uintptr /* Xlib.h:1154:14 */
  6886  
  6887  type XIDProc = uintptr /* Xlib.h:1160:14 */
  6888  
  6889  type XIMStyle = uint64 /* Xlib.h:1166:23 */
  6890  
  6891  type XIMStyles = struct {
  6892  	Fcount_styles     uint16
  6893  	F__ccgo_pad1      [6]byte
  6894  	Fsupported_styles uintptr
  6895  } /* Xlib.h:1171:3 */
  6896  
  6897  type XVaNestedList = uintptr /* Xlib.h:1233:14 */
  6898  
  6899  type XIMCallback = struct {
  6900  	Fclient_data XPointer
  6901  	Fcallback    XIMProc
  6902  } /* Xlib.h:1238:3 */
  6903  
  6904  type XICCallback = struct {
  6905  	Fclient_data XPointer
  6906  	Fcallback    XICProc
  6907  } /* Xlib.h:1243:3 */
  6908  
  6909  type XIMFeedback = uint64 /* Xlib.h:1245:23 */
  6910  
  6911  type X_XIMText = struct {
  6912  	Flength            uint16
  6913  	F__ccgo_pad1       [6]byte
  6914  	Ffeedback          uintptr
  6915  	Fencoding_is_wchar int32
  6916  	F__ccgo_pad2       [4]byte
  6917  	Fstring            struct{ Fmulti_byte uintptr }
  6918  } /* Xlib.h:1257:9 */
  6919  
  6920  type XIMText = X_XIMText /* Xlib.h:1265:3 */
  6921  
  6922  type XIMPreeditState = uint64 /* Xlib.h:1267:24 */
  6923  
  6924  type X_XIMPreeditStateNotifyCallbackStruct = struct{ Fstate XIMPreeditState } /* Xlib.h:1273:9 */
  6925  
  6926  type XIMPreeditStateNotifyCallbackStruct = X_XIMPreeditStateNotifyCallbackStruct /* Xlib.h:1275:3 */
  6927  
  6928  type XIMResetState = uint64 /* Xlib.h:1277:24 */
  6929  
  6930  type XIMStringConversionFeedback = uint64 /* Xlib.h:1282:23 */
  6931  
  6932  type X_XIMStringConversionText = struct {
  6933  	Flength            uint16
  6934  	F__ccgo_pad1       [6]byte
  6935  	Ffeedback          uintptr
  6936  	Fencoding_is_wchar int32
  6937  	F__ccgo_pad2       [4]byte
  6938  	Fstring            struct{ Fmbs uintptr }
  6939  } /* Xlib.h:1291:9 */
  6940  
  6941  type XIMStringConversionText = X_XIMStringConversionText /* Xlib.h:1299:3 */
  6942  
  6943  type XIMStringConversionPosition = uint16 /* Xlib.h:1301:24 */
  6944  
  6945  type XIMStringConversionType = uint16 /* Xlib.h:1303:24 */
  6946  
  6947  type XIMStringConversionOperation = uint16 /* Xlib.h:1310:24 */
  6948  
  6949  type XIMCaretDirection = uint32 /* Xlib.h:1323:3 */
  6950  
  6951  type X_XIMStringConversionCallbackStruct = struct {
  6952  	Fposition    XIMStringConversionPosition
  6953  	F__ccgo_pad1 [2]byte
  6954  	Fdirection   XIMCaretDirection
  6955  	Foperation   XIMStringConversionOperation
  6956  	Ffactor      uint16
  6957  	F__ccgo_pad2 [4]byte
  6958  	Ftext        uintptr
  6959  } /* Xlib.h:1325:9 */
  6960  
  6961  type XIMStringConversionCallbackStruct = X_XIMStringConversionCallbackStruct /* Xlib.h:1331:3 */
  6962  
  6963  type X_XIMPreeditDrawCallbackStruct = struct {
  6964  	Fcaret       int32
  6965  	Fchg_first   int32
  6966  	Fchg_length  int32
  6967  	F__ccgo_pad1 [4]byte
  6968  	Ftext        uintptr
  6969  } /* Xlib.h:1333:9 */
  6970  
  6971  type XIMPreeditDrawCallbackStruct = X_XIMPreeditDrawCallbackStruct /* Xlib.h:1338:3 */
  6972  
  6973  type XIMCaretStyle = uint32 /* Xlib.h:1344:3 */
  6974  
  6975  type X_XIMPreeditCaretCallbackStruct = struct {
  6976  	Fposition  int32
  6977  	Fdirection XIMCaretDirection
  6978  	Fstyle     XIMCaretStyle
  6979  } /* Xlib.h:1346:9 */
  6980  
  6981  type XIMPreeditCaretCallbackStruct = X_XIMPreeditCaretCallbackStruct /* Xlib.h:1350:3 */
  6982  
  6983  type XIMStatusDataType = uint32 /* Xlib.h:1355:3 */
  6984  
  6985  type X_XIMStatusDrawCallbackStruct = struct {
  6986  	Ftype        XIMStatusDataType
  6987  	F__ccgo_pad1 [4]byte
  6988  	Fdata        struct{ Ftext uintptr }
  6989  } /* Xlib.h:1357:9 */
  6990  
  6991  type XIMStatusDrawCallbackStruct = X_XIMStatusDrawCallbackStruct /* Xlib.h:1363:3 */
  6992  
  6993  type X_XIMHotKeyTrigger = struct {
  6994  	Fkeysym        KeySym
  6995  	Fmodifier      int32
  6996  	Fmodifier_mask int32
  6997  } /* Xlib.h:1365:9 */
  6998  
  6999  type XIMHotKeyTrigger = X_XIMHotKeyTrigger /* Xlib.h:1369:3 */
  7000  
  7001  type X_XIMHotKeyTriggers = struct {
  7002  	Fnum_hot_key int32
  7003  	F__ccgo_pad1 [4]byte
  7004  	Fkey         uintptr
  7005  } /* Xlib.h:1371:9 */
  7006  
  7007  type XIMHotKeyTriggers = X_XIMHotKeyTriggers /* Xlib.h:1374:3 */
  7008  
  7009  type XIMHotKeyState = uint64 /* Xlib.h:1376:24 */
  7010  
  7011  type XIMValuesList = struct {
  7012  	Fcount_values     uint16
  7013  	F__ccgo_pad1      [6]byte
  7014  	Fsupported_values uintptr
  7015  } /* Xlib.h:1384:3 */
  7016  
  7017  type XErrorHandler = uintptr /* Xlib.h:1843:13 */
  7018  
  7019  type XIOErrorHandler = uintptr /* Xlib.h:1853:13 */
  7020  
  7021  type XConnectionWatchProc = uintptr /* Xlib.h:3949:14 */
  7022  
  7023  // Definitions for the X window system used by server and c bindings
  7024  
  7025  // This packet-construction scheme makes the following assumptions:
  7026  //
  7027  // 1. The compiler is able
  7028  // to generate code which addresses one- and two-byte quantities.
  7029  // In the worst case, this would be done with bit-fields.  If bit-fields
  7030  // are used it may be necessary to reorder the request fields in this file,
  7031  // depending on the order in which the machine assigns bit fields to
  7032  // machine words.  There may also be a problem with sign extension,
  7033  // as K+R specify that bitfields are always unsigned.
  7034  //
  7035  // 2. 2- and 4-byte fields in packet structures must be ordered by hand
  7036  // such that they are naturally-aligned, so that no compiler will ever
  7037  // insert padding bytes.
  7038  //
  7039  // 3. All packets are hand-padded to a multiple of 4 bytes, for
  7040  // the same reason.
  7041  
  7042  //**********************************************************
  7043  //
  7044  // Copyright 1987, 1998  The Open Group
  7045  //
  7046  // Permission to use, copy, modify, distribute, and sell this software and its
  7047  // documentation for any purpose is hereby granted without fee, provided that
  7048  // the above copyright notice appear in all copies and that both that
  7049  // copyright notice and this permission notice appear in supporting
  7050  // documentation.
  7051  //
  7052  // The above copyright notice and this permission notice shall be included in
  7053  // all copies or substantial portions of the Software.
  7054  //
  7055  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7056  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7057  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7058  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7059  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7060  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7061  //
  7062  // Except as contained in this notice, the name of The Open Group shall not be
  7063  // used in advertising or otherwise to promote the sale, use or other dealings
  7064  // in this Software without prior written authorization from The Open Group.
  7065  //
  7066  //
  7067  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7068  //
  7069  //                         All Rights Reserved
  7070  //
  7071  // Permission to use, copy, modify, and distribute this software and its
  7072  // documentation for any purpose and without fee is hereby granted,
  7073  // provided that the above copyright notice appear in all copies and that
  7074  // both that copyright notice and this permission notice appear in
  7075  // supporting documentation, and that the name of Digital not be
  7076  // used in advertising or publicity pertaining to distribution of the
  7077  // software without specific, written prior permission.
  7078  //
  7079  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7080  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7081  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7082  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7083  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7084  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7085  // SOFTWARE.
  7086  //
  7087  // *****************************************************************
  7088  
  7089  //**********************************************************
  7090  //
  7091  // Copyright 1987, 1998  The Open Group
  7092  //
  7093  // Permission to use, copy, modify, distribute, and sell this software and its
  7094  // documentation for any purpose is hereby granted without fee, provided that
  7095  // the above copyright notice appear in all copies and that both that
  7096  // copyright notice and this permission notice appear in supporting
  7097  // documentation.
  7098  //
  7099  // The above copyright notice and this permission notice shall be included in
  7100  // all copies or substantial portions of the Software.
  7101  //
  7102  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7103  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7104  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7105  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7106  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7107  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7108  //
  7109  // Except as contained in this notice, the name of The Open Group shall not be
  7110  // used in advertising or otherwise to promote the sale, use or other dealings
  7111  // in this Software without prior written authorization from The Open Group.
  7112  //
  7113  //
  7114  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7115  //
  7116  //                         All Rights Reserved
  7117  //
  7118  // Permission to use, copy, modify, and distribute this software and its
  7119  // documentation for any purpose and without fee is hereby granted,
  7120  // provided that the above copyright notice appear in all copies and that
  7121  // both that copyright notice and this permission notice appear in
  7122  // supporting documentation, and that the name of Digital not be
  7123  // used in advertising or publicity pertaining to distribution of the
  7124  // software without specific, written prior permission.
  7125  //
  7126  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7127  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7128  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7129  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7130  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7131  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7132  // SOFTWARE.
  7133  //
  7134  // *****************************************************************
  7135  //  Xmd.h: MACHINE DEPENDENT DECLARATIONS.
  7136  
  7137  // Special per-machine configuration flags.
  7138  
  7139  // Definition of macro used to set constants for size of network structures;
  7140  // machines with preprocessors that can't handle all of the sz_ symbols
  7141  // can define this macro to be sizeof(x) if and only if their compiler doesn't
  7142  // pad out structures (esp. the xTextElt structure which contains only two
  7143  // one-byte fields).  Network structures should always define sz_symbols.
  7144  //
  7145  // The sz_ prefix is used instead of something more descriptive so that the
  7146  // symbols are no more than 32 characters long (which causes problems for some
  7147  // compilers and preprocessors).
  7148  //
  7149  // The extra indirection is to get macro arguments to expand correctly before
  7150  // the concatenation, rather than afterward.
  7151  
  7152  // Bitfield suffixes for the protocol structure elements, if you
  7153  // need them.  Note that bitfields are not guaranteed to be signed
  7154  // (or even unsigned) according to ANSI C.
  7155  type INT64 = int64 /* Xmd.h:97:14 */
  7156  type INT32 = int32 /* Xmd.h:98:13 */
  7157  type INT16 = int16 /* Xmd.h:102:15 */
  7158  
  7159  type INT8 = int8 /* Xmd.h:104:24 */
  7160  
  7161  type CARD64 = uint64 /* Xmd.h:107:23 */
  7162  type CARD32 = uint32 /* Xmd.h:108:22 */
  7163  type CARD16 = uint16 /* Xmd.h:113:24 */
  7164  type CARD8 = uint8   /* Xmd.h:114:24 */
  7165  
  7166  type BITS32 = CARD32 /* Xmd.h:116:17 */
  7167  type BITS16 = CARD16 /* Xmd.h:117:17 */
  7168  
  7169  type BYTE = CARD8 /* Xmd.h:119:16 */
  7170  type BOOL = CARD8 /* Xmd.h:120:16 */
  7171  
  7172  // was definitions for sign-extending bitfields on architectures without
  7173  // native types smaller than 64-bit, now just backwards compatibility
  7174  
  7175  // this version should leave result of type (t *), but that should only be
  7176  // used when not in MUSTCOPY
  7177  
  7178  //**********************************************************
  7179  //
  7180  // Copyright 1987, 1998  The Open Group
  7181  //
  7182  // Permission to use, copy, modify, distribute, and sell this software and its
  7183  // documentation for any purpose is hereby granted without fee, provided that
  7184  // the above copyright notice appear in all copies and that both that
  7185  // copyright notice and this permission notice appear in supporting
  7186  // documentation.
  7187  //
  7188  // The above copyright notice and this permission notice shall be included in
  7189  // all copies or substantial portions of the Software.
  7190  //
  7191  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7192  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7193  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7194  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7195  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7196  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7197  //
  7198  // Except as contained in this notice, the name of The Open Group shall not be
  7199  // used in advertising or otherwise to promote the sale, use or other dealings
  7200  // in this Software without prior written authorization from The Open Group.
  7201  //
  7202  //
  7203  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7204  //
  7205  //                         All Rights Reserved
  7206  //
  7207  // Permission to use, copy, modify, and distribute this software and its
  7208  // documentation for any purpose and without fee is hereby granted,
  7209  // provided that the above copyright notice appear in all copies and that
  7210  // both that copyright notice and this permission notice appear in
  7211  // supporting documentation, and that the name of Digital not be
  7212  // used in advertising or publicity pertaining to distribution of the
  7213  // software without specific, written prior permission.
  7214  //
  7215  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7216  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7217  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7218  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7219  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7220  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7221  // SOFTWARE.
  7222  //
  7223  // *****************************************************************
  7224  //**********************************************************
  7225  //
  7226  // Copyright 1987, 1998  The Open Group
  7227  //
  7228  // Permission to use, copy, modify, distribute, and sell this software and its
  7229  // documentation for any purpose is hereby granted without fee, provided that
  7230  // the above copyright notice appear in all copies and that both that
  7231  // copyright notice and this permission notice appear in supporting
  7232  // documentation.
  7233  //
  7234  // The above copyright notice and this permission notice shall be included in
  7235  // all copies or substantial portions of the Software.
  7236  //
  7237  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7238  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7239  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7240  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7241  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7242  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7243  //
  7244  // Except as contained in this notice, the name of The Open Group shall not be
  7245  // used in advertising or otherwise to promote the sale, use or other dealings
  7246  // in this Software without prior written authorization from The Open Group.
  7247  //
  7248  //
  7249  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7250  //
  7251  //                         All Rights Reserved
  7252  //
  7253  // Permission to use, copy, modify, and distribute this software and its
  7254  // documentation for any purpose and without fee is hereby granted,
  7255  // provided that the above copyright notice appear in all copies and that
  7256  // both that copyright notice and this permission notice appear in
  7257  // supporting documentation, and that the name of Digital not be
  7258  // used in advertising or publicity pertaining to distribution of the
  7259  // software without specific, written prior permission.
  7260  //
  7261  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7262  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7263  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7264  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7265  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7266  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7267  // SOFTWARE.
  7268  //
  7269  // *****************************************************************
  7270  
  7271  // Used by PolySegment
  7272  
  7273  type X_xSegment = struct {
  7274  	Fx1 INT16
  7275  	Fy1 INT16
  7276  	Fx2 INT16
  7277  	Fy2 INT16
  7278  } /* Xprotostr.h:54:9 */
  7279  
  7280  // was definitions for sign-extending bitfields on architectures without
  7281  // native types smaller than 64-bit, now just backwards compatibility
  7282  
  7283  // this version should leave result of type (t *), but that should only be
  7284  // used when not in MUSTCOPY
  7285  
  7286  //**********************************************************
  7287  //
  7288  // Copyright 1987, 1998  The Open Group
  7289  //
  7290  // Permission to use, copy, modify, distribute, and sell this software and its
  7291  // documentation for any purpose is hereby granted without fee, provided that
  7292  // the above copyright notice appear in all copies and that both that
  7293  // copyright notice and this permission notice appear in supporting
  7294  // documentation.
  7295  //
  7296  // The above copyright notice and this permission notice shall be included in
  7297  // all copies or substantial portions of the Software.
  7298  //
  7299  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7300  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7301  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7302  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7303  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7304  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7305  //
  7306  // Except as contained in this notice, the name of The Open Group shall not be
  7307  // used in advertising or otherwise to promote the sale, use or other dealings
  7308  // in this Software without prior written authorization from The Open Group.
  7309  //
  7310  //
  7311  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7312  //
  7313  //                         All Rights Reserved
  7314  //
  7315  // Permission to use, copy, modify, and distribute this software and its
  7316  // documentation for any purpose and without fee is hereby granted,
  7317  // provided that the above copyright notice appear in all copies and that
  7318  // both that copyright notice and this permission notice appear in
  7319  // supporting documentation, and that the name of Digital not be
  7320  // used in advertising or publicity pertaining to distribution of the
  7321  // software without specific, written prior permission.
  7322  //
  7323  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7324  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7325  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7326  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7327  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7328  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7329  // SOFTWARE.
  7330  //
  7331  // *****************************************************************
  7332  //**********************************************************
  7333  //
  7334  // Copyright 1987, 1998  The Open Group
  7335  //
  7336  // Permission to use, copy, modify, distribute, and sell this software and its
  7337  // documentation for any purpose is hereby granted without fee, provided that
  7338  // the above copyright notice appear in all copies and that both that
  7339  // copyright notice and this permission notice appear in supporting
  7340  // documentation.
  7341  //
  7342  // The above copyright notice and this permission notice shall be included in
  7343  // all copies or substantial portions of the Software.
  7344  //
  7345  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  7346  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  7347  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  7348  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  7349  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  7350  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  7351  //
  7352  // Except as contained in this notice, the name of The Open Group shall not be
  7353  // used in advertising or otherwise to promote the sale, use or other dealings
  7354  // in this Software without prior written authorization from The Open Group.
  7355  //
  7356  //
  7357  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  7358  //
  7359  //                         All Rights Reserved
  7360  //
  7361  // Permission to use, copy, modify, and distribute this software and its
  7362  // documentation for any purpose and without fee is hereby granted,
  7363  // provided that the above copyright notice appear in all copies and that
  7364  // both that copyright notice and this permission notice appear in
  7365  // supporting documentation, and that the name of Digital not be
  7366  // used in advertising or publicity pertaining to distribution of the
  7367  // software without specific, written prior permission.
  7368  //
  7369  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  7370  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  7371  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  7372  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  7373  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  7374  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  7375  // SOFTWARE.
  7376  //
  7377  // *****************************************************************
  7378  
  7379  // Used by PolySegment
  7380  
  7381  type XSegment1 = X_xSegment /* Xprotostr.h:56:3 */
  7382  
  7383  // POINT
  7384  
  7385  type X_xPoint = struct {
  7386  	Fx INT16
  7387  	Fy INT16
  7388  } /* Xprotostr.h:60:9 */
  7389  
  7390  // POINT
  7391  
  7392  type XPoint1 = X_xPoint /* Xprotostr.h:62:3 */
  7393  
  7394  type X_xRectangle = struct {
  7395  	Fx      INT16
  7396  	Fy      INT16
  7397  	Fwidth  CARD16
  7398  	Fheight CARD16
  7399  } /* Xprotostr.h:64:9 */
  7400  
  7401  type XRectangle1 = X_xRectangle /* Xprotostr.h:67:3 */
  7402  
  7403  //  ARC
  7404  
  7405  type X_xArc = struct {
  7406  	Fx      INT16
  7407  	Fy      INT16
  7408  	Fwidth  CARD16
  7409  	Fheight CARD16
  7410  	Fangle1 INT16
  7411  	Fangle2 INT16
  7412  } /* Xprotostr.h:71:9 */
  7413  
  7414  //  ARC
  7415  
  7416  type XArc1 = X_xArc /* Xprotostr.h:75:3 */
  7417  
  7418  // Define constants for the sizes of the network packets.  The sz_ prefix is
  7419  // used instead of something more descriptive so that the symbols are no more
  7420  // than 32 characters in length (which causes problems for some compilers).
  7421  
  7422  // For the purpose of the structure definitions in this file,
  7423  // we must redefine the following types in terms of Xmd.h's types, which may
  7424  // include bit fields.  All of these are #undef'd at the end of this file,
  7425  // restoring the definitions in X.h.
  7426  
  7427  type KeyButMask = CARD16 /* Xproto.h:259:16 */
  7428  
  7429  //****************
  7430  //    Connection setup structures.  See Chapter 8: Connection Setup
  7431  //    of the X Window System Protocol specification for details.
  7432  // ****************
  7433  
  7434  // Client initiates handshake with this data, followed by the strings
  7435  // for the auth protocol & data.
  7436  type XConnClientPrefix = struct {
  7437  	FbyteOrder        CARD8
  7438  	Fpad              BYTE
  7439  	FmajorVersion     CARD16
  7440  	FminorVersion     CARD16
  7441  	FnbytesAuthProto  CARD16
  7442  	FnbytesAuthString CARD16
  7443  	Fpad2             CARD16
  7444  } /* Xproto.h:276:3 */
  7445  
  7446  // Server response to xConnClientPrefix.
  7447  //
  7448  // If success == Success, this is followed by xConnSetup and
  7449  // numRoots xWindowRoot structs.
  7450  //
  7451  // If success == Failure, this is followed by a reason string.
  7452  //
  7453  // The protocol also defines a case of success == Authenticate, but
  7454  // that doesn't seem to have ever been implemented by the X Consortium.
  7455  type XConnSetupPrefix = struct {
  7456  	Fsuccess      CARD8
  7457  	FlengthReason BYTE
  7458  	FmajorVersion CARD16
  7459  	FminorVersion CARD16
  7460  	Flength       CARD16
  7461  } /* Xproto.h:294:3 */
  7462  
  7463  type XConnSetup = struct {
  7464  	Frelease            CARD32
  7465  	FridBase            CARD32
  7466  	FridMask            CARD32
  7467  	FmotionBufferSize   CARD32
  7468  	FnbytesVendor       CARD16
  7469  	FmaxRequestSize     CARD16
  7470  	FnumRoots           CARD8
  7471  	FnumFormats         CARD8
  7472  	FimageByteOrder     CARD8
  7473  	FbitmapBitOrder     CARD8
  7474  	FbitmapScanlineUnit CARD8
  7475  	FbitmapScanlinePad  CARD8
  7476  	FminKeyCode         CARD8
  7477  	FmaxKeyCode         CARD8
  7478  	Fpad2               CARD32
  7479  } /* Xproto.h:312:3 */
  7480  
  7481  type XPixmapFormat = struct {
  7482  	Fdepth        CARD8
  7483  	FbitsPerPixel CARD8
  7484  	FscanLinePad  CARD8
  7485  	Fpad1         CARD8
  7486  	Fpad2         CARD32
  7487  } /* Xproto.h:320:3 */
  7488  
  7489  // window root
  7490  
  7491  type XDepth = struct {
  7492  	Fdepth    CARD8
  7493  	Fpad1     CARD8
  7494  	FnVisuals CARD16
  7495  	Fpad2     CARD32
  7496  } /* Xproto.h:329:7 */
  7497  
  7498  type XVisualType = struct {
  7499  	FvisualID        CARD32
  7500  	Fclass           CARD8
  7501  	FbitsPerRGB      CARD8
  7502  	FcolormapEntries CARD16
  7503  	FredMask         CARD32
  7504  	FgreenMask       CARD32
  7505  	FblueMask        CARD32
  7506  	Fpad             CARD32
  7507  } /* Xproto.h:342:7 */
  7508  
  7509  type XWindowRoot = struct {
  7510  	FwindowId         CARD32
  7511  	FdefaultColormap  CARD32
  7512  	FwhitePixel       CARD32
  7513  	FblackPixel       CARD32
  7514  	FcurrentInputMask CARD32
  7515  	FpixWidth         CARD16
  7516  	FpixHeight        CARD16
  7517  	FmmWidth          CARD16
  7518  	FmmHeight         CARD16
  7519  	FminInstalledMaps CARD16
  7520  	FmaxInstalledMaps CARD16
  7521  	FrootVisualID     CARD32
  7522  	FbackingStore     CARD8
  7523  	FsaveUnders       BOOL
  7524  	FrootDepth        CARD8
  7525  	FnDepths          CARD8
  7526  } /* Xproto.h:357:3 */
  7527  
  7528  // ****************************************************************
  7529  //
  7530  // Structure Defns
  7531  //   Structures needed for replies
  7532  //
  7533  
  7534  // Used in GetMotionEvents
  7535  
  7536  type XTimecoord = struct {
  7537  	Ftime CARD32
  7538  	Fx    INT16
  7539  	Fy    INT16
  7540  } /* Xproto.h:370:3 */
  7541  
  7542  type XHostEntry = struct {
  7543  	Ffamily CARD8
  7544  	Fpad    BYTE
  7545  	Flength CARD16
  7546  } /* Xproto.h:376:3 */
  7547  
  7548  type XCharInfo = struct {
  7549  	FleftSideBearing  INT16
  7550  	FrightSideBearing INT16
  7551  	FcharacterWidth   INT16
  7552  	Fascent           INT16
  7553  	Fdescent          INT16
  7554  	Fattributes       CARD16
  7555  } /* Xproto.h:385:3 */
  7556  
  7557  type XFontProp1 = struct {
  7558  	Fname  CARD32
  7559  	Fvalue CARD32
  7560  } /* Xproto.h:390:3 */
  7561  
  7562  // non-aligned big-endian font ID follows this struct
  7563  type XTextElt = struct {
  7564  	Flen   CARD8
  7565  	Fdelta INT8
  7566  } /* Xproto.h:399:3 */
  7567  
  7568  type XColorItem = struct {
  7569  	Fpixel CARD32
  7570  	Fred   CARD16
  7571  	Fgreen CARD16
  7572  	Fblue  CARD16
  7573  	Fflags CARD8
  7574  	Fpad   CARD8
  7575  } /* Xproto.h:407:3 */
  7576  
  7577  type Xrgb = struct {
  7578  	Fred   CARD16
  7579  	Fgreen CARD16
  7580  	Fblue  CARD16
  7581  	Fpad   CARD16
  7582  } /* Xproto.h:412:3 */
  7583  
  7584  type KEYCODE = CARD8 /* Xproto.h:414:15 */
  7585  
  7586  // ****************
  7587  //
  7588  // XRep:
  7589  //    meant to be 32 byte quantity
  7590  //
  7591  
  7592  // GenericReply is the common format of all replies.  The "data" items
  7593  //    are specific to each individual reply type.
  7594  
  7595  type XGenericReply = struct {
  7596  	Ftype           BYTE
  7597  	Fdata1          BYTE
  7598  	FsequenceNumber CARD16
  7599  	Flength         CARD32
  7600  	Fdata00         CARD32
  7601  	Fdata01         CARD32
  7602  	Fdata02         CARD32
  7603  	Fdata03         CARD32
  7604  	Fdata04         CARD32
  7605  	Fdata05         CARD32
  7606  } /* Xproto.h:436:7 */
  7607  
  7608  // Individual reply formats.
  7609  
  7610  type XGetWindowAttributesReply = struct {
  7611  	Ftype               BYTE
  7612  	FbackingStore       CARD8
  7613  	FsequenceNumber     CARD16
  7614  	Flength             CARD32
  7615  	FvisualID           CARD32
  7616  	Fclass              CARD16
  7617  	FbitGravity         CARD8
  7618  	FwinGravity         CARD8
  7619  	FbackingBitPlanes   CARD32
  7620  	FbackingPixel       CARD32
  7621  	FsaveUnder          BOOL
  7622  	FmapInstalled       BOOL
  7623  	FmapState           CARD8
  7624  	Foverride           BOOL
  7625  	Fcolormap           CARD32
  7626  	FallEventMasks      CARD32
  7627  	FyourEventMask      CARD32
  7628  	FdoNotPropagateMask CARD16
  7629  	Fpad                CARD16
  7630  } /* Xproto.h:464:7 */
  7631  
  7632  type XGetGeometryReply = struct {
  7633  	Ftype           BYTE
  7634  	Fdepth          CARD8
  7635  	FsequenceNumber CARD16
  7636  	Flength         CARD32
  7637  	Froot           CARD32
  7638  	Fx              INT16
  7639  	Fy              INT16
  7640  	Fwidth          CARD16
  7641  	Fheight         CARD16
  7642  	FborderWidth    CARD16
  7643  	Fpad1           CARD16
  7644  	Fpad2           CARD32
  7645  	Fpad3           CARD32
  7646  } /* Xproto.h:478:7 */
  7647  
  7648  type XQueryTreeReply = struct {
  7649  	Ftype           BYTE
  7650  	Fpad1           BYTE
  7651  	FsequenceNumber CARD16
  7652  	Flength         CARD32
  7653  	Froot           CARD32
  7654  	Fparent         CARD32
  7655  	FnChildren      CARD16
  7656  	Fpad2           CARD16
  7657  	Fpad3           CARD32
  7658  	Fpad4           CARD32
  7659  	Fpad5           CARD32
  7660  } /* Xproto.h:491:7 */
  7661  
  7662  type XInternAtomReply = struct {
  7663  	Ftype           BYTE
  7664  	Fpad1           BYTE
  7665  	FsequenceNumber CARD16
  7666  	Flength         CARD32
  7667  	Fatom           CARD32
  7668  	Fpad2           CARD32
  7669  	Fpad3           CARD32
  7670  	Fpad4           CARD32
  7671  	Fpad5           CARD32
  7672  	Fpad6           CARD32
  7673  } /* Xproto.h:504:7 */
  7674  
  7675  type XGetAtomNameReply = struct {
  7676  	Ftype           BYTE
  7677  	Fpad1           BYTE
  7678  	FsequenceNumber CARD16
  7679  	Flength         CARD32
  7680  	FnameLength     CARD16
  7681  	Fpad2           CARD16
  7682  	Fpad3           CARD32
  7683  	Fpad4           CARD32
  7684  	Fpad5           CARD32
  7685  	Fpad6           CARD32
  7686  	Fpad7           CARD32
  7687  } /* Xproto.h:518:7 */
  7688  
  7689  type XGetPropertyReply = struct {
  7690  	Ftype           BYTE
  7691  	Fformat         CARD8
  7692  	FsequenceNumber CARD16
  7693  	Flength         CARD32
  7694  	FpropertyType   CARD32
  7695  	FbytesAfter     CARD32
  7696  	FnItems         CARD32
  7697  	Fpad1           CARD32
  7698  	Fpad2           CARD32
  7699  	Fpad3           CARD32
  7700  } /* Xproto.h:531:7 */
  7701  
  7702  type XListPropertiesReply = struct {
  7703  	Ftype           BYTE
  7704  	Fpad1           BYTE
  7705  	FsequenceNumber CARD16
  7706  	Flength         CARD32
  7707  	FnProperties    CARD16
  7708  	Fpad2           CARD16
  7709  	Fpad3           CARD32
  7710  	Fpad4           CARD32
  7711  	Fpad5           CARD32
  7712  	Fpad6           CARD32
  7713  	Fpad7           CARD32
  7714  } /* Xproto.h:545:7 */
  7715  
  7716  type XGetSelectionOwnerReply = struct {
  7717  	Ftype           BYTE
  7718  	Fpad1           BYTE
  7719  	FsequenceNumber CARD16
  7720  	Flength         CARD32
  7721  	Fowner          CARD32
  7722  	Fpad2           CARD32
  7723  	Fpad3           CARD32
  7724  	Fpad4           CARD32
  7725  	Fpad5           CARD32
  7726  	Fpad6           CARD32
  7727  } /* Xproto.h:558:7 */
  7728  
  7729  type XGrabPointerReply = struct {
  7730  	Ftype           BYTE
  7731  	Fstatus         BYTE
  7732  	FsequenceNumber CARD16
  7733  	Flength         CARD32
  7734  	Fpad1           CARD32
  7735  	Fpad2           CARD32
  7736  	Fpad3           CARD32
  7737  	Fpad4           CARD32
  7738  	Fpad5           CARD32
  7739  	Fpad6           CARD32
  7740  } /* Xproto.h:571:7 */
  7741  
  7742  type XGrabKeyboardReply = XGrabPointerReply /* Xproto.h:573:27 */
  7743  
  7744  type XQueryPointerReply = struct {
  7745  	Ftype           BYTE
  7746  	FsameScreen     BOOL
  7747  	FsequenceNumber CARD16
  7748  	Flength         CARD32
  7749  	Froot           CARD32
  7750  	Fchild          CARD32
  7751  	FrootX          INT16
  7752  	FrootY          INT16
  7753  	FwinX           INT16
  7754  	FwinY           INT16
  7755  	Fmask           CARD16
  7756  	Fpad1           CARD16
  7757  	Fpad            CARD32
  7758  } /* Xproto.h:585:7 */
  7759  
  7760  type XGetMotionEventsReply = struct {
  7761  	Ftype           BYTE
  7762  	Fpad1           BYTE
  7763  	FsequenceNumber CARD16
  7764  	Flength         CARD32
  7765  	FnEvents        CARD32
  7766  	Fpad2           CARD32
  7767  	Fpad3           CARD32
  7768  	Fpad4           CARD32
  7769  	Fpad5           CARD32
  7770  	Fpad6           CARD32
  7771  } /* Xproto.h:598:7 */
  7772  
  7773  type XTranslateCoordsReply = struct {
  7774  	Ftype           BYTE
  7775  	FsameScreen     BOOL
  7776  	FsequenceNumber CARD16
  7777  	Flength         CARD32
  7778  	Fchild          CARD32
  7779  	FdstX           INT16
  7780  	FdstY           INT16
  7781  	Fpad2           CARD32
  7782  	Fpad3           CARD32
  7783  	Fpad4           CARD32
  7784  	Fpad5           CARD32
  7785  } /* Xproto.h:611:7 */
  7786  
  7787  type XGetInputFocusReply = struct {
  7788  	Ftype           BYTE
  7789  	FrevertTo       CARD8
  7790  	FsequenceNumber CARD16
  7791  	Flength         CARD32
  7792  	Ffocus          CARD32
  7793  	Fpad1           CARD32
  7794  	Fpad2           CARD32
  7795  	Fpad3           CARD32
  7796  	Fpad4           CARD32
  7797  	Fpad5           CARD32
  7798  } /* Xproto.h:624:7 */
  7799  
  7800  type XQueryKeymapReply = struct {
  7801  	Ftype           BYTE
  7802  	Fpad1           BYTE
  7803  	FsequenceNumber CARD16
  7804  	Flength         CARD32
  7805  	Fmap            [32]BYTE
  7806  } /* Xproto.h:632:7 */
  7807  
  7808  // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply
  7809  type X_xQueryFontReply = struct {
  7810  	Ftype           BYTE
  7811  	Fpad1           BYTE
  7812  	FsequenceNumber CARD16
  7813  	Flength         CARD32
  7814  	FminBounds      XCharInfo
  7815  	Fwalign1        CARD32
  7816  	FmaxBounds      XCharInfo
  7817  	Fwalign2        CARD32
  7818  	FminCharOrByte2 CARD16
  7819  	FmaxCharOrByte2 CARD16
  7820  	FdefaultChar    CARD16
  7821  	FnFontProps     CARD16
  7822  	FdrawDirection  CARD8
  7823  	FminByte1       CARD8
  7824  	FmaxByte1       CARD8
  7825  	FallCharsExist  BOOL
  7826  	FfontAscent     INT16
  7827  	FfontDescent    INT16
  7828  	FnCharInfos     CARD32
  7829  } /* Xproto.h:635:9 */
  7830  
  7831  // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply
  7832  type XQueryFontReply = X_xQueryFontReply /* Xproto.h:652:3 */
  7833  
  7834  type XQueryTextExtentsReply = struct {
  7835  	Ftype           BYTE
  7836  	FdrawDirection  CARD8
  7837  	FsequenceNumber CARD16
  7838  	Flength         CARD32
  7839  	FfontAscent     INT16
  7840  	FfontDescent    INT16
  7841  	FoverallAscent  INT16
  7842  	FoverallDescent INT16
  7843  	FoverallWidth   INT32
  7844  	FoverallLeft    INT32
  7845  	FoverallRight   INT32
  7846  	Fpad            CARD32
  7847  } /* Xproto.h:663:7 */
  7848  
  7849  type XListFontsReply = struct {
  7850  	Ftype           BYTE
  7851  	Fpad1           BYTE
  7852  	FsequenceNumber CARD16
  7853  	Flength         CARD32
  7854  	FnFonts         CARD16
  7855  	Fpad2           CARD16
  7856  	Fpad3           CARD32
  7857  	Fpad4           CARD32
  7858  	Fpad5           CARD32
  7859  	Fpad6           CARD32
  7860  	Fpad7           CARD32
  7861  } /* Xproto.h:677:7 */
  7862  
  7863  // Warning: this MUST match (up to component renaming) xQueryFontReply
  7864  type XListFontsWithInfoReply = struct {
  7865  	Ftype           BYTE
  7866  	FnameLength     CARD8
  7867  	FsequenceNumber CARD16
  7868  	Flength         CARD32
  7869  	FminBounds      XCharInfo
  7870  	Fwalign1        CARD32
  7871  	FmaxBounds      XCharInfo
  7872  	Fwalign2        CARD32
  7873  	FminCharOrByte2 CARD16
  7874  	FmaxCharOrByte2 CARD16
  7875  	FdefaultChar    CARD16
  7876  	FnFontProps     CARD16
  7877  	FdrawDirection  CARD8
  7878  	FminByte1       CARD8
  7879  	FmaxByte1       CARD8
  7880  	FallCharsExist  BOOL
  7881  	FfontAscent     INT16
  7882  	FfontDescent    INT16
  7883  	FnReplies       CARD32
  7884  } /* Xproto.h:697:3 */
  7885  
  7886  type XGetFontPathReply = struct {
  7887  	Ftype           BYTE
  7888  	Fpad1           BYTE
  7889  	FsequenceNumber CARD16
  7890  	Flength         CARD32
  7891  	FnPaths         CARD16
  7892  	Fpad2           CARD16
  7893  	Fpad3           CARD32
  7894  	Fpad4           CARD32
  7895  	Fpad5           CARD32
  7896  	Fpad6           CARD32
  7897  	Fpad7           CARD32
  7898  } /* Xproto.h:711:7 */
  7899  
  7900  type XGetImageReply = struct {
  7901  	Ftype           BYTE
  7902  	Fdepth          CARD8
  7903  	FsequenceNumber CARD16
  7904  	Flength         CARD32
  7905  	Fvisual         CARD32
  7906  	Fpad3           CARD32
  7907  	Fpad4           CARD32
  7908  	Fpad5           CARD32
  7909  	Fpad6           CARD32
  7910  	Fpad7           CARD32
  7911  } /* Xproto.h:724:7 */
  7912  
  7913  type XListInstalledColormapsReply = struct {
  7914  	Ftype           BYTE
  7915  	Fpad1           BYTE
  7916  	FsequenceNumber CARD16
  7917  	Flength         CARD32
  7918  	FnColormaps     CARD16
  7919  	Fpad2           CARD16
  7920  	Fpad3           CARD32
  7921  	Fpad4           CARD32
  7922  	Fpad5           CARD32
  7923  	Fpad6           CARD32
  7924  	Fpad7           CARD32
  7925  } /* Xproto.h:738:7 */
  7926  
  7927  type XAllocColorReply = struct {
  7928  	Ftype           BYTE
  7929  	Fpad1           BYTE
  7930  	FsequenceNumber CARD16
  7931  	Flength         CARD32
  7932  	Fred            CARD16
  7933  	Fgreen          CARD16
  7934  	Fblue           CARD16
  7935  	Fpad2           CARD16
  7936  	Fpixel          CARD32
  7937  	Fpad3           CARD32
  7938  	Fpad4           CARD32
  7939  	Fpad5           CARD32
  7940  } /* Xproto.h:751:7 */
  7941  
  7942  type XAllocNamedColorReply = struct {
  7943  	Ftype           BYTE
  7944  	Fpad1           BYTE
  7945  	FsequenceNumber CARD16
  7946  	Flength         CARD32
  7947  	Fpixel          CARD32
  7948  	FexactRed       CARD16
  7949  	FexactGreen     CARD16
  7950  	FexactBlue      CARD16
  7951  	FscreenRed      CARD16
  7952  	FscreenGreen    CARD16
  7953  	FscreenBlue     CARD16
  7954  	Fpad2           CARD32
  7955  	Fpad3           CARD32
  7956  } /* Xproto.h:763:7 */
  7957  
  7958  type XAllocColorCellsReply = struct {
  7959  	Ftype           BYTE
  7960  	Fpad1           BYTE
  7961  	FsequenceNumber CARD16
  7962  	Flength         CARD32
  7963  	FnPixels        CARD16
  7964  	FnMasks         CARD16
  7965  	Fpad3           CARD32
  7966  	Fpad4           CARD32
  7967  	Fpad5           CARD32
  7968  	Fpad6           CARD32
  7969  	Fpad7           CARD32
  7970  } /* Xproto.h:776:7 */
  7971  
  7972  type XAllocColorPlanesReply = struct {
  7973  	Ftype           BYTE
  7974  	Fpad1           BYTE
  7975  	FsequenceNumber CARD16
  7976  	Flength         CARD32
  7977  	FnPixels        CARD16
  7978  	Fpad2           CARD16
  7979  	FredMask        CARD32
  7980  	FgreenMask      CARD32
  7981  	FblueMask       CARD32
  7982  	Fpad3           CARD32
  7983  	Fpad4           CARD32
  7984  } /* Xproto.h:788:7 */
  7985  
  7986  type XQueryColorsReply = struct {
  7987  	Ftype           BYTE
  7988  	Fpad1           BYTE
  7989  	FsequenceNumber CARD16
  7990  	Flength         CARD32
  7991  	FnColors        CARD16
  7992  	Fpad2           CARD16
  7993  	Fpad3           CARD32
  7994  	Fpad4           CARD32
  7995  	Fpad5           CARD32
  7996  	Fpad6           CARD32
  7997  	Fpad7           CARD32
  7998  } /* Xproto.h:802:7 */
  7999  
  8000  type XLookupColorReply = struct {
  8001  	Ftype           BYTE
  8002  	Fpad1           BYTE
  8003  	FsequenceNumber CARD16
  8004  	Flength         CARD32
  8005  	FexactRed       CARD16
  8006  	FexactGreen     CARD16
  8007  	FexactBlue      CARD16
  8008  	FscreenRed      CARD16
  8009  	FscreenGreen    CARD16
  8010  	FscreenBlue     CARD16
  8011  	Fpad3           CARD32
  8012  	Fpad4           CARD32
  8013  	Fpad5           CARD32
  8014  } /* Xproto.h:814:7 */
  8015  
  8016  type XQueryBestSizeReply = struct {
  8017  	Ftype           BYTE
  8018  	Fpad1           BYTE
  8019  	FsequenceNumber CARD16
  8020  	Flength         CARD32
  8021  	Fwidth          CARD16
  8022  	Fheight         CARD16
  8023  	Fpad3           CARD32
  8024  	Fpad4           CARD32
  8025  	Fpad5           CARD32
  8026  	Fpad6           CARD32
  8027  	Fpad7           CARD32
  8028  } /* Xproto.h:827:7 */
  8029  
  8030  type XQueryExtensionReply = struct {
  8031  	Ftype           BYTE
  8032  	Fpad1           BYTE
  8033  	FsequenceNumber CARD16
  8034  	Flength         CARD32
  8035  	Fpresent        BOOL
  8036  	Fmajor_opcode   CARD8
  8037  	Ffirst_event    CARD8
  8038  	Ffirst_error    CARD8
  8039  	Fpad3           CARD32
  8040  	Fpad4           CARD32
  8041  	Fpad5           CARD32
  8042  	Fpad6           CARD32
  8043  	Fpad7           CARD32
  8044  } /* Xproto.h:843:7 */
  8045  
  8046  type XListExtensionsReply = struct {
  8047  	Ftype           BYTE
  8048  	FnExtensions    CARD8
  8049  	FsequenceNumber CARD16
  8050  	Flength         CARD32
  8051  	Fpad2           CARD32
  8052  	Fpad3           CARD32
  8053  	Fpad4           CARD32
  8054  	Fpad5           CARD32
  8055  	Fpad6           CARD32
  8056  	Fpad7           CARD32
  8057  } /* Xproto.h:856:7 */
  8058  
  8059  type XSetMappingReply = struct {
  8060  	Ftype           BYTE
  8061  	Fsuccess        CARD8
  8062  	FsequenceNumber CARD16
  8063  	Flength         CARD32
  8064  	Fpad2           CARD32
  8065  	Fpad3           CARD32
  8066  	Fpad4           CARD32
  8067  	Fpad5           CARD32
  8068  	Fpad6           CARD32
  8069  	Fpad7           CARD32
  8070  }                                                /* Xproto.h:870:7 */
  8071  type XSetPointerMappingReply = XSetMappingReply  /* Xproto.h:871:26 */
  8072  type XSetModifierMappingReply = XSetMappingReply /* Xproto.h:872:26 */
  8073  
  8074  type XGetPointerMappingReply = struct {
  8075  	Ftype           BYTE
  8076  	FnElts          CARD8
  8077  	FsequenceNumber CARD16
  8078  	Flength         CARD32
  8079  	Fpad2           CARD32
  8080  	Fpad3           CARD32
  8081  	Fpad4           CARD32
  8082  	Fpad5           CARD32
  8083  	Fpad6           CARD32
  8084  	Fpad7           CARD32
  8085  } /* Xproto.h:885:7 */
  8086  
  8087  type XGetKeyboardMappingReply = struct {
  8088  	Ftype              BYTE
  8089  	FkeySymsPerKeyCode CARD8
  8090  	FsequenceNumber    CARD16
  8091  	Flength            CARD32
  8092  	Fpad2              CARD32
  8093  	Fpad3              CARD32
  8094  	Fpad4              CARD32
  8095  	Fpad5              CARD32
  8096  	Fpad6              CARD32
  8097  	Fpad7              CARD32
  8098  } /* Xproto.h:898:3 */
  8099  
  8100  type XGetModifierMappingReply = struct {
  8101  	Ftype              BYTE
  8102  	FnumKeyPerModifier CARD8
  8103  	FsequenceNumber    CARD16
  8104  	Flength            CARD32
  8105  	Fpad1              CARD32
  8106  	Fpad2              CARD32
  8107  	Fpad3              CARD32
  8108  	Fpad4              CARD32
  8109  	Fpad5              CARD32
  8110  	Fpad6              CARD32
  8111  } /* Xproto.h:911:3 */
  8112  
  8113  type XGetKeyboardControlReply = struct {
  8114  	Ftype             BYTE
  8115  	FglobalAutoRepeat BOOL
  8116  	FsequenceNumber   CARD16
  8117  	Flength           CARD32
  8118  	FledMask          CARD32
  8119  	FkeyClickPercent  CARD8
  8120  	FbellPercent      CARD8
  8121  	FbellPitch        CARD16
  8122  	FbellDuration     CARD16
  8123  	Fpad              CARD16
  8124  	Fmap              [32]BYTE
  8125  } /* Xproto.h:923:7 */
  8126  
  8127  type XGetPointerControlReply = struct {
  8128  	Ftype             BYTE
  8129  	Fpad1             BYTE
  8130  	FsequenceNumber   CARD16
  8131  	Flength           CARD32
  8132  	FaccelNumerator   CARD16
  8133  	FaccelDenominator CARD16
  8134  	Fthreshold        CARD16
  8135  	Fpad2             CARD16
  8136  	Fpad3             CARD32
  8137  	Fpad4             CARD32
  8138  	Fpad5             CARD32
  8139  	Fpad6             CARD32
  8140  } /* Xproto.h:937:7 */
  8141  
  8142  type XGetScreenSaverReply = struct {
  8143  	Ftype           BYTE
  8144  	Fpad1           BYTE
  8145  	FsequenceNumber CARD16
  8146  	Flength         CARD32
  8147  	Ftimeout        CARD16
  8148  	Finterval       CARD16
  8149  	FpreferBlanking BOOL
  8150  	FallowExposures BOOL
  8151  	Fpad2           CARD16
  8152  	Fpad3           CARD32
  8153  	Fpad4           CARD32
  8154  	Fpad5           CARD32
  8155  	Fpad6           CARD32
  8156  } /* Xproto.h:952:7 */
  8157  
  8158  type XListHostsReply = struct {
  8159  	Ftype           BYTE
  8160  	Fenabled        BOOL
  8161  	FsequenceNumber CARD16
  8162  	Flength         CARD32
  8163  	FnHosts         CARD16
  8164  	Fpad1           CARD16
  8165  	Fpad3           CARD32
  8166  	Fpad4           CARD32
  8167  	Fpad5           CARD32
  8168  	Fpad6           CARD32
  8169  	Fpad7           CARD32
  8170  } /* Xproto.h:966:7 */
  8171  
  8172  // ****************************************************************
  8173  //
  8174  // Xerror
  8175  //    All errors  are 32 bytes
  8176  //
  8177  
  8178  type XError = struct {
  8179  	Ftype           BYTE
  8180  	FerrorCode      BYTE
  8181  	FsequenceNumber CARD16
  8182  	FresourceID     CARD32
  8183  	FminorCode      CARD16
  8184  	FmajorCode      CARD8
  8185  	Fpad1           BYTE
  8186  	Fpad3           CARD32
  8187  	Fpad4           CARD32
  8188  	Fpad5           CARD32
  8189  	Fpad6           CARD32
  8190  	Fpad7           CARD32
  8191  } /* Xproto.h:989:3 */
  8192  
  8193  // ****************************************************************
  8194  //
  8195  // xEvent
  8196  //    All events are 32 bytes
  8197  //
  8198  
  8199  type X_xEvent = struct {
  8200  	Fu struct {
  8201  		F__ccgo_pad1 [0]uint32
  8202  		Fu           struct {
  8203  			Ftype           BYTE
  8204  			Fdetail         BYTE
  8205  			FsequenceNumber CARD16
  8206  		}
  8207  		F__ccgo_pad2 [28]byte
  8208  	}
  8209  } /* Xproto.h:996:9 */
  8210  
  8211  // ****************************************************************
  8212  //
  8213  // xEvent
  8214  //    All events are 32 bytes
  8215  //
  8216  
  8217  type XEvent1 = X_xEvent /* Xproto.h:1214:3 */
  8218  
  8219  // ********************************************************
  8220  //
  8221  //
  8222  // Generic event
  8223  //
  8224  // Those events are not part of the core protocol spec and can be used by
  8225  // various extensions.
  8226  // type is always GenericEvent
  8227  // extension is the minor opcode of the extension the event belongs to.
  8228  // evtype is the actual event type, unique __per extension__.
  8229  //
  8230  // GenericEvents can be longer than 32 bytes, with the length field
  8231  // specifying the number of 4 byte blocks after the first 32 bytes.
  8232  //
  8233  //
  8234  type XGenericEvent1 = struct {
  8235  	Ftype           BYTE
  8236  	Fextension      CARD8
  8237  	FsequenceNumber CARD16
  8238  	Flength         CARD32
  8239  	Fevtype         CARD16
  8240  	Fpad2           CARD16
  8241  	Fpad3           CARD32
  8242  	Fpad4           CARD32
  8243  	Fpad5           CARD32
  8244  	Fpad6           CARD32
  8245  	Fpad7           CARD32
  8246  } /* Xproto.h:1244:3 */
  8247  
  8248  // KeymapNotify events are not included in the above union because they
  8249  //    are different from all other events: they do not have a "detail"
  8250  //    or "sequenceNumber", so there is room for a 248-bit key mask.
  8251  
  8252  type XKeymapEvent1 = struct {
  8253  	Ftype BYTE
  8254  	Fmap  [31]BYTE
  8255  } /* Xproto.h:1255:7 */
  8256  
  8257  // XReply is the union of all the replies above whose "fixed part"
  8258  // fits in 32 bytes.  It does NOT include GetWindowAttributesReply,
  8259  // QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply
  8260  // ListFontsWithInfoReply
  8261  
  8262  type XReply = struct{ Fgeneric XGenericReply } /* Xproto.h:1303:3 */
  8263  
  8264  // ****************************************************************
  8265  //
  8266  // REQUESTS
  8267  //
  8268  
  8269  // Request structure
  8270  
  8271  type X_xReq = struct {
  8272  	FreqType CARD8
  8273  	Fdata    CARD8
  8274  	Flength  CARD16
  8275  } /* Xproto.h:1314:9 */
  8276  
  8277  // ****************************************************************
  8278  //
  8279  // REQUESTS
  8280  //
  8281  
  8282  // Request structure
  8283  
  8284  type XReq = X_xReq /* Xproto.h:1319:3 */
  8285  
  8286  // ****************************************************************
  8287  //
  8288  //  structures that follow request.
  8289  //
  8290  
  8291  // ResourceReq is used for any request which has a resource ID
  8292  //    (or Atom or Time) as its one and only argument.
  8293  
  8294  type XResourceReq = struct {
  8295  	FreqType CARD8
  8296  	Fpad     BYTE
  8297  	Flength  CARD16
  8298  	Fid      CARD32
  8299  } /* Xproto.h:1333:7 */
  8300  
  8301  type XCreateWindowReq = struct {
  8302  	FreqType     CARD8
  8303  	Fdepth       CARD8
  8304  	Flength      CARD16
  8305  	Fwid         CARD32
  8306  	Fparent      CARD32
  8307  	Fx           INT16
  8308  	Fy           INT16
  8309  	Fwidth       CARD16
  8310  	Fheight      CARD16
  8311  	FborderWidth CARD16
  8312  	Fclass       CARD16
  8313  	Fvisual      CARD32
  8314  	Fmask        CARD32
  8315  } /* Xproto.h:1349:3 */
  8316  
  8317  type XChangeWindowAttributesReq = struct {
  8318  	FreqType   CARD8
  8319  	Fpad       BYTE
  8320  	Flength    CARD16
  8321  	Fwindow    CARD32
  8322  	FvalueMask CARD32
  8323  } /* Xproto.h:1357:3 */
  8324  
  8325  type XChangeSaveSetReq = struct {
  8326  	FreqType CARD8
  8327  	Fmode    BYTE
  8328  	Flength  CARD16
  8329  	Fwindow  CARD32
  8330  } /* Xproto.h:1364:3 */
  8331  
  8332  type XReparentWindowReq = struct {
  8333  	FreqType CARD8
  8334  	Fpad     BYTE
  8335  	Flength  CARD16
  8336  	Fwindow  CARD32
  8337  	Fparent  CARD32
  8338  	Fx       INT16
  8339  	Fy       INT16
  8340  } /* Xproto.h:1372:3 */
  8341  
  8342  type XConfigureWindowReq = struct {
  8343  	FreqType CARD8
  8344  	Fpad     CARD8
  8345  	Flength  CARD16
  8346  	Fwindow  CARD32
  8347  	Fmask    CARD16
  8348  	Fpad2    CARD16
  8349  } /* Xproto.h:1381:3 */
  8350  
  8351  type XCirculateWindowReq = struct {
  8352  	FreqType   CARD8
  8353  	Fdirection CARD8
  8354  	Flength    CARD16
  8355  	Fwindow    CARD32
  8356  } /* Xproto.h:1388:3 */
  8357  
  8358  type XInternAtomReq = struct {
  8359  	FreqType      CARD8
  8360  	FonlyIfExists BOOL
  8361  	Flength       CARD16
  8362  	Fnbytes       CARD16
  8363  	Fpad          CARD16
  8364  } /* Xproto.h:1396:3 */
  8365  
  8366  type XChangePropertyReq = struct {
  8367  	FreqType  CARD8
  8368  	Fmode     CARD8
  8369  	Flength   CARD16
  8370  	Fwindow   CARD32
  8371  	Fproperty CARD32
  8372  	Ftype     CARD32
  8373  	Fformat   CARD8
  8374  	Fpad      [3]BYTE
  8375  	FnUnits   CARD32
  8376  } /* Xproto.h:1407:3 */
  8377  
  8378  type XDeletePropertyReq = struct {
  8379  	FreqType  CARD8
  8380  	Fpad      BYTE
  8381  	Flength   CARD16
  8382  	Fwindow   CARD32
  8383  	Fproperty CARD32
  8384  } /* Xproto.h:1415:3 */
  8385  
  8386  type XGetPropertyReq = struct {
  8387  	FreqType    CARD8
  8388  	Fdelete     BOOL
  8389  	Flength     CARD16
  8390  	Fwindow     CARD32
  8391  	Fproperty   CARD32
  8392  	Ftype       CARD32
  8393  	FlongOffset CARD32
  8394  	FlongLength CARD32
  8395  } /* Xproto.h:1429:3 */
  8396  
  8397  type XSetSelectionOwnerReq = struct {
  8398  	FreqType   CARD8
  8399  	Fpad       BYTE
  8400  	Flength    CARD16
  8401  	Fwindow    CARD32
  8402  	Fselection CARD32
  8403  	Ftime      CARD32
  8404  } /* Xproto.h:1438:3 */
  8405  
  8406  type XConvertSelectionReq = struct {
  8407  	FreqType   CARD8
  8408  	Fpad       BYTE
  8409  	Flength    CARD16
  8410  	Frequestor CARD32
  8411  	Fselection CARD32
  8412  	Ftarget    CARD32
  8413  	Fproperty  CARD32
  8414  	Ftime      CARD32
  8415  } /* Xproto.h:1447:7 */
  8416  
  8417  type XSendEventReq = struct {
  8418  	FreqType     CARD8
  8419  	Fpropagate   BOOL
  8420  	Flength      CARD16
  8421  	Fdestination CARD32
  8422  	FeventMask   CARD32
  8423  	Fevent       XEvent1
  8424  } /* Xproto.h:1456:3 */
  8425  
  8426  type XGrabPointerReq = struct {
  8427  	FreqType      CARD8
  8428  	FownerEvents  BOOL
  8429  	Flength       CARD16
  8430  	FgrabWindow   CARD32
  8431  	FeventMask    CARD16
  8432  	FpointerMode  BYTE
  8433  	FkeyboardMode BYTE
  8434  	FconfineTo    CARD32
  8435  	Fcursor       CARD32
  8436  	Ftime         CARD32
  8437  } /* Xproto.h:1468:3 */
  8438  
  8439  type XGrabButtonReq = struct {
  8440  	FreqType      CARD8
  8441  	FownerEvents  BOOL
  8442  	Flength       CARD16
  8443  	FgrabWindow   CARD32
  8444  	FeventMask    CARD16
  8445  	FpointerMode  BYTE
  8446  	FkeyboardMode BYTE
  8447  	FconfineTo    CARD32
  8448  	Fcursor       CARD32
  8449  	Fbutton       CARD8
  8450  	Fpad          BYTE
  8451  	Fmodifiers    CARD16
  8452  } /* Xproto.h:1482:3 */
  8453  
  8454  type XUngrabButtonReq = struct {
  8455  	FreqType    CARD8
  8456  	Fbutton     CARD8
  8457  	Flength     CARD16
  8458  	FgrabWindow CARD32
  8459  	Fmodifiers  CARD16
  8460  	Fpad        CARD16
  8461  } /* Xproto.h:1491:3 */
  8462  
  8463  type XChangeActivePointerGrabReq = struct {
  8464  	FreqType   CARD8
  8465  	Fpad       BYTE
  8466  	Flength    CARD16
  8467  	Fcursor    CARD32
  8468  	Ftime      CARD32
  8469  	FeventMask CARD16
  8470  	Fpad2      CARD16
  8471  } /* Xproto.h:1501:3 */
  8472  
  8473  type XGrabKeyboardReq = struct {
  8474  	FreqType      CARD8
  8475  	FownerEvents  BOOL
  8476  	Flength       CARD16
  8477  	FgrabWindow   CARD32
  8478  	Ftime         CARD32
  8479  	FpointerMode  BYTE
  8480  	FkeyboardMode BYTE
  8481  	Fpad          CARD16
  8482  } /* Xproto.h:1511:3 */
  8483  
  8484  type XGrabKeyReq = struct {
  8485  	FreqType      CARD8
  8486  	FownerEvents  BOOL
  8487  	Flength       CARD16
  8488  	FgrabWindow   CARD32
  8489  	Fmodifiers    CARD16
  8490  	Fkey          CARD8
  8491  	FpointerMode  BYTE
  8492  	FkeyboardMode BYTE
  8493  	Fpad1         BYTE
  8494  	Fpad2         BYTE
  8495  	Fpad3         BYTE
  8496  } /* Xproto.h:1522:3 */
  8497  
  8498  type XUngrabKeyReq = struct {
  8499  	FreqType    CARD8
  8500  	Fkey        CARD8
  8501  	Flength     CARD16
  8502  	FgrabWindow CARD32
  8503  	Fmodifiers  CARD16
  8504  	Fpad        CARD16
  8505  } /* Xproto.h:1531:3 */
  8506  
  8507  type XAllowEventsReq = struct {
  8508  	FreqType CARD8
  8509  	Fmode    CARD8
  8510  	Flength  CARD16
  8511  	Ftime    CARD32
  8512  } /* Xproto.h:1538:3 */
  8513  
  8514  type XGetMotionEventsReq = struct {
  8515  	FreqType CARD8
  8516  	Fpad     BYTE
  8517  	Flength  CARD16
  8518  	Fwindow  CARD32
  8519  	Fstart   CARD32
  8520  	Fstop    CARD32
  8521  } /* Xproto.h:1546:3 */
  8522  
  8523  type XTranslateCoordsReq = struct {
  8524  	FreqType CARD8
  8525  	Fpad     BYTE
  8526  	Flength  CARD16
  8527  	FsrcWid  CARD32
  8528  	FdstWid  CARD32
  8529  	FsrcX    INT16
  8530  	FsrcY    INT16
  8531  } /* Xproto.h:1554:3 */
  8532  
  8533  type XWarpPointerReq = struct {
  8534  	FreqType   CARD8
  8535  	Fpad       BYTE
  8536  	Flength    CARD16
  8537  	FsrcWid    CARD32
  8538  	FdstWid    CARD32
  8539  	FsrcX      INT16
  8540  	FsrcY      INT16
  8541  	FsrcWidth  CARD16
  8542  	FsrcHeight CARD16
  8543  	FdstX      INT16
  8544  	FdstY      INT16
  8545  } /* Xproto.h:1564:3 */
  8546  
  8547  type XSetInputFocusReq = struct {
  8548  	FreqType  CARD8
  8549  	FrevertTo CARD8
  8550  	Flength   CARD16
  8551  	Ffocus    CARD32
  8552  	Ftime     CARD32
  8553  } /* Xproto.h:1572:3 */
  8554  
  8555  type XOpenFontReq = struct {
  8556  	FreqType CARD8
  8557  	Fpad     BYTE
  8558  	Flength  CARD16
  8559  	Ffid     CARD32
  8560  	Fnbytes  CARD16
  8561  	Fpad1    BYTE
  8562  	Fpad2    BYTE
  8563  } /* Xproto.h:1581:3 */
  8564  
  8565  type XQueryTextExtentsReq = struct {
  8566  	FreqType   CARD8
  8567  	FoddLength BOOL
  8568  	Flength    CARD16
  8569  	Ffid       CARD32
  8570  } /* Xproto.h:1588:7 */
  8571  
  8572  type XListFontsReq = struct {
  8573  	FreqType  CARD8
  8574  	Fpad      BYTE
  8575  	Flength   CARD16
  8576  	FmaxNames CARD16
  8577  	Fnbytes   CARD16
  8578  } /* Xproto.h:1596:3 */
  8579  
  8580  type XListFontsWithInfoReq = XListFontsReq /* Xproto.h:1598:23 */
  8581  
  8582  type XSetFontPathReq = struct {
  8583  	FreqType CARD8
  8584  	Fpad     BYTE
  8585  	Flength  CARD16
  8586  	FnFonts  CARD16
  8587  	Fpad1    BYTE
  8588  	Fpad2    BYTE
  8589  } /* Xproto.h:1606:3 */
  8590  
  8591  type XCreatePixmapReq = struct {
  8592  	FreqType  CARD8
  8593  	Fdepth    CARD8
  8594  	Flength   CARD16
  8595  	Fpid      CARD32
  8596  	Fdrawable CARD32
  8597  	Fwidth    CARD16
  8598  	Fheight   CARD16
  8599  } /* Xproto.h:1615:3 */
  8600  
  8601  type XCreateGCReq = struct {
  8602  	FreqType  CARD8
  8603  	Fpad      BYTE
  8604  	Flength   CARD16
  8605  	Fgc       CARD32
  8606  	Fdrawable CARD32
  8607  	Fmask     CARD32
  8608  } /* Xproto.h:1624:3 */
  8609  
  8610  type XChangeGCReq = struct {
  8611  	FreqType CARD8
  8612  	Fpad     BYTE
  8613  	Flength  CARD16
  8614  	Fgc      CARD32
  8615  	Fmask    CARD32
  8616  } /* Xproto.h:1632:3 */
  8617  
  8618  type XCopyGCReq = struct {
  8619  	FreqType CARD8
  8620  	Fpad     BYTE
  8621  	Flength  CARD16
  8622  	FsrcGC   CARD32
  8623  	FdstGC   CARD32
  8624  	Fmask    CARD32
  8625  } /* Xproto.h:1640:3 */
  8626  
  8627  type XSetDashesReq = struct {
  8628  	FreqType    CARD8
  8629  	Fpad        BYTE
  8630  	Flength     CARD16
  8631  	Fgc         CARD32
  8632  	FdashOffset CARD16
  8633  	FnDashes    CARD16
  8634  } /* Xproto.h:1649:3 */
  8635  
  8636  type XSetClipRectanglesReq = struct {
  8637  	FreqType  CARD8
  8638  	Fordering BYTE
  8639  	Flength   CARD16
  8640  	Fgc       CARD32
  8641  	FxOrigin  INT16
  8642  	FyOrigin  INT16
  8643  } /* Xproto.h:1657:3 */
  8644  
  8645  type XClearAreaReq = struct {
  8646  	FreqType   CARD8
  8647  	Fexposures BOOL
  8648  	Flength    CARD16
  8649  	Fwindow    CARD32
  8650  	Fx         INT16
  8651  	Fy         INT16
  8652  	Fwidth     CARD16
  8653  	Fheight    CARD16
  8654  } /* Xproto.h:1666:3 */
  8655  
  8656  type XCopyAreaReq = struct {
  8657  	FreqType     CARD8
  8658  	Fpad         BYTE
  8659  	Flength      CARD16
  8660  	FsrcDrawable CARD32
  8661  	FdstDrawable CARD32
  8662  	Fgc          CARD32
  8663  	FsrcX        INT16
  8664  	FsrcY        INT16
  8665  	FdstX        INT16
  8666  	FdstY        INT16
  8667  	Fwidth       CARD16
  8668  	Fheight      CARD16
  8669  } /* Xproto.h:1676:3 */
  8670  
  8671  type XCopyPlaneReq = struct {
  8672  	FreqType     CARD8
  8673  	Fpad         BYTE
  8674  	Flength      CARD16
  8675  	FsrcDrawable CARD32
  8676  	FdstDrawable CARD32
  8677  	Fgc          CARD32
  8678  	FsrcX        INT16
  8679  	FsrcY        INT16
  8680  	FdstX        INT16
  8681  	FdstY        INT16
  8682  	Fwidth       CARD16
  8683  	Fheight      CARD16
  8684  	FbitPlane    CARD32
  8685  } /* Xproto.h:1687:3 */
  8686  
  8687  type XPolyPointReq = struct {
  8688  	FreqType   CARD8
  8689  	FcoordMode BYTE
  8690  	Flength    CARD16
  8691  	Fdrawable  CARD32
  8692  	Fgc        CARD32
  8693  } /* Xproto.h:1695:3 */
  8694  
  8695  type XPolyLineReq = XPolyPointReq /* Xproto.h:1697:23 */ // same request structure
  8696  
  8697  // The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc
  8698  
  8699  type XPolySegmentReq = struct {
  8700  	FreqType  CARD8
  8701  	Fpad      BYTE
  8702  	Flength   CARD16
  8703  	Fdrawable CARD32
  8704  	Fgc       CARD32
  8705  } /* Xproto.h:1707:3 */
  8706  
  8707  type XPolyArcReq = XPolySegmentReq           /* Xproto.h:1709:25 */
  8708  type XPolyRectangleReq = XPolySegmentReq     /* Xproto.h:1710:25 */
  8709  type XPolyFillRectangleReq = XPolySegmentReq /* Xproto.h:1711:25 */
  8710  type XPolyFillArcReq = XPolySegmentReq       /* Xproto.h:1712:25 */
  8711  
  8712  type X_FillPolyReq = struct {
  8713  	FreqType   CARD8
  8714  	Fpad       BYTE
  8715  	Flength    CARD16
  8716  	Fdrawable  CARD32
  8717  	Fgc        CARD32
  8718  	Fshape     BYTE
  8719  	FcoordMode BYTE
  8720  	Fpad1      CARD16
  8721  } /* Xproto.h:1714:9 */
  8722  
  8723  type XFillPolyReq = X_FillPolyReq /* Xproto.h:1723:3 */
  8724  
  8725  type X_PutImageReq = struct {
  8726  	FreqType  CARD8
  8727  	Fformat   CARD8
  8728  	Flength   CARD16
  8729  	Fdrawable CARD32
  8730  	Fgc       CARD32
  8731  	Fwidth    CARD16
  8732  	Fheight   CARD16
  8733  	FdstX     INT16
  8734  	FdstY     INT16
  8735  	FleftPad  CARD8
  8736  	Fdepth    CARD8
  8737  	Fpad      CARD16
  8738  } /* Xproto.h:1726:9 */
  8739  
  8740  type XPutImageReq = X_PutImageReq /* Xproto.h:1737:3 */
  8741  
  8742  type XGetImageReq = struct {
  8743  	FreqType   CARD8
  8744  	Fformat    CARD8
  8745  	Flength    CARD16
  8746  	Fdrawable  CARD32
  8747  	Fx         INT16
  8748  	Fy         INT16
  8749  	Fwidth     CARD16
  8750  	Fheight    CARD16
  8751  	FplaneMask CARD32
  8752  } /* Xproto.h:1747:3 */
  8753  
  8754  // the following used by PolyText8 and PolyText16
  8755  
  8756  type XPolyTextReq = struct {
  8757  	FreqType  CARD8
  8758  	Fpad      CARD8
  8759  	Flength   CARD16
  8760  	Fdrawable CARD32
  8761  	Fgc       CARD32
  8762  	Fx        INT16
  8763  	Fy        INT16
  8764  } /* Xproto.h:1758:3 */
  8765  
  8766  type XPolyText8Req = XPolyTextReq  /* Xproto.h:1760:22 */
  8767  type XPolyText16Req = XPolyTextReq /* Xproto.h:1761:22 */
  8768  
  8769  type XImageTextReq = struct {
  8770  	FreqType  CARD8
  8771  	FnChars   BYTE
  8772  	Flength   CARD16
  8773  	Fdrawable CARD32
  8774  	Fgc       CARD32
  8775  	Fx        INT16
  8776  	Fy        INT16
  8777  } /* Xproto.h:1770:3 */
  8778  
  8779  type XImageText8Req = XImageTextReq  /* Xproto.h:1772:23 */
  8780  type XImageText16Req = XImageTextReq /* Xproto.h:1773:23 */
  8781  
  8782  type XCreateColormapReq = struct {
  8783  	FreqType CARD8
  8784  	Falloc   BYTE
  8785  	Flength  CARD16
  8786  	Fmid     CARD32
  8787  	Fwindow  CARD32
  8788  	Fvisual  CARD32
  8789  } /* Xproto.h:1782:3 */
  8790  
  8791  type XCopyColormapAndFreeReq = struct {
  8792  	FreqType CARD8
  8793  	Fpad     BYTE
  8794  	Flength  CARD16
  8795  	Fmid     CARD32
  8796  	FsrcCmap CARD32
  8797  } /* Xproto.h:1790:3 */
  8798  
  8799  type XAllocColorReq = struct {
  8800  	FreqType CARD8
  8801  	Fpad     BYTE
  8802  	Flength  CARD16
  8803  	Fcmap    CARD32
  8804  	Fred     CARD16
  8805  	Fgreen   CARD16
  8806  	Fblue    CARD16
  8807  	Fpad2    CARD16
  8808  } /* Xproto.h:1799:3 */
  8809  
  8810  type XAllocNamedColorReq = struct {
  8811  	FreqType CARD8
  8812  	Fpad     BYTE
  8813  	Flength  CARD16
  8814  	Fcmap    CARD32
  8815  	Fnbytes  CARD16
  8816  	Fpad1    BYTE
  8817  	Fpad2    BYTE
  8818  } /* Xproto.h:1808:3 */
  8819  
  8820  type XAllocColorCellsReq = struct {
  8821  	FreqType    CARD8
  8822  	Fcontiguous BOOL
  8823  	Flength     CARD16
  8824  	Fcmap       CARD32
  8825  	Fcolors     CARD16
  8826  	Fplanes     CARD16
  8827  } /* Xproto.h:1816:3 */
  8828  
  8829  type XAllocColorPlanesReq = struct {
  8830  	FreqType    CARD8
  8831  	Fcontiguous BOOL
  8832  	Flength     CARD16
  8833  	Fcmap       CARD32
  8834  	Fcolors     CARD16
  8835  	Fred        CARD16
  8836  	Fgreen      CARD16
  8837  	Fblue       CARD16
  8838  } /* Xproto.h:1824:3 */
  8839  
  8840  type XFreeColorsReq = struct {
  8841  	FreqType   CARD8
  8842  	Fpad       BYTE
  8843  	Flength    CARD16
  8844  	Fcmap      CARD32
  8845  	FplaneMask CARD32
  8846  } /* Xproto.h:1832:3 */
  8847  
  8848  type XStoreColorsReq = struct {
  8849  	FreqType CARD8
  8850  	Fpad     BYTE
  8851  	Flength  CARD16
  8852  	Fcmap    CARD32
  8853  } /* Xproto.h:1839:3 */
  8854  
  8855  type XStoreNamedColorReq = struct {
  8856  	FreqType CARD8
  8857  	Fflags   CARD8
  8858  	Flength  CARD16
  8859  	Fcmap    CARD32
  8860  	Fpixel   CARD32
  8861  	Fnbytes  CARD16
  8862  	Fpad1    BYTE
  8863  	Fpad2    BYTE
  8864  } /* Xproto.h:1849:7 */
  8865  
  8866  type XQueryColorsReq = struct {
  8867  	FreqType CARD8
  8868  	Fpad     BYTE
  8869  	Flength  CARD16
  8870  	Fcmap    CARD32
  8871  } /* Xproto.h:1856:3 */
  8872  
  8873  type XLookupColorReq = struct {
  8874  	FreqType CARD8
  8875  	Fpad     BYTE
  8876  	Flength  CARD16
  8877  	Fcmap    CARD32
  8878  	Fnbytes  CARD16
  8879  	Fpad1    BYTE
  8880  	Fpad2    BYTE
  8881  } /* Xproto.h:1865:3 */
  8882  
  8883  type XCreateCursorReq = struct {
  8884  	FreqType   CARD8
  8885  	Fpad       BYTE
  8886  	Flength    CARD16
  8887  	Fcid       CARD32
  8888  	Fsource    CARD32
  8889  	Fmask      CARD32
  8890  	FforeRed   CARD16
  8891  	FforeGreen CARD16
  8892  	FforeBlue  CARD16
  8893  	FbackRed   CARD16
  8894  	FbackGreen CARD16
  8895  	FbackBlue  CARD16
  8896  	Fx         CARD16
  8897  	Fy         CARD16
  8898  } /* Xproto.h:1876:3 */
  8899  
  8900  type XCreateGlyphCursorReq = struct {
  8901  	FreqType    CARD8
  8902  	Fpad        BYTE
  8903  	Flength     CARD16
  8904  	Fcid        CARD32
  8905  	Fsource     CARD32
  8906  	Fmask       CARD32
  8907  	FsourceChar CARD16
  8908  	FmaskChar   CARD16
  8909  	FforeRed    CARD16
  8910  	FforeGreen  CARD16
  8911  	FforeBlue   CARD16
  8912  	FbackRed    CARD16
  8913  	FbackGreen  CARD16
  8914  	FbackBlue   CARD16
  8915  } /* Xproto.h:1887:3 */
  8916  
  8917  type XRecolorCursorReq = struct {
  8918  	FreqType   CARD8
  8919  	Fpad       BYTE
  8920  	Flength    CARD16
  8921  	Fcursor    CARD32
  8922  	FforeRed   CARD16
  8923  	FforeGreen CARD16
  8924  	FforeBlue  CARD16
  8925  	FbackRed   CARD16
  8926  	FbackGreen CARD16
  8927  	FbackBlue  CARD16
  8928  } /* Xproto.h:1896:3 */
  8929  
  8930  type XQueryBestSizeReq = struct {
  8931  	FreqType  CARD8
  8932  	Fclass    CARD8
  8933  	Flength   CARD16
  8934  	Fdrawable CARD32
  8935  	Fwidth    CARD16
  8936  	Fheight   CARD16
  8937  } /* Xproto.h:1908:3 */
  8938  
  8939  type XQueryExtensionReq = struct {
  8940  	FreqType CARD8
  8941  	Fpad     BYTE
  8942  	Flength  CARD16
  8943  	Fnbytes  CARD16
  8944  	Fpad1    BYTE
  8945  	Fpad2    BYTE
  8946  } /* Xproto.h:1916:3 */
  8947  
  8948  type XSetModifierMappingReq = struct {
  8949  	FreqType           CARD8
  8950  	FnumKeyPerModifier CARD8
  8951  	Flength            CARD16
  8952  } /* Xproto.h:1922:3 */
  8953  
  8954  type XSetPointerMappingReq = struct {
  8955  	FreqType CARD8
  8956  	FnElts   CARD8
  8957  	Flength  CARD16
  8958  } /* Xproto.h:1928:3 */
  8959  
  8960  type XGetKeyboardMappingReq = struct {
  8961  	FreqType      CARD8
  8962  	Fpad          BYTE
  8963  	Flength       CARD16
  8964  	FfirstKeyCode CARD8
  8965  	Fcount        CARD8
  8966  	Fpad1         CARD16
  8967  } /* Xproto.h:1937:3 */
  8968  
  8969  type XChangeKeyboardMappingReq = struct {
  8970  	FreqType           CARD8
  8971  	FkeyCodes          CARD8
  8972  	Flength            CARD16
  8973  	FfirstKeyCode      CARD8
  8974  	FkeySymsPerKeyCode CARD8
  8975  	Fpad1              CARD16
  8976  } /* Xproto.h:1946:3 */
  8977  
  8978  type XChangeKeyboardControlReq = struct {
  8979  	FreqType CARD8
  8980  	Fpad     BYTE
  8981  	Flength  CARD16
  8982  	Fmask    CARD32
  8983  } /* Xproto.h:1953:3 */
  8984  
  8985  type XBellReq = struct {
  8986  	FreqType CARD8
  8987  	Fpercent INT8
  8988  	Flength  CARD16
  8989  } /* Xproto.h:1959:3 */
  8990  
  8991  type XChangePointerControlReq = struct {
  8992  	FreqType    CARD8
  8993  	Fpad        BYTE
  8994  	Flength     CARD16
  8995  	FaccelNum   INT16
  8996  	FaccelDenum INT16
  8997  	Fthreshold  INT16
  8998  	FdoAccel    BOOL
  8999  	FdoThresh   BOOL
  9000  } /* Xproto.h:1968:3 */
  9001  
  9002  type XSetScreenSaverReq = struct {
  9003  	FreqType     CARD8
  9004  	Fpad         BYTE
  9005  	Flength      CARD16
  9006  	Ftimeout     INT16
  9007  	Finterval    INT16
  9008  	FpreferBlank BYTE
  9009  	FallowExpose BYTE
  9010  	Fpad2        CARD16
  9011  } /* Xproto.h:1977:3 */
  9012  
  9013  type XChangeHostsReq = struct {
  9014  	FreqType    CARD8
  9015  	Fmode       BYTE
  9016  	Flength     CARD16
  9017  	FhostFamily CARD8
  9018  	Fpad        BYTE
  9019  	FhostLength CARD16
  9020  } /* Xproto.h:1986:3 */
  9021  
  9022  type XListHostsReq = struct {
  9023  	FreqType CARD8
  9024  	Fpad     BYTE
  9025  	Flength  CARD16
  9026  } /* Xproto.h:1992:7 */
  9027  
  9028  type XChangeModeReq = struct {
  9029  	FreqType CARD8
  9030  	Fmode    BYTE
  9031  	Flength  CARD16
  9032  } /* Xproto.h:1998:7 */
  9033  
  9034  type XSetAccessControlReq = XChangeModeReq /* Xproto.h:2000:24 */
  9035  type XSetCloseDownModeReq = XChangeModeReq /* Xproto.h:2001:24 */
  9036  type XForceScreenSaverReq = XChangeModeReq /* Xproto.h:2002:24 */
  9037  
  9038  type XRotatePropertiesReq = struct {
  9039  	FreqType    CARD8
  9040  	Fpad        BYTE
  9041  	Flength     CARD16
  9042  	Fwindow     CARD32
  9043  	FnAtoms     CARD16
  9044  	FnPositions INT16
  9045  } /* Xproto.h:2011:7 */
  9046  
  9047  type X_XFreeFuncs = struct {
  9048  	Fatoms         FreeFuncType
  9049  	Fmodifiermap   FreeModmapType
  9050  	Fkey_bindings  FreeFuncType
  9051  	Fcontext_db    FreeFuncType
  9052  	FdefaultCCCs   FreeFuncType
  9053  	FclientCmaps   FreeFuncType
  9054  	FintensityMaps FreeFuncType
  9055  	Fim_filters    FreeFuncType
  9056  	Fxkb           FreeFuncType
  9057  } /* Xlib.h:255:1 */
  9058  
  9059  type X_XSQEvent = struct {
  9060  	Fnext        uintptr
  9061  	Fevent       XEvent
  9062  	Fqserial_num uint64
  9063  } /* Xlib.h:255:1 */
  9064  
  9065  type X_XExten = struct {
  9066  	Fnext          uintptr
  9067  	Fcodes         XExtCodes
  9068  	Fcreate_GC     CreateGCType
  9069  	Fcopy_GC       CopyGCType
  9070  	Fflush_GC      FlushGCType
  9071  	Ffree_GC       FreeGCType
  9072  	Fcreate_Font   CreateFontType
  9073  	Ffree_Font     FreeFontType
  9074  	Fclose_display CloseDisplayType
  9075  	Ferror         ErrorType
  9076  	Ferror_string  ErrorStringType
  9077  	Fname          uintptr
  9078  	Ferror_values  PrintErrorType
  9079  	Fbefore_flush  BeforeFlushType
  9080  	Fnext_flush    uintptr
  9081  } /* Xlib.h:255:1 */
  9082  
  9083  type X_XInternalAsync = struct {
  9084  	Fnext    uintptr
  9085  	Fhandler uintptr
  9086  	Fdata    XPointer
  9087  } /* Xlib.h:255:1 */
  9088  
  9089  type X_XLockPtrs = struct {
  9090  	Flock_display   uintptr
  9091  	Funlock_display uintptr
  9092  } /* Xlib.h:255:1 */
  9093  
  9094  type X_XConnectionInfo = struct {
  9095  	Ffd            int32
  9096  	F__ccgo_pad1   [4]byte
  9097  	Fread_callback X_XInternalConnectionProc
  9098  	Fcall_data     XPointer
  9099  	Fwatch_data    uintptr
  9100  	Fnext          uintptr
  9101  } /* Xlib.h:255:1 */
  9102  
  9103  type X_XConnWatchInfo = struct {
  9104  	Ffn          XConnectionWatchProc
  9105  	Fclient_data XPointer
  9106  	Fnext        uintptr
  9107  } /* Xlib.h:255:1 */
  9108  
  9109  // access "last_request_read" and "request" with 64bit
  9110  // warning: the value argument of the SET-macros must not
  9111  // have any side-effects because it may get called twice.
  9112  // accessors for 64-bit unsigned long
  9113  
  9114  // _QEvent datatype for use in input queueing.
  9115  type X_XQEvent = X_XSQEvent /* Xlibint.h:329:3 */
  9116  
  9117  // POSIX.1-2008 extended locale interface (see locale.h).
  9118  // Definition of locale_t.
  9119  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  9120  //    This file is part of the GNU C Library.
  9121  //
  9122  //    The GNU C Library is free software; you can redistribute it and/or
  9123  //    modify it under the terms of the GNU Lesser General Public
  9124  //    License as published by the Free Software Foundation; either
  9125  //    version 2.1 of the License, or (at your option) any later version.
  9126  //
  9127  //    The GNU C Library is distributed in the hope that it will be useful,
  9128  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9129  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9130  //    Lesser General Public License for more details.
  9131  //
  9132  //    You should have received a copy of the GNU Lesser General Public
  9133  //    License along with the GNU C Library; if not, see
  9134  //    <https://www.gnu.org/licenses/>.
  9135  
  9136  // Definition of struct __locale_struct and __locale_t.
  9137  //    Copyright (C) 1997-2020 Free Software Foundation, Inc.
  9138  //    This file is part of the GNU C Library.
  9139  //    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
  9140  //
  9141  //    The GNU C Library is free software; you can redistribute it and/or
  9142  //    modify it under the terms of the GNU Lesser General Public
  9143  //    License as published by the Free Software Foundation; either
  9144  //    version 2.1 of the License, or (at your option) any later version.
  9145  //
  9146  //    The GNU C Library is distributed in the hope that it will be useful,
  9147  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9148  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9149  //    Lesser General Public License for more details.
  9150  //
  9151  //    You should have received a copy of the GNU Lesser General Public
  9152  //    License along with the GNU C Library; if not, see
  9153  //    <https://www.gnu.org/licenses/>.
  9154  
  9155  // POSIX.1-2008: the locale_t type, representing a locale context
  9156  //    (implementation-namespace version).  This type should be treated
  9157  //    as opaque by applications; some details are exposed for the sake of
  9158  //    efficiency in e.g. ctype functions.
  9159  
  9160  type X__locale_struct = struct {
  9161  	F__locales       [13]uintptr
  9162  	F__ctype_b       uintptr
  9163  	F__ctype_tolower uintptr
  9164  	F__ctype_toupper uintptr
  9165  	F__names         [13]uintptr
  9166  } /* __locale_t.h:28:1 */
  9167  
  9168  type X__locale_t = uintptr /* __locale_t.h:42:32 */
  9169  
  9170  type Locale_t = X__locale_t /* locale_t.h:24:20 */
  9171  
  9172  // the new Xfuncs.h
  9173  
  9174  // the ANSI C way
  9175  
  9176  //
  9177  //  O/S-dependent (mis)feature macro definitions
  9178  //
  9179  // Copyright 1991, 1998  The Open Group
  9180  //
  9181  // Permission to use, copy, modify, distribute, and sell this software and its
  9182  // documentation for any purpose is hereby granted without fee, provided that
  9183  // the above copyright notice appear in all copies and that both that
  9184  // copyright notice and this permission notice appear in supporting
  9185  // documentation.
  9186  //
  9187  // The above copyright notice and this permission notice shall be included in
  9188  // all copies or substantial portions of the Software.
  9189  //
  9190  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9191  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9192  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9193  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9194  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9195  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9196  //
  9197  // Except as contained in this notice, the name of The Open Group shall not be
  9198  // used in advertising or otherwise to promote the sale, use or other dealings
  9199  // in this Software without prior written authorization from The Open Group.
  9200  //
  9201  
  9202  // Utek leaves kernel macros around in include files (bleah)
  9203  
  9204  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9205  //    This file is part of the GNU C Library.
  9206  //
  9207  //    The GNU C Library is free software; you can redistribute it and/or
  9208  //    modify it under the terms of the GNU Lesser General Public
  9209  //    License as published by the Free Software Foundation; either
  9210  //    version 2.1 of the License, or (at your option) any later version.
  9211  //
  9212  //    The GNU C Library is distributed in the hope that it will be useful,
  9213  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9214  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9215  //    Lesser General Public License for more details.
  9216  //
  9217  //    You should have received a copy of the GNU Lesser General Public
  9218  //    License along with the GNU C Library; if not, see
  9219  //    <https://www.gnu.org/licenses/>.
  9220  
  9221  //	ISO C99 Standard: 7.20 General utilities	<stdlib.h>
  9222  
  9223  // Handle feature test macros at the start of a header.
  9224  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  9225  //    This file is part of the GNU C Library.
  9226  //
  9227  //    The GNU C Library is free software; you can redistribute it and/or
  9228  //    modify it under the terms of the GNU Lesser General Public
  9229  //    License as published by the Free Software Foundation; either
  9230  //    version 2.1 of the License, or (at your option) any later version.
  9231  //
  9232  //    The GNU C Library is distributed in the hope that it will be useful,
  9233  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9234  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9235  //    Lesser General Public License for more details.
  9236  //
  9237  //    You should have received a copy of the GNU Lesser General Public
  9238  //    License along with the GNU C Library; if not, see
  9239  //    <https://www.gnu.org/licenses/>.
  9240  
  9241  // This header is internal to glibc and should not be included outside
  9242  //    of glibc headers.  Headers including it must define
  9243  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
  9244  //    cannot have multiple include guards because ISO C feature test
  9245  //    macros depend on the definition of the macro when an affected
  9246  //    header is included, not when the first system header is
  9247  //    included.
  9248  
  9249  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9250  //    This file is part of the GNU C Library.
  9251  //
  9252  //    The GNU C Library is free software; you can redistribute it and/or
  9253  //    modify it under the terms of the GNU Lesser General Public
  9254  //    License as published by the Free Software Foundation; either
  9255  //    version 2.1 of the License, or (at your option) any later version.
  9256  //
  9257  //    The GNU C Library is distributed in the hope that it will be useful,
  9258  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9259  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9260  //    Lesser General Public License for more details.
  9261  //
  9262  //    You should have received a copy of the GNU Lesser General Public
  9263  //    License along with the GNU C Library; if not, see
  9264  //    <https://www.gnu.org/licenses/>.
  9265  
  9266  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
  9267  //    macro.
  9268  
  9269  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
  9270  //    macro.  Most but not all symbols enabled by that macro in TS
  9271  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
  9272  //    still require that macro in C2X.
  9273  
  9274  // ISO/IEC TS 18661-4:2015 defines the
  9275  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
  9276  //    functions, the symbols from this TS are enabled unconditionally in
  9277  //    C2X.
  9278  
  9279  // ISO/IEC TS 18661-3:2015 defines the
  9280  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
  9281  
  9282  // Get size_t, wchar_t and NULL from <stddef.h>.
  9283  // Copyright (C) 1989-2020 Free Software Foundation, Inc.
  9284  //
  9285  // This file is part of GCC.
  9286  //
  9287  // GCC is free software; you can redistribute it and/or modify
  9288  // it under the terms of the GNU General Public License as published by
  9289  // the Free Software Foundation; either version 3, or (at your option)
  9290  // any later version.
  9291  //
  9292  // GCC is distributed in the hope that it will be useful,
  9293  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  9294  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9295  // GNU General Public License for more details.
  9296  //
  9297  // Under Section 7 of GPL version 3, you are granted additional
  9298  // permissions described in the GCC Runtime Library Exception, version
  9299  // 3.1, as published by the Free Software Foundation.
  9300  //
  9301  // You should have received a copy of the GNU General Public License and
  9302  // a copy of the GCC Runtime Library Exception along with this program;
  9303  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  9304  // <http://www.gnu.org/licenses/>.
  9305  
  9306  // ISO C Standard:  7.17  Common definitions  <stddef.h>
  9307  
  9308  // Any one of these symbols __need_* means that GNU libc
  9309  //    wants us just to define one data type.  So don't define
  9310  //    the symbols that indicate this file's entire job has been done.
  9311  
  9312  // This avoids lossage on SunOS but only if stdtypes.h comes first.
  9313  //    There's no way to win with the other order!  Sun lossage.
  9314  
  9315  // Sequent's header files use _PTRDIFF_T_ in some conflicting way.
  9316  //    Just ignore it.
  9317  
  9318  // On VxWorks, <type/vxTypesBase.h> may have defined macros like
  9319  //    _TYPE_size_t which will typedef size_t.  fixincludes patched the
  9320  //    vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
  9321  //    not defined, and so that defining this macro defines _GCC_SIZE_T.
  9322  //    If we find that the macros are still defined at this point, we must
  9323  //    invoke them so that the type is defined as expected.
  9324  
  9325  // In case nobody has defined these types, but we aren't running under
  9326  //    GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
  9327  //    __WCHAR_TYPE__ have reasonable values.  This can happen if the
  9328  //    parts of GCC is compiled by an older compiler, that actually
  9329  //    include gstddef.h, such as collect2.
  9330  
  9331  // Signed type of difference of two pointers.
  9332  
  9333  // Define this type if we are doing the whole job,
  9334  //    or if we want this type in particular.
  9335  
  9336  // If this symbol has done its job, get rid of it.
  9337  
  9338  // Unsigned type of `sizeof' something.
  9339  
  9340  // Define this type if we are doing the whole job,
  9341  //    or if we want this type in particular.
  9342  
  9343  // Wide character type.
  9344  //    Locale-writers should change this as necessary to
  9345  //    be big enough to hold unique values not between 0 and 127,
  9346  //    and not (wchar_t) -1, for each defined multibyte character.
  9347  
  9348  // Define this type if we are doing the whole job,
  9349  //    or if we want this type in particular.
  9350  
  9351  // A null pointer constant.
  9352  
  9353  // Offset of member MEMBER in a struct of type TYPE.
  9354  
  9355  // XPG requires a few symbols from <sys/wait.h> being defined.
  9356  // Definitions of flag bits for `waitpid' et al.
  9357  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  9358  //    This file is part of the GNU C Library.
  9359  //
  9360  //    The GNU C Library is free software; you can redistribute it and/or
  9361  //    modify it under the terms of the GNU Lesser General Public
  9362  //    License as published by the Free Software Foundation; either
  9363  //    version 2.1 of the License, or (at your option) any later version.
  9364  //
  9365  //    The GNU C Library is distributed in the hope that it will be useful,
  9366  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9367  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9368  //    Lesser General Public License for more details.
  9369  //
  9370  //    You should have received a copy of the GNU Lesser General Public
  9371  //    License along with the GNU C Library; if not, see
  9372  //    <https://www.gnu.org/licenses/>.
  9373  
  9374  // Bits in the third argument to `waitpid'.
  9375  
  9376  // Bits in the fourth argument to `waitid'.
  9377  
  9378  // The following values are used by the `waitid' function.
  9379  
  9380  // The Linux kernel defines these bare, rather than an enum,
  9381  //    which causes a conflict if the include order is reversed.
  9382  
  9383  type Idtype_t = uint32 /* waitflags.h:57:3 */
  9384  // Definitions of status bits for `wait' et al.
  9385  //    Copyright (C) 1992-2020 Free Software Foundation, Inc.
  9386  //    This file is part of the GNU C Library.
  9387  //
  9388  //    The GNU C Library is free software; you can redistribute it and/or
  9389  //    modify it under the terms of the GNU Lesser General Public
  9390  //    License as published by the Free Software Foundation; either
  9391  //    version 2.1 of the License, or (at your option) any later version.
  9392  //
  9393  //    The GNU C Library is distributed in the hope that it will be useful,
  9394  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9395  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9396  //    Lesser General Public License for more details.
  9397  //
  9398  //    You should have received a copy of the GNU Lesser General Public
  9399  //    License along with the GNU C Library; if not, see
  9400  //    <https://www.gnu.org/licenses/>.
  9401  
  9402  // Everything extant so far uses these same bits.
  9403  
  9404  // If WIFEXITED(STATUS), the low-order 8 bits of the status.
  9405  
  9406  // If WIFSIGNALED(STATUS), the terminating signal.
  9407  
  9408  // If WIFSTOPPED(STATUS), the signal that stopped the child.
  9409  
  9410  // Nonzero if STATUS indicates normal termination.
  9411  
  9412  // Nonzero if STATUS indicates termination by a signal.
  9413  
  9414  // Nonzero if STATUS indicates the child is stopped.
  9415  
  9416  // Nonzero if STATUS indicates the child continued after a stop.  We only
  9417  //    define this if <bits/waitflags.h> provides the WCONTINUED flag bit.
  9418  
  9419  // Nonzero if STATUS indicates the child dumped core.
  9420  
  9421  // Macros for constructing status values.
  9422  
  9423  // Define the macros <sys/wait.h> also would define this way.
  9424  
  9425  // _FloatN API tests for enablement.
  9426  // Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
  9427  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  9428  //    This file is part of the GNU C Library.
  9429  //
  9430  //    The GNU C Library is free software; you can redistribute it and/or
  9431  //    modify it under the terms of the GNU Lesser General Public
  9432  //    License as published by the Free Software Foundation; either
  9433  //    version 2.1 of the License, or (at your option) any later version.
  9434  //
  9435  //    The GNU C Library is distributed in the hope that it will be useful,
  9436  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9437  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9438  //    Lesser General Public License for more details.
  9439  //
  9440  //    You should have received a copy of the GNU Lesser General Public
  9441  //    License along with the GNU C Library; if not, see
  9442  //    <https://www.gnu.org/licenses/>.
  9443  
  9444  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9445  //    This file is part of the GNU C Library.
  9446  //
  9447  //    The GNU C Library is free software; you can redistribute it and/or
  9448  //    modify it under the terms of the GNU Lesser General Public
  9449  //    License as published by the Free Software Foundation; either
  9450  //    version 2.1 of the License, or (at your option) any later version.
  9451  //
  9452  //    The GNU C Library is distributed in the hope that it will be useful,
  9453  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9454  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9455  //    Lesser General Public License for more details.
  9456  //
  9457  //    You should have received a copy of the GNU Lesser General Public
  9458  //    License along with the GNU C Library; if not, see
  9459  //    <https://www.gnu.org/licenses/>.
  9460  
  9461  // Properties of long double type.  ldbl-128 version.
  9462  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  9463  //    This file is part of the GNU C Library.
  9464  //
  9465  //    The GNU C Library is free software; you can redistribute it and/or
  9466  //    modify it under the terms of the GNU Lesser General Public
  9467  //    License  published by the Free Software Foundation; either
  9468  //    version 2.1 of the License, or (at your option) any later version.
  9469  //
  9470  //    The GNU C Library is distributed in the hope that it will be useful,
  9471  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9472  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9473  //    Lesser General Public License for more details.
  9474  //
  9475  //    You should have received a copy of the GNU Lesser General Public
  9476  //    License along with the GNU C Library; if not, see
  9477  //    <https://www.gnu.org/licenses/>.
  9478  
  9479  // long double is distinct from double, so there is nothing to
  9480  //    define here.
  9481  
  9482  // Defined to 1 if the current compiler invocation provides a
  9483  //    floating-point type with the IEEE 754 binary128 format, and this
  9484  //    glibc includes corresponding *f128 interfaces for it.
  9485  
  9486  // Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
  9487  //    from the default float, double and long double types in this glibc.
  9488  
  9489  // Defined to 1 if the current compiler invocation provides a
  9490  //    floating-point type with the right format for _Float64x, and this
  9491  //    glibc includes corresponding *f64x interfaces for it.
  9492  
  9493  // Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
  9494  //    of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
  9495  //    the format of _Float128, which must be different from that of long
  9496  //    double.
  9497  
  9498  // Defined to concatenate the literal suffix to be used with _Float128
  9499  //    types, if __HAVE_FLOAT128 is 1.
  9500  
  9501  // Defined to a complex binary128 type if __HAVE_FLOAT128 is 1.
  9502  
  9503  // The remaining of this file provides support for older compilers.
  9504  
  9505  // The type _Float128 exists only since GCC 7.0.
  9506  
  9507  // Various built-in functions do not exist before GCC 7.0.
  9508  
  9509  // Macros to control TS 18661-3 glibc features where the same
  9510  //    definitions are appropriate for all platforms.
  9511  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  9512  //    This file is part of the GNU C Library.
  9513  //
  9514  //    The GNU C Library is free software; you can redistribute it and/or
  9515  //    modify it under the terms of the GNU Lesser General Public
  9516  //    License as published by the Free Software Foundation; either
  9517  //    version 2.1 of the License, or (at your option) any later version.
  9518  //
  9519  //    The GNU C Library is distributed in the hope that it will be useful,
  9520  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9521  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9522  //    Lesser General Public License for more details.
  9523  //
  9524  //    You should have received a copy of the GNU Lesser General Public
  9525  //    License along with the GNU C Library; if not, see
  9526  //    <https://www.gnu.org/licenses/>.
  9527  
  9528  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9529  //    This file is part of the GNU C Library.
  9530  //
  9531  //    The GNU C Library is free software; you can redistribute it and/or
  9532  //    modify it under the terms of the GNU Lesser General Public
  9533  //    License as published by the Free Software Foundation; either
  9534  //    version 2.1 of the License, or (at your option) any later version.
  9535  //
  9536  //    The GNU C Library is distributed in the hope that it will be useful,
  9537  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9538  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9539  //    Lesser General Public License for more details.
  9540  //
  9541  //    You should have received a copy of the GNU Lesser General Public
  9542  //    License along with the GNU C Library; if not, see
  9543  //    <https://www.gnu.org/licenses/>.
  9544  
  9545  // Properties of long double type.  ldbl-128 version.
  9546  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
  9547  //    This file is part of the GNU C Library.
  9548  //
  9549  //    The GNU C Library is free software; you can redistribute it and/or
  9550  //    modify it under the terms of the GNU Lesser General Public
  9551  //    License  published by the Free Software Foundation; either
  9552  //    version 2.1 of the License, or (at your option) any later version.
  9553  //
  9554  //    The GNU C Library is distributed in the hope that it will be useful,
  9555  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9556  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9557  //    Lesser General Public License for more details.
  9558  //
  9559  //    You should have received a copy of the GNU Lesser General Public
  9560  //    License along with the GNU C Library; if not, see
  9561  //    <https://www.gnu.org/licenses/>.
  9562  
  9563  // long double is distinct from double, so there is nothing to
  9564  //    define here.
  9565  
  9566  // This header should be included at the bottom of each bits/floatn.h.
  9567  //    It defines the following macros for each _FloatN and _FloatNx type,
  9568  //    where the same definitions, or definitions based only on the macros
  9569  //    in bits/floatn.h, are appropriate for all glibc configurations.
  9570  
  9571  // Defined to 1 if the current compiler invocation provides a
  9572  //    floating-point type with the right format for this type, and this
  9573  //    glibc includes corresponding *fN or *fNx interfaces for it.
  9574  
  9575  // Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
  9576  //    type is the first with its format in the sequence of (the default
  9577  //    choices for) float, double, long double, _Float16, _Float32,
  9578  //    _Float64, _Float128, _Float32x, _Float64x, _Float128x for this
  9579  //    glibc; that is, if functions present once per floating-point format
  9580  //    rather than once per type are present for this type.
  9581  //
  9582  //    All configurations supported by glibc have _Float32 the same format
  9583  //    as float, _Float64 and _Float32x the same format as double, the
  9584  //    _Float64x the same format as either long double or _Float128.  No
  9585  //    configurations support _Float128x or, as of GCC 7, have compiler
  9586  //    support for a type meeting the requirements for _Float128x.
  9587  
  9588  // Defined to 1 if the corresponding _FloatN type is not binary compatible
  9589  //    with the corresponding ISO C type in the current compilation unit as
  9590  //    opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
  9591  //    in glibc.
  9592  
  9593  // Defined to 1 if any _FloatN or _FloatNx types that are not
  9594  //    ABI-distinct are however distinct types at the C language level (so
  9595  //    for the purposes of __builtin_types_compatible_p and _Generic).
  9596  
  9597  // Defined to concatenate the literal suffix to be used with _FloatN
  9598  //    or _FloatNx types, if __HAVE_<type> is 1.  The corresponding
  9599  //    literal suffixes exist since GCC 7, for C only.
  9600  
  9601  // Defined to a complex type if __HAVE_<type> is 1.
  9602  
  9603  // The remaining of this file provides support for older compilers.
  9604  
  9605  // If double, long double and _Float64 all have the same set of
  9606  //    values, TS 18661-3 requires the usual arithmetic conversions on
  9607  //    long double and _Float64 to produce _Float64.  For this to be the
  9608  //    case when building with a compiler without a distinct _Float64
  9609  //    type, _Float64 must be a typedef for long double, not for
  9610  //    double.
  9611  
  9612  // Returned by `div'.
  9613  type Div_t = struct {
  9614  	Fquot int32
  9615  	Frem  int32
  9616  } /* stdlib.h:62:5 */
  9617  
  9618  // Returned by `ldiv'.
  9619  type Ldiv_t = struct {
  9620  	Fquot int64
  9621  	Frem  int64
  9622  } /* stdlib.h:70:5 */
  9623  
  9624  // Returned by `lldiv'.
  9625  type Lldiv_t = struct {
  9626  	Fquot int64
  9627  	Frem  int64
  9628  } /* stdlib.h:80:5 */
  9629  
  9630  // Reentrant versions of the `random' family of functions.
  9631  //    These functions all use the following data structure to contain
  9632  //    state, rather than global state variables.
  9633  
  9634  type Random_data = struct {
  9635  	Ffptr        uintptr
  9636  	Frptr        uintptr
  9637  	Fstate       uintptr
  9638  	Frand_type   int32
  9639  	Frand_deg    int32
  9640  	Frand_sep    int32
  9641  	F__ccgo_pad1 [4]byte
  9642  	Fend_ptr     uintptr
  9643  } /* stdlib.h:423:1 */
  9644  
  9645  // Data structure for communication with thread safe versions.  This
  9646  //    type is to be regarded as opaque.  It's only exported because users
  9647  //    have to allocate objects of this type.
  9648  type Drand48_data = struct {
  9649  	F__x     [3]uint16
  9650  	F__old_x [3]uint16
  9651  	F__c     uint16
  9652  	F__init  uint16
  9653  	F__a     uint64
  9654  } /* stdlib.h:490:1 */
  9655  
  9656  // Shorthand for type of comparison functions.
  9657  type X__compar_fn_t = uintptr /* stdlib.h:808:13 */
  9658  
  9659  // Floating-point inline functions for stdlib.h.
  9660  //    Copyright (C) 2012-2020 Free Software Foundation, Inc.
  9661  //    This file is part of the GNU C Library.
  9662  //
  9663  //    The GNU C Library is free software; you can redistribute it and/or
  9664  //    modify it under the terms of the GNU Lesser General Public
  9665  //    License as published by the Free Software Foundation; either
  9666  //    version 2.1 of the License, or (at your option) any later version.
  9667  //
  9668  //    The GNU C Library is distributed in the hope that it will be useful,
  9669  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9670  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9671  //    Lesser General Public License for more details.
  9672  //
  9673  //    You should have received a copy of the GNU Lesser General Public
  9674  //    License along with the GNU C Library; if not, see
  9675  //    <https://www.gnu.org/licenses/>.
  9676  
  9677  // Define some macros helping to catch buffer overflows.
  9678  
  9679  // Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
  9680  //    Copyright (C) 2017-2020 Free Software Foundation, Inc.
  9681  //    This file is part of the GNU C Library.
  9682  //
  9683  //    The GNU C Library is free software; you can redistribute it and/or
  9684  //    modify it under the terms of the GNU Lesser General Public
  9685  //    License as published by the Free Software Foundation; either
  9686  //    version 2.1 of the License, or (at your option) any later version.
  9687  //
  9688  //    The GNU C Library is distributed in the hope that it will be useful,
  9689  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9690  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9691  //    Lesser General Public License for more details.
  9692  //
  9693  //    You should have received a copy of the GNU Lesser General Public
  9694  //    License along with the GNU C Library; if not, see
  9695  //    <https://www.gnu.org/licenses/>.
  9696  
  9697  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
  9698  //    This file is part of the GNU C Library.
  9699  //
  9700  //    The GNU C Library is free software; you can redistribute it and/or
  9701  //    modify it under the terms of the GNU Lesser General Public
  9702  //    License as published by the Free Software Foundation; either
  9703  //    version 2.1 of the License, or (at your option) any later version.
  9704  //
  9705  //    The GNU C Library is distributed in the hope that it will be useful,
  9706  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9707  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  9708  //    Lesser General Public License for more details.
  9709  //
  9710  //    You should have received a copy of the GNU Lesser General Public
  9711  //    License along with the GNU C Library; if not, see
  9712  //    <https://www.gnu.org/licenses/>.
  9713  
  9714  //	ISO C99 Standard: 7.21 String handling	<string.h>
  9715  
  9716  //
  9717  //
  9718  // Copyright 1989, 1991, 1998  The Open Group
  9719  //
  9720  // Permission to use, copy, modify, distribute, and sell this software and its
  9721  // documentation for any purpose is hereby granted without fee, provided that
  9722  // the above copyright notice appear in all copies and that both that
  9723  // copyright notice and this permission notice appear in supporting
  9724  // documentation.
  9725  //
  9726  // The above copyright notice and this permission notice shall be included in
  9727  // all copies or substantial portions of the Software.
  9728  //
  9729  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9730  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9731  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9732  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9733  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9734  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9735  //
  9736  // Except as contained in this notice, the name of The Open Group shall not be
  9737  // used in advertising or otherwise to promote the sale, use or other dealings
  9738  // in this Software without prior written authorization from The Open Group.
  9739  //  *
  9740  //
  9741  
  9742  // Definitions to make function prototypes manageable
  9743  
  9744  // The following definitions can be used for locking requests in multi-threaded
  9745  // address spaces.
  9746  // Author: Stephen Gildea, MIT X Consortium
  9747  //
  9748  // declarations for C Threads locking
  9749  
  9750  type LockInfoPtr = uintptr /* Xlibint.h:363:29 */
  9751  
  9752  // Xlib manual is bogus
  9753  
  9754  // CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit
  9755  // character.  If the character is in the column and exists, then return the
  9756  // appropriate metrics (note that fonts with common per-character metrics will
  9757  // return min_bounds).  If none of these hold true, try again with the default
  9758  // char.
  9759  
  9760  // CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and
  9761  // column.  This is used for fonts that have more than row zero.
  9762  
  9763  // srcvar must be a variable for large architecture version
  9764  
  9765  type X_XAsyncHandler = X_XInternalAsync /* Xlibint.h:782:3 */
  9766  
  9767  // This struct is part of the ABI and is defined by value
  9768  // in user-code. This means that we cannot make
  9769  // the sequence-numbers 64bit.
  9770  type X_XAsyncEState = struct {
  9771  	Fmin_sequence_number uint64
  9772  	Fmax_sequence_number uint64
  9773  	Ferror_code          uint8
  9774  	Fmajor_opcode        uint8
  9775  	Fminor_opcode        uint16
  9776  	Flast_error_received uint8
  9777  	F__ccgo_pad1         [3]byte
  9778  	Ferror_count         int32
  9779  	F__ccgo_pad2         [4]byte
  9780  } /* Xlibint.h:789:9 */
  9781  
  9782  // This struct is part of the ABI and is defined by value
  9783  // in user-code. This means that we cannot make
  9784  // the sequence-numbers 64bit.
  9785  type X_XAsyncErrorState = X_XAsyncEState /* Xlibint.h:797:3 */
  9786  
  9787  type FreeFuncType = uintptr /* Xlibint.h:807:14 */
  9788  
  9789  type FreeModmapType = uintptr /* Xlibint.h:811:13 */
  9790  
  9791  // This structure is private to the library.
  9792  type X_XFreeFuncRec = X_XFreeFuncs /* Xlibint.h:828:3 */
  9793  
  9794  // types for InitExt.c
  9795  type CreateGCType = uintptr /* Xlibint.h:831:13 */
  9796  
  9797  type CopyGCType = uintptr /* Xlibint.h:837:13 */
  9798  
  9799  type FlushGCType = uintptr /* Xlibint.h:843:13 */
  9800  
  9801  type FreeGCType = uintptr /* Xlibint.h:849:13 */
  9802  
  9803  type CreateFontType = uintptr /* Xlibint.h:855:13 */
  9804  
  9805  type FreeFontType = uintptr /* Xlibint.h:861:13 */
  9806  
  9807  type CloseDisplayType = uintptr /* Xlibint.h:867:13 */
  9808  
  9809  type ErrorType = uintptr /* Xlibint.h:872:13 */
  9810  
  9811  type ErrorStringType = uintptr /* Xlibint.h:879:13 */
  9812  
  9813  type PrintErrorType = uintptr /* Xlibint.h:887:14 */
  9814  
  9815  type BeforeFlushType = uintptr /* Xlibint.h:893:14 */
  9816  
  9817  // This structure is private to the library.
  9818  type X_XExtension = X_XExten /* Xlibint.h:919:3 */
  9819  
  9820  // internal connections for IMs
  9821  
  9822  type X_XInternalConnectionProc = uintptr /* Xlibint.h:1289:14 */
  9823  
  9824  //**********************************************************
  9825  //
  9826  // Copyright 1987, 1998  The Open Group
  9827  //
  9828  // Permission to use, copy, modify, distribute, and sell this software and its
  9829  // documentation for any purpose is hereby granted without fee, provided that
  9830  // the above copyright notice appear in all copies and that both that
  9831  // copyright notice and this permission notice appear in supporting
  9832  // documentation.
  9833  //
  9834  // The above copyright notice and this permission notice shall be included in
  9835  // all copies or substantial portions of the Software.
  9836  //
  9837  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9838  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9839  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9840  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9841  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9842  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9843  //
  9844  // Except as contained in this notice, the name of The Open Group shall not be
  9845  // used in advertising or otherwise to promote the sale, use or other dealings
  9846  // in this Software without prior written authorization from The Open Group.
  9847  //
  9848  //
  9849  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  9850  //
  9851  //                         All Rights Reserved
  9852  //
  9853  // Permission to use, copy, modify, and distribute this software and its
  9854  // documentation for any purpose and without fee is hereby granted,
  9855  // provided that the above copyright notice appear in all copies and that
  9856  // both that copyright notice and this permission notice appear in
  9857  // supporting documentation, and that the name of Digital not be
  9858  // used in advertising or publicity pertaining to distribution of the
  9859  // software without specific, written prior permission.
  9860  //
  9861  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  9862  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  9863  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  9864  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  9865  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  9866  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  9867  // SOFTWARE.
  9868  //
  9869  // *****************************************************************
  9870  
  9871  // You must include <X11/Xlib.h> before including this file
  9872  //
  9873  //
  9874  // Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
  9875  //
  9876  // Permission to use, copy, modify, distribute, and sell this software and its
  9877  // documentation for any purpose is hereby granted without fee, provided that
  9878  // the above copyright notice appear in all copies and that both that
  9879  // copyright notice and this permission notice appear in supporting
  9880  // documentation.
  9881  //
  9882  // The above copyright notice and this permission notice shall be included in
  9883  // all copies or substantial portions of the Software.
  9884  //
  9885  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9886  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9887  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9888  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9889  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9890  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9891  //
  9892  // Except as contained in this notice, the name of The Open Group shall not be
  9893  // used in advertising or otherwise to promote the sale, use or other dealings
  9894  // in this Software without prior written authorization from The Open Group.
  9895  //
  9896  
  9897  //	Xlib.h - Header definition and support file for the C subroutine
  9898  //	interface library (Xlib) to the X Window System Protocol (V11).
  9899  //	Structures and symbols starting with "_" are private to the library.
  9900  //**********************************************************
  9901  //
  9902  // Copyright 1987, 1998  The Open Group
  9903  //
  9904  // Permission to use, copy, modify, distribute, and sell this software and its
  9905  // documentation for any purpose is hereby granted without fee, provided that
  9906  // the above copyright notice appear in all copies and that both that
  9907  // copyright notice and this permission notice appear in supporting
  9908  // documentation.
  9909  //
  9910  // The above copyright notice and this permission notice shall be included in
  9911  // all copies or substantial portions of the Software.
  9912  //
  9913  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  9914  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  9915  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
  9916  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  9917  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  9918  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  9919  //
  9920  // Except as contained in this notice, the name of The Open Group shall not be
  9921  // used in advertising or otherwise to promote the sale, use or other dealings
  9922  // in this Software without prior written authorization from The Open Group.
  9923  //
  9924  //
  9925  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  9926  //
  9927  //                         All Rights Reserved
  9928  //
  9929  // Permission to use, copy, modify, and distribute this software and its
  9930  // documentation for any purpose and without fee is hereby granted,
  9931  // provided that the above copyright notice appear in all copies and that
  9932  // both that copyright notice and this permission notice appear in
  9933  // supporting documentation, and that the name of Digital not be
  9934  // used in advertising or publicity pertaining to distribution of the
  9935  // software without specific, written prior permission.
  9936  //
  9937  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  9938  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  9939  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  9940  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  9941  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  9942  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  9943  // SOFTWARE.
  9944  //
  9945  // *****************************************************************
  9946  
  9947  // default keysyms
  9948  
  9949  //**********************************************************
  9950  // Copyright 1987, 1994, 1998  The Open Group
  9951  //
  9952  // Permission to use, copy, modify, distribute, and sell this software and its
  9953  // documentation for any purpose is hereby granted without fee, provided that
  9954  // the above copyright notice appear in all copies and that both that
  9955  // copyright notice and this permission notice appear in supporting
  9956  // documentation.
  9957  //
  9958  // The above copyright notice and this permission notice shall be included
  9959  // in all copies or substantial portions of the Software.
  9960  //
  9961  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  9962  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  9963  // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  9964  // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
  9965  // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  9966  // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  9967  // OTHER DEALINGS IN THE SOFTWARE.
  9968  //
  9969  // Except as contained in this notice, the name of The Open Group shall
  9970  // not be used in advertising or otherwise to promote the sale, use or
  9971  // other dealings in this Software without prior written authorization
  9972  // from The Open Group.
  9973  //
  9974  //
  9975  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
  9976  //
  9977  //                         All Rights Reserved
  9978  //
  9979  // Permission to use, copy, modify, and distribute this software and its
  9980  // documentation for any purpose and without fee is hereby granted,
  9981  // provided that the above copyright notice appear in all copies and that
  9982  // both that copyright notice and this permission notice appear in
  9983  // supporting documentation, and that the name of Digital not be
  9984  // used in advertising or publicity pertaining to distribution of the
  9985  // software without specific, written prior permission.
  9986  //
  9987  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  9988  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  9989  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  9990  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  9991  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  9992  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  9993  // SOFTWARE.
  9994  //
  9995  // *****************************************************************
  9996  
  9997  // The "X11 Window System Protocol" standard defines in Appendix A the
  9998  // keysym codes. These 29-bit integer values identify characters or
  9999  // functions associated with each key (e.g., via the visible
 10000  // engraving) of a keyboard layout. This file assigns mnemonic macro
 10001  // names for these keysyms.
 10002  //
 10003  // This file is also compiled (by src/util/makekeys.c in libX11) into
 10004  // hash tables that can be accessed with X11 library functions such as
 10005  // XStringToKeysym() and XKeysymToString().
 10006  //
 10007  // Where a keysym corresponds one-to-one to an ISO 10646 / Unicode
 10008  // character, this is noted in a comment that provides both the U+xxxx
 10009  // Unicode position, as well as the official Unicode name of the
 10010  // character.
 10011  //
 10012  // Where the correspondence is either not one-to-one or semantically
 10013  // unclear, the Unicode position and name are enclosed in
 10014  // parentheses. Such legacy keysyms should be considered deprecated
 10015  // and are not recommended for use in future keyboard mappings.
 10016  //
 10017  // For any future extension of the keysyms with characters already
 10018  // found in ISO 10646 / Unicode, the following algorithm shall be
 10019  // used. The new keysym code position will simply be the character's
 10020  // Unicode number plus 0x01000000. The keysym values in the range
 10021  // 0x01000100 to 0x0110ffff are reserved to represent Unicode
 10022  // characters in the range U+0100 to U+10FFFF.
 10023  //
 10024  // While most newer Unicode-based X11 clients do already accept
 10025  // Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it
 10026  // will remain necessary for clients -- in the interest of
 10027  // compatibility with existing servers -- to also understand the
 10028  // existing legacy keysym values in the range 0x0100 to 0x20ff.
 10029  //
 10030  // Where several mnemonic names are defined for the same keysym in this
 10031  // file, all but the first one listed should be considered deprecated.
 10032  //
 10033  // Mnemonic names for keysyms are defined in this file with lines
 10034  // that match one of these Perl regular expressions:
 10035  //
 10036  //    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/
 10037  //    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
 10038  //    /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
 10039  //
 10040  // Before adding new keysyms, please do consider the following: In
 10041  // addition to the keysym names defined in this file, the
 10042  // XStringToKeysym() and XKeysymToString() functions will also handle
 10043  // any keysym string of the form "U0020" to "U007E" and "U00A0" to
 10044  // "U10FFFF" for all possible Unicode characters. In other words,
 10045  // every possible Unicode character has already a keysym string
 10046  // defined algorithmically, even if it is not listed here. Therefore,
 10047  // defining an additional keysym macro is only necessary where a
 10048  // non-hexadecimal mnemonic name is needed, or where the new keysym
 10049  // does not represent any existing Unicode character.
 10050  //
 10051  // When adding new keysyms to this file, do not forget to also update the
 10052  // following as needed:
 10053  //
 10054  //   - the mappings in src/KeyBind.c in the libX11 repo
 10055  //     https://gitlab.freedesktop.org/xorg/lib/libx11
 10056  //
 10057  //   - the protocol specification in specs/keysyms.xml in this repo
 10058  //     https://gitlab.freedesktop.org/xorg/proto/xorgproto
 10059  //
 10060  
 10061  // TTY function keys, cleverly chosen to map to ASCII, for convenience of
 10062  // programming, but could have been arbitrary (at the cost of lookup
 10063  // tables in client code).
 10064  
 10065  // International & multi-key character composition
 10066  
 10067  // Japanese keyboard support
 10068  
 10069  // 0xff31 thru 0xff3f are under XK_KOREAN
 10070  
 10071  // Cursor control & motion
 10072  
 10073  // Misc functions
 10074  
 10075  // Keypad functions, keypad numbers cleverly chosen to map to ASCII
 10076  
 10077  // Auxiliary functions; note the duplicate definitions for left and right
 10078  // function keys;  Sun keyboards and a few other manufacturers have such
 10079  // function key groups on the left and/or right sides of the keyboard.
 10080  // We've not found a keyboard with more than 35 function keys total.
 10081  
 10082  // Modifiers
 10083  
 10084  // Keyboard (XKB) Extension function and modifier keys
 10085  // (from Appendix C of "The X Keyboard Extension: Protocol Specification")
 10086  // Byte 3 = 0xfe
 10087  
 10088  // extra dead elements for German T3 layout
 10089  
 10090  // dead vowels for universal syllable entry
 10091  
 10092  // Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method
 10093  
 10094  // 3270 Terminal Keys
 10095  // Byte 3 = 0xfd
 10096  
 10097  // Latin 1
 10098  // (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
 10099  // Byte 3 = 0
 10100  
 10101  // Latin 2
 10102  // Byte 3 = 1
 10103  
 10104  // Latin 3
 10105  // Byte 3 = 2
 10106  
 10107  // Latin 4
 10108  // Byte 3 = 3
 10109  
 10110  // Latin 8
 10111  
 10112  // Latin 9
 10113  // Byte 3 = 0x13
 10114  
 10115  // Katakana
 10116  // Byte 3 = 4
 10117  
 10118  // Arabic
 10119  // Byte 3 = 5
 10120  
 10121  // Cyrillic
 10122  // Byte 3 = 6
 10123  
 10124  // Greek
 10125  // (based on an early draft of, and not quite identical to, ISO/IEC 8859-7)
 10126  // Byte 3 = 7
 10127  
 10128  // Technical
 10129  // (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html)
 10130  // Byte 3 = 8
 10131  
 10132  // Special
 10133  // (from the DEC VT100 Special Graphics Character Set)
 10134  // Byte 3 = 9
 10135  
 10136  // Publishing
 10137  // (these are probably from a long forgotten DEC Publishing
 10138  // font that once shipped with DECwrite)
 10139  // Byte 3 = 0x0a
 10140  
 10141  // APL
 10142  // Byte 3 = 0x0b
 10143  
 10144  // Hebrew
 10145  // Byte 3 = 0x0c
 10146  
 10147  // Thai
 10148  // Byte 3 = 0x0d
 10149  
 10150  // Korean
 10151  // Byte 3 = 0x0e
 10152  
 10153  // Hangul Consonant Characters
 10154  
 10155  // Hangul Vowel Characters
 10156  
 10157  // Hangul syllable-final (JongSeong) Characters
 10158  
 10159  // Ancient Hangul Consonant Characters
 10160  
 10161  // Ancient Hangul Vowel Characters
 10162  
 10163  // Ancient Hangul syllable-final (JongSeong) Characters
 10164  
 10165  // Korean currency symbol
 10166  
 10167  // Armenian
 10168  
 10169  // Georgian
 10170  
 10171  // Azeri (and other Turkic or Caucasian languages)
 10172  
 10173  // latin
 10174  // those are not really Caucasus
 10175  // For Inupiak
 10176  
 10177  // Vietnamese
 10178  
 10179  // one, two and three are defined above.
 10180  
 10181  // Sinhala (http://unicode.org/charts/PDF/U0D80.pdf)
 10182  // http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html
 10183  
 10184  // The Xlib structs are full of implicit padding to properly align members.
 10185  //    We can't clean that up without breaking ABI, so tell clang not to bother
 10186  //    complaining about it.
 10187  
 10188  // Bitmask returned by XParseGeometry().  Each bit tells if the corresponding
 10189  // value (x, y, width, height) was found in the parsed string.
 10190  
 10191  // new version containing base_width, base_height, and win_gravity fields;
 10192  // used with WM_NORMAL_HINTS.
 10193  type XSizeHints = struct {
 10194  	Fflags      int64
 10195  	Fx          int32
 10196  	Fy          int32
 10197  	Fwidth      int32
 10198  	Fheight     int32
 10199  	Fmin_width  int32
 10200  	Fmin_height int32
 10201  	Fmax_width  int32
 10202  	Fmax_height int32
 10203  	Fwidth_inc  int32
 10204  	Fheight_inc int32
 10205  	Fmin_aspect struct {
 10206  		Fx int32
 10207  		Fy int32
 10208  	}
 10209  	Fmax_aspect struct {
 10210  		Fx int32
 10211  		Fy int32
 10212  	}
 10213  	Fbase_width  int32
 10214  	Fbase_height int32
 10215  	Fwin_gravity int32
 10216  	F__ccgo_pad1 [4]byte
 10217  } /* Xutil.h:94:3 */
 10218  
 10219  // The next block of definitions are for window manager properties that
 10220  // clients and applications use for communication.
 10221  
 10222  // flags argument in size hints
 10223  
 10224  // obsolete
 10225  
 10226  type XWMHints = struct {
 10227  	Fflags         int64
 10228  	Finput         int32
 10229  	Finitial_state int32
 10230  	Ficon_pixmap   Pixmap
 10231  	Ficon_window   Window
 10232  	Ficon_x        int32
 10233  	Ficon_y        int32
 10234  	Ficon_mask     Pixmap
 10235  	Fwindow_group  XID
 10236  } /* Xutil.h:130:3 */
 10237  
 10238  // definition for flags of XWMHints
 10239  
 10240  // definitions for initial window state
 10241  
 10242  // Obsolete states no longer defined by ICCCM
 10243  // some wm's may put it on inactive menu
 10244  
 10245  // new structure for manipulating TEXT properties; used with WM_NAME,
 10246  // WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
 10247  type XTextProperty = struct {
 10248  	Fvalue       uintptr
 10249  	Fencoding    Atom
 10250  	Fformat      int32
 10251  	F__ccgo_pad1 [4]byte
 10252  	Fnitems      uint64
 10253  } /* Xutil.h:168:3 */
 10254  
 10255  type XICCEncodingStyle = uint32 /* Xutil.h:181:3 */
 10256  
 10257  type XIconSize = struct {
 10258  	Fmin_width  int32
 10259  	Fmin_height int32
 10260  	Fmax_width  int32
 10261  	Fmax_height int32
 10262  	Fwidth_inc  int32
 10263  	Fheight_inc int32
 10264  } /* Xutil.h:187:3 */
 10265  
 10266  type XClassHint = struct {
 10267  	Fres_name  uintptr
 10268  	Fres_class uintptr
 10269  } /* Xutil.h:192:3 */
 10270  
 10271  // These macros are used to give some sugar to the image routines so that
 10272  // naive people are more comfortable with them.
 10273  
 10274  // Compose sequence status structure, used in calling XLookupString.
 10275  type X_XComposeStatus = struct {
 10276  	Fcompose_ptr   XPointer
 10277  	Fchars_matched int32
 10278  	F__ccgo_pad1   [4]byte
 10279  } /* Xutil.h:231:9 */
 10280  
 10281  // These macros are used to give some sugar to the image routines so that
 10282  // naive people are more comfortable with them.
 10283  
 10284  // Compose sequence status structure, used in calling XLookupString.
 10285  type XComposeStatus = X_XComposeStatus /* Xutil.h:234:3 */
 10286  
 10287  // Keysym macros, used on Keysyms to test for classes of symbols
 10288  
 10289  // opaque reference to Region data type
 10290  type X_XRegion = struct {
 10291  	Fsize     int64
 10292  	FnumRects int64
 10293  	Frects    uintptr
 10294  	Fextents  BOX
 10295  } /* Xutil.h:273:9 */
 10296  
 10297  // Keysym macros, used on Keysyms to test for classes of symbols
 10298  
 10299  // opaque reference to Region data type
 10300  type Region = uintptr /* Xutil.h:273:25 */
 10301  
 10302  // Return values from XRectInRegion()
 10303  
 10304  // Information used by the visual utility routines to find desired visual
 10305  // type from the many visuals a display may support.
 10306  
 10307  type XVisualInfo = struct {
 10308  	Fvisual        uintptr
 10309  	Fvisualid      VisualID
 10310  	Fscreen        int32
 10311  	Fdepth         int32
 10312  	Fclass         int32
 10313  	F__ccgo_pad1   [4]byte
 10314  	Fred_mask      uint64
 10315  	Fgreen_mask    uint64
 10316  	Fblue_mask     uint64
 10317  	Fcolormap_size int32
 10318  	Fbits_per_rgb  int32
 10319  } /* Xutil.h:302:3 */
 10320  
 10321  // This defines a window manager property that clients may use to
 10322  // share standard color maps of type RGB_COLOR_MAP:
 10323  type XStandardColormap = struct {
 10324  	Fcolormap   Colormap
 10325  	Fred_max    uint64
 10326  	Fred_mult   uint64
 10327  	Fgreen_max  uint64
 10328  	Fgreen_mult uint64
 10329  	Fblue_max   uint64
 10330  	Fblue_mult  uint64
 10331  	Fbase_pixel uint64
 10332  	Fvisualid   VisualID
 10333  	Fkillid     XID
 10334  } /* Xutil.h:331:3 */
 10335  
 10336  // return codes for XReadBitmapFile and XWriteBitmapFile
 10337  
 10338  // ***************************************************************
 10339  //
 10340  //
 10341  // Context Management
 10342  //
 10343  //
 10344  
 10345  // Associative lookup table return codes
 10346  
 10347  type XContext = int32 /* Xutil.h:357:13 */
 10348  
 10349  // Copyright © 2000 SuSE, Inc.
 10350  //
 10351  // Permission to use, copy, modify, distribute, and sell this software and its
 10352  // documentation for any purpose is hereby granted without fee, provided that
 10353  // the above copyright notice appear in all copies and that both that
 10354  // copyright notice and this permission notice appear in supporting
 10355  // documentation, and that the name of SuSE not be used in advertising or
 10356  // publicity pertaining to distribution of the software without specific,
 10357  // written prior permission.  SuSE makes no representations about the
 10358  // suitability of this software for any purpose.  It is provided "as is"
 10359  // without express or implied warranty.
 10360  //
 10361  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 10362  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 10363  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 10364  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 10365  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 10366  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 10367  //
 10368  // Author:  Keith Packard, SuSE, Inc.
 10369  
 10370  //**********************************************************
 10371  //
 10372  // Copyright 1987, 1998  The Open Group
 10373  //
 10374  // Permission to use, copy, modify, distribute, and sell this software and its
 10375  // documentation for any purpose is hereby granted without fee, provided that
 10376  // the above copyright notice appear in all copies and that both that
 10377  // copyright notice and this permission notice appear in supporting
 10378  // documentation.
 10379  //
 10380  // The above copyright notice and this permission notice shall be included in
 10381  // all copies or substantial portions of the Software.
 10382  //
 10383  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10384  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10385  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10386  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10387  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10388  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10389  //
 10390  // Except as contained in this notice, the name of The Open Group shall not be
 10391  // used in advertising or otherwise to promote the sale, use or other dealings
 10392  // in this Software without prior written authorization from The Open Group.
 10393  //
 10394  //
 10395  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 10396  //
 10397  //                         All Rights Reserved
 10398  //
 10399  // Permission to use, copy, modify, and distribute this software and its
 10400  // documentation for any purpose and without fee is hereby granted,
 10401  // provided that the above copyright notice appear in all copies and that
 10402  // both that copyright notice and this permission notice appear in
 10403  // supporting documentation, and that the name of Digital not be
 10404  // used in advertising or publicity pertaining to distribution of the
 10405  // software without specific, written prior permission.
 10406  //
 10407  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 10408  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 10409  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 10410  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 10411  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 10412  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 10413  // SOFTWARE.
 10414  //
 10415  // *****************************************************************
 10416  // Copyright © 2000 SuSE, Inc.
 10417  //
 10418  // Permission to use, copy, modify, distribute, and sell this software and its
 10419  // documentation for any purpose is hereby granted without fee, provided that
 10420  // the above copyright notice appear in all copies and that both that
 10421  // copyright notice and this permission notice appear in supporting
 10422  // documentation, and that the name of SuSE not be used in advertising or
 10423  // publicity pertaining to distribution of the software without specific,
 10424  // written prior permission.  SuSE makes no representations about the
 10425  // suitability of this software for any purpose.  It is provided "as is"
 10426  // without express or implied warranty.
 10427  //
 10428  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 10429  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 10430  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 10431  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 10432  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 10433  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 10434  //
 10435  // Author:  Keith Packard, SuSE, Inc.
 10436  
 10437  //**********************************************************
 10438  //
 10439  // Copyright (c) 1999  The XFree86 Project Inc.
 10440  //
 10441  // All Rights Reserved.
 10442  //
 10443  // The above copyright notice and this permission notice shall be included in
 10444  // all copies or substantial portions of the Software.
 10445  //
 10446  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 10447  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 10448  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 10449  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 10450  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 10451  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 10452  //
 10453  // Except as contained in this notice, the name of The XFree86 Project
 10454  // Inc. shall not be used in advertising or otherwise to promote the
 10455  // sale, use or other dealings in this Software without prior written
 10456  // authorization from The XFree86 Project Inc..
 10457  //
 10458  
 10459  // *
 10460  // Types definitions shared between server and clients
 10461  //
 10462  
 10463  type Pointer = uintptr /* Xdefs.h:53:14 */
 10464  
 10465  type ClientPtr = uintptr /* Xdefs.h:57:24 */
 10466  
 10467  type FontPtr = uintptr /* Xdefs.h:81:22 */ // also in fonts/include/font.h
 10468  
 10469  type FSID = uint64 /* Xdefs.h:91:23 */
 10470  
 10471  type AccContext = FSID /* Xdefs.h:97:14 */
 10472  
 10473  // OS independent time value
 10474  //    XXX Should probably go in Xos.h
 10475  type OSTimePtr = uintptr /* Xdefs.h:101:24 */
 10476  
 10477  type BlockHandlerProcPtr = uintptr /* Xdefs.h:104:14 */
 10478  
 10479  type Glyph = XID      /* render.h:29:14 */
 10480  type GlyphSet = XID   /* render.h:30:14 */
 10481  type Picture = XID    /* render.h:31:14 */
 10482  type PictFormat = XID /* render.h:32:14 */
 10483  
 10484  // #define X_RenderTransform		    16
 10485  // 0.5
 10486  // 0.6
 10487  // 0.8
 10488  // 0.9
 10489  // 0.10
 10490  
 10491  // Operators only available in version 0.2
 10492  
 10493  // Operators only available in version 0.11
 10494  
 10495  // Filters included in 0.6
 10496  // Filters included in 0.10
 10497  
 10498  // Subpixel orders included in 0.6
 10499  
 10500  // Extended repeat attributes included in 0.10
 10501  
 10502  // data structures
 10503  
 10504  type XDirectFormat = struct {
 10505  	Fred       CARD16
 10506  	FredMask   CARD16
 10507  	Fgreen     CARD16
 10508  	FgreenMask CARD16
 10509  	Fblue      CARD16
 10510  	FblueMask  CARD16
 10511  	Falpha     CARD16
 10512  	FalphaMask CARD16
 10513  } /* renderproto.h:61:3 */
 10514  
 10515  type XPictFormInfo = struct {
 10516  	Fid       CARD32
 10517  	Ftype     CARD8
 10518  	Fdepth    CARD8
 10519  	Fpad1     CARD16
 10520  	Fdirect   XDirectFormat
 10521  	Fcolormap CARD32
 10522  } /* renderproto.h:72:3 */
 10523  
 10524  type XPictVisual = struct {
 10525  	Fvisual CARD32
 10526  	Fformat CARD32
 10527  } /* renderproto.h:79:3 */
 10528  
 10529  type XPictDepth = struct {
 10530  	Fdepth        CARD8
 10531  	Fpad1         CARD8
 10532  	FnPictVisuals CARD16
 10533  	Fpad2         CARD32
 10534  } /* renderproto.h:88:3 */
 10535  
 10536  type XPictScreen = struct {
 10537  	FnDepth   CARD32
 10538  	Ffallback CARD32
 10539  } /* renderproto.h:95:3 */
 10540  
 10541  type XIndexValue = struct {
 10542  	Fpixel CARD32
 10543  	Fred   CARD16
 10544  	Fgreen CARD16
 10545  	Fblue  CARD16
 10546  	Falpha CARD16
 10547  } /* renderproto.h:105:3 */
 10548  
 10549  type XRenderColor = struct {
 10550  	Fred   CARD16
 10551  	Fgreen CARD16
 10552  	Fblue  CARD16
 10553  	Falpha CARD16
 10554  } /* renderproto.h:114:3 */
 10555  
 10556  type XPointFixed = struct {
 10557  	Fx INT32
 10558  	Fy INT32
 10559  } /* renderproto.h:121:3 */
 10560  
 10561  type XLineFixed = struct {
 10562  	Fp1 XPointFixed
 10563  	Fp2 XPointFixed
 10564  } /* renderproto.h:128:3 */
 10565  
 10566  type XTriangle = struct {
 10567  	Fp1 XPointFixed
 10568  	Fp2 XPointFixed
 10569  	Fp3 XPointFixed
 10570  } /* renderproto.h:134:3 */
 10571  
 10572  type XTrapezoid = struct {
 10573  	Ftop    INT32
 10574  	Fbottom INT32
 10575  	Fleft   XLineFixed
 10576  	Fright  XLineFixed
 10577  } /* renderproto.h:143:3 */
 10578  
 10579  type XGlyphInfo = struct {
 10580  	Fwidth  CARD16
 10581  	Fheight CARD16
 10582  	Fx      INT16
 10583  	Fy      INT16
 10584  	FxOff   INT16
 10585  	FyOff   INT16
 10586  } /* renderproto.h:154:3 */
 10587  
 10588  type XGlyphElt = struct {
 10589  	Flen    CARD8
 10590  	Fpad1   CARD8
 10591  	Fpad2   CARD16
 10592  	Fdeltax INT16
 10593  	Fdeltay INT16
 10594  } /* renderproto.h:164:3 */
 10595  
 10596  type XSpanFix = struct {
 10597  	Fl INT32
 10598  	Fr INT32
 10599  	Fy INT32
 10600  } /* renderproto.h:170:3 */
 10601  
 10602  type XTrap = struct {
 10603  	Ftop XSpanFix
 10604  	Fbot XSpanFix
 10605  } /* renderproto.h:176:3 */
 10606  
 10607  // requests and replies
 10608  type XRenderQueryVersionReq = struct {
 10609  	FreqType       CARD8
 10610  	FrenderReqType CARD8
 10611  	Flength        CARD16
 10612  	FmajorVersion  CARD32
 10613  	FminorVersion  CARD32
 10614  } /* renderproto.h:189:3 */
 10615  
 10616  type XRenderQueryVersionReply = struct {
 10617  	Ftype           BYTE
 10618  	Fpad1           BYTE
 10619  	FsequenceNumber CARD16
 10620  	Flength         CARD32
 10621  	FmajorVersion   CARD32
 10622  	FminorVersion   CARD32
 10623  	Fpad2           CARD32
 10624  	Fpad3           CARD32
 10625  	Fpad4           CARD32
 10626  	Fpad5           CARD32
 10627  } /* renderproto.h:204:3 */
 10628  
 10629  type XRenderQueryPictFormatsReq = struct {
 10630  	FreqType       CARD8
 10631  	FrenderReqType CARD8
 10632  	Flength        CARD16
 10633  } /* renderproto.h:212:3 */
 10634  
 10635  type XRenderQueryPictFormatsReply = struct {
 10636  	Ftype           BYTE
 10637  	Fpad1           BYTE
 10638  	FsequenceNumber CARD16
 10639  	Flength         CARD32
 10640  	FnumFormats     CARD32
 10641  	FnumScreens     CARD32
 10642  	FnumDepths      CARD32
 10643  	FnumVisuals     CARD32
 10644  	FnumSubpixel    CARD32
 10645  	Fpad5           CARD32
 10646  } /* renderproto.h:227:3 */
 10647  
 10648  type XRenderQueryPictIndexValuesReq = struct {
 10649  	FreqType       CARD8
 10650  	FrenderReqType CARD8
 10651  	Flength        CARD16
 10652  	Fformat        CARD32
 10653  } /* renderproto.h:236:3 */
 10654  
 10655  type XRenderQueryPictIndexValuesReply = struct {
 10656  	Ftype           BYTE
 10657  	Fpad1           BYTE
 10658  	FsequenceNumber CARD16
 10659  	Flength         CARD32
 10660  	FnumIndexValues CARD32
 10661  	Fpad2           CARD32
 10662  	Fpad3           CARD32
 10663  	Fpad4           CARD32
 10664  	Fpad5           CARD32
 10665  	Fpad6           CARD32
 10666  } /* renderproto.h:251:3 */
 10667  
 10668  type XRenderCreatePictureReq = struct {
 10669  	FreqType       CARD8
 10670  	FrenderReqType CARD8
 10671  	Flength        CARD16
 10672  	Fpid           CARD32
 10673  	Fdrawable      CARD32
 10674  	Fformat        CARD32
 10675  	Fmask          CARD32
 10676  } /* renderproto.h:263:3 */
 10677  
 10678  type XRenderChangePictureReq = struct {
 10679  	FreqType       CARD8
 10680  	FrenderReqType CARD8
 10681  	Flength        CARD16
 10682  	Fpicture       CARD32
 10683  	Fmask          CARD32
 10684  } /* renderproto.h:273:3 */
 10685  
 10686  type XRenderSetPictureClipRectanglesReq = struct {
 10687  	FreqType       CARD8
 10688  	FrenderReqType CARD8
 10689  	Flength        CARD16
 10690  	Fpicture       CARD32
 10691  	FxOrigin       INT16
 10692  	FyOrigin       INT16
 10693  } /* renderproto.h:284:3 */
 10694  
 10695  type XRenderFreePictureReq = struct {
 10696  	FreqType       CARD8
 10697  	FrenderReqType CARD8
 10698  	Flength        CARD16
 10699  	Fpicture       CARD32
 10700  } /* renderproto.h:293:3 */
 10701  
 10702  type XRenderCompositeReq = struct {
 10703  	FreqType       CARD8
 10704  	FrenderReqType CARD8
 10705  	Flength        CARD16
 10706  	Fop            CARD8
 10707  	Fpad1          CARD8
 10708  	Fpad2          CARD16
 10709  	Fsrc           CARD32
 10710  	Fmask          CARD32
 10711  	Fdst           CARD32
 10712  	FxSrc          INT16
 10713  	FySrc          INT16
 10714  	FxMask         INT16
 10715  	FyMask         INT16
 10716  	FxDst          INT16
 10717  	FyDst          INT16
 10718  	Fwidth         CARD16
 10719  	Fheight        CARD16
 10720  } /* renderproto.h:315:3 */
 10721  
 10722  type XRenderScaleReq = struct {
 10723  	FreqType       CARD8
 10724  	FrenderReqType CARD8
 10725  	Flength        CARD16
 10726  	Fsrc           CARD32
 10727  	Fdst           CARD32
 10728  	FcolorScale    CARD32
 10729  	FalphaScale    CARD32
 10730  	FxSrc          INT16
 10731  	FySrc          INT16
 10732  	FxDst          INT16
 10733  	FyDst          INT16
 10734  	Fwidth         CARD16
 10735  	Fheight        CARD16
 10736  } /* renderproto.h:333:3 */
 10737  
 10738  type XRenderTrapezoidsReq = struct {
 10739  	FreqType       CARD8
 10740  	FrenderReqType CARD8
 10741  	Flength        CARD16
 10742  	Fop            CARD8
 10743  	Fpad1          CARD8
 10744  	Fpad2          CARD16
 10745  	Fsrc           CARD32
 10746  	Fdst           CARD32
 10747  	FmaskFormat    CARD32
 10748  	FxSrc          INT16
 10749  	FySrc          INT16
 10750  } /* renderproto.h:349:3 */
 10751  
 10752  type XRenderTrianglesReq = struct {
 10753  	FreqType       CARD8
 10754  	FrenderReqType CARD8
 10755  	Flength        CARD16
 10756  	Fop            CARD8
 10757  	Fpad1          CARD8
 10758  	Fpad2          CARD16
 10759  	Fsrc           CARD32
 10760  	Fdst           CARD32
 10761  	FmaskFormat    CARD32
 10762  	FxSrc          INT16
 10763  	FySrc          INT16
 10764  } /* renderproto.h:365:3 */
 10765  
 10766  type XRenderTriStripReq = struct {
 10767  	FreqType       CARD8
 10768  	FrenderReqType CARD8
 10769  	Flength        CARD16
 10770  	Fop            CARD8
 10771  	Fpad1          CARD8
 10772  	Fpad2          CARD16
 10773  	Fsrc           CARD32
 10774  	Fdst           CARD32
 10775  	FmaskFormat    CARD32
 10776  	FxSrc          INT16
 10777  	FySrc          INT16
 10778  } /* renderproto.h:381:3 */
 10779  
 10780  type XRenderTriFanReq = struct {
 10781  	FreqType       CARD8
 10782  	FrenderReqType CARD8
 10783  	Flength        CARD16
 10784  	Fop            CARD8
 10785  	Fpad1          CARD8
 10786  	Fpad2          CARD16
 10787  	Fsrc           CARD32
 10788  	Fdst           CARD32
 10789  	FmaskFormat    CARD32
 10790  	FxSrc          INT16
 10791  	FySrc          INT16
 10792  } /* renderproto.h:397:3 */
 10793  
 10794  type XRenderCreateGlyphSetReq = struct {
 10795  	FreqType       CARD8
 10796  	FrenderReqType CARD8
 10797  	Flength        CARD16
 10798  	Fgsid          CARD32
 10799  	Fformat        CARD32
 10800  } /* renderproto.h:407:3 */
 10801  
 10802  type XRenderReferenceGlyphSetReq = struct {
 10803  	FreqType       CARD8
 10804  	FrenderReqType CARD8
 10805  	Flength        CARD16
 10806  	Fgsid          CARD32
 10807  	Fexisting      CARD32
 10808  } /* renderproto.h:417:3 */
 10809  
 10810  type XRenderFreeGlyphSetReq = struct {
 10811  	FreqType       CARD8
 10812  	FrenderReqType CARD8
 10813  	Flength        CARD16
 10814  	Fglyphset      CARD32
 10815  } /* renderproto.h:426:3 */
 10816  
 10817  type XRenderAddGlyphsReq = struct {
 10818  	FreqType       CARD8
 10819  	FrenderReqType CARD8
 10820  	Flength        CARD16
 10821  	Fglyphset      CARD32
 10822  	Fnglyphs       CARD32
 10823  } /* renderproto.h:436:3 */
 10824  
 10825  type XRenderFreeGlyphsReq = struct {
 10826  	FreqType       CARD8
 10827  	FrenderReqType CARD8
 10828  	Flength        CARD16
 10829  	Fglyphset      CARD32
 10830  } /* renderproto.h:445:3 */
 10831  
 10832  type XRenderCompositeGlyphsReq = struct {
 10833  	FreqType       CARD8
 10834  	FrenderReqType CARD8
 10835  	Flength        CARD16
 10836  	Fop            CARD8
 10837  	Fpad1          CARD8
 10838  	Fpad2          CARD16
 10839  	Fsrc           CARD32
 10840  	Fdst           CARD32
 10841  	FmaskFormat    CARD32
 10842  	Fglyphset      CARD32
 10843  	FxSrc          INT16
 10844  	FySrc          INT16
 10845  } /* renderproto.h:462:3 */
 10846  type XRenderCompositeGlyphs8Req = struct {
 10847  	FreqType       CARD8
 10848  	FrenderReqType CARD8
 10849  	Flength        CARD16
 10850  	Fop            CARD8
 10851  	Fpad1          CARD8
 10852  	Fpad2          CARD16
 10853  	Fsrc           CARD32
 10854  	Fdst           CARD32
 10855  	FmaskFormat    CARD32
 10856  	Fglyphset      CARD32
 10857  	FxSrc          INT16
 10858  	FySrc          INT16
 10859  } /* renderproto.h:462:30 */
 10860  type XRenderCompositeGlyphs16Req = struct {
 10861  	FreqType       CARD8
 10862  	FrenderReqType CARD8
 10863  	Flength        CARD16
 10864  	Fop            CARD8
 10865  	Fpad1          CARD8
 10866  	Fpad2          CARD16
 10867  	Fsrc           CARD32
 10868  	Fdst           CARD32
 10869  	FmaskFormat    CARD32
 10870  	Fglyphset      CARD32
 10871  	FxSrc          INT16
 10872  	FySrc          INT16
 10873  } /* renderproto.h:463:1 */
 10874  type XRenderCompositeGlyphs32Req = struct {
 10875  	FreqType       CARD8
 10876  	FrenderReqType CARD8
 10877  	Flength        CARD16
 10878  	Fop            CARD8
 10879  	Fpad1          CARD8
 10880  	Fpad2          CARD16
 10881  	Fsrc           CARD32
 10882  	Fdst           CARD32
 10883  	FmaskFormat    CARD32
 10884  	Fglyphset      CARD32
 10885  	FxSrc          INT16
 10886  	FySrc          INT16
 10887  } /* renderproto.h:463:30 */
 10888  
 10889  // 0.1 and higher
 10890  
 10891  type XRenderFillRectanglesReq = struct {
 10892  	FreqType       CARD8
 10893  	FrenderReqType CARD8
 10894  	Flength        CARD16
 10895  	Fop            CARD8
 10896  	Fpad1          CARD8
 10897  	Fpad2          CARD16
 10898  	Fdst           CARD32
 10899  	Fcolor         XRenderColor
 10900  } /* renderproto.h:480:3 */
 10901  
 10902  // 0.5 and higher
 10903  
 10904  type XRenderCreateCursorReq = struct {
 10905  	FreqType       CARD8
 10906  	FrenderReqType CARD8
 10907  	Flength        CARD16
 10908  	Fcid           CARD32
 10909  	Fsrc           CARD32
 10910  	Fx             CARD16
 10911  	Fy             CARD16
 10912  } /* renderproto.h:494:3 */
 10913  
 10914  // 0.6 and higher
 10915  
 10916  // This can't use an array because 32-bit values may be in bitfields
 10917  type XRenderTransform = struct {
 10918  	Fmatrix11 INT32
 10919  	Fmatrix12 INT32
 10920  	Fmatrix13 INT32
 10921  	Fmatrix21 INT32
 10922  	Fmatrix22 INT32
 10923  	Fmatrix23 INT32
 10924  	Fmatrix31 INT32
 10925  	Fmatrix32 INT32
 10926  	Fmatrix33 INT32
 10927  } /* renderproto.h:513:3 */
 10928  
 10929  type XRenderSetPictureTransformReq = struct {
 10930  	FreqType       CARD8
 10931  	FrenderReqType CARD8
 10932  	Flength        CARD16
 10933  	Fpicture       CARD32
 10934  	Ftransform     XRenderTransform
 10935  } /* renderproto.h:523:3 */
 10936  
 10937  type XRenderQueryFiltersReq = struct {
 10938  	FreqType       CARD8
 10939  	FrenderReqType CARD8
 10940  	Flength        CARD16
 10941  	Fdrawable      CARD32
 10942  } /* renderproto.h:532:3 */
 10943  
 10944  type XRenderQueryFiltersReply = struct {
 10945  	Ftype           BYTE
 10946  	Fpad1           BYTE
 10947  	FsequenceNumber CARD16
 10948  	Flength         CARD32
 10949  	FnumAliases     CARD32
 10950  	FnumFilters     CARD32
 10951  	Fpad2           CARD32
 10952  	Fpad3           CARD32
 10953  	Fpad4           CARD32
 10954  	Fpad5           CARD32
 10955  } /* renderproto.h:547:3 */
 10956  
 10957  type XRenderSetPictureFilterReq = struct {
 10958  	FreqType       CARD8
 10959  	FrenderReqType CARD8
 10960  	Flength        CARD16
 10961  	Fpicture       CARD32
 10962  	Fnbytes        CARD16
 10963  	Fpad           CARD16
 10964  } /* renderproto.h:558:3 */
 10965  
 10966  // 0.8 and higher
 10967  
 10968  type XAnimCursorElt = struct {
 10969  	Fcursor CARD32
 10970  	Fdelay  CARD32
 10971  } /* renderproto.h:567:3 */
 10972  
 10973  type XRenderCreateAnimCursorReq = struct {
 10974  	FreqType       CARD8
 10975  	FrenderReqType CARD8
 10976  	Flength        CARD16
 10977  	Fcid           CARD32
 10978  } /* renderproto.h:576:3 */
 10979  
 10980  // 0.9 and higher
 10981  
 10982  type XRenderAddTrapsReq = struct {
 10983  	FreqType       CARD8
 10984  	FrenderReqType CARD8
 10985  	Flength        CARD16
 10986  	Fpicture       CARD32
 10987  	FxOff          INT16
 10988  	FyOff          INT16
 10989  } /* renderproto.h:589:3 */
 10990  
 10991  // 0.10 and higher
 10992  
 10993  type XRenderCreateSolidFillReq = struct {
 10994  	FreqType       CARD8
 10995  	FrenderReqType CARD8
 10996  	Flength        CARD16
 10997  	Fpid           CARD32
 10998  	Fcolor         XRenderColor
 10999  } /* renderproto.h:601:3 */
 11000  
 11001  type XRenderCreateLinearGradientReq = struct {
 11002  	FreqType       CARD8
 11003  	FrenderReqType CARD8
 11004  	Flength        CARD16
 11005  	Fpid           CARD32
 11006  	Fp1            XPointFixed
 11007  	Fp2            XPointFixed
 11008  	FnStops        CARD32
 11009  } /* renderproto.h:613:3 */
 11010  
 11011  type XRenderCreateRadialGradientReq = struct {
 11012  	FreqType       CARD8
 11013  	FrenderReqType CARD8
 11014  	Flength        CARD16
 11015  	Fpid           CARD32
 11016  	Finner         XPointFixed
 11017  	Fouter         XPointFixed
 11018  	Finner_radius  INT32
 11019  	Fouter_radius  INT32
 11020  	FnStops        CARD32
 11021  } /* renderproto.h:627:3 */
 11022  
 11023  type XRenderCreateConicalGradientReq = struct {
 11024  	FreqType       CARD8
 11025  	FrenderReqType CARD8
 11026  	Flength        CARD16
 11027  	Fpid           CARD32
 11028  	Fcenter        XPointFixed
 11029  	Fangle         INT32
 11030  	FnStops        CARD32
 11031  } /* renderproto.h:639:3 */
 11032  
 11033  //
 11034  // Copyright © 2000 SuSE, Inc.
 11035  //
 11036  // Permission to use, copy, modify, distribute, and sell this software and its
 11037  // documentation for any purpose is hereby granted without fee, provided that
 11038  // the above copyright notice appear in all copies and that both that
 11039  // copyright notice and this permission notice appear in supporting
 11040  // documentation, and that the name of SuSE not be used in advertising or
 11041  // publicity pertaining to distribution of the software without specific,
 11042  // written prior permission.  SuSE makes no representations about the
 11043  // suitability of this software for any purpose.  It is provided "as is"
 11044  // without express or implied warranty.
 11045  //
 11046  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 11047  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 11048  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 11049  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 11050  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 11051  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 11052  //
 11053  // Author:  Keith Packard, SuSE, Inc.
 11054  
 11055  //
 11056  //
 11057  // Copyright 1985, 1986, 1987, 1991, 1998  The Open Group
 11058  //
 11059  // Permission to use, copy, modify, distribute, and sell this software and its
 11060  // documentation for any purpose is hereby granted without fee, provided that
 11061  // the above copyright notice appear in all copies and that both that
 11062  // copyright notice and this permission notice appear in supporting
 11063  // documentation.
 11064  //
 11065  // The above copyright notice and this permission notice shall be included in
 11066  // all copies or substantial portions of the Software.
 11067  //
 11068  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 11069  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 11070  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 11071  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 11072  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 11073  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 11074  //
 11075  // Except as contained in this notice, the name of The Open Group shall not be
 11076  // used in advertising or otherwise to promote the sale, use or other dealings
 11077  // in this Software without prior written authorization from The Open Group.
 11078  //
 11079  
 11080  //	Xlib.h - Header definition and support file for the C subroutine
 11081  //	interface library (Xlib) to the X Window System Protocol (V11).
 11082  //	Structures and symbols starting with "_" are private to the library.
 11083  //
 11084  //
 11085  // Copyright 1989, 1991, 1998  The Open Group
 11086  //
 11087  // Permission to use, copy, modify, distribute, and sell this software and its
 11088  // documentation for any purpose is hereby granted without fee, provided that
 11089  // the above copyright notice appear in all copies and that both that
 11090  // copyright notice and this permission notice appear in supporting
 11091  // documentation.
 11092  //
 11093  // The above copyright notice and this permission notice shall be included in
 11094  // all copies or substantial portions of the Software.
 11095  //
 11096  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 11097  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 11098  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 11099  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 11100  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 11101  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 11102  //
 11103  // Except as contained in this notice, the name of The Open Group shall not be
 11104  // used in advertising or otherwise to promote the sale, use or other dealings
 11105  // in this Software without prior written authorization from The Open Group.
 11106  //  *
 11107  //
 11108  
 11109  // Definitions to make function prototypes manageable
 11110  
 11111  //
 11112  //  O/S-dependent (mis)feature macro definitions
 11113  //
 11114  // Copyright 1991, 1998  The Open Group
 11115  //
 11116  // Permission to use, copy, modify, distribute, and sell this software and its
 11117  // documentation for any purpose is hereby granted without fee, provided that
 11118  // the above copyright notice appear in all copies and that both that
 11119  // copyright notice and this permission notice appear in supporting
 11120  // documentation.
 11121  //
 11122  // The above copyright notice and this permission notice shall be included in
 11123  // all copies or substantial portions of the Software.
 11124  //
 11125  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 11126  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 11127  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 11128  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 11129  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 11130  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 11131  //
 11132  // Except as contained in this notice, the name of The Open Group shall not be
 11133  // used in advertising or otherwise to promote the sale, use or other dealings
 11134  // in this Software without prior written authorization from The Open Group.
 11135  //
 11136  
 11137  //**********************************************************
 11138  //
 11139  // Copyright 1987, 1998  The Open Group
 11140  //
 11141  // Permission to use, copy, modify, distribute, and sell this software and its
 11142  // documentation for any purpose is hereby granted without fee, provided that
 11143  // the above copyright notice appear in all copies and that both that
 11144  // copyright notice and this permission notice appear in supporting
 11145  // documentation.
 11146  //
 11147  // The above copyright notice and this permission notice shall be included in
 11148  // all copies or substantial portions of the Software.
 11149  //
 11150  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 11151  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 11152  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 11153  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 11154  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 11155  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 11156  //
 11157  // Except as contained in this notice, the name of The Open Group shall not be
 11158  // used in advertising or otherwise to promote the sale, use or other dealings
 11159  // in this Software without prior written authorization from The Open Group.
 11160  //
 11161  //
 11162  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 11163  //
 11164  //                         All Rights Reserved
 11165  //
 11166  // Permission to use, copy, modify, and distribute this software and its
 11167  // documentation for any purpose and without fee is hereby granted,
 11168  // provided that the above copyright notice appear in all copies and that
 11169  // both that copyright notice and this permission notice appear in
 11170  // supporting documentation, and that the name of Digital not be
 11171  // used in advertising or publicity pertaining to distribution of the
 11172  // software without specific, written prior permission.
 11173  //
 11174  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 11175  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 11176  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 11177  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 11178  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 11179  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 11180  // SOFTWARE.
 11181  //
 11182  // *****************************************************************
 11183  
 11184  // Copyright © 2000 SuSE, Inc.
 11185  //
 11186  // Permission to use, copy, modify, distribute, and sell this software and its
 11187  // documentation for any purpose is hereby granted without fee, provided that
 11188  // the above copyright notice appear in all copies and that both that
 11189  // copyright notice and this permission notice appear in supporting
 11190  // documentation, and that the name of SuSE not be used in advertising or
 11191  // publicity pertaining to distribution of the software without specific,
 11192  // written prior permission.  SuSE makes no representations about the
 11193  // suitability of this software for any purpose.  It is provided "as is"
 11194  // without express or implied warranty.
 11195  //
 11196  // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 11197  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 11198  // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 11199  // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 11200  // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 11201  // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 11202  //
 11203  // Author:  Keith Packard, SuSE, Inc.
 11204  
 11205  type XRenderDirectFormat = struct {
 11206  	Fred       int16
 11207  	FredMask   int16
 11208  	Fgreen     int16
 11209  	FgreenMask int16
 11210  	Fblue      int16
 11211  	FblueMask  int16
 11212  	Falpha     int16
 11213  	FalphaMask int16
 11214  } /* Xrender.h:44:3 */
 11215  
 11216  type XRenderPictFormat = struct {
 11217  	Fid       PictFormat
 11218  	Ftype     int32
 11219  	Fdepth    int32
 11220  	Fdirect   XRenderDirectFormat
 11221  	Fcolormap Colormap
 11222  } /* Xrender.h:52:3 */
 11223  
 11224  type X_XRenderPictureAttributes = struct {
 11225  	Frepeat             int32
 11226  	F__ccgo_pad1        [4]byte
 11227  	Falpha_map          Picture
 11228  	Falpha_x_origin     int32
 11229  	Falpha_y_origin     int32
 11230  	Fclip_x_origin      int32
 11231  	Fclip_y_origin      int32
 11232  	Fclip_mask          Pixmap
 11233  	Fgraphics_exposures int32
 11234  	Fsubwindow_mode     int32
 11235  	Fpoly_edge          int32
 11236  	Fpoly_mode          int32
 11237  	Fdither             Atom
 11238  	Fcomponent_alpha    int32
 11239  	F__ccgo_pad2        [4]byte
 11240  } /* Xrender.h:67:9 */
 11241  
 11242  type XRenderPictureAttributes = X_XRenderPictureAttributes /* Xrender.h:81:3 */
 11243  
 11244  type XRenderColor1 = struct {
 11245  	Fred   uint16
 11246  	Fgreen uint16
 11247  	Fblue  uint16
 11248  	Falpha uint16
 11249  } /* Xrender.h:88:3 */
 11250  
 11251  type X_XGlyphInfo = struct {
 11252  	Fwidth  uint16
 11253  	Fheight uint16
 11254  	Fx      int16
 11255  	Fy      int16
 11256  	FxOff   int16
 11257  	FyOff   int16
 11258  } /* Xrender.h:90:9 */
 11259  
 11260  type XGlyphInfo1 = X_XGlyphInfo /* Xrender.h:97:3 */
 11261  
 11262  type X_XGlyphElt8 = struct {
 11263  	Fglyphset    GlyphSet
 11264  	Fchars       uintptr
 11265  	Fnchars      int32
 11266  	FxOff        int32
 11267  	FyOff        int32
 11268  	F__ccgo_pad1 [4]byte
 11269  } /* Xrender.h:99:9 */
 11270  
 11271  type XGlyphElt8 = X_XGlyphElt8 /* Xrender.h:105:3 */
 11272  
 11273  type X_XGlyphElt16 = struct {
 11274  	Fglyphset    GlyphSet
 11275  	Fchars       uintptr
 11276  	Fnchars      int32
 11277  	FxOff        int32
 11278  	FyOff        int32
 11279  	F__ccgo_pad1 [4]byte
 11280  } /* Xrender.h:107:9 */
 11281  
 11282  type XGlyphElt16 = X_XGlyphElt16 /* Xrender.h:113:3 */
 11283  
 11284  type X_XGlyphElt32 = struct {
 11285  	Fglyphset    GlyphSet
 11286  	Fchars       uintptr
 11287  	Fnchars      int32
 11288  	FxOff        int32
 11289  	FyOff        int32
 11290  	F__ccgo_pad1 [4]byte
 11291  } /* Xrender.h:115:9 */
 11292  
 11293  type XGlyphElt32 = X_XGlyphElt32 /* Xrender.h:121:3 */
 11294  
 11295  type XDouble = float64 /* Xrender.h:123:16 */
 11296  
 11297  type X_XPointDouble = struct {
 11298  	Fx XDouble
 11299  	Fy XDouble
 11300  } /* Xrender.h:125:9 */
 11301  
 11302  type XPointDouble = X_XPointDouble /* Xrender.h:127:3 */
 11303  
 11304  type XFixed = int32 /* Xrender.h:132:13 */
 11305  
 11306  type X_XPointFixed = struct {
 11307  	Fx XFixed
 11308  	Fy XFixed
 11309  } /* Xrender.h:134:9 */
 11310  
 11311  type XPointFixed1 = X_XPointFixed /* Xrender.h:136:3 */
 11312  
 11313  type X_XLineFixed = struct {
 11314  	Fp1 XPointFixed1
 11315  	Fp2 XPointFixed1
 11316  } /* Xrender.h:138:9 */
 11317  
 11318  type XLineFixed1 = X_XLineFixed /* Xrender.h:140:3 */
 11319  
 11320  type X_XTriangle = struct {
 11321  	Fp1 XPointFixed1
 11322  	Fp2 XPointFixed1
 11323  	Fp3 XPointFixed1
 11324  } /* Xrender.h:142:9 */
 11325  
 11326  type XTriangle1 = X_XTriangle /* Xrender.h:144:3 */
 11327  
 11328  type X_XCircle = struct {
 11329  	Fx      XFixed
 11330  	Fy      XFixed
 11331  	Fradius XFixed
 11332  } /* Xrender.h:146:9 */
 11333  
 11334  type XCircle = X_XCircle /* Xrender.h:150:3 */
 11335  
 11336  type X_XTrapezoid = struct {
 11337  	Ftop    XFixed
 11338  	Fbottom XFixed
 11339  	Fleft   XLineFixed1
 11340  	Fright  XLineFixed1
 11341  } /* Xrender.h:152:9 */
 11342  
 11343  type XTrapezoid1 = X_XTrapezoid /* Xrender.h:155:3 */
 11344  
 11345  type X_XTransform = struct{ Fmatrix [3][3]XFixed } /* Xrender.h:157:9 */
 11346  
 11347  type XTransform = X_XTransform /* Xrender.h:159:3 */
 11348  
 11349  type X_XFilters = struct {
 11350  	Fnfilter     int32
 11351  	F__ccgo_pad1 [4]byte
 11352  	Ffilter      uintptr
 11353  	Fnalias      int32
 11354  	F__ccgo_pad2 [4]byte
 11355  	Falias       uintptr
 11356  } /* Xrender.h:161:9 */
 11357  
 11358  type XFilters = X_XFilters /* Xrender.h:166:3 */
 11359  
 11360  type X_XIndexValue = struct {
 11361  	Fpixel uint64
 11362  	Fred   uint16
 11363  	Fgreen uint16
 11364  	Fblue  uint16
 11365  	Falpha uint16
 11366  } /* Xrender.h:168:9 */
 11367  
 11368  type XIndexValue1 = X_XIndexValue /* Xrender.h:171:3 */
 11369  
 11370  type X_XAnimCursor = struct {
 11371  	Fcursor Cursor
 11372  	Fdelay  uint64
 11373  } /* Xrender.h:173:9 */
 11374  
 11375  type XAnimCursor = X_XAnimCursor /* Xrender.h:176:3 */
 11376  
 11377  type X_XSpanFix = struct {
 11378  	Fleft  XFixed
 11379  	Fright XFixed
 11380  	Fy     XFixed
 11381  } /* Xrender.h:178:9 */
 11382  
 11383  type XSpanFix1 = X_XSpanFix /* Xrender.h:180:3 */
 11384  
 11385  type X_XTrap = struct {
 11386  	Ftop    XSpanFix1
 11387  	Fbottom XSpanFix1
 11388  } /* Xrender.h:182:9 */
 11389  
 11390  type XTrap1 = X_XTrap /* Xrender.h:184:3 */
 11391  
 11392  type X_XLinearGradient = struct {
 11393  	Fp1 XPointFixed1
 11394  	Fp2 XPointFixed1
 11395  } /* Xrender.h:186:9 */
 11396  
 11397  type XLinearGradient = X_XLinearGradient /* Xrender.h:189:3 */
 11398  
 11399  type X_XRadialGradient = struct {
 11400  	Finner XCircle
 11401  	Fouter XCircle
 11402  } /* Xrender.h:191:9 */
 11403  
 11404  type XRadialGradient = X_XRadialGradient /* Xrender.h:194:3 */
 11405  
 11406  type X_XConicalGradient = struct {
 11407  	Fcenter XPointFixed1
 11408  	Fangle  XFixed
 11409  } /* Xrender.h:196:9 */
 11410  
 11411  type XConicalGradient = X_XConicalGradient /* Xrender.h:199:3 */
 11412  
 11413  type XRenderVisual = struct {
 11414  	Fvisual uintptr
 11415  	Fformat uintptr
 11416  } /* Xrenderint.h:37:3 */
 11417  
 11418  type XRenderDepth = struct {
 11419  	Fdepth    int32
 11420  	Fnvisuals int32
 11421  	Fvisuals  uintptr
 11422  } /* Xrenderint.h:43:3 */
 11423  
 11424  type XRenderScreen = struct {
 11425  	Fdepths      uintptr
 11426  	Fndepths     int32
 11427  	F__ccgo_pad1 [4]byte
 11428  	Ffallback    uintptr
 11429  	Fsubpixel    int32
 11430  	F__ccgo_pad2 [4]byte
 11431  } /* Xrenderint.h:50:3 */
 11432  
 11433  type X_XRenderInfo = struct {
 11434  	Fmajor_version int32
 11435  	Fminor_version int32
 11436  	Fformat        uintptr
 11437  	Fnformat       int32
 11438  	F__ccgo_pad1   [4]byte
 11439  	Fscreen        uintptr
 11440  	Fnscreen       int32
 11441  	F__ccgo_pad2   [4]byte
 11442  	Fdepth         uintptr
 11443  	Fndepth        int32
 11444  	F__ccgo_pad3   [4]byte
 11445  	Fvisual        uintptr
 11446  	Fnvisual       int32
 11447  	F__ccgo_pad4   [4]byte
 11448  	Fsubpixel      uintptr
 11449  	Fnsubpixel     int32
 11450  	F__ccgo_pad5   [4]byte
 11451  	Ffilter        uintptr
 11452  	Fnfilter       int32
 11453  	F__ccgo_pad6   [4]byte
 11454  	Ffilter_alias  uintptr
 11455  	Fnfilter_alias int32
 11456  	F__ccgo_pad7   [4]byte
 11457  } /* Xrenderint.h:52:9 */
 11458  
 11459  type XRenderInfo = X_XRenderInfo /* Xrenderint.h:69:3 */
 11460  
 11461  // replaces XRenderExtDisplayInfo
 11462  type X_XRenderExtDisplayInfo = struct {
 11463  	Fnext    uintptr
 11464  	Fdisplay uintptr
 11465  	Fcodes   uintptr
 11466  	Finfo    uintptr
 11467  } /* Xrenderint.h:72:9 */
 11468  
 11469  // replaces XRenderExtDisplayInfo
 11470  type XRenderExtDisplayInfo = X_XRenderExtDisplayInfo /* Xrenderint.h:77:3 */
 11471  
 11472  // replaces XExtensionInfo
 11473  type X_XRenderExtInfo = struct {
 11474  	Fhead        uintptr
 11475  	Fcur         uintptr
 11476  	Fndisplays   int32
 11477  	F__ccgo_pad1 [4]byte
 11478  } /* Xrenderint.h:80:9 */
 11479  
 11480  // replaces XExtensionInfo
 11481  type XRenderExtInfo = X_XRenderExtInfo /* Xrenderint.h:84:3 */
 11482  
 11483  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11484  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11485  // except on WORD64 machines where it is 64 bits.
 11486  
 11487  func XXRenderAddTraps(tls *libc.TLS, dpy uintptr, picture Picture, xOff int32, yOff int32, traps uintptr, ntrap int32) { /* AddTrap.c:31:1: */
 11488  	bp := tls.Alloc(8)
 11489  	defer tls.Free(8)
 11490  
 11491  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11492  	var req uintptr
 11493  	var n int32
 11494  	var len int64
 11495  	var max_req uint64
 11496  	if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11497  		max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size
 11498  	} else {
 11499  		max_req = uint64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size)
 11500  	}
 11501  
 11502  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 11503  		return
 11504  	}
 11505  
 11506  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11507  		(*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)
 11508  	}
 11509  	for ntrap != 0 {
 11510  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddTraps), uint64(Sz_xRenderAddTrapsReq))
 11511  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11512  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddTraps)
 11513  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 11514  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FxOff = INT16(xOff)
 11515  		(*XRenderAddTrapsReq)(unsafe.Pointer(req)).FyOff = INT16(yOff)
 11516  		n = ntrap
 11517  		len = int64(n) * int64(int32(Sz_xTrap)>>2)
 11518  		if uint64(len) > max_req-uint64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) {
 11519  			n = int32((max_req - uint64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) / uint64(int32(Sz_xTrap)>>2))
 11520  			len = int64(n) * int64(int32(Sz_xTrap)>>2)
 11521  		}
 11522  		if int64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 11523  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11524  				{
 11525  					// var _BRdat CARD64 at bp, 8
 11526  					var _BRlen CARD32 = CARD32(int32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) - 1)
 11527  					(*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 11528  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 11529  					libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 11530  					*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 11531  					x11.X_XData32(tls, dpy, bp, uint32(4))
 11532  				}
 11533  			} else {
 11534  				len = len
 11535  				*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 11536  			}
 11537  		} else {
 11538  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 11539  		}
 11540  		len <<= 2
 11541  		{
 11542  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 11543  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint64(int32(len)))
 11544  				*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3)))
 11545  			} else {
 11546  				x11.X_XSend(tls, dpy, traps, len)
 11547  			}
 11548  		}
 11549  
 11550  		ntrap = ntrap - n
 11551  		traps += 24 * uintptr(n)
 11552  	}
 11553  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11554  		(*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)
 11555  	}
 11556  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11557  		(*struct {
 11558  			f func(*libc.TLS, uintptr) int32
 11559  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11560  	}
 11561  }
 11562  
 11563  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11564  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11565  // except on WORD64 machines where it is 64 bits.
 11566  
 11567  func XXRenderParseColor(tls *libc.TLS, dpy uintptr, spec uintptr, def uintptr) int32 { /* Color.c:30:1: */
 11568  	bp := tls.Alloc(24)
 11569  	defer tls.Free(24)
 11570  
 11571  	if !(libc.Xstrncmp(tls, spec, ts, uint64(5)) != 0) {
 11572  		// var elements [4]uint16 at bp, 8
 11573  
 11574  		var pShort uintptr
 11575  		var i int32
 11576  		var n int32
 11577  		var c uint8
 11578  
 11579  		spec += uintptr(5)
 11580  		// Attempt to parse the value portion.
 11581  		pShort = bp /* &elements[0] */
 11582  		i = 0
 11583  	__1:
 11584  		if !(i < 4) {
 11585  			goto __3
 11586  		}
 11587  		{
 11588  			n = 0
 11589  			*(*uint16)(unsafe.Pointer(pShort)) = uint16(0)
 11590  			for int32(*(*uint8)(unsafe.Pointer(spec))) != '/' && int32(*(*uint8)(unsafe.Pointer(spec))) != 0 {
 11591  				if libc.PreIncInt32(&n, 1) > 4 {
 11592  					return 0
 11593  				}
 11594  				c = *(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&spec, 1)))
 11595  				libc.AssignShlPtrUint16(pShort, int(4))
 11596  				if int32(c) >= '0' && int32(c) <= '9' {
 11597  					*(*uint16)(unsafe.Pointer(pShort)) |= uint16(int32(c) - '0')
 11598  				} else if int32(c) >= 'a' && int32(c) <= 'f' {
 11599  					*(*uint16)(unsafe.Pointer(pShort)) |= uint16(int32(c) - ('a' - 10))
 11600  				} else {
 11601  					return 0
 11602  				}
 11603  			}
 11604  			if n == 0 {
 11605  				return 0
 11606  			}
 11607  			if n < 4 {
 11608  				*(*uint16)(unsafe.Pointer(pShort)) = uint16(uint64(*(*uint16)(unsafe.Pointer(pShort))) * uint64(0xFFFF) / uint64(int32(1)<<(n*4)-1))
 11609  			}
 11610  
 11611  		}
 11612  		goto __2
 11613  	__2:
 11614  		i++
 11615  		pShort += 2
 11616  		spec++
 11617  		goto __1
 11618  		goto __3
 11619  	__3:
 11620  		;
 11621  		(*XRenderColor1)(unsafe.Pointer(def)).Fred = *(*uint16)(unsafe.Pointer(bp))
 11622  		(*XRenderColor1)(unsafe.Pointer(def)).Fgreen = *(*uint16)(unsafe.Pointer(bp + 1*2))
 11623  		(*XRenderColor1)(unsafe.Pointer(def)).Fblue = *(*uint16)(unsafe.Pointer(bp + 2*2))
 11624  		(*XRenderColor1)(unsafe.Pointer(def)).Falpha = *(*uint16)(unsafe.Pointer(bp + 3*2))
 11625  	} else {
 11626  		// var coreColor XColor at bp+8, 16
 11627  
 11628  		var colormap Colormap
 11629  
 11630  		colormap = (*Screen)(unsafe.Pointer((*struct {
 11631  			Fext_data            uintptr
 11632  			Fprivate1            uintptr
 11633  			Ffd                  int32
 11634  			Fprivate2            int32
 11635  			Fproto_major_version int32
 11636  			Fproto_minor_version int32
 11637  			Fvendor              uintptr
 11638  			Fprivate3            XID
 11639  			Fprivate4            XID
 11640  			Fprivate5            XID
 11641  			Fprivate6            int32
 11642  			F__ccgo_pad1         [4]byte
 11643  			Fresource_alloc      uintptr
 11644  			Fbyte_order          int32
 11645  			Fbitmap_unit         int32
 11646  			Fbitmap_pad          int32
 11647  			Fbitmap_bit_order    int32
 11648  			Fnformats            int32
 11649  			F__ccgo_pad2         [4]byte
 11650  			Fpixmap_format       uintptr
 11651  			Fprivate8            int32
 11652  			Frelease             int32
 11653  			Fprivate9            uintptr
 11654  			Fprivate10           uintptr
 11655  			Fqlen                int32
 11656  			F__ccgo_pad3         [4]byte
 11657  			Flast_request_read   uint64
 11658  			Frequest             uint64
 11659  			Fprivate11           XPointer
 11660  			Fprivate12           XPointer
 11661  			Fprivate13           XPointer
 11662  			Fprivate14           XPointer
 11663  			Fmax_request_size    uint32
 11664  			F__ccgo_pad4         [4]byte
 11665  			Fdb                  uintptr
 11666  			Fprivate15           uintptr
 11667  			Fdisplay_name        uintptr
 11668  			Fdefault_screen      int32
 11669  			Fnscreens            int32
 11670  			Fscreens             uintptr
 11671  			Fmotion_buffer       uint64
 11672  			Fprivate16           uint64
 11673  			Fmin_keycode         int32
 11674  			Fmax_keycode         int32
 11675  			Fprivate17           XPointer
 11676  			Fprivate18           XPointer
 11677  			Fprivate19           int32
 11678  			F__ccgo_pad5         [4]byte
 11679  			Fxdefaults           uintptr
 11680  		})(unsafe.Pointer(dpy)).Fscreens + uintptr((*struct {
 11681  			Fext_data            uintptr
 11682  			Fprivate1            uintptr
 11683  			Ffd                  int32
 11684  			Fprivate2            int32
 11685  			Fproto_major_version int32
 11686  			Fproto_minor_version int32
 11687  			Fvendor              uintptr
 11688  			Fprivate3            XID
 11689  			Fprivate4            XID
 11690  			Fprivate5            XID
 11691  			Fprivate6            int32
 11692  			F__ccgo_pad1         [4]byte
 11693  			Fresource_alloc      uintptr
 11694  			Fbyte_order          int32
 11695  			Fbitmap_unit         int32
 11696  			Fbitmap_pad          int32
 11697  			Fbitmap_bit_order    int32
 11698  			Fnformats            int32
 11699  			F__ccgo_pad2         [4]byte
 11700  			Fpixmap_format       uintptr
 11701  			Fprivate8            int32
 11702  			Frelease             int32
 11703  			Fprivate9            uintptr
 11704  			Fprivate10           uintptr
 11705  			Fqlen                int32
 11706  			F__ccgo_pad3         [4]byte
 11707  			Flast_request_read   uint64
 11708  			Frequest             uint64
 11709  			Fprivate11           XPointer
 11710  			Fprivate12           XPointer
 11711  			Fprivate13           XPointer
 11712  			Fprivate14           XPointer
 11713  			Fmax_request_size    uint32
 11714  			F__ccgo_pad4         [4]byte
 11715  			Fdb                  uintptr
 11716  			Fprivate15           uintptr
 11717  			Fdisplay_name        uintptr
 11718  			Fdefault_screen      int32
 11719  			Fnscreens            int32
 11720  			Fscreens             uintptr
 11721  			Fmotion_buffer       uint64
 11722  			Fprivate16           uint64
 11723  			Fmin_keycode         int32
 11724  			Fmax_keycode         int32
 11725  			Fprivate17           XPointer
 11726  			Fprivate18           XPointer
 11727  			Fprivate19           int32
 11728  			F__ccgo_pad5         [4]byte
 11729  			Fxdefaults           uintptr
 11730  		})(unsafe.Pointer(dpy)).Fdefault_screen)*128)).Fcmap
 11731  		if !(x11.XXParseColor(tls, dpy, colormap, spec, bp+8) != 0) {
 11732  			return 0
 11733  		}
 11734  		(*XRenderColor1)(unsafe.Pointer(def)).Fred = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fred
 11735  		(*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fgreen
 11736  		(*XRenderColor1)(unsafe.Pointer(def)).Fblue = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fblue
 11737  		(*XRenderColor1)(unsafe.Pointer(def)).Falpha = uint16(0xffff)
 11738  	}
 11739  	(*XRenderColor1)(unsafe.Pointer(def)).Fred = uint16(uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fred)*int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha)) / 0xffff)
 11740  	(*XRenderColor1)(unsafe.Pointer(def)).Fgreen = uint16(uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fgreen)*int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha)) / 0xffff)
 11741  	(*XRenderColor1)(unsafe.Pointer(def)).Fblue = uint16(uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fblue)*int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha)) / 0xffff)
 11742  	return 1
 11743  }
 11744  
 11745  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11746  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11747  // except on WORD64 machines where it is 64 bits.
 11748  
 11749  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: */
 11750  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11751  	var req uintptr
 11752  
 11753  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 11754  		return
 11755  	}
 11756  
 11757  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11758  		(*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)
 11759  	}
 11760  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderComposite), uint64(Sz_xRenderCompositeReq))
 11761  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11762  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderComposite)
 11763  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 11764  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 11765  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fmask = CARD32(mask)
 11766  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 11767  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FxSrc = INT16(src_x)
 11768  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FySrc = INT16(src_y)
 11769  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FxMask = INT16(mask_x)
 11770  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FyMask = INT16(mask_y)
 11771  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FxDst = INT16(dst_x)
 11772  	(*XRenderCompositeReq)(unsafe.Pointer(req)).FyDst = INT16(dst_y)
 11773  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fwidth = CARD16(width)
 11774  	(*XRenderCompositeReq)(unsafe.Pointer(req)).Fheight = CARD16(height)
 11775  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11776  		(*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)
 11777  	}
 11778  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11779  		(*struct {
 11780  			f func(*libc.TLS, uintptr) int32
 11781  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11782  	}
 11783  }
 11784  
 11785  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11786  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11787  // except on WORD64 machines where it is 64 bits.
 11788  
 11789  func XXRenderCreateCursor(tls *libc.TLS, dpy uintptr, source Picture, x uint32, y uint32) Cursor { /* Cursor.c:30:1: */
 11790  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11791  	var cid Cursor
 11792  	var req uintptr
 11793  
 11794  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 11795  		return uint64(0)
 11796  	}
 11797  
 11798  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11799  		(*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)
 11800  	}
 11801  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateCursor), uint64(Sz_xRenderCreateCursorReq))
 11802  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11803  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateCursor)
 11804  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fcid = CARD32(libc.AssignUint64(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 11805  		Fext_data            uintptr
 11806  		Fprivate1            uintptr
 11807  		Ffd                  int32
 11808  		Fprivate2            int32
 11809  		Fproto_major_version int32
 11810  		Fproto_minor_version int32
 11811  		Fvendor              uintptr
 11812  		Fprivate3            XID
 11813  		Fprivate4            XID
 11814  		Fprivate5            XID
 11815  		Fprivate6            int32
 11816  		F__ccgo_pad1         [4]byte
 11817  		Fresource_alloc      uintptr
 11818  		Fbyte_order          int32
 11819  		Fbitmap_unit         int32
 11820  		Fbitmap_pad          int32
 11821  		Fbitmap_bit_order    int32
 11822  		Fnformats            int32
 11823  		F__ccgo_pad2         [4]byte
 11824  		Fpixmap_format       uintptr
 11825  		Fprivate8            int32
 11826  		Frelease             int32
 11827  		Fprivate9            uintptr
 11828  		Fprivate10           uintptr
 11829  		Fqlen                int32
 11830  		F__ccgo_pad3         [4]byte
 11831  		Flast_request_read   uint64
 11832  		Frequest             uint64
 11833  		Fprivate11           XPointer
 11834  		Fprivate12           XPointer
 11835  		Fprivate13           XPointer
 11836  		Fprivate14           XPointer
 11837  		Fmax_request_size    uint32
 11838  		F__ccgo_pad4         [4]byte
 11839  		Fdb                  uintptr
 11840  		Fprivate15           uintptr
 11841  		Fdisplay_name        uintptr
 11842  		Fdefault_screen      int32
 11843  		Fnscreens            int32
 11844  		Fscreens             uintptr
 11845  		Fmotion_buffer       uint64
 11846  		Fprivate16           uint64
 11847  		Fmin_keycode         int32
 11848  		Fmax_keycode         int32
 11849  		Fprivate17           XPointer
 11850  		Fprivate18           XPointer
 11851  		Fprivate19           int32
 11852  		F__ccgo_pad5         [4]byte
 11853  		Fxdefaults           uintptr
 11854  	})(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)))
 11855  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fsrc = CARD32(source)
 11856  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fx = CARD16(x)
 11857  	(*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fy = CARD16(y)
 11858  
 11859  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11860  		(*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)
 11861  	}
 11862  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11863  		(*struct {
 11864  			f func(*libc.TLS, uintptr) int32
 11865  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11866  	}
 11867  	return cid
 11868  }
 11869  
 11870  func XXRenderCreateAnimCursor(tls *libc.TLS, dpy uintptr, ncursor int32, cursors uintptr) Cursor { /* Cursor.c:55:1: */
 11871  	bp := tls.Alloc(8)
 11872  	defer tls.Free(8)
 11873  
 11874  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11875  	var cid Cursor
 11876  	var req uintptr
 11877  	var len int64
 11878  
 11879  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 11880  		return uint64(0)
 11881  	}
 11882  
 11883  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11884  		(*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)
 11885  	}
 11886  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateAnimCursor), uint64(Sz_xRenderCreateAnimCursorReq))
 11887  	(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 11888  	(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateAnimCursor)
 11889  	(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Fcid = CARD32(libc.AssignUint64(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 11890  		Fext_data            uintptr
 11891  		Fprivate1            uintptr
 11892  		Ffd                  int32
 11893  		Fprivate2            int32
 11894  		Fproto_major_version int32
 11895  		Fproto_minor_version int32
 11896  		Fvendor              uintptr
 11897  		Fprivate3            XID
 11898  		Fprivate4            XID
 11899  		Fprivate5            XID
 11900  		Fprivate6            int32
 11901  		F__ccgo_pad1         [4]byte
 11902  		Fresource_alloc      uintptr
 11903  		Fbyte_order          int32
 11904  		Fbitmap_unit         int32
 11905  		Fbitmap_pad          int32
 11906  		Fbitmap_bit_order    int32
 11907  		Fnformats            int32
 11908  		F__ccgo_pad2         [4]byte
 11909  		Fpixmap_format       uintptr
 11910  		Fprivate8            int32
 11911  		Frelease             int32
 11912  		Fprivate9            uintptr
 11913  		Fprivate10           uintptr
 11914  		Fqlen                int32
 11915  		F__ccgo_pad3         [4]byte
 11916  		Flast_request_read   uint64
 11917  		Frequest             uint64
 11918  		Fprivate11           XPointer
 11919  		Fprivate12           XPointer
 11920  		Fprivate13           XPointer
 11921  		Fprivate14           XPointer
 11922  		Fmax_request_size    uint32
 11923  		F__ccgo_pad4         [4]byte
 11924  		Fdb                  uintptr
 11925  		Fprivate15           uintptr
 11926  		Fdisplay_name        uintptr
 11927  		Fdefault_screen      int32
 11928  		Fnscreens            int32
 11929  		Fscreens             uintptr
 11930  		Fmotion_buffer       uint64
 11931  		Fprivate16           uint64
 11932  		Fmin_keycode         int32
 11933  		Fmax_keycode         int32
 11934  		Fprivate17           XPointer
 11935  		Fprivate18           XPointer
 11936  		Fprivate19           int32
 11937  		F__ccgo_pad5         [4]byte
 11938  		Fxdefaults           uintptr
 11939  	})(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)))
 11940  
 11941  	len = int64(ncursor) * int64(Sz_xAnimCursorElt) >> 2
 11942  	if int64((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 11943  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 11944  			{
 11945  				// var _BRdat CARD64 at bp, 8
 11946  				var _BRlen CARD32 = CARD32(int32((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) - 1)
 11947  				(*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 11948  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 11949  				libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 11950  				*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 11951  				x11.X_XData32(tls, dpy, bp, uint32(4))
 11952  			}
 11953  		} else {
 11954  			len = len
 11955  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 11956  		}
 11957  	} else {
 11958  		*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 11959  	}
 11960  	len <<= 2
 11961  	x11.X_XData32(tls, dpy, cursors, uint32(len))
 11962  
 11963  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11964  		(*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)
 11965  	}
 11966  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 11967  		(*struct {
 11968  			f func(*libc.TLS, uintptr) int32
 11969  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 11970  	}
 11971  	return cid
 11972  }
 11973  
 11974  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 11975  // matters on alpha.  Note that this macro assumes that int is 32 bits
 11976  // except on WORD64 machines where it is 64 bits.
 11977  
 11978  // precompute the maximum size of batching request allowed
 11979  
 11980  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: */
 11981  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 11982  	var rect uintptr
 11983  	var req uintptr
 11984  
 11985  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 11986  		return
 11987  	}
 11988  
 11989  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 11990  		(*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)
 11991  	}
 11992  
 11993  	req = (*Display)(unsafe.Pointer(dpy)).Flast_req
 11994  	// if same as previous request, with same drawable, batch requests
 11995  	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) {
 11996  		*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(int32(Sz_xRectangle) >> 2)
 11997  		rect = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 11998  		*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xRectangle)
 11999  	} else {
 12000  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), uint64(Sz_xRenderFillRectanglesReq+Sz_xRectangle))
 12001  
 12002  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12003  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles)
 12004  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 12005  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 12006  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred
 12007  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen
 12008  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue
 12009  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha
 12010  
 12011  		rect = req + uintptr(1)*20
 12012  	}
 12013  	(*XRectangle1)(unsafe.Pointer(rect)).Fx = INT16(x)
 12014  	(*XRectangle1)(unsafe.Pointer(rect)).Fy = INT16(y)
 12015  	(*XRectangle1)(unsafe.Pointer(rect)).Fwidth = CARD16(width)
 12016  	(*XRectangle1)(unsafe.Pointer(rect)).Fheight = CARD16(height)
 12017  
 12018  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12019  		(*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)
 12020  	}
 12021  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12022  		(*struct {
 12023  			f func(*libc.TLS, uintptr) int32
 12024  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12025  	}
 12026  }
 12027  
 12028  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 12029  // matters on alpha.  Note that this macro assumes that int is 32 bits
 12030  // except on WORD64 machines where it is 64 bits.
 12031  
 12032  // precompute the maximum size of batching request allowed
 12033  
 12034  func XXRenderFillRectangles(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, rectangles uintptr, n_rects int32) { /* FillRects.c:35:1: */
 12035  	bp := tls.Alloc(8)
 12036  	defer tls.Free(8)
 12037  
 12038  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12039  	var req uintptr
 12040  	var len int64
 12041  	var n int32
 12042  
 12043  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 12044  		return
 12045  	}
 12046  
 12047  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12048  		(*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)
 12049  	}
 12050  
 12051  	for n_rects != 0 {
 12052  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), uint64(Sz_xRenderFillRectanglesReq))
 12053  
 12054  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12055  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles)
 12056  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 12057  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 12058  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred
 12059  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen
 12060  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue
 12061  		(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha
 12062  
 12063  		n = n_rects
 12064  		len = int64(n) << 1
 12065  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && len > int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) {
 12066  			n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) >> 1)
 12067  			len = int64(n) << 1
 12068  		}
 12069  		if int64((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 12070  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 12071  				{
 12072  					// var _BRdat CARD64 at bp, 8
 12073  					var _BRlen CARD32 = CARD32(int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) - 1)
 12074  					(*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 12075  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 12076  					libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 12077  					*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 12078  					x11.X_XData32(tls, dpy, bp, uint32(4))
 12079  				}
 12080  			} else {
 12081  				len = len
 12082  				*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 12083  			}
 12084  		} else {
 12085  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 12086  		}
 12087  		len <<= 2 /* watch out for macros... */
 12088  		{
 12089  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12090  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rectangles, uint64(int32(len)))
 12091  				*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3)))
 12092  			} else {
 12093  				x11.X_XSend(tls, dpy, rectangles, len)
 12094  			}
 12095  		}
 12096  
 12097  		n_rects = n_rects - n
 12098  		rectangles += 8 * uintptr(n)
 12099  	}
 12100  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12101  		(*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)
 12102  	}
 12103  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12104  		(*struct {
 12105  			f func(*libc.TLS, uintptr) int32
 12106  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12107  	}
 12108  }
 12109  
 12110  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 12111  // matters on alpha.  Note that this macro assumes that int is 32 bits
 12112  // except on WORD64 machines where it is 64 bits.
 12113  
 12114  // Copyright (C) 1992-2020 Free Software Foundation, Inc.
 12115  //
 12116  // This file is part of GCC.
 12117  //
 12118  // GCC is free software; you can redistribute it and/or modify it under
 12119  // the terms of the GNU General Public License as published by the Free
 12120  // Software Foundation; either version 3, or (at your option) any later
 12121  // version.
 12122  //
 12123  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 12124  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 12125  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 12126  // for more details.
 12127  //
 12128  // Under Section 7 of GPL version 3, you are granted additional
 12129  // permissions described in the GCC Runtime Library Exception, version
 12130  // 3.1, as published by the Free Software Foundation.
 12131  //
 12132  // You should have received a copy of the GNU General Public License and
 12133  // a copy of the GCC Runtime Library Exception along with this program;
 12134  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 12135  // <http://www.gnu.org/licenses/>.
 12136  
 12137  // This administrivia gets added to the beginning of limits.h
 12138  //    if the system has its own version of limits.h.
 12139  
 12140  // We use _GCC_LIMITS_H_ because we want this not to match
 12141  //    any macros that the system's limits.h uses for its own purposes.
 12142  
 12143  // Use "..." so that we find syslimits.h only in this same directory.
 12144  // syslimits.h stands for the system's own limits.h file.
 12145  //    If we can use it ok unmodified, then we install this text.
 12146  //    If fixincludes fixes it, then the fixed version is installed
 12147  //    instead of this text.
 12148  
 12149  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 12150  //    This file is part of the GNU C Library.
 12151  //
 12152  //    The GNU C Library is free software; you can redistribute it and/or
 12153  //    modify it under the terms of the GNU Lesser General Public
 12154  //    License as published by the Free Software Foundation; either
 12155  //    version 2.1 of the License, or (at your option) any later version.
 12156  //
 12157  //    The GNU C Library is distributed in the hope that it will be useful,
 12158  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12159  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12160  //    Lesser General Public License for more details.
 12161  //
 12162  //    You should have received a copy of the GNU Lesser General Public
 12163  //    License along with the GNU C Library; if not, see
 12164  //    <https://www.gnu.org/licenses/>.
 12165  
 12166  //	ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types	<limits.h>
 12167  
 12168  // Handle feature test macros at the start of a header.
 12169  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
 12170  //    This file is part of the GNU C Library.
 12171  //
 12172  //    The GNU C Library is free software; you can redistribute it and/or
 12173  //    modify it under the terms of the GNU Lesser General Public
 12174  //    License as published by the Free Software Foundation; either
 12175  //    version 2.1 of the License, or (at your option) any later version.
 12176  //
 12177  //    The GNU C Library is distributed in the hope that it will be useful,
 12178  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12179  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12180  //    Lesser General Public License for more details.
 12181  //
 12182  //    You should have received a copy of the GNU Lesser General Public
 12183  //    License along with the GNU C Library; if not, see
 12184  //    <https://www.gnu.org/licenses/>.
 12185  
 12186  // This header is internal to glibc and should not be included outside
 12187  //    of glibc headers.  Headers including it must define
 12188  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
 12189  //    cannot have multiple include guards because ISO C feature test
 12190  //    macros depend on the definition of the macro when an affected
 12191  //    header is included, not when the first system header is
 12192  //    included.
 12193  
 12194  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 12195  //    This file is part of the GNU C Library.
 12196  //
 12197  //    The GNU C Library is free software; you can redistribute it and/or
 12198  //    modify it under the terms of the GNU Lesser General Public
 12199  //    License as published by the Free Software Foundation; either
 12200  //    version 2.1 of the License, or (at your option) any later version.
 12201  //
 12202  //    The GNU C Library is distributed in the hope that it will be useful,
 12203  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12204  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12205  //    Lesser General Public License for more details.
 12206  //
 12207  //    You should have received a copy of the GNU Lesser General Public
 12208  //    License along with the GNU C Library; if not, see
 12209  //    <https://www.gnu.org/licenses/>.
 12210  
 12211  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
 12212  //    macro.
 12213  
 12214  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
 12215  //    macro.  Most but not all symbols enabled by that macro in TS
 12216  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
 12217  //    still require that macro in C2X.
 12218  
 12219  // ISO/IEC TS 18661-4:2015 defines the
 12220  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
 12221  //    functions, the symbols from this TS are enabled unconditionally in
 12222  //    C2X.
 12223  
 12224  // ISO/IEC TS 18661-3:2015 defines the
 12225  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
 12226  
 12227  // Maximum length of any multibyte character in any locale.
 12228  //    We define this value here since the gcc header does not define
 12229  //    the correct value.
 12230  
 12231  // If we are not using GNU CC we have to define all the symbols ourself.
 12232  //    Otherwise use gcc's definitions (see below).
 12233  
 12234  // Get the compiler's limits.h, which defines almost all the ISO constants.
 12235  //
 12236  //     We put this #include_next outside the double inclusion check because
 12237  //     it should be possible to include this file more than once and still get
 12238  //     the definitions from gcc's header.
 12239  
 12240  // The <limits.h> files in some gcc versions don't define LLONG_MIN,
 12241  //    LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for
 12242  //    ages are available.
 12243  
 12244  // The integer width macros are not defined by GCC's <limits.h> before
 12245  //    GCC 7, or if _GNU_SOURCE rather than
 12246  //    __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
 12247  
 12248  // POSIX adds things to <limits.h>.
 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  //	POSIX Standard: 2.9.2 Minimum Values	Added to <limits.h>
 12267  //
 12268  //	Never include this file directly; use <limits.h> instead.
 12269  
 12270  // Determine the wordsize from the preprocessor defines.
 12271  //
 12272  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
 12273  //    This file is part of the GNU C Library.
 12274  //
 12275  //    The GNU C Library is free software; you can redistribute it and/or
 12276  //    modify it under the terms of the GNU Lesser General Public
 12277  //    License as published by the Free Software Foundation; either
 12278  //    version 2.1 of the License, or (at your option) any later version.
 12279  //
 12280  //    The GNU C Library is distributed in the hope that it will be useful,
 12281  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12282  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12283  //    Lesser General Public License for more details.
 12284  //
 12285  //    You should have received a copy of the GNU Lesser General Public
 12286  //    License along with the GNU C Library; if not, see
 12287  //    <https://www.gnu.org/licenses/>.
 12288  
 12289  // These are the standard-mandated minimum values.
 12290  
 12291  // Minimum number of operations in one list I/O call.
 12292  
 12293  // Minimal number of outstanding asynchronous I/O operations.
 12294  
 12295  // Maximum length of arguments to `execve', including environment.
 12296  
 12297  // Maximum simultaneous processes per real user ID.
 12298  
 12299  // Minimal number of timer expiration overruns.
 12300  
 12301  // Maximum length of a host name (not including the terminating null)
 12302  //    as returned from the GETHOSTNAME function.
 12303  
 12304  // Maximum link count of a file.
 12305  
 12306  // Maximum length of login name.
 12307  
 12308  // Number of bytes in a terminal canonical input queue.
 12309  
 12310  // Number of bytes for which space will be
 12311  //    available in a terminal input queue.
 12312  
 12313  // Maximum number of message queues open for a process.
 12314  
 12315  // Maximum number of supported message priorities.
 12316  
 12317  // Number of bytes in a filename.
 12318  
 12319  // Number of simultaneous supplementary group IDs per process.
 12320  
 12321  // Number of files one process can have open at once.
 12322  
 12323  // Number of bytes in a pathname.
 12324  
 12325  // Number of bytes than can be written atomically to a pipe.
 12326  
 12327  // The number of repeated occurrences of a BRE permitted by the
 12328  //    REGEXEC and REGCOMP functions when using the interval notation.
 12329  
 12330  // Minimal number of realtime signals reserved for the application.
 12331  
 12332  // Number of semaphores a process can have.
 12333  
 12334  // Maximal value of a semaphore.
 12335  
 12336  // Number of pending realtime signals.
 12337  
 12338  // Largest value of a `ssize_t'.
 12339  
 12340  // Number of streams a process can have open at once.
 12341  
 12342  // The number of bytes in a symbolic link.
 12343  
 12344  // The number of symbolic links that can be traversed in the
 12345  //    resolution of a pathname in the absence of a loop.
 12346  
 12347  // Number of timer for a process.
 12348  
 12349  // Maximum number of characters in a tty name.
 12350  
 12351  // Maximum length of a timezone name (element of `tzname').
 12352  
 12353  // Maximum clock resolution in nanoseconds.
 12354  
 12355  // Get the implementation-specific values for the above.
 12356  // Minimum guaranteed maximum values for system limits.  Linux version.
 12357  //    Copyright (C) 1993-2020 Free Software Foundation, Inc.
 12358  //
 12359  //    This file is part of the GNU C Library.
 12360  //
 12361  //    The GNU C Library is free software; you can redistribute it and/or
 12362  //    modify it under the terms of the GNU Lesser General Public License as
 12363  //    published by the Free Software Foundation; either version 2.1 of the
 12364  //    License, or (at your option) any later version.
 12365  //
 12366  //    The GNU C Library is distributed in the hope that it will be useful,
 12367  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12368  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12369  //    Lesser General Public License for more details.
 12370  //
 12371  //    You should have received a copy of the GNU Lesser General Public
 12372  //    License along with the GNU C Library.  If not, see
 12373  //    <https://www.gnu.org/licenses/>.
 12374  
 12375  // The kernel header pollutes the namespace with the NR_OPEN symbol
 12376  //    and defines LINK_MAX although filesystems have different maxima.  A
 12377  //    similar thing is true for OPEN_MAX: the limit can be changed at
 12378  //    runtime and therefore the macro must not be defined.  Remove this
 12379  //    after including the header if necessary.
 12380  
 12381  // The kernel sources contain a file with all the needed information.
 12382  // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
 12383  
 12384  // Have to remove NR_OPEN?
 12385  // Have to remove LINK_MAX?
 12386  // Have to remove OPEN_MAX?
 12387  // Have to remove ARG_MAX?
 12388  
 12389  // The number of data keys per process.
 12390  // This is the value this implementation supports.
 12391  
 12392  // Controlling the iterations of destructors for thread-specific data.
 12393  // Number of iterations this implementation does.
 12394  
 12395  // The number of threads per process.
 12396  // We have no predefined limit on the number of threads.
 12397  
 12398  // Maximum amount by which a process can descrease its asynchronous I/O
 12399  //    priority level.
 12400  
 12401  // Minimum size for a thread.  At least two pages for systems with 64k
 12402  //    pages.
 12403  
 12404  // Maximum number of timer expiration overruns.
 12405  
 12406  // Maximum tty name length.
 12407  
 12408  // Maximum login name length.  This is arbitrary.
 12409  
 12410  // Maximum host name length.
 12411  
 12412  // Maximum message queue priority level.
 12413  
 12414  // Maximum value the semaphore can have.
 12415  
 12416  // ssize_t is not formally required to be the signed type
 12417  //    corresponding to size_t, but it is for all configurations supported
 12418  //    by glibc.
 12419  
 12420  // This value is a guaranteed minimum maximum.
 12421  //    The current maximum can be got from `sysconf'.
 12422  
 12423  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 12424  //    This file is part of the GNU C Library.
 12425  //
 12426  //    The GNU C Library is free software; you can redistribute it and/or
 12427  //    modify it under the terms of the GNU Lesser General Public
 12428  //    License as published by the Free Software Foundation; either
 12429  //    version 2.1 of the License, or (at your option) any later version.
 12430  //
 12431  //    The GNU C Library is distributed in the hope that it will be useful,
 12432  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 12433  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12434  //    Lesser General Public License for more details.
 12435  //
 12436  //    You should have received a copy of the GNU Lesser General Public
 12437  //    License along with the GNU C Library; if not, see
 12438  //    <https://www.gnu.org/licenses/>.
 12439  
 12440  // Never include this file directly; include <limits.h> instead.
 12441  
 12442  // The maximum `ibase' and `obase' values allowed by the `bc' utility.
 12443  
 12444  // The maximum number of elements allowed in an array by the `bc' utility.
 12445  
 12446  // The maximum `scale' value allowed by the `bc' utility.
 12447  
 12448  // The maximum length of a string constant accepted by the `bc' utility.
 12449  
 12450  // The maximum number of weights that can be assigned to an entry of
 12451  //    the LC_COLLATE `order' keyword in the locale definition file.
 12452  
 12453  // The maximum number of expressions that can be nested
 12454  //    within parentheses by the `expr' utility.
 12455  
 12456  // The maximum length, in bytes, of an input line.
 12457  
 12458  // The maximum number of repeated occurrences of a regular expression
 12459  //    permitted when using the interval notation `\{M,N\}'.
 12460  
 12461  // The maximum number of bytes in a character class name.  We have no
 12462  //    fixed limit, 2048 is a high number.
 12463  
 12464  // These values are implementation-specific,
 12465  //    and may vary within the implementation.
 12466  //    Their precise values can be obtained from sysconf.
 12467  
 12468  // This value is defined like this in regex.h.
 12469  
 12470  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 12471  //
 12472  // This file is part of GCC.
 12473  //
 12474  // GCC is free software; you can redistribute it and/or modify it under
 12475  // the terms of the GNU General Public License as published by the Free
 12476  // Software Foundation; either version 3, or (at your option) any later
 12477  // version.
 12478  //
 12479  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 12480  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 12481  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 12482  // for more details.
 12483  //
 12484  // Under Section 7 of GPL version 3, you are granted additional
 12485  // permissions described in the GCC Runtime Library Exception, version
 12486  // 3.1, as published by the Free Software Foundation.
 12487  //
 12488  // You should have received a copy of the GNU General Public License and
 12489  // a copy of the GCC Runtime Library Exception along with this program;
 12490  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 12491  // <http://www.gnu.org/licenses/>.
 12492  
 12493  // Number of bits in a `char'.
 12494  
 12495  // Maximum length of a multibyte character.
 12496  
 12497  // Minimum and maximum values a `signed char' can hold.
 12498  
 12499  // Maximum value an `unsigned char' can hold.  (Minimum is 0).
 12500  
 12501  // Minimum and maximum values a `char' can hold.
 12502  
 12503  // Minimum and maximum values a `signed short int' can hold.
 12504  
 12505  // Maximum value an `unsigned short int' can hold.  (Minimum is 0).
 12506  
 12507  // Minimum and maximum values a `signed int' can hold.
 12508  
 12509  // Maximum value an `unsigned int' can hold.  (Minimum is 0).
 12510  
 12511  // Minimum and maximum values a `signed long int' can hold.
 12512  //    (Same as `int').
 12513  
 12514  // Maximum value an `unsigned long int' can hold.  (Minimum is 0).
 12515  
 12516  // Minimum and maximum values a `signed long long int' can hold.
 12517  
 12518  // Maximum value an `unsigned long long int' can hold.  (Minimum is 0).
 12519  
 12520  // This administrivia gets added to the end of limits.h
 12521  //    if the system has its own version of limits.h.
 12522  
 12523  func XXRenderQueryFilters(tls *libc.TLS, dpy uintptr, drawable Drawable) uintptr { /* Filter.c:30:10: */
 12524  	bp := tls.Alloc(33)
 12525  	defer tls.Free(33)
 12526  
 12527  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12528  	var xri uintptr
 12529  	var req uintptr
 12530  	// var rep XRenderQueryFiltersReply at bp, 32
 12531  
 12532  	var filters uintptr
 12533  	var name uintptr
 12534  	// var len uint8 at bp+32, 1
 12535  
 12536  	var i int32
 12537  	var nbytes uint64
 12538  	var nbytesAlias uint64
 12539  	var nbytesName uint64
 12540  	var reply_left uint64
 12541  
 12542  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 12543  		return uintptr(0)
 12544  	}
 12545  
 12546  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 12547  		return uintptr(0)
 12548  	}
 12549  
 12550  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 12551  	if (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version < 6 {
 12552  		return uintptr(0)
 12553  	}
 12554  
 12555  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12556  		(*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)
 12557  	}
 12558  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryFilters), uint64(Sz_xRenderQueryFiltersReq))
 12559  	(*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12560  	(*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryFilters)
 12561  	(*XRenderQueryFiltersReq)(unsafe.Pointer(req)).Fdrawable = CARD32(drawable)
 12562  	if !(x11.X_XReply(tls, dpy, bp, 0, XFalse) != 0) {
 12563  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12564  			(*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)
 12565  		}
 12566  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12567  			(*struct {
 12568  				f func(*libc.TLS, uintptr) int32
 12569  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12570  		}
 12571  		return uintptr(0)
 12572  	}
 12573  
 12574  	// Limit each component of combined size to 1/4 the max, which is far
 12575  	// more than they should ever possibly need.
 12576  	if (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).Flength < CARD32(int32(0x7fffffff)>>2) && uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(uintptr(0))) && uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(int16(0))) {
 12577  		// Compute total number of bytes for filter names
 12578  		nbytes = uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).Flength) << 2
 12579  		nbytesAlias = uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases * CARD32(2))
 12580  		if (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases&CARD32(1) != 0 {
 12581  			nbytesAlias = nbytesAlias + uint64(2)
 12582  		}
 12583  		nbytesName = nbytes - nbytesAlias
 12584  
 12585  		// Allocate one giant block for the whole data structure
 12586  		filters = libc.Xmalloc(tls, func() uint64 {
 12587  			if uint64(unsafe.Sizeof(XFilters{}))+uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters)*uint64(unsafe.Sizeof(uintptr(0)))+uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)*uint64(unsafe.Sizeof(int16(0)))+nbytesName == uint64(0) {
 12588  				return uint64(1)
 12589  			}
 12590  			return uint64(unsafe.Sizeof(XFilters{})) + uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters)*uint64(unsafe.Sizeof(uintptr(0))) + uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)*uint64(unsafe.Sizeof(int16(0))) + nbytesName
 12591  		}())
 12592  	} else {
 12593  		filters = uintptr(0)
 12594  	}
 12595  
 12596  	if !(filters != 0) {
 12597  		x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength))
 12598  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12599  			(*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)
 12600  		}
 12601  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12602  			(*struct {
 12603  				f func(*libc.TLS, uintptr) int32
 12604  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12605  		}
 12606  		return uintptr(0)
 12607  	}
 12608  
 12609  	// Layout:
 12610  	//	XFilters
 12611  	//	numFilters  char * pointers to filter names
 12612  	//	numAliases  short alias values
 12613  	//	nbytesName  char strings
 12614  
 12615  	(*XFilters)(unsafe.Pointer(filters)).Fnfilter = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters)
 12616  	(*XFilters)(unsafe.Pointer(filters)).Fnalias = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)
 12617  	(*XFilters)(unsafe.Pointer(filters)).Ffilter = filters + uintptr(1)*32
 12618  	(*XFilters)(unsafe.Pointer(filters)).Falias = (*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumFilters)*8
 12619  	name = (*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)*2
 12620  
 12621  	// Read the filter aliases
 12622  	x11.X_XReadPad(tls, dpy, (*XFilters)(unsafe.Pointer(filters)).Falias, int64(CARD32(2)*(*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases))
 12623  	reply_left = uint64(CARD32(8) + (*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).Flength - CARD32(2)*(*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)
 12624  
 12625  	// Read the filter names
 12626  	for i = 0; CARD32(i) < (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters; i++ {
 12627  		var l int32
 12628  		x11.X_XRead(tls, dpy, bp+32, int64(1))
 12629  		reply_left--
 12630  		l = int32(*(*uint8)(unsafe.Pointer(bp + 32))) & 0xff
 12631  		if uint64(l)+uint64(1) > nbytesName {
 12632  			x11.X_XEatDataWords(tls, dpy, reply_left)
 12633  			libc.Xfree(tls, filters)
 12634  			if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12635  				(*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)
 12636  			}
 12637  			if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12638  				(*struct {
 12639  					f func(*libc.TLS, uintptr) int32
 12640  				})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12641  			}
 12642  			return uintptr(0)
 12643  		}
 12644  		nbytesName = nbytesName - uint64(l+1)
 12645  		*(*uintptr)(unsafe.Pointer((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr(i)*8)) = name
 12646  		x11.X_XRead(tls, dpy, name, int64(l))
 12647  		reply_left = reply_left - uint64(l)
 12648  		*(*uint8)(unsafe.Pointer(name + uintptr(l))) = uint8(0)
 12649  		name += uintptr(l + 1)
 12650  	}
 12651  	i = int32((int64(name) - int64((*XFilters)(unsafe.Pointer(filters)).Falias+uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp)).FnumAliases)*2)) / 1)
 12652  
 12653  	if i&3 != 0 {
 12654  		x11.X_XEatData(tls, dpy, uint64(4-i&3))
 12655  	}
 12656  
 12657  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12658  		(*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)
 12659  	}
 12660  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12661  		(*struct {
 12662  			f func(*libc.TLS, uintptr) int32
 12663  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12664  	}
 12665  	return filters
 12666  }
 12667  
 12668  func XXRenderSetPictureFilter(tls *libc.TLS, dpy uintptr, picture Picture, filter uintptr, params uintptr, nparams int32) { /* Filter.c:153:1: */
 12669  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12670  	var req uintptr
 12671  	var nbytes int32 = int32(libc.Xstrlen(tls, filter))
 12672  
 12673  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 12674  		return
 12675  	}
 12676  
 12677  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12678  		(*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)
 12679  	}
 12680  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureFilter), uint64(Sz_xRenderSetPictureFilterReq))
 12681  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12682  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureFilter)
 12683  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 12684  	(*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fnbytes = CARD16(nbytes)
 12685  	*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((nbytes+3)>>2 + nparams)
 12686  	{
 12687  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12688  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, filter, uint64(nbytes))
 12689  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nbytes + 3) & libc.CplInt32(3))
 12690  		} else {
 12691  			x11.X_XSend(tls, dpy, filter, int64(nbytes))
 12692  		}
 12693  	}
 12694  
 12695  	{
 12696  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nparams<<2) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12697  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, params, uint64(nparams<<2))
 12698  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nparams<<2 + 3) & libc.CplInt32(3))
 12699  		} else {
 12700  			x11.X_XSend(tls, dpy, params, int64(nparams<<2))
 12701  		}
 12702  	}
 12703  
 12704  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12705  		(*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)
 12706  	}
 12707  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12708  		(*struct {
 12709  			f func(*libc.TLS, uintptr) int32
 12710  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12711  	}
 12712  }
 12713  
 12714  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 12715  // matters on alpha.  Note that this macro assumes that int is 32 bits
 12716  // except on WORD64 machines where it is 64 bits.
 12717  
 12718  func XXRenderCreateGlyphSet(tls *libc.TLS, dpy uintptr, format uintptr) GlyphSet { /* Glyph.c:31:1: */
 12719  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12720  	var gsid GlyphSet
 12721  	var req uintptr
 12722  
 12723  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 12724  		return uint64(0)
 12725  	}
 12726  
 12727  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12728  		(*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)
 12729  	}
 12730  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateGlyphSet), uint64(Sz_xRenderCreateGlyphSetReq))
 12731  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12732  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateGlyphSet)
 12733  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fgsid = CARD32(libc.AssignUint64(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 12734  		Fext_data            uintptr
 12735  		Fprivate1            uintptr
 12736  		Ffd                  int32
 12737  		Fprivate2            int32
 12738  		Fproto_major_version int32
 12739  		Fproto_minor_version int32
 12740  		Fvendor              uintptr
 12741  		Fprivate3            XID
 12742  		Fprivate4            XID
 12743  		Fprivate5            XID
 12744  		Fprivate6            int32
 12745  		F__ccgo_pad1         [4]byte
 12746  		Fresource_alloc      uintptr
 12747  		Fbyte_order          int32
 12748  		Fbitmap_unit         int32
 12749  		Fbitmap_pad          int32
 12750  		Fbitmap_bit_order    int32
 12751  		Fnformats            int32
 12752  		F__ccgo_pad2         [4]byte
 12753  		Fpixmap_format       uintptr
 12754  		Fprivate8            int32
 12755  		Frelease             int32
 12756  		Fprivate9            uintptr
 12757  		Fprivate10           uintptr
 12758  		Fqlen                int32
 12759  		F__ccgo_pad3         [4]byte
 12760  		Flast_request_read   uint64
 12761  		Frequest             uint64
 12762  		Fprivate11           XPointer
 12763  		Fprivate12           XPointer
 12764  		Fprivate13           XPointer
 12765  		Fprivate14           XPointer
 12766  		Fmax_request_size    uint32
 12767  		F__ccgo_pad4         [4]byte
 12768  		Fdb                  uintptr
 12769  		Fprivate15           uintptr
 12770  		Fdisplay_name        uintptr
 12771  		Fdefault_screen      int32
 12772  		Fnscreens            int32
 12773  		Fscreens             uintptr
 12774  		Fmotion_buffer       uint64
 12775  		Fprivate16           uint64
 12776  		Fmin_keycode         int32
 12777  		Fmax_keycode         int32
 12778  		Fprivate17           XPointer
 12779  		Fprivate18           XPointer
 12780  		Fprivate19           int32
 12781  		F__ccgo_pad5         [4]byte
 12782  		Fxdefaults           uintptr
 12783  	})(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)))
 12784  	(*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid)
 12785  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12786  		(*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)
 12787  	}
 12788  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12789  		(*struct {
 12790  			f func(*libc.TLS, uintptr) int32
 12791  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12792  	}
 12793  	return gsid
 12794  }
 12795  
 12796  func XXRenderReferenceGlyphSet(tls *libc.TLS, dpy uintptr, existing GlyphSet) GlyphSet { /* Glyph.c:50:1: */
 12797  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12798  	var gsid GlyphSet
 12799  	var req uintptr
 12800  
 12801  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 12802  		return uint64(0)
 12803  	}
 12804  
 12805  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12806  		(*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)
 12807  	}
 12808  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderReferenceGlyphSet), uint64(Sz_xRenderReferenceGlyphSetReq))
 12809  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12810  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderReferenceGlyphSet)
 12811  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fgsid = CARD32(libc.AssignUint64(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 12812  		Fext_data            uintptr
 12813  		Fprivate1            uintptr
 12814  		Ffd                  int32
 12815  		Fprivate2            int32
 12816  		Fproto_major_version int32
 12817  		Fproto_minor_version int32
 12818  		Fvendor              uintptr
 12819  		Fprivate3            XID
 12820  		Fprivate4            XID
 12821  		Fprivate5            XID
 12822  		Fprivate6            int32
 12823  		F__ccgo_pad1         [4]byte
 12824  		Fresource_alloc      uintptr
 12825  		Fbyte_order          int32
 12826  		Fbitmap_unit         int32
 12827  		Fbitmap_pad          int32
 12828  		Fbitmap_bit_order    int32
 12829  		Fnformats            int32
 12830  		F__ccgo_pad2         [4]byte
 12831  		Fpixmap_format       uintptr
 12832  		Fprivate8            int32
 12833  		Frelease             int32
 12834  		Fprivate9            uintptr
 12835  		Fprivate10           uintptr
 12836  		Fqlen                int32
 12837  		F__ccgo_pad3         [4]byte
 12838  		Flast_request_read   uint64
 12839  		Frequest             uint64
 12840  		Fprivate11           XPointer
 12841  		Fprivate12           XPointer
 12842  		Fprivate13           XPointer
 12843  		Fprivate14           XPointer
 12844  		Fmax_request_size    uint32
 12845  		F__ccgo_pad4         [4]byte
 12846  		Fdb                  uintptr
 12847  		Fprivate15           uintptr
 12848  		Fdisplay_name        uintptr
 12849  		Fdefault_screen      int32
 12850  		Fnscreens            int32
 12851  		Fscreens             uintptr
 12852  		Fmotion_buffer       uint64
 12853  		Fprivate16           uint64
 12854  		Fmin_keycode         int32
 12855  		Fmax_keycode         int32
 12856  		Fprivate17           XPointer
 12857  		Fprivate18           XPointer
 12858  		Fprivate19           int32
 12859  		F__ccgo_pad5         [4]byte
 12860  		Fxdefaults           uintptr
 12861  	})(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)))
 12862  	(*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fexisting = CARD32(existing)
 12863  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12864  		(*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)
 12865  	}
 12866  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12867  		(*struct {
 12868  			f func(*libc.TLS, uintptr) int32
 12869  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12870  	}
 12871  	return gsid
 12872  }
 12873  
 12874  func XXRenderFreeGlyphSet(tls *libc.TLS, dpy uintptr, glyphset GlyphSet) { /* Glyph.c:69:1: */
 12875  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12876  	var req uintptr
 12877  
 12878  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 12879  		return
 12880  	}
 12881  
 12882  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12883  		(*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)
 12884  	}
 12885  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphSet), uint64(Sz_xRenderFreeGlyphSetReq))
 12886  	(*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12887  	(*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphSet)
 12888  	(*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 12889  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12890  		(*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)
 12891  	}
 12892  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12893  		(*struct {
 12894  			f func(*libc.TLS, uintptr) int32
 12895  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12896  	}
 12897  }
 12898  
 12899  func XXRenderAddGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, glyphs uintptr, nglyphs int32, images uintptr, nbyte_images int32) { /* Glyph.c:85:1: */
 12900  	bp := tls.Alloc(8)
 12901  	defer tls.Free(8)
 12902  
 12903  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12904  	var req uintptr
 12905  	var len int64
 12906  
 12907  	if nbyte_images&3 != 0 {
 12908  		nbyte_images = nbyte_images + (4 - nbyte_images&3)
 12909  	}
 12910  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 12911  		return
 12912  	}
 12913  
 12914  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12915  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})).f(tls, dpy)
 12916  	}
 12917  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddGlyphs), uint64(Sz_xRenderAddGlyphsReq))
 12918  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12919  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddGlyphs)
 12920  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 12921  	(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fnglyphs = CARD32(nglyphs)
 12922  	len = int64((nglyphs*(Sz_xGlyphInfo+4) + nbyte_images) >> 2)
 12923  	if int64((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 12924  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 12925  			{
 12926  				// var _BRdat CARD64 at bp, 8
 12927  				var _BRlen CARD32 = CARD32(int32((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) - 1)
 12928  				(*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 12929  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 12930  				libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 12931  				*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 12932  				x11.X_XData32(tls, dpy, bp, uint32(4))
 12933  			}
 12934  		} else {
 12935  			len = len
 12936  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 12937  		}
 12938  	} else {
 12939  		*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 12940  	}
 12941  	x11.X_XData32(tls, dpy, gids, uint32(nglyphs*4))
 12942  	{
 12943  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nglyphs*Sz_xGlyphInfo) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12944  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, glyphs, uint64(nglyphs*Sz_xGlyphInfo))
 12945  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nglyphs*Sz_xGlyphInfo + 3) & libc.CplInt32(3))
 12946  		} else {
 12947  			x11.X_XSend(tls, dpy, glyphs, int64(nglyphs*Sz_xGlyphInfo))
 12948  		}
 12949  	}
 12950  
 12951  	{
 12952  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbyte_images) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 12953  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, images, uint64(nbyte_images))
 12954  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nbyte_images + 3) & libc.CplInt32(3))
 12955  		} else {
 12956  			x11.X_XSend(tls, dpy, images, int64(nbyte_images))
 12957  		}
 12958  	}
 12959  
 12960  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12961  		(*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)
 12962  	}
 12963  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 12964  		(*struct {
 12965  			f func(*libc.TLS, uintptr) int32
 12966  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 12967  	}
 12968  }
 12969  
 12970  func XXRenderFreeGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, nglyphs int32) { /* Glyph.c:116:1: */
 12971  	bp := tls.Alloc(8)
 12972  	defer tls.Free(8)
 12973  
 12974  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 12975  	var req uintptr
 12976  	var len int64
 12977  
 12978  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 12979  		return
 12980  	}
 12981  
 12982  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 12983  		(*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)
 12984  	}
 12985  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphs), uint64(Sz_xRenderFreeGlyphsReq))
 12986  	(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 12987  	(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphs)
 12988  	(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 12989  	len = int64(nglyphs)
 12990  	if int64((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 12991  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 12992  			{
 12993  				// var _BRdat CARD64 at bp, 8
 12994  				var _BRlen CARD32 = CARD32(int32((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) - 1)
 12995  				(*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 12996  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 12997  				libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 12998  				*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 12999  				x11.X_XData32(tls, dpy, bp, uint32(4))
 13000  			}
 13001  		} else {
 13002  			len = len
 13003  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 13004  		}
 13005  	} else {
 13006  		*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 13007  	}
 13008  	len <<= 2
 13009  	x11.X_XData32(tls, dpy, gids, uint32(len))
 13010  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13011  		(*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)
 13012  	}
 13013  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13014  		(*struct {
 13015  			f func(*libc.TLS, uintptr) int32
 13016  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13017  	}
 13018  }
 13019  
 13020  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: */
 13021  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13022  	var req uintptr
 13023  	var len int64
 13024  	var elt uintptr
 13025  	var nbytes int32
 13026  
 13027  	if !(nchar != 0) {
 13028  		return
 13029  	}
 13030  
 13031  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 13032  		return
 13033  	}
 13034  
 13035  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13036  		(*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)
 13037  	}
 13038  
 13039  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint64(Sz_xRenderCompositeGlyphs8Req))
 13040  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13041  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8)
 13042  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13043  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 13044  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 13045  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13046  		if maskFormat != 0 {
 13047  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 13048  		}
 13049  		return uint32(None)
 13050  	}()
 13051  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 13052  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13053  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13054  
 13055  	// xGlyphElt must be aligned on a 32-bit boundary; this is
 13056  	// easily done by filling no more than 252 glyphs in each
 13057  	// bucket
 13058  
 13059  	len = int64(Sz_xGlyphElt*((nchar+252-1)/252) + nchar)
 13060  
 13061  	*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((len + int64(3)) >> 2) // convert to number of 32-bit words
 13062  
 13063  	// If the entire request does not fit into the remaining space in the
 13064  	// buffer, flush the buffer first.
 13065  
 13066  	if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13067  		x11.X_XFlush(tls, dpy)
 13068  	}
 13069  
 13070  	for nchar > 252 {
 13071  		nbytes = 252 + Sz_xGlyphElt
 13072  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13073  			x11.X_XFlush(tls, dpy)
 13074  		}
 13075  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13076  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 13077  		*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes)
 13078  
 13079  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(252)
 13080  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13081  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13082  		xDst = 0
 13083  		yDst = 0
 13084  		libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(252))
 13085  		nchar = nchar - 252
 13086  		string += uintptr(252)
 13087  	}
 13088  
 13089  	if nchar != 0 {
 13090  		nbytes = (nchar + Sz_xGlyphElt + 3) & libc.CplInt32(3)
 13091  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13092  			x11.X_XFlush(tls, dpy)
 13093  		}
 13094  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13095  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 13096  		*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes)
 13097  
 13098  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar)
 13099  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13100  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13101  		libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(nchar))
 13102  	}
 13103  
 13104  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13105  		(*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)
 13106  	}
 13107  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13108  		(*struct {
 13109  			f func(*libc.TLS, uintptr) int32
 13110  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13111  	}
 13112  }
 13113  
 13114  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: */
 13115  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13116  	var req uintptr
 13117  	var len int64
 13118  	var elt uintptr
 13119  	var nbytes int32
 13120  
 13121  	if !(nchar != 0) {
 13122  		return
 13123  	}
 13124  
 13125  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 13126  		return
 13127  	}
 13128  
 13129  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13130  		(*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)
 13131  	}
 13132  
 13133  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint64(Sz_xRenderCompositeGlyphs16Req))
 13134  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13135  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16)
 13136  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13137  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 13138  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 13139  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13140  		if maskFormat != 0 {
 13141  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 13142  		}
 13143  		return uint32(None)
 13144  	}()
 13145  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 13146  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13147  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13148  
 13149  	len = int64(Sz_xGlyphElt*((nchar+254-1)/254) + nchar*2)
 13150  
 13151  	*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((len + int64(3)) >> 2) // convert to number of 32-bit words
 13152  
 13153  	// If the entire request does not fit into the remaining space in the
 13154  	// buffer, flush the buffer first.
 13155  
 13156  	if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13157  		x11.X_XFlush(tls, dpy)
 13158  	}
 13159  
 13160  	for nchar > 254 {
 13161  		nbytes = 254*2 + Sz_xGlyphElt
 13162  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13163  			x11.X_XFlush(tls, dpy)
 13164  		}
 13165  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13166  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 13167  		*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes)
 13168  
 13169  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254)
 13170  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13171  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13172  		xDst = 0
 13173  		yDst = 0
 13174  		libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(254*2))
 13175  		nchar = nchar - 254
 13176  		string += 2 * uintptr(254)
 13177  	}
 13178  
 13179  	if nchar != 0 {
 13180  		nbytes = (nchar*2 + Sz_xGlyphElt + 3) & libc.CplInt32(3)
 13181  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13182  			x11.X_XFlush(tls, dpy)
 13183  		}
 13184  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13185  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 13186  		*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes)
 13187  
 13188  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar)
 13189  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13190  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13191  		libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(nchar*2))
 13192  	}
 13193  
 13194  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13195  		(*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)
 13196  	}
 13197  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13198  		(*struct {
 13199  			f func(*libc.TLS, uintptr) int32
 13200  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13201  	}
 13202  }
 13203  
 13204  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: */
 13205  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13206  	var req uintptr
 13207  	var len int64
 13208  	var elt uintptr
 13209  	var nbytes int32
 13210  
 13211  	if !(nchar != 0) {
 13212  		return
 13213  	}
 13214  
 13215  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 13216  		return
 13217  	}
 13218  
 13219  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13220  		(*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)
 13221  	}
 13222  
 13223  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint64(Sz_xRenderCompositeGlyphs32Req))
 13224  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13225  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32)
 13226  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13227  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 13228  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 13229  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13230  		if maskFormat != 0 {
 13231  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 13232  		}
 13233  		return uint32(None)
 13234  	}()
 13235  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset)
 13236  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13237  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13238  
 13239  	len = int64(Sz_xGlyphElt*((nchar+254-1)/254) + nchar*4)
 13240  
 13241  	*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16((len + int64(3)) >> 2) // convert to number of 32-bit words
 13242  
 13243  	// If the entire request does not fit into the remaining space in the
 13244  	// buffer, flush the buffer first.
 13245  
 13246  	if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13247  		x11.X_XFlush(tls, dpy)
 13248  	}
 13249  
 13250  	for nchar > 254 {
 13251  		nbytes = 254*4 + Sz_xGlyphElt
 13252  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13253  			x11.X_XFlush(tls, dpy)
 13254  		}
 13255  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13256  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 13257  		*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes)
 13258  
 13259  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254)
 13260  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13261  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13262  		xDst = 0
 13263  		yDst = 0
 13264  		libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(254*4))
 13265  		nchar = nchar - 254
 13266  		string += 4 * uintptr(254)
 13267  	}
 13268  
 13269  	if nchar != 0 {
 13270  		nbytes = nchar*4 + Sz_xGlyphElt
 13271  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13272  			x11.X_XFlush(tls, dpy)
 13273  		}
 13274  		elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13275  		libc.Xmemset(tls, elt, 0, uint64(nbytes))
 13276  		*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(nbytes)
 13277  
 13278  		(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar)
 13279  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13280  		(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13281  		libc.Xmemcpy(tls, elt+uintptr(1)*8, string, uint64(nchar*4))
 13282  	}
 13283  
 13284  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13285  		(*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)
 13286  	}
 13287  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13288  		(*struct {
 13289  			f func(*libc.TLS, uintptr) int32
 13290  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13291  	}
 13292  }
 13293  
 13294  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: */
 13295  	bp := tls.Alloc(8)
 13296  	defer tls.Free(8)
 13297  
 13298  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13299  	var req uintptr
 13300  	// var glyphset GlyphSet at bp, 8
 13301  
 13302  	var len int64
 13303  	var elen int64
 13304  	var elt uintptr
 13305  	var i int32
 13306  	var chars uintptr
 13307  	var nchars int32
 13308  
 13309  	if !(nelt != 0) {
 13310  		return
 13311  	}
 13312  
 13313  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 13314  		return
 13315  	}
 13316  
 13317  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13318  		(*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)
 13319  	}
 13320  
 13321  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint64(Sz_xRenderCompositeGlyphs8Req))
 13322  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13323  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8)
 13324  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13325  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 13326  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 13327  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13328  		if maskFormat != 0 {
 13329  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 13330  		}
 13331  		return uint32(None)
 13332  	}()
 13333  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset)
 13334  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13335  	(*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13336  
 13337  	// Compute the space necessary
 13338  	len = int64(0)
 13339  
 13340  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset
 13341  	for i = 0; i < nelt; i++ {
 13342  		// Check for glyphset change
 13343  		if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) {
 13344  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13345  			len = len + int64(int32(Sz_xGlyphElt+4)>>2)
 13346  		}
 13347  		nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13348  		// xGlyphElt must be aligned on a 32-bit boundary; this is
 13349  		// easily done by filling no more than 252 glyphs in each
 13350  		// bucket
 13351  		elen = int64(Sz_xGlyphElt*((nchars+252-1)/252) + nchars)
 13352  		len = len + (elen+int64(3))>>2
 13353  	}
 13354  
 13355  	*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 13356  
 13357  	// Send the glyphs
 13358  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset
 13359  	for i = 0; i < nelt; i++ {
 13360  		// Switch glyphsets
 13361  		if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) {
 13362  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13363  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13364  				x11.X_XFlush(tls, dpy)
 13365  			}
 13366  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13367  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13368  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt)
 13369  
 13370  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff)
 13371  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0)
 13372  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0)
 13373  			x11.X_XData32(tls, dpy, bp, uint32(4))
 13374  		}
 13375  		nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13376  		xDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff
 13377  		yDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff
 13378  		chars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars
 13379  		for nchars != 0 {
 13380  			var this_chars int32
 13381  			if nchars > 252 {
 13382  				this_chars = 252
 13383  			} else {
 13384  				this_chars = nchars
 13385  			}
 13386  
 13387  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13388  				x11.X_XFlush(tls, dpy)
 13389  			}
 13390  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13391  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13392  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt)
 13393  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars)
 13394  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13395  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13396  			xDst = 0
 13397  			yDst = 0
 13398  			{
 13399  				if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_chars) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13400  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_chars))
 13401  					*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((this_chars + 3) & libc.CplInt32(3))
 13402  				} else {
 13403  					x11.X_XSend(tls, dpy, chars, int64(this_chars))
 13404  				}
 13405  			}
 13406  
 13407  			nchars = nchars - this_chars
 13408  			chars += uintptr(this_chars)
 13409  		}
 13410  	}
 13411  
 13412  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13413  		(*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)
 13414  	}
 13415  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13416  		(*struct {
 13417  			f func(*libc.TLS, uintptr) int32
 13418  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13419  	}
 13420  }
 13421  
 13422  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: */
 13423  	bp := tls.Alloc(8)
 13424  	defer tls.Free(8)
 13425  
 13426  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13427  	var req uintptr
 13428  	// var glyphset GlyphSet at bp, 8
 13429  
 13430  	var len int64
 13431  	var elen int64
 13432  	var elt uintptr
 13433  	var i int32
 13434  	var chars uintptr
 13435  	var nchars int32
 13436  
 13437  	if !(nelt != 0) {
 13438  		return
 13439  	}
 13440  
 13441  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 13442  		return
 13443  	}
 13444  
 13445  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13446  		(*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)
 13447  	}
 13448  
 13449  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint64(Sz_xRenderCompositeGlyphs16Req))
 13450  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13451  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16)
 13452  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13453  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 13454  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 13455  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13456  		if maskFormat != 0 {
 13457  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 13458  		}
 13459  		return uint32(None)
 13460  	}()
 13461  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset)
 13462  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13463  	(*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13464  
 13465  	// Compute the space necessary
 13466  	len = int64(0)
 13467  
 13468  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset
 13469  	for i = 0; i < nelt; i++ {
 13470  		// Check for glyphset change
 13471  		if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) {
 13472  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13473  			len = len + int64(int32(Sz_xGlyphElt+4)>>2)
 13474  		}
 13475  		nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13476  		// xGlyphElt must be aligned on a 32-bit boundary; this is
 13477  		// easily done by filling no more than 254 glyphs in each
 13478  		// bucket
 13479  		elen = int64(Sz_xGlyphElt*((nchars+254-1)/254) + nchars*2)
 13480  		len = len + (elen+int64(3))>>2
 13481  	}
 13482  
 13483  	*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 13484  
 13485  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset
 13486  	for i = 0; i < nelt; i++ {
 13487  		// Switch glyphsets
 13488  		if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) {
 13489  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13490  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13491  				x11.X_XFlush(tls, dpy)
 13492  			}
 13493  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13494  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13495  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt)
 13496  
 13497  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff)
 13498  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0)
 13499  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0)
 13500  			x11.X_XData32(tls, dpy, bp, uint32(4))
 13501  		}
 13502  		nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13503  		xDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff
 13504  		yDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff
 13505  		chars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars
 13506  		for nchars != 0 {
 13507  			var this_chars int32
 13508  			if nchars > 254 {
 13509  				this_chars = 254
 13510  			} else {
 13511  				this_chars = nchars
 13512  			}
 13513  			var this_bytes int32 = this_chars * 2
 13514  
 13515  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13516  				x11.X_XFlush(tls, dpy)
 13517  			}
 13518  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13519  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13520  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt)
 13521  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars)
 13522  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13523  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13524  			xDst = 0
 13525  			yDst = 0
 13526  			{
 13527  				if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_bytes) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13528  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_bytes))
 13529  					*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((this_bytes + 3) & libc.CplInt32(3))
 13530  				} else {
 13531  					x11.X_XSend(tls, dpy, chars, int64(this_bytes))
 13532  				}
 13533  			}
 13534  
 13535  			nchars = nchars - this_chars
 13536  			chars += 2 * uintptr(this_chars)
 13537  		}
 13538  	}
 13539  
 13540  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13541  		(*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)
 13542  	}
 13543  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13544  		(*struct {
 13545  			f func(*libc.TLS, uintptr) int32
 13546  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13547  	}
 13548  }
 13549  
 13550  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: */
 13551  	bp := tls.Alloc(8)
 13552  	defer tls.Free(8)
 13553  
 13554  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13555  	var req uintptr
 13556  	// var glyphset GlyphSet at bp, 8
 13557  
 13558  	var len int64
 13559  	var elen int64
 13560  	var elt uintptr
 13561  	var i int32
 13562  	var chars uintptr
 13563  	var nchars int32
 13564  
 13565  	if !(nelt != 0) {
 13566  		return
 13567  	}
 13568  
 13569  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 13570  		return
 13571  	}
 13572  
 13573  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13574  		(*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)
 13575  	}
 13576  
 13577  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint64(Sz_xRenderCompositeGlyphs32Req))
 13578  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13579  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32)
 13580  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fop = CARD8(op)
 13581  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 13582  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 13583  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 13584  		if maskFormat != 0 {
 13585  			return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 13586  		}
 13587  		return uint32(None)
 13588  	}()
 13589  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset)
 13590  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 13591  	(*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 13592  
 13593  	// Compute the space necessary
 13594  	len = int64(0)
 13595  
 13596  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset
 13597  	for i = 0; i < nelt; i++ {
 13598  		// Check for glyphset change
 13599  		if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) {
 13600  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13601  			len = len + int64(int32(Sz_xGlyphElt+4)>>2)
 13602  		}
 13603  		nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13604  		elen = int64(Sz_xGlyphElt*((nchars+254-1)/254) + nchars*4)
 13605  		len = len + (elen+int64(3))>>2
 13606  	}
 13607  
 13608  	*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 13609  
 13610  	*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset
 13611  	for i = 0; i < nelt; i++ {
 13612  		// Switch glyphsets
 13613  		if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp)) {
 13614  			*(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset
 13615  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13616  				x11.X_XFlush(tls, dpy)
 13617  			}
 13618  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13619  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13620  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt)
 13621  
 13622  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff)
 13623  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0)
 13624  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0)
 13625  			x11.X_XData32(tls, dpy, bp, uint32(4))
 13626  		}
 13627  		nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars
 13628  		xDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff
 13629  		yDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff
 13630  		chars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars
 13631  		for nchars != 0 {
 13632  			var this_chars int32
 13633  			if nchars > 254 {
 13634  				this_chars = 254
 13635  			} else {
 13636  				this_chars = nchars
 13637  			}
 13638  			var this_bytes int32 = this_chars * 4
 13639  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(Sz_xGlyphElt) > (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13640  				x11.X_XFlush(tls, dpy)
 13641  			}
 13642  			elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr
 13643  			libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt))
 13644  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr(Sz_xGlyphElt)
 13645  			(*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars)
 13646  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst)
 13647  			(*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst)
 13648  			xDst = 0
 13649  			yDst = 0
 13650  			{
 13651  				if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_bytes) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 13652  					libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_bytes))
 13653  					*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((this_bytes + 3) & libc.CplInt32(3))
 13654  				} else {
 13655  					x11.X_XSend(tls, dpy, chars, int64(this_bytes))
 13656  				}
 13657  			}
 13658  
 13659  			nchars = nchars - this_chars
 13660  			chars += 4 * uintptr(this_chars)
 13661  		}
 13662  	}
 13663  
 13664  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13665  		(*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)
 13666  	}
 13667  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13668  		(*struct {
 13669  			f func(*libc.TLS, uintptr) int32
 13670  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13671  	}
 13672  }
 13673  
 13674  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 13675  // matters on alpha.  Note that this macro assumes that int is 32 bits
 13676  // except on WORD64 machines where it is 64 bits.
 13677  
 13678  //***********************************************************************
 13679  //
 13680  // Copyright 1987, 1998  The Open Group
 13681  //
 13682  // Permission to use, copy, modify, distribute, and sell this software and its
 13683  // documentation for any purpose is hereby granted without fee, provided that
 13684  // the above copyright notice appear in all copies and that both that
 13685  // copyright notice and this permission notice appear in supporting
 13686  // documentation.
 13687  //
 13688  // The above copyright notice and this permission notice shall be included in
 13689  // all copies or substantial portions of the Software.
 13690  //
 13691  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 13692  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 13693  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 13694  // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 13695  // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 13696  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 13697  //
 13698  // Except as contained in this notice, the name of The Open Group shall not be
 13699  // used in advertising or otherwise to promote the sale, use or other dealings
 13700  // in this Software without prior written authorization from The Open Group.
 13701  //
 13702  //
 13703  // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 13704  //
 13705  //                         All Rights Reserved
 13706  //
 13707  // Permission to use, copy, modify, and distribute this software and its
 13708  // documentation for any purpose and without fee is hereby granted,
 13709  // provided that the above copyright notice appear in all copies and that
 13710  // both that copyright notice and this permission notice appear in
 13711  // supporting documentation, and that the name of Digital not be
 13712  // used in advertising or publicity pertaining to distribution of the
 13713  // software without specific, written prior permission.
 13714  //
 13715  // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 13716  // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 13717  // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 13718  // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 13719  // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 13720  // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 13721  // SOFTWARE.
 13722  //
 13723  // ***********************************************************************
 13724  
 13725  type Box = struct {
 13726  	Fx1 int16
 13727  	Fx2 int16
 13728  	Fy1 int16
 13729  	Fy2 int16
 13730  } /* Xregion.h:53:3 */
 13731  type BOX = struct {
 13732  	Fx1 int16
 13733  	Fx2 int16
 13734  	Fy1 int16
 13735  	Fy2 int16
 13736  } /* Xregion.h:53:8 */
 13737  type BoxRec = struct {
 13738  	Fx1 int16
 13739  	Fx2 int16
 13740  	Fy1 int16
 13741  	Fy2 int16
 13742  }                     /* Xregion.h:53:13 */
 13743  type BoxPtr = uintptr /* Xregion.h:53:21 */
 13744  
 13745  type RECTANGLE = struct {
 13746  	Fx      int16
 13747  	Fy      int16
 13748  	Fwidth  int16
 13749  	Fheight int16
 13750  } /* Xregion.h:57:2 */
 13751  type RectangleRec = struct {
 13752  	Fx      int16
 13753  	Fy      int16
 13754  	Fwidth  int16
 13755  	Fheight int16
 13756  }                           /* Xregion.h:57:13 */
 13757  type RectanglePtr = uintptr /* Xregion.h:57:27 */
 13758  
 13759  //   clip region
 13760  
 13761  type REGION = X_XRegion /* Xregion.h:80:3 */
 13762  
 13763  // Xutil.h contains the declaration:
 13764  // typedef struct _XRegion *Region;
 13765  
 13766  // 1 if two BOXs overlap.
 13767  //  0 if two BOXs do not overlap.
 13768  //  Remember, x2 and y2 are not in the region
 13769  
 13770  //  update region extents
 13771  
 13772  //   Check to see if there is enough memory in the present region.
 13773  
 13774  // this routine checks to see if the previous rectangle is the same
 13775  //  or subsumes the new rectangle to add.
 13776  
 13777  //  add a rectangle to the given Region
 13778  
 13779  //  add a rectangle to the given Region
 13780  
 13781  // number of points to buffer before sending them off
 13782  // to scanlines() :  Must be an even number
 13783  
 13784  // used to allocate buffers for points and link
 13785  // the buffers together
 13786  type X_POINTBLOCK = struct {
 13787  	Fpts  [200]XPoint
 13788  	Fnext uintptr
 13789  } /* Xregion.h:185:9 */
 13790  
 13791  // Xutil.h contains the declaration:
 13792  // typedef struct _XRegion *Region;
 13793  
 13794  // 1 if two BOXs overlap.
 13795  //  0 if two BOXs do not overlap.
 13796  //  Remember, x2 and y2 are not in the region
 13797  
 13798  //  update region extents
 13799  
 13800  //   Check to see if there is enough memory in the present region.
 13801  
 13802  // this routine checks to see if the previous rectangle is the same
 13803  //  or subsumes the new rectangle to add.
 13804  
 13805  //  add a rectangle to the given Region
 13806  
 13807  //  add a rectangle to the given Region
 13808  
 13809  // number of points to buffer before sending them off
 13810  // to scanlines() :  Must be an even number
 13811  
 13812  // used to allocate buffers for points and link
 13813  // the buffers together
 13814  type POINTBLOCK = X_POINTBLOCK /* Xregion.h:188:3 */
 13815  
 13816  func _XRenderProcessPictureAttributes(tls *libc.TLS, dpy uintptr, req uintptr, valuemask uint64, attributes uintptr) { /* Picture.c:32:1: */
 13817  	bp := tls.Alloc(256)
 13818  	defer tls.Free(256)
 13819  
 13820  	// var values [32]uint64 at bp, 256
 13821  
 13822  	var value uintptr = bp /* values */
 13823  	var nvalues uint32
 13824  
 13825  	if valuemask&uint64(int32(1)<<0) != 0 {
 13826  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Frepeat)
 13827  	}
 13828  	if valuemask&uint64(int32(1)<<1) != 0 {
 13829  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_map
 13830  	}
 13831  	if valuemask&uint64(int32(1)<<2) != 0 {
 13832  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_x_origin)
 13833  	}
 13834  	if valuemask&uint64(int32(1)<<3) != 0 {
 13835  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_y_origin)
 13836  	}
 13837  	if valuemask&uint64(int32(1)<<4) != 0 {
 13838  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_x_origin)
 13839  	}
 13840  	if valuemask&uint64(int32(1)<<5) != 0 {
 13841  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_y_origin)
 13842  	}
 13843  	if valuemask&uint64(int32(1)<<6) != 0 {
 13844  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_mask
 13845  	}
 13846  	if valuemask&uint64(int32(1)<<7) != 0 {
 13847  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fgraphics_exposures)
 13848  	}
 13849  	if valuemask&uint64(int32(1)<<8) != 0 {
 13850  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fsubwindow_mode)
 13851  	}
 13852  	if valuemask&uint64(int32(1)<<9) != 0 {
 13853  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_edge)
 13854  	}
 13855  	if valuemask&uint64(int32(1)<<10) != 0 {
 13856  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_mode)
 13857  	}
 13858  	if valuemask&uint64(int32(1)<<11) != 0 {
 13859  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fdither
 13860  	}
 13861  	if valuemask&uint64(int32(1)<<12) != 0 {
 13862  		*(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fcomponent_alpha)
 13863  	}
 13864  
 13865  	*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(libc.AssignUint32(&nvalues, uint32(int64((value-bp)/8))))
 13866  
 13867  	nvalues <<= 2 // watch out for macros...
 13868  	x11.X_XData32(tls, dpy, bp, uint32(int64(nvalues)))
 13869  }
 13870  
 13871  func XXRenderCreatePicture(tls *libc.TLS, dpy uintptr, drawable Drawable, format uintptr, valuemask uint64, attributes uintptr) Picture { /* Picture.c:75:1: */
 13872  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13873  	var pid Picture
 13874  	var req uintptr
 13875  
 13876  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 13877  		return uint64(0)
 13878  	}
 13879  
 13880  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13881  		(*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)
 13882  	}
 13883  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreatePicture), uint64(Sz_xRenderCreatePictureReq))
 13884  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13885  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreatePicture)
 13886  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 13887  		Fext_data            uintptr
 13888  		Fprivate1            uintptr
 13889  		Ffd                  int32
 13890  		Fprivate2            int32
 13891  		Fproto_major_version int32
 13892  		Fproto_minor_version int32
 13893  		Fvendor              uintptr
 13894  		Fprivate3            XID
 13895  		Fprivate4            XID
 13896  		Fprivate5            XID
 13897  		Fprivate6            int32
 13898  		F__ccgo_pad1         [4]byte
 13899  		Fresource_alloc      uintptr
 13900  		Fbyte_order          int32
 13901  		Fbitmap_unit         int32
 13902  		Fbitmap_pad          int32
 13903  		Fbitmap_bit_order    int32
 13904  		Fnformats            int32
 13905  		F__ccgo_pad2         [4]byte
 13906  		Fpixmap_format       uintptr
 13907  		Fprivate8            int32
 13908  		Frelease             int32
 13909  		Fprivate9            uintptr
 13910  		Fprivate10           uintptr
 13911  		Fqlen                int32
 13912  		F__ccgo_pad3         [4]byte
 13913  		Flast_request_read   uint64
 13914  		Frequest             uint64
 13915  		Fprivate11           XPointer
 13916  		Fprivate12           XPointer
 13917  		Fprivate13           XPointer
 13918  		Fprivate14           XPointer
 13919  		Fmax_request_size    uint32
 13920  		F__ccgo_pad4         [4]byte
 13921  		Fdb                  uintptr
 13922  		Fprivate15           uintptr
 13923  		Fdisplay_name        uintptr
 13924  		Fdefault_screen      int32
 13925  		Fnscreens            int32
 13926  		Fscreens             uintptr
 13927  		Fmotion_buffer       uint64
 13928  		Fprivate16           uint64
 13929  		Fmin_keycode         int32
 13930  		Fmax_keycode         int32
 13931  		Fprivate17           XPointer
 13932  		Fprivate18           XPointer
 13933  		Fprivate19           int32
 13934  		F__ccgo_pad5         [4]byte
 13935  		Fxdefaults           uintptr
 13936  	})(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)))
 13937  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fdrawable = CARD32(drawable)
 13938  	(*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid)
 13939  	if libc.AssignPtrUint32(req+16, CARD32(valuemask)) != 0 {
 13940  		_XRenderProcessPictureAttributes(tls, dpy,
 13941  			req,
 13942  			valuemask,
 13943  			attributes)
 13944  	}
 13945  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13946  		(*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)
 13947  	}
 13948  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13949  		(*struct {
 13950  			f func(*libc.TLS, uintptr) int32
 13951  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13952  	}
 13953  	return pid
 13954  }
 13955  
 13956  func XXRenderChangePicture(tls *libc.TLS, dpy uintptr, picture Picture, valuemask uint64, attributes uintptr) { /* Picture.c:104:1: */
 13957  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 13958  	var req uintptr
 13959  
 13960  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 13961  		return
 13962  	}
 13963  
 13964  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13965  		(*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)
 13966  	}
 13967  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderChangePicture), uint64(Sz_xRenderChangePictureReq))
 13968  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13969  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderChangePicture)
 13970  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 13971  	(*XRenderChangePictureReq)(unsafe.Pointer(req)).Fmask = CARD32(valuemask)
 13972  	_XRenderProcessPictureAttributes(tls, dpy,
 13973  		req,
 13974  		valuemask,
 13975  		attributes)
 13976  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 13977  		(*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)
 13978  	}
 13979  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 13980  		(*struct {
 13981  			f func(*libc.TLS, uintptr) int32
 13982  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 13983  	}
 13984  }
 13985  
 13986  func _XRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, info uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:128:1: */
 13987  	bp := tls.Alloc(8)
 13988  	defer tls.Free(8)
 13989  
 13990  	var req uintptr
 13991  	var len int64
 13992  
 13993  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureClipRectangles), uint64(Sz_xRenderSetPictureClipRectanglesReq))
 13994  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 13995  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureClipRectangles)
 13996  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 13997  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FxOrigin = INT16(xOrigin)
 13998  	(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FyOrigin = INT16(yOrigin)
 13999  	len = int64(n) << 1
 14000  	if int64((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 14001  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14002  			{
 14003  				// var _BRdat CARD64 at bp, 8
 14004  				var _BRlen CARD32 = CARD32(int32((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) - 1)
 14005  				(*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14006  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 14007  				libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 14008  				*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 14009  				x11.X_XData32(tls, dpy, bp, uint32(4))
 14010  			}
 14011  		} else {
 14012  			len = int64(1)
 14013  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 14014  		}
 14015  	} else {
 14016  		*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 14017  	}
 14018  	len <<= 2
 14019  	{
 14020  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14021  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rects, uint64(int32(len)))
 14022  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3)))
 14023  		} else {
 14024  			x11.X_XSend(tls, dpy, rects, len)
 14025  		}
 14026  	}
 14027  
 14028  }
 14029  
 14030  func XXRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:152:1: */
 14031  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14032  
 14033  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 14034  		return
 14035  	}
 14036  
 14037  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14038  		(*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)
 14039  	}
 14040  	_XRenderSetPictureClipRectangles(tls, dpy, info, picture,
 14041  		xOrigin, yOrigin, rects, n)
 14042  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14043  		(*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)
 14044  	}
 14045  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14046  		(*struct {
 14047  			f func(*libc.TLS, uintptr) int32
 14048  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14049  	}
 14050  }
 14051  
 14052  func XXRenderSetPictureClipRegion(tls *libc.TLS, dpy uintptr, picture Picture, r Region) { /* Picture.c:170:1: */
 14053  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14054  	var i int32
 14055  	var xr uintptr
 14056  	var pr uintptr
 14057  	var pb uintptr
 14058  	var total uint64
 14059  
 14060  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 14061  		return
 14062  	}
 14063  
 14064  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14065  		(*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)
 14066  	}
 14067  	total = uint64((*X_XRegion)(unsafe.Pointer(r)).FnumRects) * uint64(unsafe.Sizeof(XRectangle{}))
 14068  	if libc.AssignUintptr(&xr, x11.X_XAllocTemp(tls, dpy, total)) != 0 {
 14069  		pr = xr
 14070  		pb = (*X_XRegion)(unsafe.Pointer(r)).Frects
 14071  		i = int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects)
 14072  	__1:
 14073  		if !(libc.PreDecInt32(&i, 1) >= 0) {
 14074  			goto __3
 14075  		}
 14076  		{
 14077  			(*XRectangle)(unsafe.Pointer(pr)).Fx = (*BOX)(unsafe.Pointer(pb)).Fx1
 14078  			(*XRectangle)(unsafe.Pointer(pr)).Fy = (*BOX)(unsafe.Pointer(pb)).Fy1
 14079  			(*XRectangle)(unsafe.Pointer(pr)).Fwidth = uint16(int32((*BOX)(unsafe.Pointer(pb)).Fx2) - int32((*BOX)(unsafe.Pointer(pb)).Fx1))
 14080  			(*XRectangle)(unsafe.Pointer(pr)).Fheight = uint16(int32((*BOX)(unsafe.Pointer(pb)).Fy2) - int32((*BOX)(unsafe.Pointer(pb)).Fy1))
 14081  
 14082  		}
 14083  		goto __2
 14084  	__2:
 14085  		pr += 8
 14086  		pb += 8
 14087  		goto __1
 14088  		goto __3
 14089  	__3:
 14090  	}
 14091  	if xr != 0 || !(int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) != 0) {
 14092  		_XRenderSetPictureClipRectangles(tls, dpy, info, picture, 0, 0,
 14093  			xr, int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects))
 14094  	}
 14095  	if xr != 0 {
 14096  		x11.X_XFreeTemp(tls, dpy, xr, total)
 14097  	}
 14098  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14099  		(*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)
 14100  	}
 14101  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14102  		(*struct {
 14103  			f func(*libc.TLS, uintptr) int32
 14104  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14105  	}
 14106  }
 14107  
 14108  func XXRenderSetPictureTransform(tls *libc.TLS, dpy uintptr, picture Picture, transform uintptr) { /* Picture.c:201:1: */
 14109  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14110  	var req uintptr
 14111  
 14112  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 14113  		return
 14114  	}
 14115  
 14116  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14117  		(*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)
 14118  	}
 14119  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureTransform), uint64(Sz_xRenderSetPictureTransformReq))
 14120  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14121  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureTransform)
 14122  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 14123  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix11 = *(*XFixed)(unsafe.Pointer(transform))
 14124  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix12 = *(*XFixed)(unsafe.Pointer(transform + 1*4))
 14125  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix13 = *(*XFixed)(unsafe.Pointer(transform + 2*4))
 14126  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix21 = *(*XFixed)(unsafe.Pointer(transform + 1*12))
 14127  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix22 = *(*XFixed)(unsafe.Pointer(transform + 1*12 + 1*4))
 14128  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix23 = *(*XFixed)(unsafe.Pointer(transform + 1*12 + 2*4))
 14129  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix31 = *(*XFixed)(unsafe.Pointer(transform + 2*12))
 14130  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix32 = *(*XFixed)(unsafe.Pointer(transform + 2*12 + 1*4))
 14131  	(*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix33 = *(*XFixed)(unsafe.Pointer(transform + 2*12 + 2*4))
 14132  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14133  		(*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)
 14134  	}
 14135  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14136  		(*struct {
 14137  			f func(*libc.TLS, uintptr) int32
 14138  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14139  	}
 14140  
 14141  }
 14142  
 14143  func XXRenderFreePicture(tls *libc.TLS, dpy uintptr, picture Picture) { /* Picture.c:229:1: */
 14144  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14145  	var req uintptr
 14146  
 14147  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 14148  		return
 14149  	}
 14150  
 14151  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14152  		(*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)
 14153  	}
 14154  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreePicture), uint64(Sz_xRenderFreePictureReq))
 14155  	(*XRenderFreePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14156  	(*XRenderFreePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreePicture)
 14157  	(*XRenderFreePictureReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture)
 14158  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14159  		(*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)
 14160  	}
 14161  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14162  		(*struct {
 14163  			f func(*libc.TLS, uintptr) int32
 14164  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14165  	}
 14166  }
 14167  
 14168  func XXRenderCreateSolidFill(tls *libc.TLS, dpy uintptr, color uintptr) Picture { /* Picture.c:246:9: */
 14169  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14170  	var pid Picture
 14171  	var req uintptr
 14172  
 14173  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 14174  		return uint64(0)
 14175  	}
 14176  
 14177  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14178  		(*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)
 14179  	}
 14180  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateSolidFill), uint64(Sz_xRenderCreateSolidFillReq))
 14181  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14182  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateSolidFill)
 14183  
 14184  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14185  		Fext_data            uintptr
 14186  		Fprivate1            uintptr
 14187  		Ffd                  int32
 14188  		Fprivate2            int32
 14189  		Fproto_major_version int32
 14190  		Fproto_minor_version int32
 14191  		Fvendor              uintptr
 14192  		Fprivate3            XID
 14193  		Fprivate4            XID
 14194  		Fprivate5            XID
 14195  		Fprivate6            int32
 14196  		F__ccgo_pad1         [4]byte
 14197  		Fresource_alloc      uintptr
 14198  		Fbyte_order          int32
 14199  		Fbitmap_unit         int32
 14200  		Fbitmap_pad          int32
 14201  		Fbitmap_bit_order    int32
 14202  		Fnformats            int32
 14203  		F__ccgo_pad2         [4]byte
 14204  		Fpixmap_format       uintptr
 14205  		Fprivate8            int32
 14206  		Frelease             int32
 14207  		Fprivate9            uintptr
 14208  		Fprivate10           uintptr
 14209  		Fqlen                int32
 14210  		F__ccgo_pad3         [4]byte
 14211  		Flast_request_read   uint64
 14212  		Frequest             uint64
 14213  		Fprivate11           XPointer
 14214  		Fprivate12           XPointer
 14215  		Fprivate13           XPointer
 14216  		Fprivate14           XPointer
 14217  		Fmax_request_size    uint32
 14218  		F__ccgo_pad4         [4]byte
 14219  		Fdb                  uintptr
 14220  		Fprivate15           uintptr
 14221  		Fdisplay_name        uintptr
 14222  		Fdefault_screen      int32
 14223  		Fnscreens            int32
 14224  		Fscreens             uintptr
 14225  		Fmotion_buffer       uint64
 14226  		Fprivate16           uint64
 14227  		Fmin_keycode         int32
 14228  		Fmax_keycode         int32
 14229  		Fprivate17           XPointer
 14230  		Fprivate18           XPointer
 14231  		Fprivate19           int32
 14232  		F__ccgo_pad5         [4]byte
 14233  		Fxdefaults           uintptr
 14234  	})(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)))
 14235  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred
 14236  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen
 14237  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue
 14238  	(*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha
 14239  
 14240  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14241  		(*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)
 14242  	}
 14243  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14244  		(*struct {
 14245  			f func(*libc.TLS, uintptr) int32
 14246  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14247  	}
 14248  	return pid
 14249  }
 14250  
 14251  func XXRenderCreateLinearGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:271:9: */
 14252  	bp := tls.Alloc(8)
 14253  	defer tls.Free(8)
 14254  
 14255  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14256  	var pid Picture
 14257  	var req uintptr
 14258  	var len int64
 14259  
 14260  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 14261  		return uint64(0)
 14262  	}
 14263  
 14264  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14265  		(*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)
 14266  	}
 14267  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateLinearGradient), uint64(Sz_xRenderCreateLinearGradientReq))
 14268  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14269  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateLinearGradient)
 14270  
 14271  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14272  		Fext_data            uintptr
 14273  		Fprivate1            uintptr
 14274  		Ffd                  int32
 14275  		Fprivate2            int32
 14276  		Fproto_major_version int32
 14277  		Fproto_minor_version int32
 14278  		Fvendor              uintptr
 14279  		Fprivate3            XID
 14280  		Fprivate4            XID
 14281  		Fprivate5            XID
 14282  		Fprivate6            int32
 14283  		F__ccgo_pad1         [4]byte
 14284  		Fresource_alloc      uintptr
 14285  		Fbyte_order          int32
 14286  		Fbitmap_unit         int32
 14287  		Fbitmap_pad          int32
 14288  		Fbitmap_bit_order    int32
 14289  		Fnformats            int32
 14290  		F__ccgo_pad2         [4]byte
 14291  		Fpixmap_format       uintptr
 14292  		Fprivate8            int32
 14293  		Frelease             int32
 14294  		Fprivate9            uintptr
 14295  		Fprivate10           uintptr
 14296  		Fqlen                int32
 14297  		F__ccgo_pad3         [4]byte
 14298  		Flast_request_read   uint64
 14299  		Frequest             uint64
 14300  		Fprivate11           XPointer
 14301  		Fprivate12           XPointer
 14302  		Fprivate13           XPointer
 14303  		Fprivate14           XPointer
 14304  		Fmax_request_size    uint32
 14305  		F__ccgo_pad4         [4]byte
 14306  		Fdb                  uintptr
 14307  		Fprivate15           uintptr
 14308  		Fdisplay_name        uintptr
 14309  		Fdefault_screen      int32
 14310  		Fnscreens            int32
 14311  		Fscreens             uintptr
 14312  		Fmotion_buffer       uint64
 14313  		Fprivate16           uint64
 14314  		Fmin_keycode         int32
 14315  		Fmax_keycode         int32
 14316  		Fprivate17           XPointer
 14317  		Fprivate18           XPointer
 14318  		Fprivate19           int32
 14319  		F__ccgo_pad5         [4]byte
 14320  		Fxdefaults           uintptr
 14321  	})(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)))
 14322  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fx = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fx
 14323  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fy = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fy
 14324  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fx = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fx
 14325  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fy = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fy
 14326  
 14327  	(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops)
 14328  	len = int64(nStops) * int64(3)
 14329  	if int64((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 14330  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14331  			{
 14332  				// var _BRdat CARD64 at bp, 8
 14333  				var _BRlen CARD32 = CARD32(int32((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) - 1)
 14334  				(*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14335  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 14336  				libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 14337  				*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 14338  				x11.X_XData32(tls, dpy, bp, uint32(4))
 14339  			}
 14340  		} else {
 14341  			len = int64(6)
 14342  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 14343  		}
 14344  	} else {
 14345  		*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 14346  	}
 14347  	{
 14348  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14349  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64(nStops*4))
 14350  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*4 + 3) & libc.CplInt32(3))
 14351  		} else {
 14352  			x11.X_XSend(tls, dpy, stops, int64(nStops*4))
 14353  		}
 14354  	}
 14355  
 14356  	{
 14357  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*8) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14358  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64(nStops*8))
 14359  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*8 + 3) & libc.CplInt32(3))
 14360  		} else {
 14361  			x11.X_XSend(tls, dpy, colors, int64(nStops*8))
 14362  		}
 14363  	}
 14364  
 14365  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14366  		(*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)
 14367  	}
 14368  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14369  		(*struct {
 14370  			f func(*libc.TLS, uintptr) int32
 14371  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14372  	}
 14373  	return pid
 14374  }
 14375  
 14376  func XXRenderCreateRadialGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:305:9: */
 14377  	bp := tls.Alloc(8)
 14378  	defer tls.Free(8)
 14379  
 14380  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14381  	var pid Picture
 14382  	var req uintptr
 14383  	var len int64
 14384  
 14385  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 14386  		return uint64(0)
 14387  	}
 14388  
 14389  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14390  		(*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)
 14391  	}
 14392  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateRadialGradient), uint64(Sz_xRenderCreateRadialGradientReq))
 14393  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14394  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateRadialGradient)
 14395  
 14396  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14397  		Fext_data            uintptr
 14398  		Fprivate1            uintptr
 14399  		Ffd                  int32
 14400  		Fprivate2            int32
 14401  		Fproto_major_version int32
 14402  		Fproto_minor_version int32
 14403  		Fvendor              uintptr
 14404  		Fprivate3            XID
 14405  		Fprivate4            XID
 14406  		Fprivate5            XID
 14407  		Fprivate6            int32
 14408  		F__ccgo_pad1         [4]byte
 14409  		Fresource_alloc      uintptr
 14410  		Fbyte_order          int32
 14411  		Fbitmap_unit         int32
 14412  		Fbitmap_pad          int32
 14413  		Fbitmap_bit_order    int32
 14414  		Fnformats            int32
 14415  		F__ccgo_pad2         [4]byte
 14416  		Fpixmap_format       uintptr
 14417  		Fprivate8            int32
 14418  		Frelease             int32
 14419  		Fprivate9            uintptr
 14420  		Fprivate10           uintptr
 14421  		Fqlen                int32
 14422  		F__ccgo_pad3         [4]byte
 14423  		Flast_request_read   uint64
 14424  		Frequest             uint64
 14425  		Fprivate11           XPointer
 14426  		Fprivate12           XPointer
 14427  		Fprivate13           XPointer
 14428  		Fprivate14           XPointer
 14429  		Fmax_request_size    uint32
 14430  		F__ccgo_pad4         [4]byte
 14431  		Fdb                  uintptr
 14432  		Fprivate15           uintptr
 14433  		Fdisplay_name        uintptr
 14434  		Fdefault_screen      int32
 14435  		Fnscreens            int32
 14436  		Fscreens             uintptr
 14437  		Fmotion_buffer       uint64
 14438  		Fprivate16           uint64
 14439  		Fmin_keycode         int32
 14440  		Fmax_keycode         int32
 14441  		Fprivate17           XPointer
 14442  		Fprivate18           XPointer
 14443  		Fprivate19           int32
 14444  		F__ccgo_pad5         [4]byte
 14445  		Fxdefaults           uintptr
 14446  	})(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)))
 14447  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fx = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fx
 14448  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fy = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fy
 14449  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fx = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fx
 14450  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fy = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fy
 14451  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner_radius = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fradius
 14452  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter_radius = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fradius
 14453  
 14454  	(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops)
 14455  	len = int64(nStops) * int64(3)
 14456  	if int64((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 14457  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14458  			{
 14459  				// var _BRdat CARD64 at bp, 8
 14460  				var _BRlen CARD32 = CARD32(int32((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) - 1)
 14461  				(*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14462  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 14463  				libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 14464  				*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 14465  				x11.X_XData32(tls, dpy, bp, uint32(4))
 14466  			}
 14467  		} else {
 14468  			len = int64(6)
 14469  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 14470  		}
 14471  	} else {
 14472  		*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 14473  	}
 14474  	{
 14475  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14476  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64(nStops*4))
 14477  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*4 + 3) & libc.CplInt32(3))
 14478  		} else {
 14479  			x11.X_XSend(tls, dpy, stops, int64(nStops*4))
 14480  		}
 14481  	}
 14482  
 14483  	{
 14484  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*8) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14485  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64(nStops*8))
 14486  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*8 + 3) & libc.CplInt32(3))
 14487  		} else {
 14488  			x11.X_XSend(tls, dpy, colors, int64(nStops*8))
 14489  		}
 14490  	}
 14491  
 14492  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14493  		(*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)
 14494  	}
 14495  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14496  		(*struct {
 14497  			f func(*libc.TLS, uintptr) int32
 14498  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14499  	}
 14500  	return pid
 14501  }
 14502  
 14503  func XXRenderCreateConicalGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:341:9: */
 14504  	bp := tls.Alloc(8)
 14505  	defer tls.Free(8)
 14506  
 14507  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14508  	var pid Picture
 14509  	var req uintptr
 14510  	var len int64
 14511  
 14512  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 14513  		return uint64(0)
 14514  	}
 14515  
 14516  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14517  		(*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)
 14518  	}
 14519  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateConicalGradient), uint64(Sz_xRenderCreateConicalGradientReq))
 14520  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14521  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateConicalGradient)
 14522  
 14523  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct {
 14524  		Fext_data            uintptr
 14525  		Fprivate1            uintptr
 14526  		Ffd                  int32
 14527  		Fprivate2            int32
 14528  		Fproto_major_version int32
 14529  		Fproto_minor_version int32
 14530  		Fvendor              uintptr
 14531  		Fprivate3            XID
 14532  		Fprivate4            XID
 14533  		Fprivate5            XID
 14534  		Fprivate6            int32
 14535  		F__ccgo_pad1         [4]byte
 14536  		Fresource_alloc      uintptr
 14537  		Fbyte_order          int32
 14538  		Fbitmap_unit         int32
 14539  		Fbitmap_pad          int32
 14540  		Fbitmap_bit_order    int32
 14541  		Fnformats            int32
 14542  		F__ccgo_pad2         [4]byte
 14543  		Fpixmap_format       uintptr
 14544  		Fprivate8            int32
 14545  		Frelease             int32
 14546  		Fprivate9            uintptr
 14547  		Fprivate10           uintptr
 14548  		Fqlen                int32
 14549  		F__ccgo_pad3         [4]byte
 14550  		Flast_request_read   uint64
 14551  		Frequest             uint64
 14552  		Fprivate11           XPointer
 14553  		Fprivate12           XPointer
 14554  		Fprivate13           XPointer
 14555  		Fprivate14           XPointer
 14556  		Fmax_request_size    uint32
 14557  		F__ccgo_pad4         [4]byte
 14558  		Fdb                  uintptr
 14559  		Fprivate15           uintptr
 14560  		Fdisplay_name        uintptr
 14561  		Fdefault_screen      int32
 14562  		Fnscreens            int32
 14563  		Fscreens             uintptr
 14564  		Fmotion_buffer       uint64
 14565  		Fprivate16           uint64
 14566  		Fmin_keycode         int32
 14567  		Fmax_keycode         int32
 14568  		Fprivate17           XPointer
 14569  		Fprivate18           XPointer
 14570  		Fprivate19           int32
 14571  		F__ccgo_pad5         [4]byte
 14572  		Fxdefaults           uintptr
 14573  	})(unsafe.Pointer(dpy)).Fresource_alloc})).f(tls, dpy)))
 14574  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fx = (*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fx
 14575  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fy = (*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fy
 14576  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fangle = (*XConicalGradient)(unsafe.Pointer(gradient)).Fangle
 14577  
 14578  	(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops)
 14579  	len = int64(nStops) * int64(3)
 14580  	if int64((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 14581  		if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14582  			{
 14583  				// var _BRdat CARD64 at bp, 8
 14584  				var _BRlen CARD32 = CARD32(int32((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) - 1)
 14585  				(*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14586  				*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 14587  				libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 14588  				*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 14589  				x11.X_XData32(tls, dpy, bp, uint32(4))
 14590  			}
 14591  		} else {
 14592  			len = int64(6)
 14593  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 14594  		}
 14595  	} else {
 14596  		*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 14597  	}
 14598  	{
 14599  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*4) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14600  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64(nStops*4))
 14601  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*4 + 3) & libc.CplInt32(3))
 14602  		} else {
 14603  			x11.X_XSend(tls, dpy, stops, int64(nStops*4))
 14604  		}
 14605  	}
 14606  
 14607  	{
 14608  		if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*8) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14609  			libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64(nStops*8))
 14610  			*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((nStops*8 + 3) & libc.CplInt32(3))
 14611  		} else {
 14612  			x11.X_XSend(tls, dpy, colors, int64(nStops*8))
 14613  		}
 14614  	}
 14615  
 14616  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14617  		(*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)
 14618  	}
 14619  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14620  		(*struct {
 14621  			f func(*libc.TLS, uintptr) int32
 14622  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14623  	}
 14624  	return pid
 14625  }
 14626  
 14627  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14628  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14629  // except on WORD64 machines where it is 64 bits.
 14630  
 14631  type X_Edge = struct {
 14632  	Fedge      XLineFixed1
 14633  	Fcurrent_x XFixed
 14634  	FclockWise int32
 14635  	Fnext      uintptr
 14636  	Fprev      uintptr
 14637  } /* Poly.c:29:9 */
 14638  
 14639  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14640  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14641  // except on WORD64 machines where it is 64 bits.
 14642  
 14643  type Edge = X_Edge /* Poly.c:29:22 */
 14644  
 14645  func sCompareEdge(tls *libc.TLS, o1 uintptr, o2 uintptr) int32 { /* Poly.c:39:1: */
 14646  	var e1 uintptr = o1
 14647  	var e2 uintptr = o2
 14648  
 14649  	return (*Edge)(unsafe.Pointer(e1)).Fedge.Fp1.Fy - (*Edge)(unsafe.Pointer(e2)).Fedge.Fp1.Fy
 14650  }
 14651  
 14652  func sXRenderComputeX(tls *libc.TLS, line uintptr, y XFixed) XFixed { /* Poly.c:47:1: */
 14653  	var dx XFixed = (*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fx - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx
 14654  	var ex float64 = float64(y-(*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy) * float64(dx)
 14655  	var dy XFixed = (*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fy - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy
 14656  
 14657  	return (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx + libc.Int32FromFloat64(ex/float64(dy))
 14658  }
 14659  
 14660  func sXRenderComputeInverseSlope(tls *libc.TLS, l uintptr) float64 { /* Poly.c:57:1: */
 14661  	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))
 14662  }
 14663  
 14664  func sXRenderComputeXIntercept(tls *libc.TLS, l uintptr, inverse_slope float64) float64 { /* Poly.c:64:1: */
 14665  	return XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx)/float64(65536) - inverse_slope*(XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy)/float64(65536))
 14666  }
 14667  
 14668  func sXRenderComputeIntersect(tls *libc.TLS, l1 uintptr, l2 uintptr) XFixed { /* Poly.c:70:1: */
 14669  	// x = m1y + b1
 14670  	// x = m2y + b2
 14671  	// m1y + b1 = m2y + b2
 14672  	// y * (m1 - m2) = b2 - b1
 14673  	// y = (b2 - b1) / (m1 - m2)
 14674  	var m1 float64 = sXRenderComputeInverseSlope(tls, l1)
 14675  	var b1 float64 = sXRenderComputeXIntercept(tls, l1, m1)
 14676  	var m2 float64 = sXRenderComputeInverseSlope(tls, l2)
 14677  	var b2 float64 = sXRenderComputeXIntercept(tls, l2, m2)
 14678  
 14679  	return libc.Int32FromFloat64((b2 - b1) / (m1 - m2) * float64(65536))
 14680  }
 14681  
 14682  func sXRenderComputeTrapezoids(tls *libc.TLS, edges uintptr, nedges int32, winding int32, traps uintptr) int32 { /* Poly.c:88:1: */
 14683  	var ntraps int32 = 0
 14684  	var inactive int32
 14685  	var active uintptr
 14686  	var e uintptr
 14687  	var en uintptr
 14688  	var next uintptr
 14689  	var y XFixed
 14690  	var next_y XFixed
 14691  	var intersect XFixed
 14692  
 14693  	libc.Xqsort(tls, edges, uint64(nedges), uint64(unsafe.Sizeof(Edge{})), *(*uintptr)(unsafe.Pointer(&struct {
 14694  		f func(*libc.TLS, uintptr, uintptr) int32
 14695  	}{sCompareEdge})))
 14696  
 14697  	y = (*Edge)(unsafe.Pointer(edges)).Fedge.Fp1.Fy
 14698  	active = uintptr(0)
 14699  	inactive = 0
 14700  	for active != 0 || inactive < nedges {
 14701  		// insert new active edges into list
 14702  		for inactive < nedges {
 14703  			e = edges + uintptr(inactive)*40
 14704  			if (*Edge)(unsafe.Pointer(e)).Fedge.Fp1.Fy > y {
 14705  				break
 14706  			}
 14707  			// move this edge into the active list
 14708  			inactive++
 14709  			(*Edge)(unsafe.Pointer(e)).Fnext = active
 14710  			(*Edge)(unsafe.Pointer(e)).Fprev = uintptr(0)
 14711  			if active != 0 {
 14712  				(*Edge)(unsafe.Pointer(active)).Fprev = e
 14713  			}
 14714  			active = e
 14715  		}
 14716  		// compute x coordinates along this group
 14717  		for e = active; e != 0; e = (*Edge)(unsafe.Pointer(e)).Fnext {
 14718  			(*Edge)(unsafe.Pointer(e)).Fcurrent_x = sXRenderComputeX(tls, e, y)
 14719  		}
 14720  
 14721  		// sort active list
 14722  		for e = active; e != 0; e = next {
 14723  			next = (*Edge)(unsafe.Pointer(e)).Fnext
 14724  			// Find one later in the list that belongs before the
 14725  			// current one
 14726  			for en = next; en != 0; en = (*Edge)(unsafe.Pointer(en)).Fnext {
 14727  				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 {
 14728  					// insert en before e
 14729  					//
 14730  					// extract en
 14731  					(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(en)).Fnext
 14732  					if (*Edge)(unsafe.Pointer(en)).Fnext != 0 {
 14733  						(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(en)).Fprev
 14734  					}
 14735  					// insert en
 14736  					if (*Edge)(unsafe.Pointer(e)).Fprev != 0 {
 14737  						(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = en
 14738  					} else {
 14739  						active = en
 14740  					}
 14741  					(*Edge)(unsafe.Pointer(en)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev
 14742  					(*Edge)(unsafe.Pointer(e)).Fprev = en
 14743  					(*Edge)(unsafe.Pointer(en)).Fnext = e
 14744  					// start over at en
 14745  					next = en
 14746  					break
 14747  				}
 14748  			}
 14749  		}
 14750  		// find next inflection point
 14751  		next_y = (*Edge)(unsafe.Pointer(active)).Fedge.Fp2.Fy
 14752  		for e = active; e != 0; e = en {
 14753  			if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy < next_y {
 14754  				next_y = (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy
 14755  			}
 14756  			en = (*Edge)(unsafe.Pointer(e)).Fnext
 14757  			// check intersect
 14758  			if en != 0 && (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx > (*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx {
 14759  				intersect = sXRenderComputeIntersect(tls, e, (*Edge)(unsafe.Pointer(e)).Fnext)
 14760  				// make sure this point is below the actual intersection
 14761  				intersect = intersect + 1
 14762  				if intersect < next_y {
 14763  					next_y = intersect
 14764  				}
 14765  			}
 14766  		}
 14767  		// check next inactive point
 14768  		if inactive < nedges && (*Edge)(unsafe.Pointer(edges+uintptr(inactive)*40)).Fedge.Fp1.Fy < next_y {
 14769  			next_y = (*Edge)(unsafe.Pointer(edges + uintptr(inactive)*40)).Fedge.Fp1.Fy
 14770  		}
 14771  
 14772  		// walk the list generating trapezoids
 14773  		for e = active; e != 0 && libc.AssignUintptr(&en, (*Edge)(unsafe.Pointer(e)).Fnext) != 0; e = (*Edge)(unsafe.Pointer(en)).Fnext {
 14774  			(*XTrapezoid1)(unsafe.Pointer(traps)).Ftop = y
 14775  			(*XTrapezoid1)(unsafe.Pointer(traps)).Fbottom = next_y
 14776  			(*XTrapezoid1)(unsafe.Pointer(traps)).Fleft = (*Edge)(unsafe.Pointer(e)).Fedge
 14777  			(*XTrapezoid1)(unsafe.Pointer(traps)).Fright = (*Edge)(unsafe.Pointer(en)).Fedge
 14778  			traps += 40
 14779  			ntraps++
 14780  		}
 14781  
 14782  		y = next_y
 14783  
 14784  		// delete inactive edges from list
 14785  		for e = active; e != 0; e = next {
 14786  			next = (*Edge)(unsafe.Pointer(e)).Fnext
 14787  			if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy <= y {
 14788  				if (*Edge)(unsafe.Pointer(e)).Fprev != 0 {
 14789  					(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(e)).Fnext
 14790  				} else {
 14791  					active = (*Edge)(unsafe.Pointer(e)).Fnext
 14792  				}
 14793  				if (*Edge)(unsafe.Pointer(e)).Fnext != 0 {
 14794  					(*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev
 14795  				}
 14796  			}
 14797  		}
 14798  	}
 14799  	return ntraps
 14800  }
 14801  
 14802  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: */
 14803  	var edges uintptr
 14804  	var traps uintptr
 14805  	var i int32
 14806  	var nedges int32
 14807  	var ntraps int32
 14808  	var x XFixed
 14809  	var y XFixed
 14810  	var prevx XFixed = 0
 14811  	var prevy XFixed = 0
 14812  	var firstx XFixed = 0
 14813  	var firsty XFixed = 0
 14814  	var top XFixed = 0
 14815  	var bottom XFixed = 0 // GCCism
 14816  
 14817  	edges = libc.Xmalloc(tls, func() uint64 {
 14818  		if uint64(npoints)*uint64(unsafe.Sizeof(Edge{}))+uint64(npoints*npoints)*uint64(unsafe.Sizeof(XTrapezoid1{})) == uint64(0) {
 14819  			return uint64(1)
 14820  		}
 14821  		return uint64(npoints)*uint64(unsafe.Sizeof(Edge{})) + uint64(npoints*npoints)*uint64(unsafe.Sizeof(XTrapezoid1{}))
 14822  	}())
 14823  	if !(edges != 0) {
 14824  		return
 14825  	}
 14826  	traps = edges + uintptr(npoints)*40
 14827  	nedges = 0
 14828  	for i = 0; i <= npoints; i++ {
 14829  		if i == npoints {
 14830  			x = firstx
 14831  			y = firsty
 14832  		} else {
 14833  			x = libc.Int32FromFloat64((*XPointDouble)(unsafe.Pointer(fpoints+uintptr(i)*16)).Fx * float64(65536))
 14834  			y = libc.Int32FromFloat64((*XPointDouble)(unsafe.Pointer(fpoints+uintptr(i)*16)).Fy * float64(65536))
 14835  		}
 14836  		if i != 0 {
 14837  			if y < top {
 14838  				top = y
 14839  			} else if y > bottom {
 14840  				bottom = y
 14841  			}
 14842  			if prevy < y {
 14843  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fx = prevx
 14844  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fy = prevy
 14845  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fx = x
 14846  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fy = y
 14847  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).FclockWise = True
 14848  				nedges++
 14849  			} else if prevy > y {
 14850  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fx = x
 14851  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fy = y
 14852  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fx = prevx
 14853  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fy = prevy
 14854  				(*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).FclockWise = False
 14855  				nedges++
 14856  			}
 14857  			// drop horizontal edges
 14858  		} else {
 14859  			top = y
 14860  			bottom = y
 14861  			firstx = x
 14862  			firsty = y
 14863  		}
 14864  		prevx = x
 14865  		prevy = y
 14866  	}
 14867  	ntraps = sXRenderComputeTrapezoids(tls, edges, nedges, winding, traps)
 14868  	// XXX adjust xSrc/xDst
 14869  	XXRenderCompositeTrapezoids(tls, dpy, op, src, dst, maskFormat, xSrc, ySrc, traps, ntraps)
 14870  	libc.Xfree(tls, edges)
 14871  }
 14872  
 14873  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14874  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14875  // except on WORD64 machines where it is 64 bits.
 14876  
 14877  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: */
 14878  	bp := tls.Alloc(8)
 14879  	defer tls.Free(8)
 14880  
 14881  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14882  	var req uintptr
 14883  	var n int32
 14884  	var len int64
 14885  	var max_req uint64
 14886  	if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14887  		max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size
 14888  	} else {
 14889  		max_req = uint64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size)
 14890  	}
 14891  
 14892  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 14893  		return
 14894  	}
 14895  
 14896  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14897  		(*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)
 14898  	}
 14899  	for ntrap != 0 {
 14900  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTrapezoids), uint64(Sz_xRenderTrapezoidsReq))
 14901  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14902  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTrapezoids)
 14903  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 14904  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 14905  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 14906  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 14907  			if maskFormat != 0 {
 14908  				return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 14909  			}
 14910  			return uint32(0)
 14911  		}()
 14912  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 14913  		(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 14914  		n = ntrap
 14915  		len = int64(n) * int64(int32(Sz_xTrapezoid)>>2)
 14916  		if uint64(len) > max_req-uint64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) {
 14917  			n = int32((max_req - uint64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) / uint64(int32(Sz_xTrapezoid)>>2))
 14918  			len = int64(n) * int64(int32(Sz_xTrapezoid)>>2)
 14919  		}
 14920  		if int64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 14921  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 14922  				{
 14923  					// var _BRdat CARD64 at bp, 8
 14924  					var _BRlen CARD32 = CARD32(int32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) - 1)
 14925  					(*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 14926  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 14927  					libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 14928  					*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 14929  					x11.X_XData32(tls, dpy, bp, uint32(4))
 14930  				}
 14931  			} else {
 14932  				len = len
 14933  				*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 14934  			}
 14935  		} else {
 14936  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 14937  		}
 14938  		len <<= 2
 14939  		{
 14940  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 14941  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint64(int32(len)))
 14942  				*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3)))
 14943  			} else {
 14944  				x11.X_XSend(tls, dpy, traps, len)
 14945  			}
 14946  		}
 14947  
 14948  		ntrap = ntrap - n
 14949  		traps += 40 * uintptr(n)
 14950  	}
 14951  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14952  		(*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)
 14953  	}
 14954  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 14955  		(*struct {
 14956  			f func(*libc.TLS, uintptr) int32
 14957  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 14958  	}
 14959  }
 14960  
 14961  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 14962  // matters on alpha.  Note that this macro assumes that int is 32 bits
 14963  // except on WORD64 machines where it is 64 bits.
 14964  
 14965  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: */
 14966  	bp := tls.Alloc(8)
 14967  	defer tls.Free(8)
 14968  
 14969  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 14970  	var req uintptr
 14971  	var n int32
 14972  	var len int64
 14973  
 14974  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 14975  		return
 14976  	}
 14977  
 14978  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 14979  		(*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)
 14980  	}
 14981  	for ntriangle != 0 {
 14982  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriangles), uint64(Sz_xRenderTrianglesReq))
 14983  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 14984  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriangles)
 14985  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 14986  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 14987  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 14988  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 14989  			if maskFormat != 0 {
 14990  				return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 14991  			}
 14992  			return uint32(0)
 14993  		}()
 14994  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 14995  		(*XRenderTrianglesReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 14996  		n = ntriangle
 14997  		len = int64(n) * int64(int32(Sz_xTriangle)>>2)
 14998  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && len > int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) {
 14999  			n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xTriangle)>>2))
 15000  			len = int64(n) * int64(int32(Sz_xTriangle)>>2)
 15001  		}
 15002  		if int64((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 15003  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 15004  				{
 15005  					// var _BRdat CARD64 at bp, 8
 15006  					var _BRlen CARD32 = CARD32(int32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) - 1)
 15007  					(*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 15008  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 15009  					libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 15010  					*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 15011  					x11.X_XData32(tls, dpy, bp, uint32(4))
 15012  				}
 15013  			} else {
 15014  				len = len
 15015  				*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 15016  			}
 15017  		} else {
 15018  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 15019  		}
 15020  		len <<= 2
 15021  		{
 15022  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 15023  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, triangles, uint64(int32(len)))
 15024  				*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3)))
 15025  			} else {
 15026  				x11.X_XSend(tls, dpy, triangles, len)
 15027  			}
 15028  		}
 15029  
 15030  		ntriangle = ntriangle - n
 15031  		triangles += 24 * uintptr(n)
 15032  	}
 15033  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15034  		(*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)
 15035  	}
 15036  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 15037  		(*struct {
 15038  			f func(*libc.TLS, uintptr) int32
 15039  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 15040  	}
 15041  }
 15042  
 15043  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: */
 15044  	bp := tls.Alloc(8)
 15045  	defer tls.Free(8)
 15046  
 15047  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 15048  	var req uintptr
 15049  	var n int32
 15050  	var len int64
 15051  
 15052  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 15053  		return
 15054  	}
 15055  
 15056  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15057  		(*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)
 15058  	}
 15059  	for npoint > 2 {
 15060  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriStrip), uint64(Sz_xRenderTriStripReq))
 15061  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 15062  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriStrip)
 15063  		(*XRenderTriStripReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 15064  		(*XRenderTriStripReq)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 15065  		(*XRenderTriStripReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 15066  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 15067  			if maskFormat != 0 {
 15068  				return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 15069  			}
 15070  			return uint32(0)
 15071  		}()
 15072  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 15073  		(*XRenderTriStripReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 15074  		n = npoint
 15075  		len = int64(n) * int64(int32(Sz_xPointFixed)>>2)
 15076  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && len > int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)) {
 15077  			n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xPointFixed)>>2))
 15078  			len = int64(n) * int64(int32(Sz_xPointFixed)>>2)
 15079  		}
 15080  		if int64((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 15081  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 15082  				{
 15083  					// var _BRdat CARD64 at bp, 8
 15084  					var _BRlen CARD32 = CARD32(int32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) - 1)
 15085  					(*XRenderTriStripReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 15086  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 15087  					libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 15088  					*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 15089  					x11.X_XData32(tls, dpy, bp, uint32(4))
 15090  				}
 15091  			} else {
 15092  				len = len
 15093  				*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 15094  			}
 15095  		} else {
 15096  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 15097  		}
 15098  		len <<= 2
 15099  		{
 15100  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 15101  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint64(int32(len)))
 15102  				*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3)))
 15103  			} else {
 15104  				x11.X_XSend(tls, dpy, points, len)
 15105  			}
 15106  		}
 15107  
 15108  		npoint = npoint - (n - 2)
 15109  		points += 8 * uintptr(n-2)
 15110  	}
 15111  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15112  		(*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)
 15113  	}
 15114  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 15115  		(*struct {
 15116  			f func(*libc.TLS, uintptr) int32
 15117  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 15118  	}
 15119  }
 15120  
 15121  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: */
 15122  	bp := tls.Alloc(8)
 15123  	defer tls.Free(8)
 15124  
 15125  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 15126  	var first uintptr = points
 15127  	var p uintptr
 15128  	var req uintptr
 15129  	var n int32
 15130  	var len int64
 15131  
 15132  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 15133  		return
 15134  	}
 15135  
 15136  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15137  		(*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)
 15138  	}
 15139  	points += 8
 15140  	npoint--
 15141  	for npoint > 1 {
 15142  		req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriFan), uint64(Sz_xRenderTriFanReq+Sz_xPointFixed))
 15143  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 15144  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriFan)
 15145  		(*XRenderTriFanReq)(unsafe.Pointer(req)).Fop = CARD8(op)
 15146  		(*XRenderTriFanReq)(unsafe.Pointer(req)).Fsrc = CARD32(src)
 15147  		(*XRenderTriFanReq)(unsafe.Pointer(req)).Fdst = CARD32(dst)
 15148  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 {
 15149  			if maskFormat != 0 {
 15150  				return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid)
 15151  			}
 15152  			return uint32(0)
 15153  		}()
 15154  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc)
 15155  		(*XRenderTriFanReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc)
 15156  		p = req + uintptr(1)*24
 15157  		(*XPointFixed)(unsafe.Pointer(p)).Fx = (*XPointFixed1)(unsafe.Pointer(first)).Fx
 15158  		(*XPointFixed)(unsafe.Pointer(p)).Fy = (*XPointFixed1)(unsafe.Pointer(first)).Fy
 15159  		n = npoint
 15160  		len = int64(n) * int64(int32(Sz_xPointFixed)>>2)
 15161  		if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && len > int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)) {
 15162  			n = int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)) / uint32(int32(Sz_xPointFixed)>>2))
 15163  			len = int64(n) * int64(int32(Sz_xPointFixed)>>2)
 15164  		}
 15165  		if int64((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)+len > int64(uint32(65535)) {
 15166  			if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
 15167  				{
 15168  					// var _BRdat CARD64 at bp, 8
 15169  					var _BRlen CARD32 = CARD32(int32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) - 1)
 15170  					(*XRenderTriFanReq)(unsafe.Pointer(req)).Flength = CARD16(0)
 15171  					*(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4)))
 15172  					libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), uint64((_BRlen-CARD32(1))<<2))
 15173  					*(*CARD32)(unsafe.Pointer(req + 1*4)) = CARD32(int64(_BRlen) + len + int64(2))
 15174  					x11.X_XData32(tls, dpy, bp, uint32(4))
 15175  				}
 15176  			} else {
 15177  				len = len
 15178  				*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 15179  			}
 15180  		} else {
 15181  			*(*CARD16)(unsafe.Pointer(req + 2)) += CARD16(len)
 15182  		}
 15183  		len <<= 2
 15184  		{
 15185  			if (*Display)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax {
 15186  				libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint64(int32(len)))
 15187  				*(*uintptr)(unsafe.Pointer(dpy + 176)) += uintptr((len + int64(3)) & int64(libc.CplInt32(3)))
 15188  			} else {
 15189  				x11.X_XSend(tls, dpy, points, len)
 15190  			}
 15191  		}
 15192  
 15193  		npoint = npoint - (n - 1)
 15194  		points += 8 * uintptr(n-1)
 15195  	}
 15196  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 15197  		(*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)
 15198  	}
 15199  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 15200  		(*struct {
 15201  			f func(*libc.TLS, uintptr) int32
 15202  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 15203  	}
 15204  }
 15205  
 15206  // Xlib uses long for 32-bit values.  Xrender uses int.  This
 15207  // matters on alpha.  Note that this macro assumes that int is 32 bits
 15208  // except on WORD64 machines where it is 64 bits.
 15209  
 15210  // Copyright (C) 1992-2020 Free Software Foundation, Inc.
 15211  //
 15212  // This file is part of GCC.
 15213  //
 15214  // GCC is free software; you can redistribute it and/or modify it under
 15215  // the terms of the GNU General Public License as published by the Free
 15216  // Software Foundation; either version 3, or (at your option) any later
 15217  // version.
 15218  //
 15219  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 15220  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 15221  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 15222  // for more details.
 15223  //
 15224  // Under Section 7 of GPL version 3, you are granted additional
 15225  // permissions described in the GCC Runtime Library Exception, version
 15226  // 3.1, as published by the Free Software Foundation.
 15227  //
 15228  // You should have received a copy of the GNU General Public License and
 15229  // a copy of the GCC Runtime Library Exception along with this program;
 15230  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 15231  // <http://www.gnu.org/licenses/>.
 15232  
 15233  // This administrivia gets added to the beginning of limits.h
 15234  //    if the system has its own version of limits.h.
 15235  
 15236  // We use _GCC_LIMITS_H_ because we want this not to match
 15237  //    any macros that the system's limits.h uses for its own purposes.
 15238  
 15239  // Use "..." so that we find syslimits.h only in this same directory.
 15240  // syslimits.h stands for the system's own limits.h file.
 15241  //    If we can use it ok unmodified, then we install this text.
 15242  //    If fixincludes fixes it, then the fixed version is installed
 15243  //    instead of this text.
 15244  
 15245  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15246  //    This file is part of the GNU C Library.
 15247  //
 15248  //    The GNU C Library is free software; you can redistribute it and/or
 15249  //    modify it under the terms of the GNU Lesser General Public
 15250  //    License as published by the Free Software Foundation; either
 15251  //    version 2.1 of the License, or (at your option) any later version.
 15252  //
 15253  //    The GNU C Library is distributed in the hope that it will be useful,
 15254  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15255  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15256  //    Lesser General Public License for more details.
 15257  //
 15258  //    You should have received a copy of the GNU Lesser General Public
 15259  //    License along with the GNU C Library; if not, see
 15260  //    <https://www.gnu.org/licenses/>.
 15261  
 15262  //	ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types	<limits.h>
 15263  
 15264  // Handle feature test macros at the start of a header.
 15265  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
 15266  //    This file is part of the GNU C Library.
 15267  //
 15268  //    The GNU C Library is free software; you can redistribute it and/or
 15269  //    modify it under the terms of the GNU Lesser General Public
 15270  //    License as published by the Free Software Foundation; either
 15271  //    version 2.1 of the License, or (at your option) any later version.
 15272  //
 15273  //    The GNU C Library is distributed in the hope that it will be useful,
 15274  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15275  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15276  //    Lesser General Public License for more details.
 15277  //
 15278  //    You should have received a copy of the GNU Lesser General Public
 15279  //    License along with the GNU C Library; if not, see
 15280  //    <https://www.gnu.org/licenses/>.
 15281  
 15282  // This header is internal to glibc and should not be included outside
 15283  //    of glibc headers.  Headers including it must define
 15284  //    __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first.  This header
 15285  //    cannot have multiple include guards because ISO C feature test
 15286  //    macros depend on the definition of the macro when an affected
 15287  //    header is included, not when the first system header is
 15288  //    included.
 15289  
 15290  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15291  //    This file is part of the GNU C Library.
 15292  //
 15293  //    The GNU C Library is free software; you can redistribute it and/or
 15294  //    modify it under the terms of the GNU Lesser General Public
 15295  //    License as published by the Free Software Foundation; either
 15296  //    version 2.1 of the License, or (at your option) any later version.
 15297  //
 15298  //    The GNU C Library is distributed in the hope that it will be useful,
 15299  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15300  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15301  //    Lesser General Public License for more details.
 15302  //
 15303  //    You should have received a copy of the GNU Lesser General Public
 15304  //    License along with the GNU C Library; if not, see
 15305  //    <https://www.gnu.org/licenses/>.
 15306  
 15307  // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
 15308  //    macro.
 15309  
 15310  // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
 15311  //    macro.  Most but not all symbols enabled by that macro in TS
 15312  //    18661-1 are enabled unconditionally in C2X; the symbols in Annex F
 15313  //    still require that macro in C2X.
 15314  
 15315  // ISO/IEC TS 18661-4:2015 defines the
 15316  //    __STDC_WANT_IEC_60559_FUNCS_EXT__ macro.  Other than the reduction
 15317  //    functions, the symbols from this TS are enabled unconditionally in
 15318  //    C2X.
 15319  
 15320  // ISO/IEC TS 18661-3:2015 defines the
 15321  //    __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
 15322  
 15323  // Maximum length of any multibyte character in any locale.
 15324  //    We define this value here since the gcc header does not define
 15325  //    the correct value.
 15326  
 15327  // If we are not using GNU CC we have to define all the symbols ourself.
 15328  //    Otherwise use gcc's definitions (see below).
 15329  
 15330  // Get the compiler's limits.h, which defines almost all the ISO constants.
 15331  //
 15332  //     We put this #include_next outside the double inclusion check because
 15333  //     it should be possible to include this file more than once and still get
 15334  //     the definitions from gcc's header.
 15335  
 15336  // The <limits.h> files in some gcc versions don't define LLONG_MIN,
 15337  //    LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for
 15338  //    ages are available.
 15339  
 15340  // The integer width macros are not defined by GCC's <limits.h> before
 15341  //    GCC 7, or if _GNU_SOURCE rather than
 15342  //    __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
 15343  
 15344  // POSIX adds things to <limits.h>.
 15345  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15346  //    This file is part of the GNU C Library.
 15347  //
 15348  //    The GNU C Library is free software; you can redistribute it and/or
 15349  //    modify it under the terms of the GNU Lesser General Public
 15350  //    License as published by the Free Software Foundation; either
 15351  //    version 2.1 of the License, or (at your option) any later version.
 15352  //
 15353  //    The GNU C Library is distributed in the hope that it will be useful,
 15354  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15355  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15356  //    Lesser General Public License for more details.
 15357  //
 15358  //    You should have received a copy of the GNU Lesser General Public
 15359  //    License along with the GNU C Library; if not, see
 15360  //    <https://www.gnu.org/licenses/>.
 15361  
 15362  //	POSIX Standard: 2.9.2 Minimum Values	Added to <limits.h>
 15363  //
 15364  //	Never include this file directly; use <limits.h> instead.
 15365  
 15366  // Determine the wordsize from the preprocessor defines.
 15367  //
 15368  //    Copyright (C) 2016-2020 Free Software Foundation, Inc.
 15369  //    This file is part of the GNU C Library.
 15370  //
 15371  //    The GNU C Library is free software; you can redistribute it and/or
 15372  //    modify it under the terms of the GNU Lesser General Public
 15373  //    License as published by the Free Software Foundation; either
 15374  //    version 2.1 of the License, or (at your option) any later version.
 15375  //
 15376  //    The GNU C Library is distributed in the hope that it will be useful,
 15377  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15378  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15379  //    Lesser General Public License for more details.
 15380  //
 15381  //    You should have received a copy of the GNU Lesser General Public
 15382  //    License along with the GNU C Library; if not, see
 15383  //    <https://www.gnu.org/licenses/>.
 15384  
 15385  // These are the standard-mandated minimum values.
 15386  
 15387  // Minimum number of operations in one list I/O call.
 15388  
 15389  // Minimal number of outstanding asynchronous I/O operations.
 15390  
 15391  // Maximum length of arguments to `execve', including environment.
 15392  
 15393  // Maximum simultaneous processes per real user ID.
 15394  
 15395  // Minimal number of timer expiration overruns.
 15396  
 15397  // Maximum length of a host name (not including the terminating null)
 15398  //    as returned from the GETHOSTNAME function.
 15399  
 15400  // Maximum link count of a file.
 15401  
 15402  // Maximum length of login name.
 15403  
 15404  // Number of bytes in a terminal canonical input queue.
 15405  
 15406  // Number of bytes for which space will be
 15407  //    available in a terminal input queue.
 15408  
 15409  // Maximum number of message queues open for a process.
 15410  
 15411  // Maximum number of supported message priorities.
 15412  
 15413  // Number of bytes in a filename.
 15414  
 15415  // Number of simultaneous supplementary group IDs per process.
 15416  
 15417  // Number of files one process can have open at once.
 15418  
 15419  // Number of bytes in a pathname.
 15420  
 15421  // Number of bytes than can be written atomically to a pipe.
 15422  
 15423  // The number of repeated occurrences of a BRE permitted by the
 15424  //    REGEXEC and REGCOMP functions when using the interval notation.
 15425  
 15426  // Minimal number of realtime signals reserved for the application.
 15427  
 15428  // Number of semaphores a process can have.
 15429  
 15430  // Maximal value of a semaphore.
 15431  
 15432  // Number of pending realtime signals.
 15433  
 15434  // Largest value of a `ssize_t'.
 15435  
 15436  // Number of streams a process can have open at once.
 15437  
 15438  // The number of bytes in a symbolic link.
 15439  
 15440  // The number of symbolic links that can be traversed in the
 15441  //    resolution of a pathname in the absence of a loop.
 15442  
 15443  // Number of timer for a process.
 15444  
 15445  // Maximum number of characters in a tty name.
 15446  
 15447  // Maximum length of a timezone name (element of `tzname').
 15448  
 15449  // Maximum clock resolution in nanoseconds.
 15450  
 15451  // Get the implementation-specific values for the above.
 15452  // Minimum guaranteed maximum values for system limits.  Linux version.
 15453  //    Copyright (C) 1993-2020 Free Software Foundation, Inc.
 15454  //
 15455  //    This file is part of the GNU C Library.
 15456  //
 15457  //    The GNU C Library is free software; you can redistribute it and/or
 15458  //    modify it under the terms of the GNU Lesser General Public License as
 15459  //    published by the Free Software Foundation; either version 2.1 of the
 15460  //    License, or (at your option) any later version.
 15461  //
 15462  //    The GNU C Library is distributed in the hope that it will be useful,
 15463  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15464  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15465  //    Lesser General Public License for more details.
 15466  //
 15467  //    You should have received a copy of the GNU Lesser General Public
 15468  //    License along with the GNU C Library.  If not, see
 15469  //    <https://www.gnu.org/licenses/>.
 15470  
 15471  // The kernel header pollutes the namespace with the NR_OPEN symbol
 15472  //    and defines LINK_MAX although filesystems have different maxima.  A
 15473  //    similar thing is true for OPEN_MAX: the limit can be changed at
 15474  //    runtime and therefore the macro must not be defined.  Remove this
 15475  //    after including the header if necessary.
 15476  
 15477  // The kernel sources contain a file with all the needed information.
 15478  // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
 15479  
 15480  // Have to remove NR_OPEN?
 15481  // Have to remove LINK_MAX?
 15482  // Have to remove OPEN_MAX?
 15483  // Have to remove ARG_MAX?
 15484  
 15485  // The number of data keys per process.
 15486  // This is the value this implementation supports.
 15487  
 15488  // Controlling the iterations of destructors for thread-specific data.
 15489  // Number of iterations this implementation does.
 15490  
 15491  // The number of threads per process.
 15492  // We have no predefined limit on the number of threads.
 15493  
 15494  // Maximum amount by which a process can descrease its asynchronous I/O
 15495  //    priority level.
 15496  
 15497  // Minimum size for a thread.  At least two pages for systems with 64k
 15498  //    pages.
 15499  
 15500  // Maximum number of timer expiration overruns.
 15501  
 15502  // Maximum tty name length.
 15503  
 15504  // Maximum login name length.  This is arbitrary.
 15505  
 15506  // Maximum host name length.
 15507  
 15508  // Maximum message queue priority level.
 15509  
 15510  // Maximum value the semaphore can have.
 15511  
 15512  // ssize_t is not formally required to be the signed type
 15513  //    corresponding to size_t, but it is for all configurations supported
 15514  //    by glibc.
 15515  
 15516  // This value is a guaranteed minimum maximum.
 15517  //    The current maximum can be got from `sysconf'.
 15518  
 15519  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15520  //    This file is part of the GNU C Library.
 15521  //
 15522  //    The GNU C Library is free software; you can redistribute it and/or
 15523  //    modify it under the terms of the GNU Lesser General Public
 15524  //    License as published by the Free Software Foundation; either
 15525  //    version 2.1 of the License, or (at your option) any later version.
 15526  //
 15527  //    The GNU C Library is distributed in the hope that it will be useful,
 15528  //    but WITHOUT ANY WARRANTY; without even the implied warranty of
 15529  //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15530  //    Lesser General Public License for more details.
 15531  //
 15532  //    You should have received a copy of the GNU Lesser General Public
 15533  //    License along with the GNU C Library; if not, see
 15534  //    <https://www.gnu.org/licenses/>.
 15535  
 15536  // Never include this file directly; include <limits.h> instead.
 15537  
 15538  // The maximum `ibase' and `obase' values allowed by the `bc' utility.
 15539  
 15540  // The maximum number of elements allowed in an array by the `bc' utility.
 15541  
 15542  // The maximum `scale' value allowed by the `bc' utility.
 15543  
 15544  // The maximum length of a string constant accepted by the `bc' utility.
 15545  
 15546  // The maximum number of weights that can be assigned to an entry of
 15547  //    the LC_COLLATE `order' keyword in the locale definition file.
 15548  
 15549  // The maximum number of expressions that can be nested
 15550  //    within parentheses by the `expr' utility.
 15551  
 15552  // The maximum length, in bytes, of an input line.
 15553  
 15554  // The maximum number of repeated occurrences of a regular expression
 15555  //    permitted when using the interval notation `\{M,N\}'.
 15556  
 15557  // The maximum number of bytes in a character class name.  We have no
 15558  //    fixed limit, 2048 is a high number.
 15559  
 15560  // These values are implementation-specific,
 15561  //    and may vary within the implementation.
 15562  //    Their precise values can be obtained from sysconf.
 15563  
 15564  // This value is defined like this in regex.h.
 15565  
 15566  // Copyright (C) 1991-2020 Free Software Foundation, Inc.
 15567  //
 15568  // This file is part of GCC.
 15569  //
 15570  // GCC is free software; you can redistribute it and/or modify it under
 15571  // the terms of the GNU General Public License as published by the Free
 15572  // Software Foundation; either version 3, or (at your option) any later
 15573  // version.
 15574  //
 15575  // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 15576  // WARRANTY; without even the implied warranty of MERCHANTABILITY or
 15577  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 15578  // for more details.
 15579  //
 15580  // Under Section 7 of GPL version 3, you are granted additional
 15581  // permissions described in the GCC Runtime Library Exception, version
 15582  // 3.1, as published by the Free Software Foundation.
 15583  //
 15584  // You should have received a copy of the GNU General Public License and
 15585  // a copy of the GCC Runtime Library Exception along with this program;
 15586  // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 15587  // <http://www.gnu.org/licenses/>.
 15588  
 15589  // Number of bits in a `char'.
 15590  
 15591  // Maximum length of a multibyte character.
 15592  
 15593  // Minimum and maximum values a `signed char' can hold.
 15594  
 15595  // Maximum value an `unsigned char' can hold.  (Minimum is 0).
 15596  
 15597  // Minimum and maximum values a `char' can hold.
 15598  
 15599  // Minimum and maximum values a `signed short int' can hold.
 15600  
 15601  // Maximum value an `unsigned short int' can hold.  (Minimum is 0).
 15602  
 15603  // Minimum and maximum values a `signed int' can hold.
 15604  
 15605  // Maximum value an `unsigned int' can hold.  (Minimum is 0).
 15606  
 15607  // Minimum and maximum values a `signed long int' can hold.
 15608  //    (Same as `int').
 15609  
 15610  // Maximum value an `unsigned long int' can hold.  (Minimum is 0).
 15611  
 15612  // Minimum and maximum values a `signed long long int' can hold.
 15613  
 15614  // Maximum value an `unsigned long long int' can hold.  (Minimum is 0).
 15615  
 15616  // This administrivia gets added to the end of limits.h
 15617  //    if the system has its own version of limits.h.
 15618  
 15619  var XXRenderExtensionInfo XRenderExtInfo                                        /* Xrender.c:31:16: */
 15620  var XXRenderExtensionName = *(*[7]uint8)(unsafe.Pointer(ts + 6 /* "RENDER" */)) /* Xrender.c:32:6 */
 15621  
 15622  // XRenderExtFindDisplay - look for a display in this extension; keeps a
 15623  // cache of the most-recently used for efficiency. (Replaces
 15624  // XextFindDisplay.)
 15625  func sXRenderExtFindDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) uintptr { /* Xrender.c:41:30: */
 15626  	var dpyinfo uintptr
 15627  
 15628  	// see if this was the most recently accessed display
 15629  	if libc.AssignUintptr(&dpyinfo, (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur) != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy {
 15630  		return dpyinfo
 15631  	}
 15632  
 15633  	// look for display in list
 15634  	if x11.X_XLockMutex_fn != 0 {
 15635  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15636  	}
 15637  	for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext {
 15638  		if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy {
 15639  			(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo // cache most recently used
 15640  			if x11.X_XUnlockMutex_fn != 0 {
 15641  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15642  			}
 15643  			return dpyinfo
 15644  		}
 15645  	}
 15646  	if x11.X_XUnlockMutex_fn != 0 {
 15647  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15648  	}
 15649  
 15650  	return uintptr(0)
 15651  }
 15652  
 15653  // If the server is missing support for any of the required depths on
 15654  // any screen, tell the application that Render is not present.
 15655  
 15656  // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps
 15657  
 15658  type X_DepthCheckRec = struct {
 15659  	Fnext        uintptr
 15660  	Fdpy         uintptr
 15661  	Fmissing     CARD32
 15662  	F__ccgo_pad1 [4]byte
 15663  	Fserial      uint64
 15664  } /* Xrender.c:86:9 */
 15665  
 15666  // If the server is missing support for any of the required depths on
 15667  // any screen, tell the application that Render is not present.
 15668  
 15669  // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps
 15670  
 15671  type DepthCheckRec = X_DepthCheckRec /* Xrender.c:91:3 */
 15672  type DepthCheckPtr = uintptr         /* Xrender.c:91:18 */
 15673  
 15674  var depthChecks DepthCheckPtr /* Xrender.c:93:22: */
 15675  
 15676  func sXRenderDepthCheckErrorHandler(tls *libc.TLS, dpy uintptr, evt uintptr) int32 { /* Xrender.c:96:1: */
 15677  	if int32((*XErrorEvent)(unsafe.Pointer(evt)).Frequest_code) == X_CreatePixmap && int32((*XErrorEvent)(unsafe.Pointer(evt)).Ferror_code) == BadValue {
 15678  		var d DepthCheckPtr
 15679  		if x11.X_XLockMutex_fn != 0 {
 15680  			(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15681  		}
 15682  		for d = depthChecks; d != 0; d = (*X_DepthCheckRec)(unsafe.Pointer(d)).Fnext {
 15683  			if (*X_DepthCheckRec)(unsafe.Pointer(d)).Fdpy == dpy {
 15684  				if int64((*XErrorEvent)(unsafe.Pointer(evt)).Fserial-(*X_DepthCheckRec)(unsafe.Pointer(d)).Fserial) >= int64(0) {
 15685  					*(*CARD32)(unsafe.Pointer(d + 16)) |= uint32(1) << ((*XErrorEvent)(unsafe.Pointer(evt)).Fresourceid - uint64(1))
 15686  				}
 15687  				break
 15688  			}
 15689  		}
 15690  		if x11.X_XUnlockMutex_fn != 0 {
 15691  			(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15692  		}
 15693  	}
 15694  	return 0
 15695  }
 15696  
 15697  func sXRenderHasDepths(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:115:1: */
 15698  	bp := tls.Alloc(32)
 15699  	defer tls.Free(32)
 15700  
 15701  	var s int32
 15702  
 15703  	for s = 0; s < (*struct {
 15704  		Fext_data            uintptr
 15705  		Fprivate1            uintptr
 15706  		Ffd                  int32
 15707  		Fprivate2            int32
 15708  		Fproto_major_version int32
 15709  		Fproto_minor_version int32
 15710  		Fvendor              uintptr
 15711  		Fprivate3            XID
 15712  		Fprivate4            XID
 15713  		Fprivate5            XID
 15714  		Fprivate6            int32
 15715  		F__ccgo_pad1         [4]byte
 15716  		Fresource_alloc      uintptr
 15717  		Fbyte_order          int32
 15718  		Fbitmap_unit         int32
 15719  		Fbitmap_pad          int32
 15720  		Fbitmap_bit_order    int32
 15721  		Fnformats            int32
 15722  		F__ccgo_pad2         [4]byte
 15723  		Fpixmap_format       uintptr
 15724  		Fprivate8            int32
 15725  		Frelease             int32
 15726  		Fprivate9            uintptr
 15727  		Fprivate10           uintptr
 15728  		Fqlen                int32
 15729  		F__ccgo_pad3         [4]byte
 15730  		Flast_request_read   uint64
 15731  		Frequest             uint64
 15732  		Fprivate11           XPointer
 15733  		Fprivate12           XPointer
 15734  		Fprivate13           XPointer
 15735  		Fprivate14           XPointer
 15736  		Fmax_request_size    uint32
 15737  		F__ccgo_pad4         [4]byte
 15738  		Fdb                  uintptr
 15739  		Fprivate15           uintptr
 15740  		Fdisplay_name        uintptr
 15741  		Fdefault_screen      int32
 15742  		Fnscreens            int32
 15743  		Fscreens             uintptr
 15744  		Fmotion_buffer       uint64
 15745  		Fprivate16           uint64
 15746  		Fmin_keycode         int32
 15747  		Fmax_keycode         int32
 15748  		Fprivate17           XPointer
 15749  		Fprivate18           XPointer
 15750  		Fprivate19           int32
 15751  		F__ccgo_pad5         [4]byte
 15752  		Fxdefaults           uintptr
 15753  	})(unsafe.Pointer(dpy)).Fnscreens; s++ {
 15754  		var depths CARD32 = CARD32(0)
 15755  		var missing CARD32
 15756  		var scr uintptr = (*struct {
 15757  			Fext_data            uintptr
 15758  			Fprivate1            uintptr
 15759  			Ffd                  int32
 15760  			Fprivate2            int32
 15761  			Fproto_major_version int32
 15762  			Fproto_minor_version int32
 15763  			Fvendor              uintptr
 15764  			Fprivate3            XID
 15765  			Fprivate4            XID
 15766  			Fprivate5            XID
 15767  			Fprivate6            int32
 15768  			F__ccgo_pad1         [4]byte
 15769  			Fresource_alloc      uintptr
 15770  			Fbyte_order          int32
 15771  			Fbitmap_unit         int32
 15772  			Fbitmap_pad          int32
 15773  			Fbitmap_bit_order    int32
 15774  			Fnformats            int32
 15775  			F__ccgo_pad2         [4]byte
 15776  			Fpixmap_format       uintptr
 15777  			Fprivate8            int32
 15778  			Frelease             int32
 15779  			Fprivate9            uintptr
 15780  			Fprivate10           uintptr
 15781  			Fqlen                int32
 15782  			F__ccgo_pad3         [4]byte
 15783  			Flast_request_read   uint64
 15784  			Frequest             uint64
 15785  			Fprivate11           XPointer
 15786  			Fprivate12           XPointer
 15787  			Fprivate13           XPointer
 15788  			Fprivate14           XPointer
 15789  			Fmax_request_size    uint32
 15790  			F__ccgo_pad4         [4]byte
 15791  			Fdb                  uintptr
 15792  			Fprivate15           uintptr
 15793  			Fdisplay_name        uintptr
 15794  			Fdefault_screen      int32
 15795  			Fnscreens            int32
 15796  			Fscreens             uintptr
 15797  			Fmotion_buffer       uint64
 15798  			Fprivate16           uint64
 15799  			Fmin_keycode         int32
 15800  			Fmax_keycode         int32
 15801  			Fprivate17           XPointer
 15802  			Fprivate18           XPointer
 15803  			Fprivate19           int32
 15804  			F__ccgo_pad5         [4]byte
 15805  			Fxdefaults           uintptr
 15806  		})(unsafe.Pointer(dpy)).Fscreens + uintptr(s)*128
 15807  		var d int32
 15808  
 15809  		for d = 0; d < (*Screen)(unsafe.Pointer(scr)).Fndepths; d++ {
 15810  			depths = depths | uint32(1)<<((*Depth)(unsafe.Pointer((*Screen)(unsafe.Pointer(scr)).Fdepths+uintptr(d)*16)).Fdepth-1)
 15811  		}
 15812  		missing = ^depths & (uint32(1)<<(1-1) | uint32(1)<<(4-1) | uint32(1)<<(8-1) | uint32(1)<<(24-1) | uint32(1)<<(32-1))
 15813  		if missing != 0 {
 15814  			// var dc DepthCheckRec at bp, 32
 15815  
 15816  			var dp uintptr
 15817  			var previousHandler XErrorHandler
 15818  
 15819  			// Ok, this is ugly.  It should be sufficient at this
 15820  			// point to just return False, but Xinerama is broken at
 15821  			// this point and only advertises depths which have an
 15822  			// associated visual.  Of course, the other depths still
 15823  			// work, but the only way to find out is to try them.
 15824  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fdpy = dpy
 15825  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing = CARD32(0)
 15826  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fserial = x11.XXNextRequest(tls, dpy)
 15827  			if x11.X_XLockMutex_fn != 0 {
 15828  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15829  			}
 15830  			(*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext = depthChecks
 15831  			depthChecks = bp /* &dc */
 15832  			if x11.X_XUnlockMutex_fn != 0 {
 15833  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15834  			}
 15835  			// I suspect this is not really thread safe, but Xlib doesn't
 15836  			// provide a lot of options here
 15837  			previousHandler = x11.XXSetErrorHandler(tls, *(*uintptr)(unsafe.Pointer(&struct {
 15838  				f func(*libc.TLS, uintptr, uintptr) int32
 15839  			}{sXRenderDepthCheckErrorHandler})))
 15840  			// Try each missing depth and see if pixmap creation succeeds
 15841  			for d = 1; d <= 32; d++ {
 15842  				// don't check depth 1 == Xcursor recurses...
 15843  				if missing&(uint32(1)<<(d-1)) != 0 && d != 1 {
 15844  					var p Pixmap
 15845  					p = x11.XXCreatePixmap(tls, dpy, (*Screen)(unsafe.Pointer((*struct {
 15846  						Fext_data            uintptr
 15847  						Fprivate1            uintptr
 15848  						Ffd                  int32
 15849  						Fprivate2            int32
 15850  						Fproto_major_version int32
 15851  						Fproto_minor_version int32
 15852  						Fvendor              uintptr
 15853  						Fprivate3            XID
 15854  						Fprivate4            XID
 15855  						Fprivate5            XID
 15856  						Fprivate6            int32
 15857  						F__ccgo_pad1         [4]byte
 15858  						Fresource_alloc      uintptr
 15859  						Fbyte_order          int32
 15860  						Fbitmap_unit         int32
 15861  						Fbitmap_pad          int32
 15862  						Fbitmap_bit_order    int32
 15863  						Fnformats            int32
 15864  						F__ccgo_pad2         [4]byte
 15865  						Fpixmap_format       uintptr
 15866  						Fprivate8            int32
 15867  						Frelease             int32
 15868  						Fprivate9            uintptr
 15869  						Fprivate10           uintptr
 15870  						Fqlen                int32
 15871  						F__ccgo_pad3         [4]byte
 15872  						Flast_request_read   uint64
 15873  						Frequest             uint64
 15874  						Fprivate11           XPointer
 15875  						Fprivate12           XPointer
 15876  						Fprivate13           XPointer
 15877  						Fprivate14           XPointer
 15878  						Fmax_request_size    uint32
 15879  						F__ccgo_pad4         [4]byte
 15880  						Fdb                  uintptr
 15881  						Fprivate15           uintptr
 15882  						Fdisplay_name        uintptr
 15883  						Fdefault_screen      int32
 15884  						Fnscreens            int32
 15885  						Fscreens             uintptr
 15886  						Fmotion_buffer       uint64
 15887  						Fprivate16           uint64
 15888  						Fmin_keycode         int32
 15889  						Fmax_keycode         int32
 15890  						Fprivate17           XPointer
 15891  						Fprivate18           XPointer
 15892  						Fprivate19           int32
 15893  						F__ccgo_pad5         [4]byte
 15894  						Fxdefaults           uintptr
 15895  					})(unsafe.Pointer(dpy)).Fscreens+uintptr(s)*128)).Froot, uint32(1), uint32(1), uint32(d))
 15896  					x11.XXFreePixmap(tls, dpy, p)
 15897  				}
 15898  			}
 15899  			x11.XXSync(tls, dpy, False)
 15900  			x11.XXSetErrorHandler(tls, previousHandler)
 15901  			// Unhook from the list of depth check records
 15902  			if x11.X_XLockMutex_fn != 0 {
 15903  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15904  			}
 15905  			for dp = uintptr(unsafe.Pointer(&depthChecks)); *(*uintptr)(unsafe.Pointer(dp)) != 0; dp = *(*uintptr)(unsafe.Pointer(dp)) {
 15906  				if *(*uintptr)(unsafe.Pointer(dp)) == bp {
 15907  					*(*uintptr)(unsafe.Pointer(dp)) = (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext
 15908  					break
 15909  				}
 15910  			}
 15911  			if x11.X_XUnlockMutex_fn != 0 {
 15912  				(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15913  			}
 15914  			if (*DepthCheckRec)(unsafe.Pointer(bp)).Fmissing != 0 {
 15915  				return False
 15916  			}
 15917  		}
 15918  	}
 15919  	return True
 15920  }
 15921  
 15922  // XRenderExtAddDisplay - add a display to this extension. (Replaces
 15923  // XextAddDisplay)
 15924  func sXRenderExtAddDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr, ext_name uintptr) uintptr { /* Xrender.c:190:30: */
 15925  	var dpyinfo uintptr
 15926  
 15927  	dpyinfo = libc.Xmalloc(tls, func() uint64 {
 15928  		if uint64(unsafe.Sizeof(XRenderExtDisplayInfo{})) == uint64(0) {
 15929  			return uint64(1)
 15930  		}
 15931  		return uint64(unsafe.Sizeof(XRenderExtDisplayInfo{}))
 15932  	}())
 15933  	if !(dpyinfo != 0) {
 15934  		return uintptr(0)
 15935  	}
 15936  	(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay = dpy
 15937  	(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Finfo = uintptr(0)
 15938  
 15939  	if sXRenderHasDepths(tls, dpy) != 0 {
 15940  		(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = x11.XXInitExtension(tls, dpy, ext_name)
 15941  	} else {
 15942  		(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = uintptr(0)
 15943  	}
 15944  
 15945  	// if the server has the extension, then we can initialize the
 15946  	// appropriate function vectors
 15947  	if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes != 0 {
 15948  		x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes)).Fextension,
 15949  			*(*uintptr)(unsafe.Pointer(&struct {
 15950  				f func(*libc.TLS, uintptr, uintptr) int32
 15951  			}{sXRenderCloseDisplay})))
 15952  	} else {
 15953  		// The server doesn't have this extension.
 15954  		// Use a private Xlib-internal extension to hang the close_display
 15955  		// hook on so that the "cache" (extinfo->cur) is properly cleaned.
 15956  		// (XBUG 7955)
 15957  		var codes uintptr = x11.XXAddExtension(tls, dpy)
 15958  		if !(codes != 0) {
 15959  			x11.XXFree(tls, dpyinfo)
 15960  			return uintptr(0)
 15961  		}
 15962  		x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer(codes)).Fextension, *(*uintptr)(unsafe.Pointer(&struct {
 15963  			f func(*libc.TLS, uintptr, uintptr) int32
 15964  		}{sXRenderCloseDisplay})))
 15965  	}
 15966  
 15967  	// now, chain it onto the list
 15968  	if x11.X_XLockMutex_fn != 0 {
 15969  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15970  	}
 15971  	(*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead
 15972  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = dpyinfo
 15973  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo
 15974  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays++
 15975  	if x11.X_XUnlockMutex_fn != 0 {
 15976  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15977  	}
 15978  	return dpyinfo
 15979  }
 15980  
 15981  // XRenderExtRemoveDisplay - remove the indicated display from the
 15982  // extension object. (Replaces XextRemoveDisplay.)
 15983  func sXRenderExtRemoveDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) int32 { /* Xrender.c:246:1: */
 15984  	var dpyinfo uintptr
 15985  	var prev uintptr
 15986  
 15987  	// locate this display and its back link so that it can be removed
 15988  	if x11.X_XLockMutex_fn != 0 {
 15989  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 15990  	}
 15991  	prev = uintptr(0)
 15992  	for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext {
 15993  		if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy {
 15994  			break
 15995  		}
 15996  		prev = dpyinfo
 15997  	}
 15998  	if !(dpyinfo != 0) {
 15999  		if x11.X_XUnlockMutex_fn != 0 {
 16000  			(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 16001  		}
 16002  		return 0 // hmm, actually an error
 16003  	}
 16004  
 16005  	// remove the display from the list; handles going to zero
 16006  	if prev != 0 {
 16007  		(*XRenderExtDisplayInfo)(unsafe.Pointer(prev)).Fnext = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext
 16008  	} else {
 16009  		(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext
 16010  	}
 16011  
 16012  	(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays--
 16013  	if dpyinfo == (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur {
 16014  		(*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = uintptr(0)
 16015  	} // flush cache
 16016  	if x11.X_XUnlockMutex_fn != 0 {
 16017  		(*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock)
 16018  	}
 16019  
 16020  	libc.Xfree(tls, dpyinfo)
 16021  	return 1
 16022  }
 16023  
 16024  func XXRenderFindDisplay(tls *libc.TLS, dpy uintptr) uintptr { /* Xrender.c:282:23: */
 16025  	var dpyinfo uintptr
 16026  
 16027  	dpyinfo = sXRenderExtFindDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy)
 16028  	if !(dpyinfo != 0) {
 16029  		dpyinfo = sXRenderExtAddDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy,
 16030  			uintptr(unsafe.Pointer(&XXRenderExtensionName)))
 16031  	}
 16032  	return dpyinfo
 16033  }
 16034  
 16035  func sXRenderCloseDisplay(tls *libc.TLS, dpy uintptr, codes uintptr) int32 { /* Xrender.c:295:1: */
 16036  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16037  	if info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 {
 16038  		x11.XXFree(tls, (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo)
 16039  	}
 16040  
 16041  	return sXRenderExtRemoveDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy)
 16042  }
 16043  
 16044  // ***************************************************************************
 16045  //
 16046  //                                                                          *
 16047  //			    Render public interfaces                        *
 16048  //                                                                          *
 16049  //
 16050  
 16051  func XXRenderQueryExtension(tls *libc.TLS, dpy uintptr, event_basep uintptr, error_basep uintptr) int32 { /* Xrender.c:309:6: */
 16052  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16053  
 16054  	if info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0 {
 16055  		*(*int32)(unsafe.Pointer(event_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_event
 16056  		*(*int32)(unsafe.Pointer(error_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_error
 16057  		return True
 16058  	} else {
 16059  		return False
 16060  	}
 16061  	return int32(0)
 16062  }
 16063  
 16064  func XXRenderQueryVersion(tls *libc.TLS, dpy uintptr, major_versionp uintptr, minor_versionp uintptr) int32 { /* Xrender.c:323:8: */
 16065  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16066  	var xri uintptr
 16067  
 16068  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 16069  		return 0
 16070  	}
 16071  
 16072  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16073  		return 0
 16074  	}
 16075  
 16076  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16077  	*(*int32)(unsafe.Pointer(major_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version
 16078  	*(*int32)(unsafe.Pointer(minor_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version
 16079  	return 1
 16080  }
 16081  
 16082  func _XRenderFindFormat(tls *libc.TLS, xri uintptr, format PictFormat) uintptr { /* Xrender.c:342:26: */
 16083  	var nf int32
 16084  
 16085  	for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ {
 16086  		if (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fid == format {
 16087  			return (*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*40
 16088  		}
 16089  	}
 16090  	return uintptr(0)
 16091  }
 16092  
 16093  func _XRenderFindVisual(tls *libc.TLS, dpy uintptr, vid VisualID) uintptr { /* Xrender.c:353:15: */
 16094  	return x11.X_XVIDtoVisual(tls, dpy, vid)
 16095  }
 16096  
 16097  type X_renderVersionState = struct {
 16098  	Fversion_seq   uint64
 16099  	Ferror         int32
 16100  	Fmajor_version int32
 16101  	Fminor_version int32
 16102  	F__ccgo_pad1   [4]byte
 16103  } /* Xrender.c:359:9 */
 16104  
 16105  type X_XrenderVersionState = X_renderVersionState /* Xrender.c:365:3 */
 16106  
 16107  func _XRenderVersionHandler(tls *libc.TLS, dpy uintptr, rep uintptr, buf uintptr, len int32, data XPointer) int32 { /* Xrender.c:368:1: */
 16108  	bp := tls.Alloc(32)
 16109  	defer tls.Free(32)
 16110  
 16111  	// var replbuf XRenderQueryVersionReply at bp, 32
 16112  
 16113  	var repl uintptr
 16114  	var state uintptr = data
 16115  
 16116  	if (*Display)(unsafe.Pointer(dpy)).Flast_request_read != (*X_XrenderVersionState)(unsafe.Pointer(state)).Fversion_seq {
 16117  		return False
 16118  	}
 16119  	if int32((*XGenericReply)(unsafe.Pointer(rep)).Ftype) == X_Error {
 16120  		(*X_XrenderVersionState)(unsafe.Pointer(state)).Ferror = True
 16121  		return False
 16122  	}
 16123  	repl = x11.X_XGetAsyncReply(tls, dpy, bp, rep, buf, len,
 16124  		int32(Sz_xRenderQueryVersionReply-Sz_xReply)>>2,
 16125  		True)
 16126  	(*X_XrenderVersionState)(unsafe.Pointer(state)).Fmajor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FmajorVersion)
 16127  	(*X_XrenderVersionState)(unsafe.Pointer(state)).Fminor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FminorVersion)
 16128  	return True
 16129  }
 16130  
 16131  func XXRenderQueryFormats(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:395:1: */
 16132  	bp := tls.Alloc(80)
 16133  	defer tls.Free(80)
 16134  
 16135  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16136  	// var async X_XAsyncHandler at bp+24, 24
 16137  
 16138  	// var async_state X_XrenderVersionState at bp, 24
 16139  
 16140  	var vreq uintptr
 16141  	// var rep XRenderQueryPictFormatsReply at bp+48, 32
 16142  
 16143  	var req uintptr
 16144  	var xri uintptr
 16145  	var format uintptr
 16146  	var screen uintptr
 16147  	var depth uintptr
 16148  	var visual uintptr
 16149  	var xFormat uintptr
 16150  	var xScreen uintptr
 16151  	var xDepth uintptr
 16152  	var xVisual uintptr
 16153  	var xSubpixel uintptr
 16154  	var xData uintptr
 16155  	var nf int32
 16156  	var ns int32
 16157  	var nd int32
 16158  	var nv int32
 16159  	var rlength uint64
 16160  	var nbytes uint64
 16161  
 16162  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 16163  		return 0
 16164  	}
 16165  
 16166  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16167  		(*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)
 16168  	}
 16169  	if (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 {
 16170  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16171  			(*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)
 16172  		}
 16173  		return 1
 16174  	}
 16175  	vreq = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryVersion), uint64(Sz_xRenderQueryVersionReq))
 16176  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 16177  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FrenderReqType = CARD8(X_RenderQueryVersion)
 16178  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FmajorVersion = CARD32(RENDER_MAJOR)
 16179  	(*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FminorVersion = CARD32(RENDER_MINOR)
 16180  
 16181  	(*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fversion_seq = (*Display)(unsafe.Pointer(dpy)).Frequest
 16182  	(*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror = False
 16183  	(*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fnext = (*Display)(unsafe.Pointer(dpy)).Fasync_handlers
 16184  	(*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fhandler = *(*uintptr)(unsafe.Pointer(&struct {
 16185  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, XPointer) int32
 16186  	}{_XRenderVersionHandler}))
 16187  	(*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fdata = bp /* &async_state */
 16188  	(*Display)(unsafe.Pointer(dpy)).Fasync_handlers = bp + 24           /* &async */
 16189  
 16190  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictFormats), uint64(Sz_xRenderQueryPictFormatsReq))
 16191  	(*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 16192  	(*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictFormats)
 16193  
 16194  	if !(x11.X_XReply(tls, dpy, bp+48, 0, XFalse) != 0) {
 16195  		{
 16196  			if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == bp+24 {
 16197  				(*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 24)).Fnext
 16198  			} else {
 16199  				x11.X_XDeqAsyncHandler(tls, dpy, bp+24)
 16200  			}
 16201  		}
 16202  
 16203  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16204  			(*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)
 16205  		}
 16206  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16207  			(*struct {
 16208  				f func(*libc.TLS, uintptr) int32
 16209  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16210  		}
 16211  		return 0
 16212  	}
 16213  	{
 16214  		if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == bp+24 {
 16215  			(*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 24)).Fnext
 16216  		} else {
 16217  			x11.X_XDeqAsyncHandler(tls, dpy, bp+24)
 16218  		}
 16219  	}
 16220  
 16221  	if (*X_XrenderVersionState)(unsafe.Pointer(bp)).Ferror != 0 {
 16222  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16223  			(*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)
 16224  		}
 16225  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16226  			(*struct {
 16227  				f func(*libc.TLS, uintptr) int32
 16228  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16229  		}
 16230  		return 0
 16231  	}
 16232  	// Check for the lack of sub-pixel data
 16233  	if (*X_XrenderVersionState)(unsafe.Pointer(bp)).Fmajor_version == 0 && (*X_XrenderVersionState)(unsafe.Pointer(bp)).Fminor_version < 6 {
 16234  		(*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumSubpixel = CARD32(0)
 16235  	}
 16236  
 16237  	if uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumFormats) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(XRenderPictFormat{})) && uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumScreens) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(XRenderScreen{})) && uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(XRenderDepth{})) && uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumVisuals) < uint64(0x7fffffff/4)/uint64(unsafe.Sizeof(XRenderVisual{})) && (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumSubpixel < CARD32(0x7fffffff/4/4) && (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).Flength < CARD32(int32(0x7fffffff)>>2) {
 16238  		xri = libc.Xmalloc(tls, func() uint64 {
 16239  			if uint64(unsafe.Sizeof(XRenderInfo{}))+uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumFormats)*uint64(unsafe.Sizeof(XRenderPictFormat{}))+uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumScreens)*uint64(unsafe.Sizeof(XRenderScreen{}))+uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths)*uint64(unsafe.Sizeof(XRenderDepth{}))+uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumVisuals)*uint64(unsafe.Sizeof(XRenderVisual{})) == uint64(0) {
 16240  				return uint64(1)
 16241  			}
 16242  			return uint64(unsafe.Sizeof(XRenderInfo{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumFormats)*uint64(unsafe.Sizeof(XRenderPictFormat{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumScreens)*uint64(unsafe.Sizeof(XRenderScreen{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths)*uint64(unsafe.Sizeof(XRenderDepth{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumVisuals)*uint64(unsafe.Sizeof(XRenderVisual{}))
 16243  		}())
 16244  		rlength = uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumFormats)*uint64(unsafe.Sizeof(XPictFormInfo{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumScreens)*uint64(unsafe.Sizeof(XPictScreen{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths)*uint64(unsafe.Sizeof(XPictDepth{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumVisuals)*uint64(unsafe.Sizeof(XPictVisual{})) + uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumSubpixel*CARD32(4))
 16245  		xData = libc.Xmalloc(tls, func() uint64 {
 16246  			if rlength == uint64(0) {
 16247  				return uint64(1)
 16248  			}
 16249  			return rlength
 16250  		}())
 16251  		nbytes = uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).Flength) << 2
 16252  	} else {
 16253  		xri = uintptr(0)
 16254  		xData = uintptr(0)
 16255  		rlength = libc.AssignUint64(&nbytes, uint64(0))
 16256  	}
 16257  
 16258  	if !(xri != 0) || !(xData != 0) || nbytes < rlength {
 16259  		if xri != 0 {
 16260  			libc.Xfree(tls, xri)
 16261  		}
 16262  		if xData != 0 {
 16263  			libc.Xfree(tls, xData)
 16264  		}
 16265  		x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength))
 16266  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16267  			(*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)
 16268  		}
 16269  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16270  			(*struct {
 16271  				f func(*libc.TLS, uintptr) int32
 16272  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16273  		}
 16274  		return 0
 16275  	}
 16276  	(*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version
 16277  	(*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version
 16278  	(*XRenderInfo)(unsafe.Pointer(xri)).Fformat = xri + uintptr(1)*120
 16279  	(*XRenderInfo)(unsafe.Pointer(xri)).Fnformat = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumFormats)
 16280  	(*XRenderInfo)(unsafe.Pointer(xri)).Fscreen = (*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumFormats)*40
 16281  	(*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumScreens)
 16282  	(*XRenderInfo)(unsafe.Pointer(xri)).Fdepth = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumScreens)*32
 16283  	(*XRenderInfo)(unsafe.Pointer(xri)).Fndepth = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumDepths)
 16284  	(*XRenderInfo)(unsafe.Pointer(xri)).Fvisual = (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths)*16
 16285  	(*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumVisuals)
 16286  	x11.X_XRead(tls, dpy, xData, int64(rlength))
 16287  	format = (*XRenderInfo)(unsafe.Pointer(xri)).Fformat
 16288  	xFormat = xData
 16289  	for nf = 0; CARD32(nf) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats; nf++ {
 16290  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fid = PictFormat((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fid)
 16291  		(*XRenderPictFormat)(unsafe.Pointer(format)).Ftype = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Ftype)
 16292  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdepth = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdepth)
 16293  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fred = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fred)
 16294  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FredMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FredMask)
 16295  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fgreen = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fgreen)
 16296  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FgreenMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FgreenMask)
 16297  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fblue = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fblue)
 16298  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FblueMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FblueMask)
 16299  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Falpha = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Falpha)
 16300  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FalphaMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FalphaMask)
 16301  		(*XRenderPictFormat)(unsafe.Pointer(format)).Fcolormap = Colormap((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fcolormap)
 16302  		format += 40
 16303  		xFormat += 28
 16304  	}
 16305  	xScreen = xFormat
 16306  	screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen
 16307  	depth = (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth
 16308  	visual = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual
 16309  	for ns = 0; ns < (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen; ns++ {
 16310  		(*XRenderScreen)(unsafe.Pointer(screen)).Fdepths = depth
 16311  		(*XRenderScreen)(unsafe.Pointer(screen)).Fndepths = int32((*XPictScreen)(unsafe.Pointer(xScreen)).FnDepth)
 16312  		(*XRenderScreen)(unsafe.Pointer(screen)).Ffallback = _XRenderFindFormat(tls, xri, uint64((*XPictScreen)(unsafe.Pointer(xScreen)).Ffallback))
 16313  		(*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = SubPixelUnknown
 16314  		xDepth = xScreen + uintptr(1)*8
 16315  		if CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumDepths {
 16316  			libc.Xfree(tls, xri)
 16317  			libc.Xfree(tls, xData)
 16318  			x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength))
 16319  			if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16320  				(*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)
 16321  			}
 16322  			if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16323  				(*struct {
 16324  					f func(*libc.TLS, uintptr) int32
 16325  				})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16326  			}
 16327  			return 0
 16328  		}
 16329  		*(*CARD32)(unsafe.Pointer(bp + 48 + 16)) -= CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths)
 16330  		for nd = 0; nd < (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths; nd++ {
 16331  			(*XRenderDepth)(unsafe.Pointer(depth)).Fdepth = int32((*XPictDepth)(unsafe.Pointer(xDepth)).Fdepth)
 16332  			(*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals = int32((*XPictDepth)(unsafe.Pointer(xDepth)).FnPictVisuals)
 16333  			(*XRenderDepth)(unsafe.Pointer(depth)).Fvisuals = visual
 16334  			xVisual = xDepth + uintptr(1)*8
 16335  			if CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48)).FnumVisuals {
 16336  				libc.Xfree(tls, xri)
 16337  				libc.Xfree(tls, xData)
 16338  				x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength))
 16339  				if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16340  					(*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)
 16341  				}
 16342  				if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16343  					(*struct {
 16344  						f func(*libc.TLS, uintptr) int32
 16345  					})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16346  				}
 16347  				return 0
 16348  			}
 16349  			*(*CARD32)(unsafe.Pointer(bp + 48 + 20)) -= CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals)
 16350  			for nv = 0; nv < (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals; nv++ {
 16351  				(*XRenderVisual)(unsafe.Pointer(visual)).Fvisual = _XRenderFindVisual(tls, dpy, uint64((*XPictVisual)(unsafe.Pointer(xVisual)).Fvisual))
 16352  				(*XRenderVisual)(unsafe.Pointer(visual)).Fformat = _XRenderFindFormat(tls, xri, uint64((*XPictVisual)(unsafe.Pointer(xVisual)).Fformat))
 16353  				visual += 16
 16354  				xVisual += 8
 16355  			}
 16356  			depth += 16
 16357  			xDepth = xVisual
 16358  		}
 16359  		screen += 32
 16360  		xScreen = xDepth
 16361  	}
 16362  	xSubpixel = xScreen
 16363  	screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen
 16364  	for ns = 0; CARD32(ns) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumSubpixel; ns++ {
 16365  		(*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = int32(*(*CARD32)(unsafe.Pointer(xSubpixel)))
 16366  		xSubpixel += 4
 16367  		screen += 32
 16368  	}
 16369  	(*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo = xri
 16370  	// Skip any extra data
 16371  	if nbytes > rlength {
 16372  		x11.X_XEatData(tls, dpy, nbytes-rlength)
 16373  	}
 16374  
 16375  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16376  		(*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)
 16377  	}
 16378  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16379  		(*struct {
 16380  			f func(*libc.TLS, uintptr) int32
 16381  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16382  	}
 16383  	libc.Xfree(tls, xData)
 16384  	return 1
 16385  }
 16386  
 16387  func XXRenderQuerySubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32) int32 { /* Xrender.c:595:1: */
 16388  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16389  	var xri uintptr
 16390  
 16391  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 16392  		return SubPixelUnknown
 16393  	}
 16394  
 16395  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16396  		return SubPixelUnknown
 16397  	}
 16398  
 16399  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16400  	return (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*32)).Fsubpixel
 16401  }
 16402  
 16403  func XXRenderSetSubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32, subpixel int32) int32 { /* Xrender.c:611:1: */
 16404  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16405  	var xri uintptr
 16406  
 16407  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 16408  		return False
 16409  	}
 16410  
 16411  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16412  		return False
 16413  	}
 16414  
 16415  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16416  	(*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*32)).Fsubpixel = subpixel
 16417  	return True
 16418  }
 16419  
 16420  func XXRenderFindVisualFormat(tls *libc.TLS, dpy uintptr, visual uintptr) uintptr { /* Xrender.c:627:19: */
 16421  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16422  	var nv int32
 16423  	var xri uintptr
 16424  	var xrv uintptr
 16425  
 16426  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 16427  		return uintptr(0)
 16428  	}
 16429  
 16430  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16431  		return uintptr(0)
 16432  	}
 16433  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16434  	nv = 0
 16435  	xrv = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual
 16436  __1:
 16437  	if !(nv < (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual) {
 16438  		goto __3
 16439  	}
 16440  	if (*XRenderVisual)(unsafe.Pointer(xrv)).Fvisual == visual {
 16441  		return (*XRenderVisual)(unsafe.Pointer(xrv)).Fformat
 16442  	}
 16443  	goto __2
 16444  __2:
 16445  	nv++
 16446  	xrv += 16
 16447  	goto __1
 16448  	goto __3
 16449  __3:
 16450  	;
 16451  	return uintptr(0)
 16452  }
 16453  
 16454  func XXRenderFindFormat(tls *libc.TLS, dpy uintptr, mask uint64, template uintptr, count int32) uintptr { /* Xrender.c:645:19: */
 16455  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16456  	var nf int32
 16457  	var xri uintptr
 16458  
 16459  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 16460  		return uintptr(0)
 16461  	}
 16462  
 16463  	if !(XXRenderQueryFormats(tls, dpy) != 0) {
 16464  		return uintptr(0)
 16465  	}
 16466  	xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
 16467  	for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ {
 16468  		if mask&uint64(int32(1)<<0) != 0 {
 16469  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Fid != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fid {
 16470  				continue
 16471  			}
 16472  		}
 16473  		if mask&uint64(int32(1)<<1) != 0 {
 16474  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Ftype != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Ftype {
 16475  				continue
 16476  			}
 16477  		}
 16478  		if mask&uint64(int32(1)<<2) != 0 {
 16479  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Fdepth != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdepth {
 16480  				continue
 16481  			}
 16482  		}
 16483  		if mask&uint64(int32(1)<<3) != 0 {
 16484  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fred) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fred) {
 16485  				continue
 16486  			}
 16487  		}
 16488  		if mask&uint64(int32(1)<<4) != 0 {
 16489  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FredMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FredMask) {
 16490  				continue
 16491  			}
 16492  		}
 16493  		if mask&uint64(int32(1)<<5) != 0 {
 16494  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fgreen) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fgreen) {
 16495  				continue
 16496  			}
 16497  		}
 16498  		if mask&uint64(int32(1)<<6) != 0 {
 16499  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FgreenMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FgreenMask) {
 16500  				continue
 16501  			}
 16502  		}
 16503  		if mask&uint64(int32(1)<<7) != 0 {
 16504  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fblue) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fblue) {
 16505  				continue
 16506  			}
 16507  		}
 16508  		if mask&uint64(int32(1)<<8) != 0 {
 16509  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FblueMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FblueMask) {
 16510  				continue
 16511  			}
 16512  		}
 16513  		if mask&uint64(int32(1)<<9) != 0 {
 16514  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Falpha) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Falpha) {
 16515  				continue
 16516  			}
 16517  		}
 16518  		if mask&uint64(int32(1)<<10) != 0 {
 16519  			if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FalphaMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FalphaMask) {
 16520  				continue
 16521  			}
 16522  		}
 16523  		if mask&uint64(int32(1)<<11) != 0 {
 16524  			if (*XRenderPictFormat)(unsafe.Pointer(template)).Fcolormap != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fcolormap {
 16525  				continue
 16526  			}
 16527  		}
 16528  		if libc.PostDecInt32(&count, 1) == 0 {
 16529  			return (*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*40
 16530  		}
 16531  	}
 16532  	return uintptr(0)
 16533  }
 16534  
 16535  func XXRenderFindStandardFormat(tls *libc.TLS, dpy uintptr, format int32) uintptr { /* Xrender.c:703:19: */
 16536  
 16537  	if 0 <= format && format < PictStandardNUM {
 16538  		return XXRenderFindFormat(tls, dpy,
 16539  			standardFormats[format].Fmask,
 16540  			uintptr(unsafe.Pointer(&standardFormats))+uintptr(format)*48,
 16541  			0)
 16542  	}
 16543  	return uintptr(0)
 16544  }
 16545  
 16546  var standardFormats = [5]struct {
 16547  	Ftempl XRenderPictFormat
 16548  	Fmask  uint64
 16549  }{{
 16550  	// PictStandardARGB32
 16551  	Ftempl: XRenderPictFormat{ // id
 16552  		Ftype:  PictTypeDirect, // type
 16553  		Fdepth: 32,             // depth
 16554  		Fdirect: XRenderDirectFormat{ // direct
 16555  			Fred:       int16(16),   // direct.red
 16556  			FredMask:   int16(0xff), // direct.redMask
 16557  			Fgreen:     int16(8),    // direct.green
 16558  			FgreenMask: int16(0xff), // direct.blue
 16559  			FblueMask:  int16(0xff), // direct.blueMask
 16560  			Falpha:     int16(24),   // direct.alpha
 16561  			FalphaMask: int16(0xff), // direct.alphaMask
 16562  		}, // colormap
 16563  	},
 16564  	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),
 16565  },
 16566  	// PictStandardRGB24
 16567  	{
 16568  		Ftempl: XRenderPictFormat{ // id
 16569  			Ftype:  PictTypeDirect, // type
 16570  			Fdepth: 24,             // depth
 16571  			Fdirect: XRenderDirectFormat{ // direct
 16572  				Fred:       int16(16),   // direct.red
 16573  				FredMask:   int16(0xff), // direct.redMask
 16574  				Fgreen:     int16(8),    // direct.green
 16575  				FgreenMask: int16(0xff), // direct.blue
 16576  				FblueMask:  int16(0xff), // direct.alphaMask
 16577  			}, // colormap
 16578  		},
 16579  		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),
 16580  	},
 16581  	// PictStandardA8
 16582  	{
 16583  		Ftempl: XRenderPictFormat{ // id
 16584  			Ftype:  PictTypeDirect, // type
 16585  			Fdepth: 8,              // depth
 16586  			Fdirect: XRenderDirectFormat{ // direct.alpha
 16587  				FalphaMask: int16(0xff), // direct.alphaMask
 16588  			}, // colormap
 16589  		},
 16590  		Fmask: uint64(int32(1)<<1 | int32(1)<<2 | int32(1)<<4 | int32(1)<<6 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10),
 16591  	},
 16592  	// PictStandardA4
 16593  	{
 16594  		Ftempl: XRenderPictFormat{ // id
 16595  			Ftype:  PictTypeDirect, // type
 16596  			Fdepth: 4,              // depth
 16597  			Fdirect: XRenderDirectFormat{ // direct.alpha
 16598  				FalphaMask: int16(0x0f), // direct.alphaMask
 16599  			}, // colormap
 16600  		},
 16601  		Fmask: uint64(int32(1)<<1 | int32(1)<<2 | int32(1)<<4 | int32(1)<<6 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10),
 16602  	},
 16603  	// PictStandardA1
 16604  	{
 16605  		Ftempl: XRenderPictFormat{ // id
 16606  			Ftype:  PictTypeDirect, // type
 16607  			Fdepth: 1,              // depth
 16608  			Fdirect: XRenderDirectFormat{ // direct.alpha
 16609  				FalphaMask: int16(0x01), // direct.alphaMask
 16610  			}, // colormap
 16611  		},
 16612  		Fmask: uint64(int32(1)<<1 | int32(1)<<2 | int32(1)<<4 | int32(1)<<6 | int32(1)<<8 | int32(1)<<9 | int32(1)<<10),
 16613  	},
 16614  } /* Xrender.c:710:7 */
 16615  
 16616  func XXRenderQueryPictIndexValues(tls *libc.TLS, dpy uintptr, format uintptr, num uintptr) uintptr { /* Xrender.c:856:13: */
 16617  	bp := tls.Alloc(44)
 16618  	defer tls.Free(44)
 16619  
 16620  	var info uintptr = XXRenderFindDisplay(tls, dpy)
 16621  	var req uintptr
 16622  	// var rep XRenderQueryPictIndexValuesReply at bp, 32
 16623  
 16624  	var values uintptr
 16625  	var nbytes uint32
 16626  	var nread uint32
 16627  	var rlength uint32
 16628  	var i uint32
 16629  
 16630  	if !(info != 0 && (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
 16631  		return uintptr(0)
 16632  	}
 16633  
 16634  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16635  		(*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)
 16636  	}
 16637  	req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictIndexValues), uint64(Sz_xRenderQueryPictIndexValuesReq))
 16638  	(*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
 16639  	(*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictIndexValues)
 16640  	(*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid)
 16641  	if !(x11.X_XReply(tls, dpy, bp, 0, XFalse) != 0) {
 16642  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16643  			(*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)
 16644  		}
 16645  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16646  			(*struct {
 16647  				f func(*libc.TLS, uintptr) int32
 16648  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16649  		}
 16650  		return uintptr(0)
 16651  	}
 16652  
 16653  	if (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).Flength < CARD32(int32(0x7fffffff)>>2) && uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).FnumIndexValues) < uint64(0x7fffffff)/uint64(unsafe.Sizeof(XIndexValue1{})) {
 16654  		// request data length
 16655  		nbytes = (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).Flength << 2
 16656  		// bytes of actual data in the request
 16657  		nread = (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).FnumIndexValues * CARD32(Sz_xIndexValue)
 16658  		// size of array returned to application
 16659  		rlength = uint32(uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp)).FnumIndexValues) * uint64(unsafe.Sizeof(XIndexValue1{})))
 16660  
 16661  		// allocate returned data
 16662  		values = libc.Xmalloc(tls, func() uint64 {
 16663  			if rlength == uint32(0) {
 16664  				return uint64(1)
 16665  			}
 16666  			return uint64(rlength)
 16667  		}())
 16668  	} else {
 16669  		nbytes = libc.AssignUint32(&nread, libc.AssignUint32(&rlength, uint32(0)))
 16670  		values = uintptr(0)
 16671  	}
 16672  
 16673  	if !(values != 0) {
 16674  		x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength))
 16675  		if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16676  			(*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)
 16677  		}
 16678  		if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16679  			(*struct {
 16680  				f func(*libc.TLS, uintptr) int32
 16681  			})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16682  		}
 16683  		return uintptr(0)
 16684  	}
 16685  
 16686  	// read the values one at a time and convert
 16687  	*(*int32)(unsafe.Pointer(num)) = int32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues)
 16688  	for i = uint32(0); i < (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues; i++ {
 16689  		// var value XIndexValue at bp+32, 12
 16690  
 16691  		x11.X_XRead(tls, dpy, bp+32, int64(Sz_xIndexValue))
 16692  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fpixel = uint64((*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fpixel)
 16693  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fred = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fred
 16694  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fgreen = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fgreen
 16695  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fblue = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fblue
 16696  		(*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Falpha = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Falpha
 16697  	}
 16698  	// skip any padding
 16699  	if nbytes > nread {
 16700  		x11.X_XEatData(tls, dpy, uint64(nbytes-nread))
 16701  	}
 16702  	if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 {
 16703  		(*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)
 16704  	}
 16705  	if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
 16706  		(*struct {
 16707  			f func(*libc.TLS, uintptr) int32
 16708  		})(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy)
 16709  	}
 16710  	return values
 16711  }
 16712  
 16713  var ts1 = "rgba:\x00RENDER\x00"
 16714  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data