modernc.org/xrender@v1.0.9/lib/xrender_linux_386.go (about) 1 // Code generated by 'ccgo -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -lmodernc.org/x11/lib -o lib/xrender_linux_386.go -pkgname xrender -trace-translation-units /tmp/go-generate-181290560/cdb.json libXrender.a', DO NOT EDIT. 2 3 package xrender 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 11 "modernc.org/libc" 12 "modernc.org/libc/sys/types" 13 "modernc.org/x11/lib" 14 ) 15 16 var _ = math.Pi 17 var _ reflect.Kind 18 var _ atomic.Value 19 var _ unsafe.Pointer 20 var _ types.Size_t 21 22 const ( 23 Above = 0 24 AllHints = 127 25 AllTemporary = 0 26 AllValues = 0x000F 27 AllocAll = 1 28 AllocNone = 0 29 AllowExposures = 1 30 AlreadyGrabbed = 1 31 Always = 2 32 AnyButton = 0 33 AnyKey = 0 34 AnyModifier = 32768 35 AnyPropertyType = 0 36 ArcChord = 0 37 ArcPieSlice = 1 38 AsyncBoth = 6 39 AsyncKeyboard = 3 40 AsyncPointer = 0 41 AutoRepeatModeDefault = 2 42 AutoRepeatModeOff = 0 43 AutoRepeatModeOn = 1 44 B16 = 0 45 B32 = 0 46 BIG_ENDIAN = 4321 47 BUFSIZE = 2048 48 BYTE_ORDER = 1234 49 BadAccess = 10 50 BadAlloc = 11 51 BadAtom = 5 52 BadColor = 12 53 BadCursor = 6 54 BadDrawable = 9 55 BadFont = 7 56 BadGC = 13 57 BadGlyph = 4 58 BadGlyphSet = 3 59 BadIDChoice = 14 60 BadImplementation = 17 61 BadLength = 16 62 BadMatch = 8 63 BadName = 15 64 BadPictFormat = 0 65 BadPictOp = 2 66 BadPicture = 1 67 BadPixmap = 4 68 BadRequest = 1 69 BadValue = 2 70 BadWindow = 3 71 Below = 1 72 BitmapFileInvalid = 2 73 BitmapNoMemory = 3 74 BitmapOpenFailed = 1 75 BitmapSuccess = 0 76 BottomIf = 3 77 Button1 = 1 78 Button1Mask = 256 79 Button1MotionMask = 256 80 Button2 = 2 81 Button2Mask = 512 82 Button2MotionMask = 512 83 Button3 = 3 84 Button3Mask = 1024 85 Button3MotionMask = 1024 86 Button4 = 4 87 Button4Mask = 2048 88 Button4MotionMask = 2048 89 Button5 = 5 90 Button5Mask = 4096 91 Button5MotionMask = 4096 92 ButtonMotionMask = 8192 93 ButtonPress = 4 94 ButtonPressMask = 4 95 ButtonRelease = 5 96 ButtonReleaseMask = 8 97 CPAlphaMap = 2 98 CPAlphaXOrigin = 4 99 CPAlphaYOrigin = 8 100 CPClipMask = 64 101 CPClipXOrigin = 16 102 CPClipYOrigin = 32 103 CPComponentAlpha = 4096 104 CPDither = 2048 105 CPGraphicsExposure = 128 106 CPLastBit = 12 107 CPPolyEdge = 512 108 CPPolyMode = 1024 109 CPRepeat = 1 110 CPSubwindowMode = 256 111 CURSORFONT = "cursor" 112 CWBackPixel = 2 113 CWBackPixmap = 1 114 CWBackingPixel = 256 115 CWBackingPlanes = 128 116 CWBackingStore = 64 117 CWBitGravity = 16 118 CWBorderPixel = 8 119 CWBorderPixmap = 4 120 CWBorderWidth = 16 121 CWColormap = 8192 122 CWCursor = 16384 123 CWDontPropagate = 4096 124 CWEventMask = 2048 125 CWHeight = 8 126 CWOverrideRedirect = 512 127 CWSaveUnder = 1024 128 CWSibling = 32 129 CWStackMode = 64 130 CWWidth = 4 131 CWWinGravity = 32 132 CWX = 1 133 CWY = 2 134 CapButt = 1 135 CapNotLast = 0 136 CapProjecting = 3 137 CapRound = 2 138 CenterGravity = 5 139 CirculateNotify = 26 140 CirculateRequest = 27 141 ClientMessage = 33 142 ClipByChildren = 0 143 ColormapChangeMask = 8388608 144 ColormapInstalled = 1 145 ColormapNotify = 32 146 ColormapUninstalled = 0 147 Complex = 0 148 ConfigureNotify = 22 149 ConfigureRequest = 23 150 ControlMapIndex = 2 151 ControlMask = 4 152 Convex = 2 153 CoordModeOrigin = 0 154 CoordModePrevious = 1 155 CopyFromParent = 0 156 CreateNotify = 16 157 CurrentTime = 0 158 CursorShape = 0 159 DefaultBlanking = 2 160 DefaultExposures = 2 161 DestroyAll = 0 162 DestroyNotify = 17 163 DirectColor = 5 164 DisableAccess = 0 165 DisableScreenInterval = 0 166 DisableScreenSaver = 0 167 DoBlue = 4 168 DoGreen = 2 169 DoRed = 1 170 DontAllowExposures = 0 171 DontCareState = 0 172 DontPreferBlanking = 0 173 E2BIG = 7 174 EACCES = 13 175 EADDRINUSE = 98 176 EADDRNOTAVAIL = 99 177 EADV = 68 178 EAFNOSUPPORT = 97 179 EAGAIN = 11 180 EALREADY = 114 181 EBADE = 52 182 EBADF = 9 183 EBADFD = 77 184 EBADMSG = 74 185 EBADR = 53 186 EBADRQC = 56 187 EBADSLT = 57 188 EBFONT = 59 189 EBUSY = 16 190 ECANCELED = 125 191 ECHILD = 10 192 ECHRNG = 44 193 ECOMM = 70 194 ECONNABORTED = 103 195 ECONNREFUSED = 111 196 ECONNRESET = 104 197 EDEADLK = 35 198 EDEADLOCK = 35 199 EDESTADDRREQ = 89 200 EDOM = 33 201 EDOTDOT = 73 202 EDQUOT = 122 203 EEXIST = 17 204 EFAULT = 14 205 EFBIG = 27 206 EHOSTDOWN = 112 207 EHOSTUNREACH = 113 208 EHWPOISON = 133 209 EIDRM = 43 210 EILSEQ = 84 211 EINPROGRESS = 115 212 EINTR = 4 213 EINVAL = 22 214 EIO = 5 215 EISCONN = 106 216 EISDIR = 21 217 EISNAM = 120 218 EKEYEXPIRED = 127 219 EKEYREJECTED = 129 220 EKEYREVOKED = 128 221 EL2HLT = 51 222 EL2NSYNC = 45 223 EL3HLT = 46 224 EL3RST = 47 225 ELFlagFocus = 1 226 ELFlagSameScreen = 2 227 ELIBACC = 79 228 ELIBBAD = 80 229 ELIBEXEC = 83 230 ELIBMAX = 82 231 ELIBSCN = 81 232 ELNRNG = 48 233 ELOOP = 40 234 EMEDIUMTYPE = 124 235 EMFILE = 24 236 EMLINK = 31 237 EMSGSIZE = 90 238 EMULTIHOP = 72 239 ENAMETOOLONG = 36 240 ENAVAIL = 119 241 ENETDOWN = 100 242 ENETRESET = 102 243 ENETUNREACH = 101 244 ENFILE = 23 245 ENOANO = 55 246 ENOBUFS = 105 247 ENOCSI = 50 248 ENODATA = 61 249 ENODEV = 19 250 ENOENT = 2 251 ENOEXEC = 8 252 ENOKEY = 126 253 ENOLCK = 37 254 ENOLINK = 67 255 ENOMEDIUM = 123 256 ENOMEM = 12 257 ENOMSG = 42 258 ENONET = 64 259 ENOPKG = 65 260 ENOPROTOOPT = 92 261 ENOSPC = 28 262 ENOSR = 63 263 ENOSTR = 60 264 ENOSYS = 38 265 ENOTBLK = 15 266 ENOTCONN = 107 267 ENOTDIR = 20 268 ENOTEMPTY = 39 269 ENOTNAM = 118 270 ENOTRECOVERABLE = 131 271 ENOTSOCK = 88 272 ENOTSUP = 95 273 ENOTTY = 25 274 ENOTUNIQ = 76 275 ENXIO = 6 276 EOPNOTSUPP = 95 277 EOVERFLOW = 75 278 EOWNERDEAD = 130 279 EPERM = 1 280 EPFNOSUPPORT = 96 281 EPIPE = 32 282 EPROTO = 71 283 EPROTONOSUPPORT = 93 284 EPROTOTYPE = 91 285 ERANGE = 34 286 EREMCHG = 78 287 EREMOTE = 66 288 EREMOTEIO = 121 289 ERESTART = 85 290 ERFKILL = 132 291 EROFS = 30 292 ESHUTDOWN = 108 293 ESOCKTNOSUPPORT = 94 294 ESPIPE = 29 295 ESRCH = 3 296 ESRMNT = 69 297 ESTALE = 116 298 ESTRPIPE = 86 299 ETIME = 62 300 ETIMEDOUT = 110 301 ETOOMANYREFS = 109 302 ETXTBSY = 26 303 EUCLEAN = 117 304 EUNATCH = 49 305 EUSERS = 87 306 EWOULDBLOCK = 11 307 EXDEV = 18 308 EXFULL = 54 309 EXIT_FAILURE = 1 310 EXIT_SUCCESS = 0 311 EastGravity = 6 312 EnableAccess = 1 313 EnterNotify = 7 314 EnterWindowMask = 16 315 EvenOddRule = 0 316 Expose = 12 317 ExposureMask = 32768 318 FARCSPERBATCH = 256 319 FD_SETSIZE = 1024 320 FRCTSPERBATCH = 256 321 FUNCPROTO = 15 322 False = 0 323 FamilyChaos = 2 324 FamilyDECnet = 1 325 FamilyInternet = 0 326 FamilyInternet6 = 6 327 FamilyServerInterpreted = 5 328 FillOpaqueStippled = 3 329 FillSolid = 0 330 FillStippled = 2 331 FillTiled = 1 332 FilterAliasNone = -1 333 FilterBest = "best" 334 FilterBilinear = "bilinear" 335 FilterConvolution = "convolution" 336 FilterFast = "fast" 337 FilterGood = "good" 338 FilterNearest = "nearest" 339 FirstExtensionError = 128 340 FocusChangeMask = 2097152 341 FocusIn = 9 342 FocusOut = 10 343 FontChange = 255 344 FontLeftToRight = 0 345 FontRightToLeft = 1 346 ForgetGravity = 0 347 GCArcMode = 4194304 348 GCBackground = 8 349 GCCapStyle = 64 350 GCClipMask = 524288 351 GCClipXOrigin = 131072 352 GCClipYOrigin = 262144 353 GCDashList = 2097152 354 GCDashOffset = 1048576 355 GCFillRule = 512 356 GCFillStyle = 256 357 GCFont = 16384 358 GCForeground = 4 359 GCFunction = 1 360 GCGraphicsExposures = 65536 361 GCJoinStyle = 128 362 GCLastBit = 22 363 GCLineStyle = 32 364 GCLineWidth = 16 365 GCPlaneMask = 2 366 GCStipple = 2048 367 GCSubwindowMode = 32768 368 GCTile = 1024 369 GCTileStipXOrigin = 4096 370 GCTileStipYOrigin = 8192 371 GXand = 0x1 372 GXandInverted = 0x4 373 GXandReverse = 0x2 374 GXclear = 0x0 375 GXcopy = 0x3 376 GXcopyInverted = 0xc 377 GXequiv = 0x9 378 GXinvert = 0xa 379 GXnand = 0xe 380 GXnoop = 0x5 381 GXnor = 0x8 382 GXor = 0x7 383 GXorInverted = 0xd 384 GXorReverse = 0xb 385 GXset = 0xf 386 GXxor = 0x6 387 GenericEvent = 35 388 GrabFrozen = 4 389 GrabInvalidTime = 2 390 GrabModeAsync = 1 391 GrabModeSync = 0 392 GrabNotViewable = 3 393 GrabSuccess = 0 394 GraphicsExpose = 13 395 GravityNotify = 24 396 GrayScale = 1 397 HAVE_CONFIG_H = 1 398 HAVE_DLFCN_H = 1 399 HAVE_INTTYPES_H = 1 400 HAVE_MEMORY_H = 1 401 HAVE_STDINT_H = 1 402 HAVE_STDLIB_H = 1 403 HAVE_STRINGS_H = 1 404 HAVE_STRING_H = 1 405 HAVE_SYS_STAT_H = 1 406 HAVE_SYS_TYPES_H = 1 407 HAVE_UNISTD_H = 1 408 HeightValue = 0x0008 409 HostDelete = 1 410 HostInsert = 0 411 INT16_MAX = 32767 412 INT16_MIN = -32768 413 INT32_MAX = 2147483647 414 INT32_MIN = -2147483648 415 INT64_MAX = 9223372036854775807 416 INT64_MIN = -9223372036854775808 417 INT8_MAX = 127 418 INT8_MIN = -128 419 INTMAX_MAX = 9223372036854775807 420 INTMAX_MIN = -9223372036854775808 421 INTPTR_MAX = 2147483647 422 INTPTR_MIN = -2147483648 423 INT_FAST16_MAX = 2147483647 424 INT_FAST16_MIN = -2147483648 425 INT_FAST32_MAX = 2147483647 426 INT_FAST32_MIN = -2147483648 427 INT_FAST64_MAX = 9223372036854775807 428 INT_FAST64_MIN = -9223372036854775808 429 INT_FAST8_MAX = 127 430 INT_FAST8_MIN = -128 431 INT_LEAST16_MAX = 32767 432 INT_LEAST16_MIN = -32768 433 INT_LEAST32_MAX = 2147483647 434 INT_LEAST32_MIN = -2147483648 435 INT_LEAST64_MAX = 9223372036854775807 436 INT_LEAST64_MIN = -9223372036854775808 437 INT_LEAST8_MAX = 127 438 INT_LEAST8_MIN = -128 439 IconMaskHint = 32 440 IconPixmapHint = 4 441 IconPositionHint = 16 442 IconWindowHint = 8 443 IconicState = 3 444 InactiveState = 4 445 IncludeInferiors = 1 446 InputFocus = 1 447 InputHint = 1 448 InputOnly = 2 449 InputOutput = 1 450 IsUnmapped = 0 451 IsUnviewable = 1 452 IsViewable = 2 453 JoinBevel = 2 454 JoinMiter = 0 455 JoinRound = 1 456 KBAutoRepeatMode = 128 457 KBBellDuration = 8 458 KBBellPercent = 2 459 KBBellPitch = 4 460 KBKey = 64 461 KBKeyClickPercent = 1 462 KBLed = 16 463 KBLedMode = 32 464 KeyPress = 2 465 KeyPressMask = 1 466 KeyRelease = 3 467 KeyReleaseMask = 2 468 KeymapNotify = 11 469 KeymapStateMask = 16384 470 LASTEvent = 36 471 LITTLE_ENDIAN = 1234 472 LOCKED = 1 473 LSBFirst = 0 474 LT_OBJDIR = ".libs/" 475 LastExtensionError = 255 476 LeaveNotify = 8 477 LeaveWindowMask = 32 478 LedModeOff = 0 479 LedModeOn = 1 480 LineDoubleDash = 2 481 LineOnOffDash = 1 482 LineSolid = 0 483 LockMapIndex = 1 484 LockMask = 2 485 LowerHighest = 1 486 MALLOC_0_RETURNS_NULL = 1 487 MSBFirst = 1 488 MapNotify = 19 489 MapRequest = 20 490 MappingBusy = 1 491 MappingFailed = 2 492 MappingKeyboard = 1 493 MappingModifier = 0 494 MappingNotify = 34 495 MappingPointer = 2 496 MappingSuccess = 0 497 Mod1MapIndex = 3 498 Mod1Mask = 8 499 Mod2MapIndex = 4 500 Mod2Mask = 16 501 Mod3MapIndex = 5 502 Mod3Mask = 32 503 Mod4MapIndex = 6 504 Mod4Mask = 64 505 Mod5MapIndex = 7 506 Mod5Mask = 128 507 MotionNotify = 6 508 NARROWPROTO = 0 509 NLOCAL = 256 510 NeedFunctionPrototypes = 1 511 NeedNestedPrototypes = 1 512 NeedVarargsPrototypes = 1 513 NeedWidePrototypes = 0 514 NoEventMask = 0 515 NoExpose = 14 516 NoSymbol = 0 517 NoValue = 0x0000 518 Nonconvex = 1 519 None = 0 520 NormalState = 1 521 NorthEastGravity = 3 522 NorthGravity = 2 523 NorthWestGravity = 1 524 NotUseful = 0 525 NotifyAncestor = 0 526 NotifyDetailNone = 7 527 NotifyGrab = 1 528 NotifyHint = 1 529 NotifyInferior = 2 530 NotifyNonlinear = 3 531 NotifyNonlinearVirtual = 4 532 NotifyNormal = 0 533 NotifyPointer = 5 534 NotifyPointerRoot = 6 535 NotifyUngrab = 2 536 NotifyVirtual = 1 537 NotifyWhileGrabbed = 3 538 Opposite = 4 539 OwnerGrabButtonMask = 16777216 540 PACKAGE = "libXrender" 541 PACKAGE_BUGREPORT = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" 542 PACKAGE_NAME = "libXrender" 543 PACKAGE_STRING = "libXrender 0.9.10" 544 PACKAGE_TARNAME = "libXrender" 545 PACKAGE_URL = "" 546 PACKAGE_VERSION = "0.9.10" 547 PACKAGE_VERSION_MAJOR = 0 548 PACKAGE_VERSION_MINOR = 9 549 PACKAGE_VERSION_PATCHLEVEL = 10 550 PAllHints = 252 551 PAspect = 128 552 PBaseSize = 256 553 PDP_ENDIAN = 3412 554 PMaxSize = 32 555 PMinSize = 16 556 PPosition = 4 557 PResizeInc = 64 558 PSize = 8 559 PTRDIFF_MAX = 2147483647 560 PTRDIFF_MIN = -2147483648 561 PTSPERBATCH = 1024 562 PWinGravity = 512 563 ParentRelative = 1 564 PictFormatAlpha = 512 565 PictFormatAlphaMask = 1024 566 PictFormatBlue = 128 567 PictFormatBlueMask = 256 568 PictFormatColormap = 2048 569 PictFormatDepth = 4 570 PictFormatGreen = 32 571 PictFormatGreenMask = 64 572 PictFormatID = 1 573 PictFormatRed = 8 574 PictFormatRedMask = 16 575 PictFormatType = 2 576 PictOpAdd = 12 577 PictOpAtop = 9 578 PictOpAtopReverse = 10 579 PictOpBlendMaximum = 0x3e 580 PictOpBlendMinimum = 0x30 581 PictOpClear = 0 582 PictOpColorBurn = 0x36 583 PictOpColorDodge = 0x35 584 PictOpConjointAtop = 0x29 585 PictOpConjointAtopReverse = 0x2a 586 PictOpConjointClear = 0x20 587 PictOpConjointDst = 0x22 588 PictOpConjointIn = 0x25 589 PictOpConjointInReverse = 0x26 590 PictOpConjointMaximum = 0x2b 591 PictOpConjointMinimum = 0x20 592 PictOpConjointOut = 0x27 593 PictOpConjointOutReverse = 0x28 594 PictOpConjointOver = 0x23 595 PictOpConjointOverReverse = 0x24 596 PictOpConjointSrc = 0x21 597 PictOpConjointXor = 0x2b 598 PictOpDarken = 0x33 599 PictOpDifference = 0x39 600 PictOpDisjointAtop = 0x19 601 PictOpDisjointAtopReverse = 0x1a 602 PictOpDisjointClear = 0x10 603 PictOpDisjointDst = 0x12 604 PictOpDisjointIn = 0x15 605 PictOpDisjointInReverse = 0x16 606 PictOpDisjointMaximum = 0x1b 607 PictOpDisjointMinimum = 0x10 608 PictOpDisjointOut = 0x17 609 PictOpDisjointOutReverse = 0x18 610 PictOpDisjointOver = 0x13 611 PictOpDisjointOverReverse = 0x14 612 PictOpDisjointSrc = 0x11 613 PictOpDisjointXor = 0x1b 614 PictOpDst = 2 615 PictOpExclusion = 0x3a 616 PictOpHSLColor = 0x3d 617 PictOpHSLHue = 0x3b 618 PictOpHSLLuminosity = 0x3e 619 PictOpHSLSaturation = 0x3c 620 PictOpHardLight = 0x37 621 PictOpIn = 5 622 PictOpInReverse = 6 623 PictOpLighten = 0x34 624 PictOpMaximum = 13 625 PictOpMinimum = 0 626 PictOpMultiply = 0x30 627 PictOpOut = 7 628 PictOpOutReverse = 8 629 PictOpOver = 3 630 PictOpOverReverse = 4 631 PictOpOverlay = 0x32 632 PictOpSaturate = 13 633 PictOpScreen = 0x31 634 PictOpSoftLight = 0x38 635 PictOpSrc = 1 636 PictOpXor = 11 637 PictStandardA1 = 4 638 PictStandardA4 = 3 639 PictStandardA8 = 2 640 PictStandardARGB32 = 0 641 PictStandardNUM = 5 642 PictStandardRGB24 = 1 643 PictTypeDirect = 1 644 PictTypeIndexed = 0 645 PlaceOnBottom = 1 646 PlaceOnTop = 0 647 PointerMotionHintMask = 128 648 PointerMotionMask = 64 649 PointerRoot = 1 650 PointerWindow = 0 651 PolyEdgeSharp = 0 652 PolyEdgeSmooth = 1 653 PolyModeImprecise = 1 654 PolyModePrecise = 0 655 PreferBlanking = 1 656 PropModeAppend = 2 657 PropModePrepend = 1 658 PropModeReplace = 0 659 PropertyChangeMask = 4194304 660 PropertyDelete = 1 661 PropertyNewValue = 0 662 PropertyNotify = 28 663 PseudoColor = 3 664 QueuedAfterFlush = 2 665 QueuedAfterReading = 1 666 QueuedAlready = 0 667 RAND_MAX = 2147483647 668 RENDER_MAJOR = 0 669 RENDER_MINOR = 11 670 RENDER_NAME = "RENDER" 671 RaiseLowest = 0 672 RectangleIn = 1 673 RectangleOut = 0 674 RectanglePart = 2 675 RenderNumberErrors = 5 676 RenderNumberRequests = 37 677 ReparentNotify = 21 678 RepeatNone = 0 679 RepeatNormal = 1 680 RepeatPad = 2 681 RepeatReflect = 3 682 ReplayKeyboard = 5 683 ReplayPointer = 2 684 ResizeRedirectMask = 262144 685 ResizeRequest = 25 686 RetainPermanent = 1 687 RetainTemporary = 2 688 RevertToParent = 2 689 SIG_ATOMIC_MAX = 2147483647 690 SIG_ATOMIC_MIN = -2147483648 691 SIZE_MAX = 4294967295 692 STDC_HEADERS = 1 693 ScreenSaverActive = 1 694 ScreenSaverReset = 0 695 SelectionClear = 29 696 SelectionNotify = 31 697 SelectionRequest = 30 698 SetModeDelete = 1 699 SetModeInsert = 0 700 ShiftMapIndex = 0 701 ShiftMask = 1 702 SouthEastGravity = 9 703 SouthGravity = 8 704 SouthWestGravity = 7 705 StateHint = 2 706 StaticColor = 2 707 StaticGravity = 10 708 StaticGray = 0 709 StippleShape = 2 710 StructureNotifyMask = 131072 711 SubPixelHorizontalBGR = 2 712 SubPixelHorizontalRGB = 1 713 SubPixelNone = 5 714 SubPixelUnknown = 0 715 SubPixelVerticalBGR = 4 716 SubPixelVerticalRGB = 3 717 SubstructureNotifyMask = 524288 718 SubstructureRedirectMask = 1048576 719 Success = 0 720 SyncBoth = 7 721 SyncKeyboard = 4 722 SyncPointer = 1 723 TileShape = 1 724 TopIf = 2 725 True = 1 726 TrueColor = 4 727 UINT16_MAX = 65535 728 UINT32_MAX = 4294967295 729 UINT64_MAX = 18446744073709551615 730 UINT8_MAX = 255 731 UINTMAX_MAX = 18446744073709551615 732 UINTPTR_MAX = 4294967295 733 UINT_FAST16_MAX = 4294967295 734 UINT_FAST32_MAX = 4294967295 735 UINT_FAST64_MAX = 18446744073709551615 736 UINT_FAST8_MAX = 255 737 UINT_LEAST16_MAX = 65535 738 UINT_LEAST32_MAX = 4294967295 739 UINT_LEAST64_MAX = 18446744073709551615 740 UINT_LEAST8_MAX = 255 741 UNLOCKED = 0 742 USPosition = 1 743 USSize = 2 744 UnmapGravity = 0 745 UnmapNotify = 18 746 Unsorted = 0 747 VERSION = "0.9.10" 748 VisibilityChangeMask = 65536 749 VisibilityFullyObscured = 2 750 VisibilityNotify = 15 751 VisibilityPartiallyObscured = 1 752 VisibilityUnobscured = 0 753 VisualAllMask = 0x1FF 754 VisualBitsPerRGBMask = 0x100 755 VisualBlueMaskMask = 0x40 756 VisualClassMask = 0x8 757 VisualColormapSizeMask = 0x80 758 VisualDepthMask = 0x4 759 VisualGreenMaskMask = 0x20 760 VisualIDMask = 0x1 761 VisualNoMask = 0x0 762 VisualRedMaskMask = 0x10 763 VisualScreenMask = 0x2 764 WCHAR_MAX = 2147483647 765 WCHAR_MIN = -2147483648 766 WCONTINUED = 8 767 WEXITED = 4 768 WINT_MAX = 4294967295 769 WINT_MIN = 0 770 WLNSPERBATCH = 50 771 WNOHANG = 1 772 WNOWAIT = 0x01000000 773 WORD64ALIGN = 0 774 WRCTSPERBATCH = 10 775 WSTOPPED = 2 776 WUNTRACED = 2 777 WestGravity = 4 778 WhenMapped = 1 779 WidthValue = 0x0004 780 WindingRule = 1 781 WindowGroupHint = 64 782 WithdrawnState = 0 783 XBufferOverflow = -1 784 XCNOENT = 2 785 XCNOMEM = 1 786 XCSUCCESS = 0 787 XConverterNotFound = -3 788 XIMHighlight = 4 789 XIMHotKeyStateOFF = 2 790 XIMHotKeyStateON = 1 791 XIMInitialState = 1 792 XIMPreeditArea = 0x0001 793 XIMPreeditCallbacks = 0x0002 794 XIMPreeditDisable = 2 795 XIMPreeditEnable = 1 796 XIMPreeditNone = 0x0010 797 XIMPreeditNothing = 0x0008 798 XIMPreeditPosition = 0x0004 799 XIMPreeditUnKnown = 0 800 XIMPreserveState = 2 801 XIMPrimary = 32 802 XIMReverse = 1 803 XIMSecondary = 64 804 XIMStatusArea = 0x0100 805 XIMStatusCallbacks = 0x0200 806 XIMStatusNone = 0x0800 807 XIMStatusNothing = 0x0400 808 XIMStringConversionBottomEdge = 8 809 XIMStringConversionBuffer = 1 810 XIMStringConversionChar = 4 811 XIMStringConversionConcealed = 16 812 XIMStringConversionLeftEdge = 1 813 XIMStringConversionLine = 2 814 XIMStringConversionRetrieval = 2 815 XIMStringConversionRightEdge = 2 816 XIMStringConversionSubstitution = 1 817 XIMStringConversionTopEdge = 4 818 XIMStringConversionWord = 3 819 XIMStringConversionWrapped = 32 820 XIMTertiary = 128 821 XIMUnderline = 2 822 XIMVisibleToBackword = 512 823 XIMVisibleToCenter = 1024 824 XIMVisibleToForward = 256 825 XK_0 = 0x0030 826 XK_1 = 0x0031 827 XK_2 = 0x0032 828 XK_3 = 0x0033 829 XK_4 = 0x0034 830 XK_5 = 0x0035 831 XK_6 = 0x0036 832 XK_7 = 0x0037 833 XK_8 = 0x0038 834 XK_9 = 0x0039 835 XK_A = 0x0041 836 XK_AE = 0x00c6 837 XK_ARABIC = 0 838 XK_ARMENIAN = 0 839 XK_Aacute = 0x00c1 840 XK_Abelowdot = 0x1001ea0 841 XK_Abreve = 0x01c3 842 XK_Abreveacute = 0x1001eae 843 XK_Abrevebelowdot = 0x1001eb6 844 XK_Abrevegrave = 0x1001eb0 845 XK_Abrevehook = 0x1001eb2 846 XK_Abrevetilde = 0x1001eb4 847 XK_AccessX_Enable = 0xfe70 848 XK_AccessX_Feedback_Enable = 0xfe71 849 XK_Acircumflex = 0x00c2 850 XK_Acircumflexacute = 0x1001ea4 851 XK_Acircumflexbelowdot = 0x1001eac 852 XK_Acircumflexgrave = 0x1001ea6 853 XK_Acircumflexhook = 0x1001ea8 854 XK_Acircumflextilde = 0x1001eaa 855 XK_Adiaeresis = 0x00c4 856 XK_Agrave = 0x00c0 857 XK_Ahook = 0x1001ea2 858 XK_Alt_L = 0xffe9 859 XK_Alt_R = 0xffea 860 XK_Amacron = 0x03c0 861 XK_Aogonek = 0x01a1 862 XK_Arabic_0 = 0x1000660 863 XK_Arabic_1 = 0x1000661 864 XK_Arabic_2 = 0x1000662 865 XK_Arabic_3 = 0x1000663 866 XK_Arabic_4 = 0x1000664 867 XK_Arabic_5 = 0x1000665 868 XK_Arabic_6 = 0x1000666 869 XK_Arabic_7 = 0x1000667 870 XK_Arabic_8 = 0x1000668 871 XK_Arabic_9 = 0x1000669 872 XK_Arabic_ain = 0x05d9 873 XK_Arabic_alef = 0x05c7 874 XK_Arabic_alefmaksura = 0x05e9 875 XK_Arabic_beh = 0x05c8 876 XK_Arabic_comma = 0x05ac 877 XK_Arabic_dad = 0x05d6 878 XK_Arabic_dal = 0x05cf 879 XK_Arabic_damma = 0x05ef 880 XK_Arabic_dammatan = 0x05ec 881 XK_Arabic_ddal = 0x1000688 882 XK_Arabic_farsi_yeh = 0x10006cc 883 XK_Arabic_fatha = 0x05ee 884 XK_Arabic_fathatan = 0x05eb 885 XK_Arabic_feh = 0x05e1 886 XK_Arabic_fullstop = 0x10006d4 887 XK_Arabic_gaf = 0x10006af 888 XK_Arabic_ghain = 0x05da 889 XK_Arabic_ha = 0x05e7 890 XK_Arabic_hah = 0x05cd 891 XK_Arabic_hamza = 0x05c1 892 XK_Arabic_hamza_above = 0x1000654 893 XK_Arabic_hamza_below = 0x1000655 894 XK_Arabic_hamzaonalef = 0x05c3 895 XK_Arabic_hamzaonwaw = 0x05c4 896 XK_Arabic_hamzaonyeh = 0x05c6 897 XK_Arabic_hamzaunderalef = 0x05c5 898 XK_Arabic_heh = 0x05e7 899 XK_Arabic_heh_doachashmee = 0x10006be 900 XK_Arabic_heh_goal = 0x10006c1 901 XK_Arabic_jeem = 0x05cc 902 XK_Arabic_jeh = 0x1000698 903 XK_Arabic_kaf = 0x05e3 904 XK_Arabic_kasra = 0x05f0 905 XK_Arabic_kasratan = 0x05ed 906 XK_Arabic_keheh = 0x10006a9 907 XK_Arabic_khah = 0x05ce 908 XK_Arabic_lam = 0x05e4 909 XK_Arabic_madda_above = 0x1000653 910 XK_Arabic_maddaonalef = 0x05c2 911 XK_Arabic_meem = 0x05e5 912 XK_Arabic_noon = 0x05e6 913 XK_Arabic_noon_ghunna = 0x10006ba 914 XK_Arabic_peh = 0x100067e 915 XK_Arabic_percent = 0x100066a 916 XK_Arabic_qaf = 0x05e2 917 XK_Arabic_question_mark = 0x05bf 918 XK_Arabic_ra = 0x05d1 919 XK_Arabic_rreh = 0x1000691 920 XK_Arabic_sad = 0x05d5 921 XK_Arabic_seen = 0x05d3 922 XK_Arabic_semicolon = 0x05bb 923 XK_Arabic_shadda = 0x05f1 924 XK_Arabic_sheen = 0x05d4 925 XK_Arabic_sukun = 0x05f2 926 XK_Arabic_superscript_alef = 0x1000670 927 XK_Arabic_switch = 0xff7e 928 XK_Arabic_tah = 0x05d7 929 XK_Arabic_tatweel = 0x05e0 930 XK_Arabic_tcheh = 0x1000686 931 XK_Arabic_teh = 0x05ca 932 XK_Arabic_tehmarbuta = 0x05c9 933 XK_Arabic_thal = 0x05d0 934 XK_Arabic_theh = 0x05cb 935 XK_Arabic_tteh = 0x1000679 936 XK_Arabic_veh = 0x10006a4 937 XK_Arabic_waw = 0x05e8 938 XK_Arabic_yeh = 0x05ea 939 XK_Arabic_yeh_baree = 0x10006d2 940 XK_Arabic_zah = 0x05d8 941 XK_Arabic_zain = 0x05d2 942 XK_Aring = 0x00c5 943 XK_Armenian_AT = 0x1000538 944 XK_Armenian_AYB = 0x1000531 945 XK_Armenian_BEN = 0x1000532 946 XK_Armenian_CHA = 0x1000549 947 XK_Armenian_DA = 0x1000534 948 XK_Armenian_DZA = 0x1000541 949 XK_Armenian_E = 0x1000537 950 XK_Armenian_FE = 0x1000556 951 XK_Armenian_GHAT = 0x1000542 952 XK_Armenian_GIM = 0x1000533 953 XK_Armenian_HI = 0x1000545 954 XK_Armenian_HO = 0x1000540 955 XK_Armenian_INI = 0x100053b 956 XK_Armenian_JE = 0x100054b 957 XK_Armenian_KE = 0x1000554 958 XK_Armenian_KEN = 0x100053f 959 XK_Armenian_KHE = 0x100053d 960 XK_Armenian_LYUN = 0x100053c 961 XK_Armenian_MEN = 0x1000544 962 XK_Armenian_NU = 0x1000546 963 XK_Armenian_O = 0x1000555 964 XK_Armenian_PE = 0x100054a 965 XK_Armenian_PYUR = 0x1000553 966 XK_Armenian_RA = 0x100054c 967 XK_Armenian_RE = 0x1000550 968 XK_Armenian_SE = 0x100054d 969 XK_Armenian_SHA = 0x1000547 970 XK_Armenian_TCHE = 0x1000543 971 XK_Armenian_TO = 0x1000539 972 XK_Armenian_TSA = 0x100053e 973 XK_Armenian_TSO = 0x1000551 974 XK_Armenian_TYUN = 0x100054f 975 XK_Armenian_VEV = 0x100054e 976 XK_Armenian_VO = 0x1000548 977 XK_Armenian_VYUN = 0x1000552 978 XK_Armenian_YECH = 0x1000535 979 XK_Armenian_ZA = 0x1000536 980 XK_Armenian_ZHE = 0x100053a 981 XK_Armenian_accent = 0x100055b 982 XK_Armenian_amanak = 0x100055c 983 XK_Armenian_apostrophe = 0x100055a 984 XK_Armenian_at = 0x1000568 985 XK_Armenian_ayb = 0x1000561 986 XK_Armenian_ben = 0x1000562 987 XK_Armenian_but = 0x100055d 988 XK_Armenian_cha = 0x1000579 989 XK_Armenian_da = 0x1000564 990 XK_Armenian_dza = 0x1000571 991 XK_Armenian_e = 0x1000567 992 XK_Armenian_exclam = 0x100055c 993 XK_Armenian_fe = 0x1000586 994 XK_Armenian_full_stop = 0x1000589 995 XK_Armenian_ghat = 0x1000572 996 XK_Armenian_gim = 0x1000563 997 XK_Armenian_hi = 0x1000575 998 XK_Armenian_ho = 0x1000570 999 XK_Armenian_hyphen = 0x100058a 1000 XK_Armenian_ini = 0x100056b 1001 XK_Armenian_je = 0x100057b 1002 XK_Armenian_ke = 0x1000584 1003 XK_Armenian_ken = 0x100056f 1004 XK_Armenian_khe = 0x100056d 1005 XK_Armenian_ligature_ew = 0x1000587 1006 XK_Armenian_lyun = 0x100056c 1007 XK_Armenian_men = 0x1000574 1008 XK_Armenian_nu = 0x1000576 1009 XK_Armenian_o = 0x1000585 1010 XK_Armenian_paruyk = 0x100055e 1011 XK_Armenian_pe = 0x100057a 1012 XK_Armenian_pyur = 0x1000583 1013 XK_Armenian_question = 0x100055e 1014 XK_Armenian_ra = 0x100057c 1015 XK_Armenian_re = 0x1000580 1016 XK_Armenian_se = 0x100057d 1017 XK_Armenian_separation_mark = 0x100055d 1018 XK_Armenian_sha = 0x1000577 1019 XK_Armenian_shesht = 0x100055b 1020 XK_Armenian_tche = 0x1000573 1021 XK_Armenian_to = 0x1000569 1022 XK_Armenian_tsa = 0x100056e 1023 XK_Armenian_tso = 0x1000581 1024 XK_Armenian_tyun = 0x100057f 1025 XK_Armenian_verjaket = 0x1000589 1026 XK_Armenian_vev = 0x100057e 1027 XK_Armenian_vo = 0x1000578 1028 XK_Armenian_vyun = 0x1000582 1029 XK_Armenian_yech = 0x1000565 1030 XK_Armenian_yentamna = 0x100058a 1031 XK_Armenian_za = 0x1000566 1032 XK_Armenian_zhe = 0x100056a 1033 XK_Atilde = 0x00c3 1034 XK_AudibleBell_Enable = 0xfe7a 1035 XK_B = 0x0042 1036 XK_BRAILLE = 0 1037 XK_Babovedot = 0x1001e02 1038 XK_BackSpace = 0xff08 1039 XK_Begin = 0xff58 1040 XK_BounceKeys_Enable = 0xfe74 1041 XK_Break = 0xff6b 1042 XK_Byelorussian_SHORTU = 0x06be 1043 XK_Byelorussian_shortu = 0x06ae 1044 XK_C = 0x0043 1045 XK_CAUCASUS = 0 1046 XK_CH = 0xfea2 1047 XK_CURRENCY = 0 1048 XK_CYRILLIC = 0 1049 XK_C_H = 0xfea5 1050 XK_C_h = 0xfea4 1051 XK_Cabovedot = 0x02c5 1052 XK_Cacute = 0x01c6 1053 XK_Cancel = 0xff69 1054 XK_Caps_Lock = 0xffe5 1055 XK_Ccaron = 0x01c8 1056 XK_Ccedilla = 0x00c7 1057 XK_Ccircumflex = 0x02c6 1058 XK_Ch = 0xfea1 1059 XK_Clear = 0xff0b 1060 XK_Codeinput = 0xff37 1061 XK_ColonSign = 0x10020a1 1062 XK_Control_L = 0xffe3 1063 XK_Control_R = 0xffe4 1064 XK_CruzeiroSign = 0x10020a2 1065 XK_Cyrillic_A = 0x06e1 1066 XK_Cyrillic_BE = 0x06e2 1067 XK_Cyrillic_CHE = 0x06fe 1068 XK_Cyrillic_CHE_descender = 0x10004b6 1069 XK_Cyrillic_CHE_vertstroke = 0x10004b8 1070 XK_Cyrillic_DE = 0x06e4 1071 XK_Cyrillic_DZHE = 0x06bf 1072 XK_Cyrillic_E = 0x06fc 1073 XK_Cyrillic_EF = 0x06e6 1074 XK_Cyrillic_EL = 0x06ec 1075 XK_Cyrillic_EM = 0x06ed 1076 XK_Cyrillic_EN = 0x06ee 1077 XK_Cyrillic_EN_descender = 0x10004a2 1078 XK_Cyrillic_ER = 0x06f2 1079 XK_Cyrillic_ES = 0x06f3 1080 XK_Cyrillic_GHE = 0x06e7 1081 XK_Cyrillic_GHE_bar = 0x1000492 1082 XK_Cyrillic_HA = 0x06e8 1083 XK_Cyrillic_HARDSIGN = 0x06ff 1084 XK_Cyrillic_HA_descender = 0x10004b2 1085 XK_Cyrillic_I = 0x06e9 1086 XK_Cyrillic_IE = 0x06e5 1087 XK_Cyrillic_IO = 0x06b3 1088 XK_Cyrillic_I_macron = 0x10004e2 1089 XK_Cyrillic_JE = 0x06b8 1090 XK_Cyrillic_KA = 0x06eb 1091 XK_Cyrillic_KA_descender = 0x100049a 1092 XK_Cyrillic_KA_vertstroke = 0x100049c 1093 XK_Cyrillic_LJE = 0x06b9 1094 XK_Cyrillic_NJE = 0x06ba 1095 XK_Cyrillic_O = 0x06ef 1096 XK_Cyrillic_O_bar = 0x10004e8 1097 XK_Cyrillic_PE = 0x06f0 1098 XK_Cyrillic_SCHWA = 0x10004d8 1099 XK_Cyrillic_SHA = 0x06fb 1100 XK_Cyrillic_SHCHA = 0x06fd 1101 XK_Cyrillic_SHHA = 0x10004ba 1102 XK_Cyrillic_SHORTI = 0x06ea 1103 XK_Cyrillic_SOFTSIGN = 0x06f8 1104 XK_Cyrillic_TE = 0x06f4 1105 XK_Cyrillic_TSE = 0x06e3 1106 XK_Cyrillic_U = 0x06f5 1107 XK_Cyrillic_U_macron = 0x10004ee 1108 XK_Cyrillic_U_straight = 0x10004ae 1109 XK_Cyrillic_U_straight_bar = 0x10004b0 1110 XK_Cyrillic_VE = 0x06f7 1111 XK_Cyrillic_YA = 0x06f1 1112 XK_Cyrillic_YERU = 0x06f9 1113 XK_Cyrillic_YU = 0x06e0 1114 XK_Cyrillic_ZE = 0x06fa 1115 XK_Cyrillic_ZHE = 0x06f6 1116 XK_Cyrillic_ZHE_descender = 0x1000496 1117 XK_Cyrillic_a = 0x06c1 1118 XK_Cyrillic_be = 0x06c2 1119 XK_Cyrillic_che = 0x06de 1120 XK_Cyrillic_che_descender = 0x10004b7 1121 XK_Cyrillic_che_vertstroke = 0x10004b9 1122 XK_Cyrillic_de = 0x06c4 1123 XK_Cyrillic_dzhe = 0x06af 1124 XK_Cyrillic_e = 0x06dc 1125 XK_Cyrillic_ef = 0x06c6 1126 XK_Cyrillic_el = 0x06cc 1127 XK_Cyrillic_em = 0x06cd 1128 XK_Cyrillic_en = 0x06ce 1129 XK_Cyrillic_en_descender = 0x10004a3 1130 XK_Cyrillic_er = 0x06d2 1131 XK_Cyrillic_es = 0x06d3 1132 XK_Cyrillic_ghe = 0x06c7 1133 XK_Cyrillic_ghe_bar = 0x1000493 1134 XK_Cyrillic_ha = 0x06c8 1135 XK_Cyrillic_ha_descender = 0x10004b3 1136 XK_Cyrillic_hardsign = 0x06df 1137 XK_Cyrillic_i = 0x06c9 1138 XK_Cyrillic_i_macron = 0x10004e3 1139 XK_Cyrillic_ie = 0x06c5 1140 XK_Cyrillic_io = 0x06a3 1141 XK_Cyrillic_je = 0x06a8 1142 XK_Cyrillic_ka = 0x06cb 1143 XK_Cyrillic_ka_descender = 0x100049b 1144 XK_Cyrillic_ka_vertstroke = 0x100049d 1145 XK_Cyrillic_lje = 0x06a9 1146 XK_Cyrillic_nje = 0x06aa 1147 XK_Cyrillic_o = 0x06cf 1148 XK_Cyrillic_o_bar = 0x10004e9 1149 XK_Cyrillic_pe = 0x06d0 1150 XK_Cyrillic_schwa = 0x10004d9 1151 XK_Cyrillic_sha = 0x06db 1152 XK_Cyrillic_shcha = 0x06dd 1153 XK_Cyrillic_shha = 0x10004bb 1154 XK_Cyrillic_shorti = 0x06ca 1155 XK_Cyrillic_softsign = 0x06d8 1156 XK_Cyrillic_te = 0x06d4 1157 XK_Cyrillic_tse = 0x06c3 1158 XK_Cyrillic_u = 0x06d5 1159 XK_Cyrillic_u_macron = 0x10004ef 1160 XK_Cyrillic_u_straight = 0x10004af 1161 XK_Cyrillic_u_straight_bar = 0x10004b1 1162 XK_Cyrillic_ve = 0x06d7 1163 XK_Cyrillic_ya = 0x06d1 1164 XK_Cyrillic_yeru = 0x06d9 1165 XK_Cyrillic_yu = 0x06c0 1166 XK_Cyrillic_ze = 0x06da 1167 XK_Cyrillic_zhe = 0x06d6 1168 XK_Cyrillic_zhe_descender = 0x1000497 1169 XK_D = 0x0044 1170 XK_Dabovedot = 0x1001e0a 1171 XK_Dcaron = 0x01cf 1172 XK_Delete = 0xffff 1173 XK_DongSign = 0x10020ab 1174 XK_Down = 0xff54 1175 XK_Dstroke = 0x01d0 1176 XK_E = 0x0045 1177 XK_ENG = 0x03bd 1178 XK_ETH = 0x00d0 1179 XK_EZH = 0x10001b7 1180 XK_Eabovedot = 0x03cc 1181 XK_Eacute = 0x00c9 1182 XK_Ebelowdot = 0x1001eb8 1183 XK_Ecaron = 0x01cc 1184 XK_Ecircumflex = 0x00ca 1185 XK_Ecircumflexacute = 0x1001ebe 1186 XK_Ecircumflexbelowdot = 0x1001ec6 1187 XK_Ecircumflexgrave = 0x1001ec0 1188 XK_Ecircumflexhook = 0x1001ec2 1189 XK_Ecircumflextilde = 0x1001ec4 1190 XK_EcuSign = 0x10020a0 1191 XK_Ediaeresis = 0x00cb 1192 XK_Egrave = 0x00c8 1193 XK_Ehook = 0x1001eba 1194 XK_Eisu_Shift = 0xff2f 1195 XK_Eisu_toggle = 0xff30 1196 XK_Emacron = 0x03aa 1197 XK_End = 0xff57 1198 XK_Eogonek = 0x01ca 1199 XK_Escape = 0xff1b 1200 XK_Eth = 0x00d0 1201 XK_Etilde = 0x1001ebc 1202 XK_EuroSign = 0x20ac 1203 XK_Execute = 0xff62 1204 XK_F = 0x0046 1205 XK_F1 = 0xffbe 1206 XK_F10 = 0xffc7 1207 XK_F11 = 0xffc8 1208 XK_F12 = 0xffc9 1209 XK_F13 = 0xffca 1210 XK_F14 = 0xffcb 1211 XK_F15 = 0xffcc 1212 XK_F16 = 0xffcd 1213 XK_F17 = 0xffce 1214 XK_F18 = 0xffcf 1215 XK_F19 = 0xffd0 1216 XK_F2 = 0xffbf 1217 XK_F20 = 0xffd1 1218 XK_F21 = 0xffd2 1219 XK_F22 = 0xffd3 1220 XK_F23 = 0xffd4 1221 XK_F24 = 0xffd5 1222 XK_F25 = 0xffd6 1223 XK_F26 = 0xffd7 1224 XK_F27 = 0xffd8 1225 XK_F28 = 0xffd9 1226 XK_F29 = 0xffda 1227 XK_F3 = 0xffc0 1228 XK_F30 = 0xffdb 1229 XK_F31 = 0xffdc 1230 XK_F32 = 0xffdd 1231 XK_F33 = 0xffde 1232 XK_F34 = 0xffdf 1233 XK_F35 = 0xffe0 1234 XK_F4 = 0xffc1 1235 XK_F5 = 0xffc2 1236 XK_F6 = 0xffc3 1237 XK_F7 = 0xffc4 1238 XK_F8 = 0xffc5 1239 XK_F9 = 0xffc6 1240 XK_FFrancSign = 0x10020a3 1241 XK_Fabovedot = 0x1001e1e 1242 XK_Farsi_0 = 0x10006f0 1243 XK_Farsi_1 = 0x10006f1 1244 XK_Farsi_2 = 0x10006f2 1245 XK_Farsi_3 = 0x10006f3 1246 XK_Farsi_4 = 0x10006f4 1247 XK_Farsi_5 = 0x10006f5 1248 XK_Farsi_6 = 0x10006f6 1249 XK_Farsi_7 = 0x10006f7 1250 XK_Farsi_8 = 0x10006f8 1251 XK_Farsi_9 = 0x10006f9 1252 XK_Farsi_yeh = 0x10006cc 1253 XK_Find = 0xff68 1254 XK_First_Virtual_Screen = 0xfed0 1255 XK_G = 0x0047 1256 XK_GEORGIAN = 0 1257 XK_GREEK = 0 1258 XK_Gabovedot = 0x02d5 1259 XK_Gbreve = 0x02ab 1260 XK_Gcaron = 0x10001e6 1261 XK_Gcedilla = 0x03ab 1262 XK_Gcircumflex = 0x02d8 1263 XK_Georgian_an = 0x10010d0 1264 XK_Georgian_ban = 0x10010d1 1265 XK_Georgian_can = 0x10010ea 1266 XK_Georgian_char = 0x10010ed 1267 XK_Georgian_chin = 0x10010e9 1268 XK_Georgian_cil = 0x10010ec 1269 XK_Georgian_don = 0x10010d3 1270 XK_Georgian_en = 0x10010d4 1271 XK_Georgian_fi = 0x10010f6 1272 XK_Georgian_gan = 0x10010d2 1273 XK_Georgian_ghan = 0x10010e6 1274 XK_Georgian_hae = 0x10010f0 1275 XK_Georgian_har = 0x10010f4 1276 XK_Georgian_he = 0x10010f1 1277 XK_Georgian_hie = 0x10010f2 1278 XK_Georgian_hoe = 0x10010f5 1279 XK_Georgian_in = 0x10010d8 1280 XK_Georgian_jhan = 0x10010ef 1281 XK_Georgian_jil = 0x10010eb 1282 XK_Georgian_kan = 0x10010d9 1283 XK_Georgian_khar = 0x10010e5 1284 XK_Georgian_las = 0x10010da 1285 XK_Georgian_man = 0x10010db 1286 XK_Georgian_nar = 0x10010dc 1287 XK_Georgian_on = 0x10010dd 1288 XK_Georgian_par = 0x10010de 1289 XK_Georgian_phar = 0x10010e4 1290 XK_Georgian_qar = 0x10010e7 1291 XK_Georgian_rae = 0x10010e0 1292 XK_Georgian_san = 0x10010e1 1293 XK_Georgian_shin = 0x10010e8 1294 XK_Georgian_tan = 0x10010d7 1295 XK_Georgian_tar = 0x10010e2 1296 XK_Georgian_un = 0x10010e3 1297 XK_Georgian_vin = 0x10010d5 1298 XK_Georgian_we = 0x10010f3 1299 XK_Georgian_xan = 0x10010ee 1300 XK_Georgian_zen = 0x10010d6 1301 XK_Georgian_zhar = 0x10010df 1302 XK_Greek_ALPHA = 0x07c1 1303 XK_Greek_ALPHAaccent = 0x07a1 1304 XK_Greek_BETA = 0x07c2 1305 XK_Greek_CHI = 0x07d7 1306 XK_Greek_DELTA = 0x07c4 1307 XK_Greek_EPSILON = 0x07c5 1308 XK_Greek_EPSILONaccent = 0x07a2 1309 XK_Greek_ETA = 0x07c7 1310 XK_Greek_ETAaccent = 0x07a3 1311 XK_Greek_GAMMA = 0x07c3 1312 XK_Greek_IOTA = 0x07c9 1313 XK_Greek_IOTAaccent = 0x07a4 1314 XK_Greek_IOTAdiaeresis = 0x07a5 1315 XK_Greek_IOTAdieresis = 0x07a5 1316 XK_Greek_KAPPA = 0x07ca 1317 XK_Greek_LAMBDA = 0x07cb 1318 XK_Greek_LAMDA = 0x07cb 1319 XK_Greek_MU = 0x07cc 1320 XK_Greek_NU = 0x07cd 1321 XK_Greek_OMEGA = 0x07d9 1322 XK_Greek_OMEGAaccent = 0x07ab 1323 XK_Greek_OMICRON = 0x07cf 1324 XK_Greek_OMICRONaccent = 0x07a7 1325 XK_Greek_PHI = 0x07d6 1326 XK_Greek_PI = 0x07d0 1327 XK_Greek_PSI = 0x07d8 1328 XK_Greek_RHO = 0x07d1 1329 XK_Greek_SIGMA = 0x07d2 1330 XK_Greek_TAU = 0x07d4 1331 XK_Greek_THETA = 0x07c8 1332 XK_Greek_UPSILON = 0x07d5 1333 XK_Greek_UPSILONaccent = 0x07a8 1334 XK_Greek_UPSILONdieresis = 0x07a9 1335 XK_Greek_XI = 0x07ce 1336 XK_Greek_ZETA = 0x07c6 1337 XK_Greek_accentdieresis = 0x07ae 1338 XK_Greek_alpha = 0x07e1 1339 XK_Greek_alphaaccent = 0x07b1 1340 XK_Greek_beta = 0x07e2 1341 XK_Greek_chi = 0x07f7 1342 XK_Greek_delta = 0x07e4 1343 XK_Greek_epsilon = 0x07e5 1344 XK_Greek_epsilonaccent = 0x07b2 1345 XK_Greek_eta = 0x07e7 1346 XK_Greek_etaaccent = 0x07b3 1347 XK_Greek_finalsmallsigma = 0x07f3 1348 XK_Greek_gamma = 0x07e3 1349 XK_Greek_horizbar = 0x07af 1350 XK_Greek_iota = 0x07e9 1351 XK_Greek_iotaaccent = 0x07b4 1352 XK_Greek_iotaaccentdieresis = 0x07b6 1353 XK_Greek_iotadieresis = 0x07b5 1354 XK_Greek_kappa = 0x07ea 1355 XK_Greek_lambda = 0x07eb 1356 XK_Greek_lamda = 0x07eb 1357 XK_Greek_mu = 0x07ec 1358 XK_Greek_nu = 0x07ed 1359 XK_Greek_omega = 0x07f9 1360 XK_Greek_omegaaccent = 0x07bb 1361 XK_Greek_omicron = 0x07ef 1362 XK_Greek_omicronaccent = 0x07b7 1363 XK_Greek_phi = 0x07f6 1364 XK_Greek_pi = 0x07f0 1365 XK_Greek_psi = 0x07f8 1366 XK_Greek_rho = 0x07f1 1367 XK_Greek_sigma = 0x07f2 1368 XK_Greek_switch = 0xff7e 1369 XK_Greek_tau = 0x07f4 1370 XK_Greek_theta = 0x07e8 1371 XK_Greek_upsilon = 0x07f5 1372 XK_Greek_upsilonaccent = 0x07b8 1373 XK_Greek_upsilonaccentdieresis = 0x07ba 1374 XK_Greek_upsilondieresis = 0x07b9 1375 XK_Greek_xi = 0x07ee 1376 XK_Greek_zeta = 0x07e6 1377 XK_H = 0x0048 1378 XK_HEBREW = 0 1379 XK_Hangul = 0xff31 1380 XK_Hangul_A = 0x0ebf 1381 XK_Hangul_AE = 0x0ec0 1382 XK_Hangul_AraeA = 0x0ef6 1383 XK_Hangul_AraeAE = 0x0ef7 1384 XK_Hangul_Banja = 0xff39 1385 XK_Hangul_Cieuc = 0x0eba 1386 XK_Hangul_Codeinput = 0xff37 1387 XK_Hangul_Dikeud = 0x0ea7 1388 XK_Hangul_E = 0x0ec4 1389 XK_Hangul_EO = 0x0ec3 1390 XK_Hangul_EU = 0x0ed1 1391 XK_Hangul_End = 0xff33 1392 XK_Hangul_Hanja = 0xff34 1393 XK_Hangul_Hieuh = 0x0ebe 1394 XK_Hangul_I = 0x0ed3 1395 XK_Hangul_Ieung = 0x0eb7 1396 XK_Hangul_J_Cieuc = 0x0eea 1397 XK_Hangul_J_Dikeud = 0x0eda 1398 XK_Hangul_J_Hieuh = 0x0eee 1399 XK_Hangul_J_Ieung = 0x0ee8 1400 XK_Hangul_J_Jieuj = 0x0ee9 1401 XK_Hangul_J_Khieuq = 0x0eeb 1402 XK_Hangul_J_Kiyeog = 0x0ed4 1403 XK_Hangul_J_KiyeogSios = 0x0ed6 1404 XK_Hangul_J_KkogjiDalrinIeung = 0x0ef9 1405 XK_Hangul_J_Mieum = 0x0ee3 1406 XK_Hangul_J_Nieun = 0x0ed7 1407 XK_Hangul_J_NieunHieuh = 0x0ed9 1408 XK_Hangul_J_NieunJieuj = 0x0ed8 1409 XK_Hangul_J_PanSios = 0x0ef8 1410 XK_Hangul_J_Phieuf = 0x0eed 1411 XK_Hangul_J_Pieub = 0x0ee4 1412 XK_Hangul_J_PieubSios = 0x0ee5 1413 XK_Hangul_J_Rieul = 0x0edb 1414 XK_Hangul_J_RieulHieuh = 0x0ee2 1415 XK_Hangul_J_RieulKiyeog = 0x0edc 1416 XK_Hangul_J_RieulMieum = 0x0edd 1417 XK_Hangul_J_RieulPhieuf = 0x0ee1 1418 XK_Hangul_J_RieulPieub = 0x0ede 1419 XK_Hangul_J_RieulSios = 0x0edf 1420 XK_Hangul_J_RieulTieut = 0x0ee0 1421 XK_Hangul_J_Sios = 0x0ee6 1422 XK_Hangul_J_SsangKiyeog = 0x0ed5 1423 XK_Hangul_J_SsangSios = 0x0ee7 1424 XK_Hangul_J_Tieut = 0x0eec 1425 XK_Hangul_J_YeorinHieuh = 0x0efa 1426 XK_Hangul_Jamo = 0xff35 1427 XK_Hangul_Jeonja = 0xff38 1428 XK_Hangul_Jieuj = 0x0eb8 1429 XK_Hangul_Khieuq = 0x0ebb 1430 XK_Hangul_Kiyeog = 0x0ea1 1431 XK_Hangul_KiyeogSios = 0x0ea3 1432 XK_Hangul_KkogjiDalrinIeung = 0x0ef3 1433 XK_Hangul_Mieum = 0x0eb1 1434 XK_Hangul_MultipleCandidate = 0xff3d 1435 XK_Hangul_Nieun = 0x0ea4 1436 XK_Hangul_NieunHieuh = 0x0ea6 1437 XK_Hangul_NieunJieuj = 0x0ea5 1438 XK_Hangul_O = 0x0ec7 1439 XK_Hangul_OE = 0x0eca 1440 XK_Hangul_PanSios = 0x0ef2 1441 XK_Hangul_Phieuf = 0x0ebd 1442 XK_Hangul_Pieub = 0x0eb2 1443 XK_Hangul_PieubSios = 0x0eb4 1444 XK_Hangul_PostHanja = 0xff3b 1445 XK_Hangul_PreHanja = 0xff3a 1446 XK_Hangul_PreviousCandidate = 0xff3e 1447 XK_Hangul_Rieul = 0x0ea9 1448 XK_Hangul_RieulHieuh = 0x0eb0 1449 XK_Hangul_RieulKiyeog = 0x0eaa 1450 XK_Hangul_RieulMieum = 0x0eab 1451 XK_Hangul_RieulPhieuf = 0x0eaf 1452 XK_Hangul_RieulPieub = 0x0eac 1453 XK_Hangul_RieulSios = 0x0ead 1454 XK_Hangul_RieulTieut = 0x0eae 1455 XK_Hangul_RieulYeorinHieuh = 0x0eef 1456 XK_Hangul_Romaja = 0xff36 1457 XK_Hangul_SingleCandidate = 0xff3c 1458 XK_Hangul_Sios = 0x0eb5 1459 XK_Hangul_Special = 0xff3f 1460 XK_Hangul_SsangDikeud = 0x0ea8 1461 XK_Hangul_SsangJieuj = 0x0eb9 1462 XK_Hangul_SsangKiyeog = 0x0ea2 1463 XK_Hangul_SsangPieub = 0x0eb3 1464 XK_Hangul_SsangSios = 0x0eb6 1465 XK_Hangul_Start = 0xff32 1466 XK_Hangul_SunkyeongeumMieum = 0x0ef0 1467 XK_Hangul_SunkyeongeumPhieuf = 0x0ef4 1468 XK_Hangul_SunkyeongeumPieub = 0x0ef1 1469 XK_Hangul_Tieut = 0x0ebc 1470 XK_Hangul_U = 0x0ecc 1471 XK_Hangul_WA = 0x0ec8 1472 XK_Hangul_WAE = 0x0ec9 1473 XK_Hangul_WE = 0x0ece 1474 XK_Hangul_WEO = 0x0ecd 1475 XK_Hangul_WI = 0x0ecf 1476 XK_Hangul_YA = 0x0ec1 1477 XK_Hangul_YAE = 0x0ec2 1478 XK_Hangul_YE = 0x0ec6 1479 XK_Hangul_YEO = 0x0ec5 1480 XK_Hangul_YI = 0x0ed2 1481 XK_Hangul_YO = 0x0ecb 1482 XK_Hangul_YU = 0x0ed0 1483 XK_Hangul_YeorinHieuh = 0x0ef5 1484 XK_Hangul_switch = 0xff7e 1485 XK_Hankaku = 0xff29 1486 XK_Hcircumflex = 0x02a6 1487 XK_Hebrew_switch = 0xff7e 1488 XK_Help = 0xff6a 1489 XK_Henkan = 0xff23 1490 XK_Henkan_Mode = 0xff23 1491 XK_Hiragana = 0xff25 1492 XK_Hiragana_Katakana = 0xff27 1493 XK_Home = 0xff50 1494 XK_Hstroke = 0x02a1 1495 XK_Hyper_L = 0xffed 1496 XK_Hyper_R = 0xffee 1497 XK_I = 0x0049 1498 XK_ISO_Center_Object = 0xfe33 1499 XK_ISO_Continuous_Underline = 0xfe30 1500 XK_ISO_Discontinuous_Underline = 0xfe31 1501 XK_ISO_Emphasize = 0xfe32 1502 XK_ISO_Enter = 0xfe34 1503 XK_ISO_Fast_Cursor_Down = 0xfe2f 1504 XK_ISO_Fast_Cursor_Left = 0xfe2c 1505 XK_ISO_Fast_Cursor_Right = 0xfe2d 1506 XK_ISO_Fast_Cursor_Up = 0xfe2e 1507 XK_ISO_First_Group = 0xfe0c 1508 XK_ISO_First_Group_Lock = 0xfe0d 1509 XK_ISO_Group_Latch = 0xfe06 1510 XK_ISO_Group_Lock = 0xfe07 1511 XK_ISO_Group_Shift = 0xff7e 1512 XK_ISO_Last_Group = 0xfe0e 1513 XK_ISO_Last_Group_Lock = 0xfe0f 1514 XK_ISO_Left_Tab = 0xfe20 1515 XK_ISO_Level2_Latch = 0xfe02 1516 XK_ISO_Level3_Latch = 0xfe04 1517 XK_ISO_Level3_Lock = 0xfe05 1518 XK_ISO_Level3_Shift = 0xfe03 1519 XK_ISO_Level5_Latch = 0xfe12 1520 XK_ISO_Level5_Lock = 0xfe13 1521 XK_ISO_Level5_Shift = 0xfe11 1522 XK_ISO_Lock = 0xfe01 1523 XK_ISO_Move_Line_Down = 0xfe22 1524 XK_ISO_Move_Line_Up = 0xfe21 1525 XK_ISO_Next_Group = 0xfe08 1526 XK_ISO_Next_Group_Lock = 0xfe09 1527 XK_ISO_Partial_Line_Down = 0xfe24 1528 XK_ISO_Partial_Line_Up = 0xfe23 1529 XK_ISO_Partial_Space_Left = 0xfe25 1530 XK_ISO_Partial_Space_Right = 0xfe26 1531 XK_ISO_Prev_Group = 0xfe0a 1532 XK_ISO_Prev_Group_Lock = 0xfe0b 1533 XK_ISO_Release_Both_Margins = 0xfe2b 1534 XK_ISO_Release_Margin_Left = 0xfe29 1535 XK_ISO_Release_Margin_Right = 0xfe2a 1536 XK_ISO_Set_Margin_Left = 0xfe27 1537 XK_ISO_Set_Margin_Right = 0xfe28 1538 XK_Iabovedot = 0x02a9 1539 XK_Iacute = 0x00cd 1540 XK_Ibelowdot = 0x1001eca 1541 XK_Ibreve = 0x100012c 1542 XK_Icircumflex = 0x00ce 1543 XK_Idiaeresis = 0x00cf 1544 XK_Igrave = 0x00cc 1545 XK_Ihook = 0x1001ec8 1546 XK_Imacron = 0x03cf 1547 XK_Insert = 0xff63 1548 XK_Iogonek = 0x03c7 1549 XK_Itilde = 0x03a5 1550 XK_J = 0x004a 1551 XK_Jcircumflex = 0x02ac 1552 XK_K = 0x004b 1553 XK_KATAKANA = 0 1554 XK_KOREAN = 0 1555 XK_KP_0 = 0xffb0 1556 XK_KP_1 = 0xffb1 1557 XK_KP_2 = 0xffb2 1558 XK_KP_3 = 0xffb3 1559 XK_KP_4 = 0xffb4 1560 XK_KP_5 = 0xffb5 1561 XK_KP_6 = 0xffb6 1562 XK_KP_7 = 0xffb7 1563 XK_KP_8 = 0xffb8 1564 XK_KP_9 = 0xffb9 1565 XK_KP_Add = 0xffab 1566 XK_KP_Begin = 0xff9d 1567 XK_KP_Decimal = 0xffae 1568 XK_KP_Delete = 0xff9f 1569 XK_KP_Divide = 0xffaf 1570 XK_KP_Down = 0xff99 1571 XK_KP_End = 0xff9c 1572 XK_KP_Enter = 0xff8d 1573 XK_KP_Equal = 0xffbd 1574 XK_KP_F1 = 0xff91 1575 XK_KP_F2 = 0xff92 1576 XK_KP_F3 = 0xff93 1577 XK_KP_F4 = 0xff94 1578 XK_KP_Home = 0xff95 1579 XK_KP_Insert = 0xff9e 1580 XK_KP_Left = 0xff96 1581 XK_KP_Multiply = 0xffaa 1582 XK_KP_Next = 0xff9b 1583 XK_KP_Page_Down = 0xff9b 1584 XK_KP_Page_Up = 0xff9a 1585 XK_KP_Prior = 0xff9a 1586 XK_KP_Right = 0xff98 1587 XK_KP_Separator = 0xffac 1588 XK_KP_Space = 0xff80 1589 XK_KP_Subtract = 0xffad 1590 XK_KP_Tab = 0xff89 1591 XK_KP_Up = 0xff97 1592 XK_Kana_Lock = 0xff2d 1593 XK_Kana_Shift = 0xff2e 1594 XK_Kanji = 0xff21 1595 XK_Kanji_Bangou = 0xff37 1596 XK_Katakana = 0xff26 1597 XK_Kcedilla = 0x03d3 1598 XK_Korean_Won = 0x0eff 1599 XK_L = 0x004c 1600 XK_L1 = 0xffc8 1601 XK_L10 = 0xffd1 1602 XK_L2 = 0xffc9 1603 XK_L3 = 0xffca 1604 XK_L4 = 0xffcb 1605 XK_L5 = 0xffcc 1606 XK_L6 = 0xffcd 1607 XK_L7 = 0xffce 1608 XK_L8 = 0xffcf 1609 XK_L9 = 0xffd0 1610 XK_LATIN1 = 0 1611 XK_LATIN2 = 0 1612 XK_LATIN3 = 0 1613 XK_LATIN4 = 0 1614 XK_LATIN8 = 0 1615 XK_LATIN9 = 0 1616 XK_Lacute = 0x01c5 1617 XK_Last_Virtual_Screen = 0xfed4 1618 XK_Lbelowdot = 0x1001e36 1619 XK_Lcaron = 0x01a5 1620 XK_Lcedilla = 0x03a6 1621 XK_Left = 0xff51 1622 XK_Linefeed = 0xff0a 1623 XK_LiraSign = 0x10020a4 1624 XK_Lstroke = 0x01a3 1625 XK_M = 0x004d 1626 XK_MATHEMATICAL = 0 1627 XK_MISCELLANY = 0 1628 XK_Mabovedot = 0x1001e40 1629 XK_Macedonia_DSE = 0x06b5 1630 XK_Macedonia_GJE = 0x06b2 1631 XK_Macedonia_KJE = 0x06bc 1632 XK_Macedonia_dse = 0x06a5 1633 XK_Macedonia_gje = 0x06a2 1634 XK_Macedonia_kje = 0x06ac 1635 XK_Mae_Koho = 0xff3e 1636 XK_Massyo = 0xff2c 1637 XK_Menu = 0xff67 1638 XK_Meta_L = 0xffe7 1639 XK_Meta_R = 0xffe8 1640 XK_MillSign = 0x10020a5 1641 XK_Mode_switch = 0xff7e 1642 XK_MouseKeys_Accel_Enable = 0xfe77 1643 XK_MouseKeys_Enable = 0xfe76 1644 XK_Muhenkan = 0xff22 1645 XK_Multi_key = 0xff20 1646 XK_MultipleCandidate = 0xff3d 1647 XK_N = 0x004e 1648 XK_Nacute = 0x01d1 1649 XK_NairaSign = 0x10020a6 1650 XK_Ncaron = 0x01d2 1651 XK_Ncedilla = 0x03d1 1652 XK_NewSheqelSign = 0x10020aa 1653 XK_Next = 0xff56 1654 XK_Next_Virtual_Screen = 0xfed2 1655 XK_Ntilde = 0x00d1 1656 XK_Num_Lock = 0xff7f 1657 XK_O = 0x004f 1658 XK_OE = 0x13bc 1659 XK_Oacute = 0x00d3 1660 XK_Obarred = 0x100019f 1661 XK_Obelowdot = 0x1001ecc 1662 XK_Ocaron = 0x10001d1 1663 XK_Ocircumflex = 0x00d4 1664 XK_Ocircumflexacute = 0x1001ed0 1665 XK_Ocircumflexbelowdot = 0x1001ed8 1666 XK_Ocircumflexgrave = 0x1001ed2 1667 XK_Ocircumflexhook = 0x1001ed4 1668 XK_Ocircumflextilde = 0x1001ed6 1669 XK_Odiaeresis = 0x00d6 1670 XK_Odoubleacute = 0x01d5 1671 XK_Ograve = 0x00d2 1672 XK_Ohook = 0x1001ece 1673 XK_Ohorn = 0x10001a0 1674 XK_Ohornacute = 0x1001eda 1675 XK_Ohornbelowdot = 0x1001ee2 1676 XK_Ohorngrave = 0x1001edc 1677 XK_Ohornhook = 0x1001ede 1678 XK_Ohorntilde = 0x1001ee0 1679 XK_Omacron = 0x03d2 1680 XK_Ooblique = 0x00d8 1681 XK_Oslash = 0x00d8 1682 XK_Otilde = 0x00d5 1683 XK_Overlay1_Enable = 0xfe78 1684 XK_Overlay2_Enable = 0xfe79 1685 XK_P = 0x0050 1686 XK_Pabovedot = 0x1001e56 1687 XK_Page_Down = 0xff56 1688 XK_Page_Up = 0xff55 1689 XK_Pause = 0xff13 1690 XK_PesetaSign = 0x10020a7 1691 XK_Pointer_Accelerate = 0xfefa 1692 XK_Pointer_Button1 = 0xfee9 1693 XK_Pointer_Button2 = 0xfeea 1694 XK_Pointer_Button3 = 0xfeeb 1695 XK_Pointer_Button4 = 0xfeec 1696 XK_Pointer_Button5 = 0xfeed 1697 XK_Pointer_Button_Dflt = 0xfee8 1698 XK_Pointer_DblClick1 = 0xfeef 1699 XK_Pointer_DblClick2 = 0xfef0 1700 XK_Pointer_DblClick3 = 0xfef1 1701 XK_Pointer_DblClick4 = 0xfef2 1702 XK_Pointer_DblClick5 = 0xfef3 1703 XK_Pointer_DblClick_Dflt = 0xfeee 1704 XK_Pointer_DfltBtnNext = 0xfefb 1705 XK_Pointer_DfltBtnPrev = 0xfefc 1706 XK_Pointer_Down = 0xfee3 1707 XK_Pointer_DownLeft = 0xfee6 1708 XK_Pointer_DownRight = 0xfee7 1709 XK_Pointer_Drag1 = 0xfef5 1710 XK_Pointer_Drag2 = 0xfef6 1711 XK_Pointer_Drag3 = 0xfef7 1712 XK_Pointer_Drag4 = 0xfef8 1713 XK_Pointer_Drag5 = 0xfefd 1714 XK_Pointer_Drag_Dflt = 0xfef4 1715 XK_Pointer_EnableKeys = 0xfef9 1716 XK_Pointer_Left = 0xfee0 1717 XK_Pointer_Right = 0xfee1 1718 XK_Pointer_Up = 0xfee2 1719 XK_Pointer_UpLeft = 0xfee4 1720 XK_Pointer_UpRight = 0xfee5 1721 XK_Prev_Virtual_Screen = 0xfed1 1722 XK_PreviousCandidate = 0xff3e 1723 XK_Print = 0xff61 1724 XK_Prior = 0xff55 1725 XK_Q = 0x0051 1726 XK_R = 0x0052 1727 XK_R1 = 0xffd2 1728 XK_R10 = 0xffdb 1729 XK_R11 = 0xffdc 1730 XK_R12 = 0xffdd 1731 XK_R13 = 0xffde 1732 XK_R14 = 0xffdf 1733 XK_R15 = 0xffe0 1734 XK_R2 = 0xffd3 1735 XK_R3 = 0xffd4 1736 XK_R4 = 0xffd5 1737 XK_R5 = 0xffd6 1738 XK_R6 = 0xffd7 1739 XK_R7 = 0xffd8 1740 XK_R8 = 0xffd9 1741 XK_R9 = 0xffda 1742 XK_Racute = 0x01c0 1743 XK_Rcaron = 0x01d8 1744 XK_Rcedilla = 0x03a3 1745 XK_Redo = 0xff66 1746 XK_RepeatKeys_Enable = 0xfe72 1747 XK_Return = 0xff0d 1748 XK_Right = 0xff53 1749 XK_Romaji = 0xff24 1750 XK_RupeeSign = 0x10020a8 1751 XK_S = 0x0053 1752 XK_SCHWA = 0x100018f 1753 XK_SINHALA = 0 1754 XK_Sabovedot = 0x1001e60 1755 XK_Sacute = 0x01a6 1756 XK_Scaron = 0x01a9 1757 XK_Scedilla = 0x01aa 1758 XK_Scircumflex = 0x02de 1759 XK_Scroll_Lock = 0xff14 1760 XK_Select = 0xff60 1761 XK_Serbian_DJE = 0x06b1 1762 XK_Serbian_DZE = 0x06bf 1763 XK_Serbian_JE = 0x06b8 1764 XK_Serbian_LJE = 0x06b9 1765 XK_Serbian_NJE = 0x06ba 1766 XK_Serbian_TSHE = 0x06bb 1767 XK_Serbian_dje = 0x06a1 1768 XK_Serbian_dze = 0x06af 1769 XK_Serbian_je = 0x06a8 1770 XK_Serbian_lje = 0x06a9 1771 XK_Serbian_nje = 0x06aa 1772 XK_Serbian_tshe = 0x06ab 1773 XK_Shift_L = 0xffe1 1774 XK_Shift_Lock = 0xffe6 1775 XK_Shift_R = 0xffe2 1776 XK_SingleCandidate = 0xff3c 1777 XK_Sinh_a = 0x1000d85 1778 XK_Sinh_aa = 0x1000d86 1779 XK_Sinh_aa2 = 0x1000dcf 1780 XK_Sinh_ae = 0x1000d87 1781 XK_Sinh_ae2 = 0x1000dd0 1782 XK_Sinh_aee = 0x1000d88 1783 XK_Sinh_aee2 = 0x1000dd1 1784 XK_Sinh_ai = 0x1000d93 1785 XK_Sinh_ai2 = 0x1000ddb 1786 XK_Sinh_al = 0x1000dca 1787 XK_Sinh_au = 0x1000d96 1788 XK_Sinh_au2 = 0x1000dde 1789 XK_Sinh_ba = 0x1000db6 1790 XK_Sinh_bha = 0x1000db7 1791 XK_Sinh_ca = 0x1000da0 1792 XK_Sinh_cha = 0x1000da1 1793 XK_Sinh_dda = 0x1000da9 1794 XK_Sinh_ddha = 0x1000daa 1795 XK_Sinh_dha = 0x1000daf 1796 XK_Sinh_dhha = 0x1000db0 1797 XK_Sinh_e = 0x1000d91 1798 XK_Sinh_e2 = 0x1000dd9 1799 XK_Sinh_ee = 0x1000d92 1800 XK_Sinh_ee2 = 0x1000dda 1801 XK_Sinh_fa = 0x1000dc6 1802 XK_Sinh_ga = 0x1000d9c 1803 XK_Sinh_gha = 0x1000d9d 1804 XK_Sinh_h2 = 0x1000d83 1805 XK_Sinh_ha = 0x1000dc4 1806 XK_Sinh_i = 0x1000d89 1807 XK_Sinh_i2 = 0x1000dd2 1808 XK_Sinh_ii = 0x1000d8a 1809 XK_Sinh_ii2 = 0x1000dd3 1810 XK_Sinh_ja = 0x1000da2 1811 XK_Sinh_jha = 0x1000da3 1812 XK_Sinh_jnya = 0x1000da5 1813 XK_Sinh_ka = 0x1000d9a 1814 XK_Sinh_kha = 0x1000d9b 1815 XK_Sinh_kunddaliya = 0x1000df4 1816 XK_Sinh_la = 0x1000dbd 1817 XK_Sinh_lla = 0x1000dc5 1818 XK_Sinh_lu = 0x1000d8f 1819 XK_Sinh_lu2 = 0x1000ddf 1820 XK_Sinh_luu = 0x1000d90 1821 XK_Sinh_luu2 = 0x1000df3 1822 XK_Sinh_ma = 0x1000db8 1823 XK_Sinh_mba = 0x1000db9 1824 XK_Sinh_na = 0x1000db1 1825 XK_Sinh_ndda = 0x1000dac 1826 XK_Sinh_ndha = 0x1000db3 1827 XK_Sinh_ng = 0x1000d82 1828 XK_Sinh_ng2 = 0x1000d9e 1829 XK_Sinh_nga = 0x1000d9f 1830 XK_Sinh_nja = 0x1000da6 1831 XK_Sinh_nna = 0x1000dab 1832 XK_Sinh_nya = 0x1000da4 1833 XK_Sinh_o = 0x1000d94 1834 XK_Sinh_o2 = 0x1000ddc 1835 XK_Sinh_oo = 0x1000d95 1836 XK_Sinh_oo2 = 0x1000ddd 1837 XK_Sinh_pa = 0x1000db4 1838 XK_Sinh_pha = 0x1000db5 1839 XK_Sinh_ra = 0x1000dbb 1840 XK_Sinh_ri = 0x1000d8d 1841 XK_Sinh_rii = 0x1000d8e 1842 XK_Sinh_ru2 = 0x1000dd8 1843 XK_Sinh_ruu2 = 0x1000df2 1844 XK_Sinh_sa = 0x1000dc3 1845 XK_Sinh_sha = 0x1000dc1 1846 XK_Sinh_ssha = 0x1000dc2 1847 XK_Sinh_tha = 0x1000dad 1848 XK_Sinh_thha = 0x1000dae 1849 XK_Sinh_tta = 0x1000da7 1850 XK_Sinh_ttha = 0x1000da8 1851 XK_Sinh_u = 0x1000d8b 1852 XK_Sinh_u2 = 0x1000dd4 1853 XK_Sinh_uu = 0x1000d8c 1854 XK_Sinh_uu2 = 0x1000dd6 1855 XK_Sinh_va = 0x1000dc0 1856 XK_Sinh_ya = 0x1000dba 1857 XK_SlowKeys_Enable = 0xfe73 1858 XK_StickyKeys_Enable = 0xfe75 1859 XK_Super_L = 0xffeb 1860 XK_Super_R = 0xffec 1861 XK_Sys_Req = 0xff15 1862 XK_T = 0x0054 1863 XK_THAI = 0 1864 XK_THORN = 0x00de 1865 XK_Tab = 0xff09 1866 XK_Tabovedot = 0x1001e6a 1867 XK_Tcaron = 0x01ab 1868 XK_Tcedilla = 0x01de 1869 XK_Terminate_Server = 0xfed5 1870 XK_Thai_baht = 0x0ddf 1871 XK_Thai_bobaimai = 0x0dba 1872 XK_Thai_chochan = 0x0da8 1873 XK_Thai_chochang = 0x0daa 1874 XK_Thai_choching = 0x0da9 1875 XK_Thai_chochoe = 0x0dac 1876 XK_Thai_dochada = 0x0dae 1877 XK_Thai_dodek = 0x0db4 1878 XK_Thai_fofa = 0x0dbd 1879 XK_Thai_fofan = 0x0dbf 1880 XK_Thai_hohip = 0x0dcb 1881 XK_Thai_honokhuk = 0x0dce 1882 XK_Thai_khokhai = 0x0da2 1883 XK_Thai_khokhon = 0x0da5 1884 XK_Thai_khokhuat = 0x0da3 1885 XK_Thai_khokhwai = 0x0da4 1886 XK_Thai_khorakhang = 0x0da6 1887 XK_Thai_kokai = 0x0da1 1888 XK_Thai_lakkhangyao = 0x0de5 1889 XK_Thai_lekchet = 0x0df7 1890 XK_Thai_lekha = 0x0df5 1891 XK_Thai_lekhok = 0x0df6 1892 XK_Thai_lekkao = 0x0df9 1893 XK_Thai_leknung = 0x0df1 1894 XK_Thai_lekpaet = 0x0df8 1895 XK_Thai_leksam = 0x0df3 1896 XK_Thai_leksi = 0x0df4 1897 XK_Thai_leksong = 0x0df2 1898 XK_Thai_leksun = 0x0df0 1899 XK_Thai_lochula = 0x0dcc 1900 XK_Thai_loling = 0x0dc5 1901 XK_Thai_lu = 0x0dc6 1902 XK_Thai_maichattawa = 0x0deb 1903 XK_Thai_maiek = 0x0de8 1904 XK_Thai_maihanakat = 0x0dd1 1905 XK_Thai_maihanakat_maitho = 0x0dde 1906 XK_Thai_maitaikhu = 0x0de7 1907 XK_Thai_maitho = 0x0de9 1908 XK_Thai_maitri = 0x0dea 1909 XK_Thai_maiyamok = 0x0de6 1910 XK_Thai_moma = 0x0dc1 1911 XK_Thai_ngongu = 0x0da7 1912 XK_Thai_nikhahit = 0x0ded 1913 XK_Thai_nonen = 0x0db3 1914 XK_Thai_nonu = 0x0db9 1915 XK_Thai_oang = 0x0dcd 1916 XK_Thai_paiyannoi = 0x0dcf 1917 XK_Thai_phinthu = 0x0dda 1918 XK_Thai_phophan = 0x0dbe 1919 XK_Thai_phophung = 0x0dbc 1920 XK_Thai_phosamphao = 0x0dc0 1921 XK_Thai_popla = 0x0dbb 1922 XK_Thai_rorua = 0x0dc3 1923 XK_Thai_ru = 0x0dc4 1924 XK_Thai_saraa = 0x0dd0 1925 XK_Thai_saraaa = 0x0dd2 1926 XK_Thai_saraae = 0x0de1 1927 XK_Thai_saraaimaimalai = 0x0de4 1928 XK_Thai_saraaimaimuan = 0x0de3 1929 XK_Thai_saraam = 0x0dd3 1930 XK_Thai_sarae = 0x0de0 1931 XK_Thai_sarai = 0x0dd4 1932 XK_Thai_saraii = 0x0dd5 1933 XK_Thai_sarao = 0x0de2 1934 XK_Thai_sarau = 0x0dd8 1935 XK_Thai_saraue = 0x0dd6 1936 XK_Thai_sarauee = 0x0dd7 1937 XK_Thai_sarauu = 0x0dd9 1938 XK_Thai_sorusi = 0x0dc9 1939 XK_Thai_sosala = 0x0dc8 1940 XK_Thai_soso = 0x0dab 1941 XK_Thai_sosua = 0x0dca 1942 XK_Thai_thanthakhat = 0x0dec 1943 XK_Thai_thonangmontho = 0x0db1 1944 XK_Thai_thophuthao = 0x0db2 1945 XK_Thai_thothahan = 0x0db7 1946 XK_Thai_thothan = 0x0db0 1947 XK_Thai_thothong = 0x0db8 1948 XK_Thai_thothung = 0x0db6 1949 XK_Thai_topatak = 0x0daf 1950 XK_Thai_totao = 0x0db5 1951 XK_Thai_wowaen = 0x0dc7 1952 XK_Thai_yoyak = 0x0dc2 1953 XK_Thai_yoying = 0x0dad 1954 XK_Thorn = 0x00de 1955 XK_Touroku = 0xff2b 1956 XK_Tslash = 0x03ac 1957 XK_U = 0x0055 1958 XK_Uacute = 0x00da 1959 XK_Ubelowdot = 0x1001ee4 1960 XK_Ubreve = 0x02dd 1961 XK_Ucircumflex = 0x00db 1962 XK_Udiaeresis = 0x00dc 1963 XK_Udoubleacute = 0x01db 1964 XK_Ugrave = 0x00d9 1965 XK_Uhook = 0x1001ee6 1966 XK_Uhorn = 0x10001af 1967 XK_Uhornacute = 0x1001ee8 1968 XK_Uhornbelowdot = 0x1001ef0 1969 XK_Uhorngrave = 0x1001eea 1970 XK_Uhornhook = 0x1001eec 1971 XK_Uhorntilde = 0x1001eee 1972 XK_Ukrainian_GHE_WITH_UPTURN = 0x06bd 1973 XK_Ukrainian_I = 0x06b6 1974 XK_Ukrainian_IE = 0x06b4 1975 XK_Ukrainian_YI = 0x06b7 1976 XK_Ukrainian_ghe_with_upturn = 0x06ad 1977 XK_Ukrainian_i = 0x06a6 1978 XK_Ukrainian_ie = 0x06a4 1979 XK_Ukrainian_yi = 0x06a7 1980 XK_Ukranian_I = 0x06b6 1981 XK_Ukranian_JE = 0x06b4 1982 XK_Ukranian_YI = 0x06b7 1983 XK_Ukranian_i = 0x06a6 1984 XK_Ukranian_je = 0x06a4 1985 XK_Ukranian_yi = 0x06a7 1986 XK_Umacron = 0x03de 1987 XK_Undo = 0xff65 1988 XK_Uogonek = 0x03d9 1989 XK_Up = 0xff52 1990 XK_Uring = 0x01d9 1991 XK_Utilde = 0x03dd 1992 XK_V = 0x0056 1993 XK_VIETNAMESE = 0 1994 XK_VoidSymbol = 0xffffff 1995 XK_W = 0x0057 1996 XK_Wacute = 0x1001e82 1997 XK_Wcircumflex = 0x1000174 1998 XK_Wdiaeresis = 0x1001e84 1999 XK_Wgrave = 0x1001e80 2000 XK_WonSign = 0x10020a9 2001 XK_X = 0x0058 2002 XK_XKB_KEYS = 0 2003 XK_Xabovedot = 0x1001e8a 2004 XK_Y = 0x0059 2005 XK_Yacute = 0x00dd 2006 XK_Ybelowdot = 0x1001ef4 2007 XK_Ycircumflex = 0x1000176 2008 XK_Ydiaeresis = 0x13be 2009 XK_Ygrave = 0x1001ef2 2010 XK_Yhook = 0x1001ef6 2011 XK_Ytilde = 0x1001ef8 2012 XK_Z = 0x005a 2013 XK_Zabovedot = 0x01af 2014 XK_Zacute = 0x01ac 2015 XK_Zcaron = 0x01ae 2016 XK_Zen_Koho = 0xff3d 2017 XK_Zenkaku = 0xff28 2018 XK_Zenkaku_Hankaku = 0xff2a 2019 XK_Zstroke = 0x10001b5 2020 XK_a = 0x0061 2021 XK_aacute = 0x00e1 2022 XK_abelowdot = 0x1001ea1 2023 XK_abovedot = 0x01ff 2024 XK_abreve = 0x01e3 2025 XK_abreveacute = 0x1001eaf 2026 XK_abrevebelowdot = 0x1001eb7 2027 XK_abrevegrave = 0x1001eb1 2028 XK_abrevehook = 0x1001eb3 2029 XK_abrevetilde = 0x1001eb5 2030 XK_acircumflex = 0x00e2 2031 XK_acircumflexacute = 0x1001ea5 2032 XK_acircumflexbelowdot = 0x1001ead 2033 XK_acircumflexgrave = 0x1001ea7 2034 XK_acircumflexhook = 0x1001ea9 2035 XK_acircumflextilde = 0x1001eab 2036 XK_acute = 0x00b4 2037 XK_adiaeresis = 0x00e4 2038 XK_ae = 0x00e6 2039 XK_agrave = 0x00e0 2040 XK_ahook = 0x1001ea3 2041 XK_amacron = 0x03e0 2042 XK_ampersand = 0x0026 2043 XK_aogonek = 0x01b1 2044 XK_apostrophe = 0x0027 2045 XK_approxeq = 0x1002248 2046 XK_aring = 0x00e5 2047 XK_asciicircum = 0x005e 2048 XK_asciitilde = 0x007e 2049 XK_asterisk = 0x002a 2050 XK_at = 0x0040 2051 XK_atilde = 0x00e3 2052 XK_b = 0x0062 2053 XK_babovedot = 0x1001e03 2054 XK_backslash = 0x005c 2055 XK_bar = 0x007c 2056 XK_because = 0x1002235 2057 XK_braceleft = 0x007b 2058 XK_braceright = 0x007d 2059 XK_bracketleft = 0x005b 2060 XK_bracketright = 0x005d 2061 XK_braille_blank = 0x1002800 2062 XK_braille_dot_1 = 0xfff1 2063 XK_braille_dot_10 = 0xfffa 2064 XK_braille_dot_2 = 0xfff2 2065 XK_braille_dot_3 = 0xfff3 2066 XK_braille_dot_4 = 0xfff4 2067 XK_braille_dot_5 = 0xfff5 2068 XK_braille_dot_6 = 0xfff6 2069 XK_braille_dot_7 = 0xfff7 2070 XK_braille_dot_8 = 0xfff8 2071 XK_braille_dot_9 = 0xfff9 2072 XK_braille_dots_1 = 0x1002801 2073 XK_braille_dots_12 = 0x1002803 2074 XK_braille_dots_123 = 0x1002807 2075 XK_braille_dots_1234 = 0x100280f 2076 XK_braille_dots_12345 = 0x100281f 2077 XK_braille_dots_123456 = 0x100283f 2078 XK_braille_dots_1234567 = 0x100287f 2079 XK_braille_dots_12345678 = 0x10028ff 2080 XK_braille_dots_1234568 = 0x10028bf 2081 XK_braille_dots_123457 = 0x100285f 2082 XK_braille_dots_1234578 = 0x10028df 2083 XK_braille_dots_123458 = 0x100289f 2084 XK_braille_dots_12346 = 0x100282f 2085 XK_braille_dots_123467 = 0x100286f 2086 XK_braille_dots_1234678 = 0x10028ef 2087 XK_braille_dots_123468 = 0x10028af 2088 XK_braille_dots_12347 = 0x100284f 2089 XK_braille_dots_123478 = 0x10028cf 2090 XK_braille_dots_12348 = 0x100288f 2091 XK_braille_dots_1235 = 0x1002817 2092 XK_braille_dots_12356 = 0x1002837 2093 XK_braille_dots_123567 = 0x1002877 2094 XK_braille_dots_1235678 = 0x10028f7 2095 XK_braille_dots_123568 = 0x10028b7 2096 XK_braille_dots_12357 = 0x1002857 2097 XK_braille_dots_123578 = 0x10028d7 2098 XK_braille_dots_12358 = 0x1002897 2099 XK_braille_dots_1236 = 0x1002827 2100 XK_braille_dots_12367 = 0x1002867 2101 XK_braille_dots_123678 = 0x10028e7 2102 XK_braille_dots_12368 = 0x10028a7 2103 XK_braille_dots_1237 = 0x1002847 2104 XK_braille_dots_12378 = 0x10028c7 2105 XK_braille_dots_1238 = 0x1002887 2106 XK_braille_dots_124 = 0x100280b 2107 XK_braille_dots_1245 = 0x100281b 2108 XK_braille_dots_12456 = 0x100283b 2109 XK_braille_dots_124567 = 0x100287b 2110 XK_braille_dots_1245678 = 0x10028fb 2111 XK_braille_dots_124568 = 0x10028bb 2112 XK_braille_dots_12457 = 0x100285b 2113 XK_braille_dots_124578 = 0x10028db 2114 XK_braille_dots_12458 = 0x100289b 2115 XK_braille_dots_1246 = 0x100282b 2116 XK_braille_dots_12467 = 0x100286b 2117 XK_braille_dots_124678 = 0x10028eb 2118 XK_braille_dots_12468 = 0x10028ab 2119 XK_braille_dots_1247 = 0x100284b 2120 XK_braille_dots_12478 = 0x10028cb 2121 XK_braille_dots_1248 = 0x100288b 2122 XK_braille_dots_125 = 0x1002813 2123 XK_braille_dots_1256 = 0x1002833 2124 XK_braille_dots_12567 = 0x1002873 2125 XK_braille_dots_125678 = 0x10028f3 2126 XK_braille_dots_12568 = 0x10028b3 2127 XK_braille_dots_1257 = 0x1002853 2128 XK_braille_dots_12578 = 0x10028d3 2129 XK_braille_dots_1258 = 0x1002893 2130 XK_braille_dots_126 = 0x1002823 2131 XK_braille_dots_1267 = 0x1002863 2132 XK_braille_dots_12678 = 0x10028e3 2133 XK_braille_dots_1268 = 0x10028a3 2134 XK_braille_dots_127 = 0x1002843 2135 XK_braille_dots_1278 = 0x10028c3 2136 XK_braille_dots_128 = 0x1002883 2137 XK_braille_dots_13 = 0x1002805 2138 XK_braille_dots_134 = 0x100280d 2139 XK_braille_dots_1345 = 0x100281d 2140 XK_braille_dots_13456 = 0x100283d 2141 XK_braille_dots_134567 = 0x100287d 2142 XK_braille_dots_1345678 = 0x10028fd 2143 XK_braille_dots_134568 = 0x10028bd 2144 XK_braille_dots_13457 = 0x100285d 2145 XK_braille_dots_134578 = 0x10028dd 2146 XK_braille_dots_13458 = 0x100289d 2147 XK_braille_dots_1346 = 0x100282d 2148 XK_braille_dots_13467 = 0x100286d 2149 XK_braille_dots_134678 = 0x10028ed 2150 XK_braille_dots_13468 = 0x10028ad 2151 XK_braille_dots_1347 = 0x100284d 2152 XK_braille_dots_13478 = 0x10028cd 2153 XK_braille_dots_1348 = 0x100288d 2154 XK_braille_dots_135 = 0x1002815 2155 XK_braille_dots_1356 = 0x1002835 2156 XK_braille_dots_13567 = 0x1002875 2157 XK_braille_dots_135678 = 0x10028f5 2158 XK_braille_dots_13568 = 0x10028b5 2159 XK_braille_dots_1357 = 0x1002855 2160 XK_braille_dots_13578 = 0x10028d5 2161 XK_braille_dots_1358 = 0x1002895 2162 XK_braille_dots_136 = 0x1002825 2163 XK_braille_dots_1367 = 0x1002865 2164 XK_braille_dots_13678 = 0x10028e5 2165 XK_braille_dots_1368 = 0x10028a5 2166 XK_braille_dots_137 = 0x1002845 2167 XK_braille_dots_1378 = 0x10028c5 2168 XK_braille_dots_138 = 0x1002885 2169 XK_braille_dots_14 = 0x1002809 2170 XK_braille_dots_145 = 0x1002819 2171 XK_braille_dots_1456 = 0x1002839 2172 XK_braille_dots_14567 = 0x1002879 2173 XK_braille_dots_145678 = 0x10028f9 2174 XK_braille_dots_14568 = 0x10028b9 2175 XK_braille_dots_1457 = 0x1002859 2176 XK_braille_dots_14578 = 0x10028d9 2177 XK_braille_dots_1458 = 0x1002899 2178 XK_braille_dots_146 = 0x1002829 2179 XK_braille_dots_1467 = 0x1002869 2180 XK_braille_dots_14678 = 0x10028e9 2181 XK_braille_dots_1468 = 0x10028a9 2182 XK_braille_dots_147 = 0x1002849 2183 XK_braille_dots_1478 = 0x10028c9 2184 XK_braille_dots_148 = 0x1002889 2185 XK_braille_dots_15 = 0x1002811 2186 XK_braille_dots_156 = 0x1002831 2187 XK_braille_dots_1567 = 0x1002871 2188 XK_braille_dots_15678 = 0x10028f1 2189 XK_braille_dots_1568 = 0x10028b1 2190 XK_braille_dots_157 = 0x1002851 2191 XK_braille_dots_1578 = 0x10028d1 2192 XK_braille_dots_158 = 0x1002891 2193 XK_braille_dots_16 = 0x1002821 2194 XK_braille_dots_167 = 0x1002861 2195 XK_braille_dots_1678 = 0x10028e1 2196 XK_braille_dots_168 = 0x10028a1 2197 XK_braille_dots_17 = 0x1002841 2198 XK_braille_dots_178 = 0x10028c1 2199 XK_braille_dots_18 = 0x1002881 2200 XK_braille_dots_2 = 0x1002802 2201 XK_braille_dots_23 = 0x1002806 2202 XK_braille_dots_234 = 0x100280e 2203 XK_braille_dots_2345 = 0x100281e 2204 XK_braille_dots_23456 = 0x100283e 2205 XK_braille_dots_234567 = 0x100287e 2206 XK_braille_dots_2345678 = 0x10028fe 2207 XK_braille_dots_234568 = 0x10028be 2208 XK_braille_dots_23457 = 0x100285e 2209 XK_braille_dots_234578 = 0x10028de 2210 XK_braille_dots_23458 = 0x100289e 2211 XK_braille_dots_2346 = 0x100282e 2212 XK_braille_dots_23467 = 0x100286e 2213 XK_braille_dots_234678 = 0x10028ee 2214 XK_braille_dots_23468 = 0x10028ae 2215 XK_braille_dots_2347 = 0x100284e 2216 XK_braille_dots_23478 = 0x10028ce 2217 XK_braille_dots_2348 = 0x100288e 2218 XK_braille_dots_235 = 0x1002816 2219 XK_braille_dots_2356 = 0x1002836 2220 XK_braille_dots_23567 = 0x1002876 2221 XK_braille_dots_235678 = 0x10028f6 2222 XK_braille_dots_23568 = 0x10028b6 2223 XK_braille_dots_2357 = 0x1002856 2224 XK_braille_dots_23578 = 0x10028d6 2225 XK_braille_dots_2358 = 0x1002896 2226 XK_braille_dots_236 = 0x1002826 2227 XK_braille_dots_2367 = 0x1002866 2228 XK_braille_dots_23678 = 0x10028e6 2229 XK_braille_dots_2368 = 0x10028a6 2230 XK_braille_dots_237 = 0x1002846 2231 XK_braille_dots_2378 = 0x10028c6 2232 XK_braille_dots_238 = 0x1002886 2233 XK_braille_dots_24 = 0x100280a 2234 XK_braille_dots_245 = 0x100281a 2235 XK_braille_dots_2456 = 0x100283a 2236 XK_braille_dots_24567 = 0x100287a 2237 XK_braille_dots_245678 = 0x10028fa 2238 XK_braille_dots_24568 = 0x10028ba 2239 XK_braille_dots_2457 = 0x100285a 2240 XK_braille_dots_24578 = 0x10028da 2241 XK_braille_dots_2458 = 0x100289a 2242 XK_braille_dots_246 = 0x100282a 2243 XK_braille_dots_2467 = 0x100286a 2244 XK_braille_dots_24678 = 0x10028ea 2245 XK_braille_dots_2468 = 0x10028aa 2246 XK_braille_dots_247 = 0x100284a 2247 XK_braille_dots_2478 = 0x10028ca 2248 XK_braille_dots_248 = 0x100288a 2249 XK_braille_dots_25 = 0x1002812 2250 XK_braille_dots_256 = 0x1002832 2251 XK_braille_dots_2567 = 0x1002872 2252 XK_braille_dots_25678 = 0x10028f2 2253 XK_braille_dots_2568 = 0x10028b2 2254 XK_braille_dots_257 = 0x1002852 2255 XK_braille_dots_2578 = 0x10028d2 2256 XK_braille_dots_258 = 0x1002892 2257 XK_braille_dots_26 = 0x1002822 2258 XK_braille_dots_267 = 0x1002862 2259 XK_braille_dots_2678 = 0x10028e2 2260 XK_braille_dots_268 = 0x10028a2 2261 XK_braille_dots_27 = 0x1002842 2262 XK_braille_dots_278 = 0x10028c2 2263 XK_braille_dots_28 = 0x1002882 2264 XK_braille_dots_3 = 0x1002804 2265 XK_braille_dots_34 = 0x100280c 2266 XK_braille_dots_345 = 0x100281c 2267 XK_braille_dots_3456 = 0x100283c 2268 XK_braille_dots_34567 = 0x100287c 2269 XK_braille_dots_345678 = 0x10028fc 2270 XK_braille_dots_34568 = 0x10028bc 2271 XK_braille_dots_3457 = 0x100285c 2272 XK_braille_dots_34578 = 0x10028dc 2273 XK_braille_dots_3458 = 0x100289c 2274 XK_braille_dots_346 = 0x100282c 2275 XK_braille_dots_3467 = 0x100286c 2276 XK_braille_dots_34678 = 0x10028ec 2277 XK_braille_dots_3468 = 0x10028ac 2278 XK_braille_dots_347 = 0x100284c 2279 XK_braille_dots_3478 = 0x10028cc 2280 XK_braille_dots_348 = 0x100288c 2281 XK_braille_dots_35 = 0x1002814 2282 XK_braille_dots_356 = 0x1002834 2283 XK_braille_dots_3567 = 0x1002874 2284 XK_braille_dots_35678 = 0x10028f4 2285 XK_braille_dots_3568 = 0x10028b4 2286 XK_braille_dots_357 = 0x1002854 2287 XK_braille_dots_3578 = 0x10028d4 2288 XK_braille_dots_358 = 0x1002894 2289 XK_braille_dots_36 = 0x1002824 2290 XK_braille_dots_367 = 0x1002864 2291 XK_braille_dots_3678 = 0x10028e4 2292 XK_braille_dots_368 = 0x10028a4 2293 XK_braille_dots_37 = 0x1002844 2294 XK_braille_dots_378 = 0x10028c4 2295 XK_braille_dots_38 = 0x1002884 2296 XK_braille_dots_4 = 0x1002808 2297 XK_braille_dots_45 = 0x1002818 2298 XK_braille_dots_456 = 0x1002838 2299 XK_braille_dots_4567 = 0x1002878 2300 XK_braille_dots_45678 = 0x10028f8 2301 XK_braille_dots_4568 = 0x10028b8 2302 XK_braille_dots_457 = 0x1002858 2303 XK_braille_dots_4578 = 0x10028d8 2304 XK_braille_dots_458 = 0x1002898 2305 XK_braille_dots_46 = 0x1002828 2306 XK_braille_dots_467 = 0x1002868 2307 XK_braille_dots_4678 = 0x10028e8 2308 XK_braille_dots_468 = 0x10028a8 2309 XK_braille_dots_47 = 0x1002848 2310 XK_braille_dots_478 = 0x10028c8 2311 XK_braille_dots_48 = 0x1002888 2312 XK_braille_dots_5 = 0x1002810 2313 XK_braille_dots_56 = 0x1002830 2314 XK_braille_dots_567 = 0x1002870 2315 XK_braille_dots_5678 = 0x10028f0 2316 XK_braille_dots_568 = 0x10028b0 2317 XK_braille_dots_57 = 0x1002850 2318 XK_braille_dots_578 = 0x10028d0 2319 XK_braille_dots_58 = 0x1002890 2320 XK_braille_dots_6 = 0x1002820 2321 XK_braille_dots_67 = 0x1002860 2322 XK_braille_dots_678 = 0x10028e0 2323 XK_braille_dots_68 = 0x10028a0 2324 XK_braille_dots_7 = 0x1002840 2325 XK_braille_dots_78 = 0x10028c0 2326 XK_braille_dots_8 = 0x1002880 2327 XK_breve = 0x01a2 2328 XK_brokenbar = 0x00a6 2329 XK_c = 0x0063 2330 XK_c_h = 0xfea3 2331 XK_cabovedot = 0x02e5 2332 XK_cacute = 0x01e6 2333 XK_caron = 0x01b7 2334 XK_ccaron = 0x01e8 2335 XK_ccedilla = 0x00e7 2336 XK_ccircumflex = 0x02e6 2337 XK_cedilla = 0x00b8 2338 XK_cent = 0x00a2 2339 XK_ch = 0xfea0 2340 XK_colon = 0x003a 2341 XK_comma = 0x002c 2342 XK_containsas = 0x100220B 2343 XK_copyright = 0x00a9 2344 XK_cuberoot = 0x100221B 2345 XK_currency = 0x00a4 2346 XK_d = 0x0064 2347 XK_dabovedot = 0x1001e0b 2348 XK_dcaron = 0x01ef 2349 XK_dead_A = 0xfe81 2350 XK_dead_E = 0xfe83 2351 XK_dead_I = 0xfe85 2352 XK_dead_O = 0xfe87 2353 XK_dead_U = 0xfe89 2354 XK_dead_a = 0xfe80 2355 XK_dead_abovecomma = 0xfe64 2356 XK_dead_abovedot = 0xfe56 2357 XK_dead_abovereversedcomma = 0xfe65 2358 XK_dead_abovering = 0xfe58 2359 XK_dead_aboveverticalline = 0xfe91 2360 XK_dead_acute = 0xfe51 2361 XK_dead_belowbreve = 0xfe6b 2362 XK_dead_belowcircumflex = 0xfe69 2363 XK_dead_belowcomma = 0xfe6e 2364 XK_dead_belowdiaeresis = 0xfe6c 2365 XK_dead_belowdot = 0xfe60 2366 XK_dead_belowmacron = 0xfe68 2367 XK_dead_belowring = 0xfe67 2368 XK_dead_belowtilde = 0xfe6a 2369 XK_dead_belowverticalline = 0xfe92 2370 XK_dead_breve = 0xfe55 2371 XK_dead_capital_schwa = 0xfe8b 2372 XK_dead_caron = 0xfe5a 2373 XK_dead_cedilla = 0xfe5b 2374 XK_dead_circumflex = 0xfe52 2375 XK_dead_currency = 0xfe6f 2376 XK_dead_dasia = 0xfe65 2377 XK_dead_diaeresis = 0xfe57 2378 XK_dead_doubleacute = 0xfe59 2379 XK_dead_doublegrave = 0xfe66 2380 XK_dead_e = 0xfe82 2381 XK_dead_grave = 0xfe50 2382 XK_dead_greek = 0xfe8c 2383 XK_dead_hook = 0xfe61 2384 XK_dead_horn = 0xfe62 2385 XK_dead_i = 0xfe84 2386 XK_dead_invertedbreve = 0xfe6d 2387 XK_dead_iota = 0xfe5d 2388 XK_dead_longsolidusoverlay = 0xfe93 2389 XK_dead_lowline = 0xfe90 2390 XK_dead_macron = 0xfe54 2391 XK_dead_o = 0xfe86 2392 XK_dead_ogonek = 0xfe5c 2393 XK_dead_perispomeni = 0xfe53 2394 XK_dead_psili = 0xfe64 2395 XK_dead_semivoiced_sound = 0xfe5f 2396 XK_dead_small_schwa = 0xfe8a 2397 XK_dead_stroke = 0xfe63 2398 XK_dead_tilde = 0xfe53 2399 XK_dead_u = 0xfe88 2400 XK_dead_voiced_sound = 0xfe5e 2401 XK_degree = 0x00b0 2402 XK_diaeresis = 0x00a8 2403 XK_dintegral = 0x100222C 2404 XK_division = 0x00f7 2405 XK_dollar = 0x0024 2406 XK_doubleacute = 0x01bd 2407 XK_dstroke = 0x01f0 2408 XK_e = 0x0065 2409 XK_eabovedot = 0x03ec 2410 XK_eacute = 0x00e9 2411 XK_ebelowdot = 0x1001eb9 2412 XK_ecaron = 0x01ec 2413 XK_ecircumflex = 0x00ea 2414 XK_ecircumflexacute = 0x1001ebf 2415 XK_ecircumflexbelowdot = 0x1001ec7 2416 XK_ecircumflexgrave = 0x1001ec1 2417 XK_ecircumflexhook = 0x1001ec3 2418 XK_ecircumflextilde = 0x1001ec5 2419 XK_ediaeresis = 0x00eb 2420 XK_egrave = 0x00e8 2421 XK_ehook = 0x1001ebb 2422 XK_eightsubscript = 0x1002088 2423 XK_eightsuperior = 0x1002078 2424 XK_elementof = 0x1002208 2425 XK_emacron = 0x03ba 2426 XK_emptyset = 0x1002205 2427 XK_eng = 0x03bf 2428 XK_eogonek = 0x01ea 2429 XK_equal = 0x003d 2430 XK_eth = 0x00f0 2431 XK_etilde = 0x1001ebd 2432 XK_exclam = 0x0021 2433 XK_exclamdown = 0x00a1 2434 XK_ezh = 0x1000292 2435 XK_f = 0x0066 2436 XK_fabovedot = 0x1001e1f 2437 XK_fivesubscript = 0x1002085 2438 XK_fivesuperior = 0x1002075 2439 XK_foursubscript = 0x1002084 2440 XK_foursuperior = 0x1002074 2441 XK_fourthroot = 0x100221C 2442 XK_g = 0x0067 2443 XK_gabovedot = 0x02f5 2444 XK_gbreve = 0x02bb 2445 XK_gcaron = 0x10001e7 2446 XK_gcedilla = 0x03bb 2447 XK_gcircumflex = 0x02f8 2448 XK_grave = 0x0060 2449 XK_greater = 0x003e 2450 XK_guillemotleft = 0x00ab 2451 XK_guillemotright = 0x00bb 2452 XK_h = 0x0068 2453 XK_hcircumflex = 0x02b6 2454 XK_hebrew_aleph = 0x0ce0 2455 XK_hebrew_ayin = 0x0cf2 2456 XK_hebrew_bet = 0x0ce1 2457 XK_hebrew_beth = 0x0ce1 2458 XK_hebrew_chet = 0x0ce7 2459 XK_hebrew_dalet = 0x0ce3 2460 XK_hebrew_daleth = 0x0ce3 2461 XK_hebrew_doublelowline = 0x0cdf 2462 XK_hebrew_finalkaph = 0x0cea 2463 XK_hebrew_finalmem = 0x0ced 2464 XK_hebrew_finalnun = 0x0cef 2465 XK_hebrew_finalpe = 0x0cf3 2466 XK_hebrew_finalzade = 0x0cf5 2467 XK_hebrew_finalzadi = 0x0cf5 2468 XK_hebrew_gimel = 0x0ce2 2469 XK_hebrew_gimmel = 0x0ce2 2470 XK_hebrew_he = 0x0ce4 2471 XK_hebrew_het = 0x0ce7 2472 XK_hebrew_kaph = 0x0ceb 2473 XK_hebrew_kuf = 0x0cf7 2474 XK_hebrew_lamed = 0x0cec 2475 XK_hebrew_mem = 0x0cee 2476 XK_hebrew_nun = 0x0cf0 2477 XK_hebrew_pe = 0x0cf4 2478 XK_hebrew_qoph = 0x0cf7 2479 XK_hebrew_resh = 0x0cf8 2480 XK_hebrew_samech = 0x0cf1 2481 XK_hebrew_samekh = 0x0cf1 2482 XK_hebrew_shin = 0x0cf9 2483 XK_hebrew_taf = 0x0cfa 2484 XK_hebrew_taw = 0x0cfa 2485 XK_hebrew_tet = 0x0ce8 2486 XK_hebrew_teth = 0x0ce8 2487 XK_hebrew_waw = 0x0ce5 2488 XK_hebrew_yod = 0x0ce9 2489 XK_hebrew_zade = 0x0cf6 2490 XK_hebrew_zadi = 0x0cf6 2491 XK_hebrew_zain = 0x0ce6 2492 XK_hebrew_zayin = 0x0ce6 2493 XK_hstroke = 0x02b1 2494 XK_hyphen = 0x00ad 2495 XK_i = 0x0069 2496 XK_iacute = 0x00ed 2497 XK_ibelowdot = 0x1001ecb 2498 XK_ibreve = 0x100012d 2499 XK_icircumflex = 0x00ee 2500 XK_idiaeresis = 0x00ef 2501 XK_idotless = 0x02b9 2502 XK_igrave = 0x00ec 2503 XK_ihook = 0x1001ec9 2504 XK_imacron = 0x03ef 2505 XK_iogonek = 0x03e7 2506 XK_itilde = 0x03b5 2507 XK_j = 0x006a 2508 XK_jcircumflex = 0x02bc 2509 XK_k = 0x006b 2510 XK_kana_A = 0x04b1 2511 XK_kana_CHI = 0x04c1 2512 XK_kana_E = 0x04b4 2513 XK_kana_FU = 0x04cc 2514 XK_kana_HA = 0x04ca 2515 XK_kana_HE = 0x04cd 2516 XK_kana_HI = 0x04cb 2517 XK_kana_HO = 0x04ce 2518 XK_kana_HU = 0x04cc 2519 XK_kana_I = 0x04b2 2520 XK_kana_KA = 0x04b6 2521 XK_kana_KE = 0x04b9 2522 XK_kana_KI = 0x04b7 2523 XK_kana_KO = 0x04ba 2524 XK_kana_KU = 0x04b8 2525 XK_kana_MA = 0x04cf 2526 XK_kana_ME = 0x04d2 2527 XK_kana_MI = 0x04d0 2528 XK_kana_MO = 0x04d3 2529 XK_kana_MU = 0x04d1 2530 XK_kana_N = 0x04dd 2531 XK_kana_NA = 0x04c5 2532 XK_kana_NE = 0x04c8 2533 XK_kana_NI = 0x04c6 2534 XK_kana_NO = 0x04c9 2535 XK_kana_NU = 0x04c7 2536 XK_kana_O = 0x04b5 2537 XK_kana_RA = 0x04d7 2538 XK_kana_RE = 0x04da 2539 XK_kana_RI = 0x04d8 2540 XK_kana_RO = 0x04db 2541 XK_kana_RU = 0x04d9 2542 XK_kana_SA = 0x04bb 2543 XK_kana_SE = 0x04be 2544 XK_kana_SHI = 0x04bc 2545 XK_kana_SO = 0x04bf 2546 XK_kana_SU = 0x04bd 2547 XK_kana_TA = 0x04c0 2548 XK_kana_TE = 0x04c3 2549 XK_kana_TI = 0x04c1 2550 XK_kana_TO = 0x04c4 2551 XK_kana_TSU = 0x04c2 2552 XK_kana_TU = 0x04c2 2553 XK_kana_U = 0x04b3 2554 XK_kana_WA = 0x04dc 2555 XK_kana_WO = 0x04a6 2556 XK_kana_YA = 0x04d4 2557 XK_kana_YO = 0x04d6 2558 XK_kana_YU = 0x04d5 2559 XK_kana_a = 0x04a7 2560 XK_kana_closingbracket = 0x04a3 2561 XK_kana_comma = 0x04a4 2562 XK_kana_conjunctive = 0x04a5 2563 XK_kana_e = 0x04aa 2564 XK_kana_fullstop = 0x04a1 2565 XK_kana_i = 0x04a8 2566 XK_kana_middledot = 0x04a5 2567 XK_kana_o = 0x04ab 2568 XK_kana_openingbracket = 0x04a2 2569 XK_kana_switch = 0xff7e 2570 XK_kana_tsu = 0x04af 2571 XK_kana_tu = 0x04af 2572 XK_kana_u = 0x04a9 2573 XK_kana_ya = 0x04ac 2574 XK_kana_yo = 0x04ae 2575 XK_kana_yu = 0x04ad 2576 XK_kappa = 0x03a2 2577 XK_kcedilla = 0x03f3 2578 XK_kra = 0x03a2 2579 XK_l = 0x006c 2580 XK_lacute = 0x01e5 2581 XK_lbelowdot = 0x1001e37 2582 XK_lcaron = 0x01b5 2583 XK_lcedilla = 0x03b6 2584 XK_less = 0x003c 2585 XK_lstroke = 0x01b3 2586 XK_m = 0x006d 2587 XK_mabovedot = 0x1001e41 2588 XK_macron = 0x00af 2589 XK_masculine = 0x00ba 2590 XK_minus = 0x002d 2591 XK_mu = 0x00b5 2592 XK_multiply = 0x00d7 2593 XK_n = 0x006e 2594 XK_nacute = 0x01f1 2595 XK_ncaron = 0x01f2 2596 XK_ncedilla = 0x03f1 2597 XK_ninesubscript = 0x1002089 2598 XK_ninesuperior = 0x1002079 2599 XK_nobreakspace = 0x00a0 2600 XK_notapproxeq = 0x1002247 2601 XK_notelementof = 0x1002209 2602 XK_notidentical = 0x1002262 2603 XK_notsign = 0x00ac 2604 XK_ntilde = 0x00f1 2605 XK_numbersign = 0x0023 2606 XK_numerosign = 0x06b0 2607 XK_o = 0x006f 2608 XK_oacute = 0x00f3 2609 XK_obarred = 0x1000275 2610 XK_obelowdot = 0x1001ecd 2611 XK_ocaron = 0x10001d2 2612 XK_ocircumflex = 0x00f4 2613 XK_ocircumflexacute = 0x1001ed1 2614 XK_ocircumflexbelowdot = 0x1001ed9 2615 XK_ocircumflexgrave = 0x1001ed3 2616 XK_ocircumflexhook = 0x1001ed5 2617 XK_ocircumflextilde = 0x1001ed7 2618 XK_odiaeresis = 0x00f6 2619 XK_odoubleacute = 0x01f5 2620 XK_oe = 0x13bd 2621 XK_ogonek = 0x01b2 2622 XK_ograve = 0x00f2 2623 XK_ohook = 0x1001ecf 2624 XK_ohorn = 0x10001a1 2625 XK_ohornacute = 0x1001edb 2626 XK_ohornbelowdot = 0x1001ee3 2627 XK_ohorngrave = 0x1001edd 2628 XK_ohornhook = 0x1001edf 2629 XK_ohorntilde = 0x1001ee1 2630 XK_omacron = 0x03f2 2631 XK_onehalf = 0x00bd 2632 XK_onequarter = 0x00bc 2633 XK_onesubscript = 0x1002081 2634 XK_onesuperior = 0x00b9 2635 XK_ooblique = 0x00f8 2636 XK_ordfeminine = 0x00aa 2637 XK_oslash = 0x00f8 2638 XK_otilde = 0x00f5 2639 XK_overline = 0x047e 2640 XK_p = 0x0070 2641 XK_pabovedot = 0x1001e57 2642 XK_paragraph = 0x00b6 2643 XK_parenleft = 0x0028 2644 XK_parenright = 0x0029 2645 XK_partdifferential = 0x1002202 2646 XK_percent = 0x0025 2647 XK_period = 0x002e 2648 XK_periodcentered = 0x00b7 2649 XK_plus = 0x002b 2650 XK_plusminus = 0x00b1 2651 XK_prolongedsound = 0x04b0 2652 XK_q = 0x0071 2653 XK_question = 0x003f 2654 XK_questiondown = 0x00bf 2655 XK_quotedbl = 0x0022 2656 XK_quoteleft = 0x0060 2657 XK_quoteright = 0x0027 2658 XK_r = 0x0072 2659 XK_racute = 0x01e0 2660 XK_rcaron = 0x01f8 2661 XK_rcedilla = 0x03b3 2662 XK_registered = 0x00ae 2663 XK_s = 0x0073 2664 XK_sabovedot = 0x1001e61 2665 XK_sacute = 0x01b6 2666 XK_scaron = 0x01b9 2667 XK_scedilla = 0x01ba 2668 XK_schwa = 0x1000259 2669 XK_scircumflex = 0x02fe 2670 XK_script_switch = 0xff7e 2671 XK_section = 0x00a7 2672 XK_semicolon = 0x003b 2673 XK_semivoicedsound = 0x04df 2674 XK_sevensubscript = 0x1002087 2675 XK_sevensuperior = 0x1002077 2676 XK_sixsubscript = 0x1002086 2677 XK_sixsuperior = 0x1002076 2678 XK_slash = 0x002f 2679 XK_space = 0x0020 2680 XK_squareroot = 0x100221A 2681 XK_ssharp = 0x00df 2682 XK_sterling = 0x00a3 2683 XK_stricteq = 0x1002263 2684 XK_t = 0x0074 2685 XK_tabovedot = 0x1001e6b 2686 XK_tcaron = 0x01bb 2687 XK_tcedilla = 0x01fe 2688 XK_thorn = 0x00fe 2689 XK_threequarters = 0x00be 2690 XK_threesubscript = 0x1002083 2691 XK_threesuperior = 0x00b3 2692 XK_tintegral = 0x100222D 2693 XK_tslash = 0x03bc 2694 XK_twosubscript = 0x1002082 2695 XK_twosuperior = 0x00b2 2696 XK_u = 0x0075 2697 XK_uacute = 0x00fa 2698 XK_ubelowdot = 0x1001ee5 2699 XK_ubreve = 0x02fd 2700 XK_ucircumflex = 0x00fb 2701 XK_udiaeresis = 0x00fc 2702 XK_udoubleacute = 0x01fb 2703 XK_ugrave = 0x00f9 2704 XK_uhook = 0x1001ee7 2705 XK_uhorn = 0x10001b0 2706 XK_uhornacute = 0x1001ee9 2707 XK_uhornbelowdot = 0x1001ef1 2708 XK_uhorngrave = 0x1001eeb 2709 XK_uhornhook = 0x1001eed 2710 XK_uhorntilde = 0x1001eef 2711 XK_umacron = 0x03fe 2712 XK_underscore = 0x005f 2713 XK_uogonek = 0x03f9 2714 XK_uring = 0x01f9 2715 XK_utilde = 0x03fd 2716 XK_v = 0x0076 2717 XK_voicedsound = 0x04de 2718 XK_w = 0x0077 2719 XK_wacute = 0x1001e83 2720 XK_wcircumflex = 0x1000175 2721 XK_wdiaeresis = 0x1001e85 2722 XK_wgrave = 0x1001e81 2723 XK_x = 0x0078 2724 XK_xabovedot = 0x1001e8b 2725 XK_y = 0x0079 2726 XK_yacute = 0x00fd 2727 XK_ybelowdot = 0x1001ef5 2728 XK_ycircumflex = 0x1000177 2729 XK_ydiaeresis = 0x00ff 2730 XK_yen = 0x00a5 2731 XK_ygrave = 0x1001ef3 2732 XK_yhook = 0x1001ef7 2733 XK_ytilde = 0x1001ef9 2734 XK_z = 0x007a 2735 XK_zabovedot = 0x01bf 2736 XK_zacute = 0x01bc 2737 XK_zcaron = 0x01be 2738 XK_zerosubscript = 0x1002080 2739 XK_zerosuperior = 0x1002070 2740 XK_zstroke = 0x10001b6 2741 XLocaleNotSupported = -2 2742 XLookupBoth = 4 2743 XLookupChars = 2 2744 XLookupKeySym = 3 2745 XLookupNone = 1 2746 XMD_H = 1 2747 XNArea = "area" 2748 XNAreaNeeded = "areaNeeded" 2749 XNBackground = "background" 2750 XNBackgroundPixmap = "backgroundPixmap" 2751 XNBaseFontName = "baseFontName" 2752 XNClientWindow = "clientWindow" 2753 XNColormap = "colorMap" 2754 XNContextualDrawing = "contextualDrawing" 2755 XNCursor = "cursor" 2756 XNDefaultString = "defaultString" 2757 XNDestroyCallback = "destroyCallback" 2758 XNDirectionalDependentDrawing = "directionalDependentDrawing" 2759 XNFilterEvents = "filterEvents" 2760 XNFocusWindow = "focusWindow" 2761 XNFontInfo = "fontInfo" 2762 XNFontSet = "fontSet" 2763 XNForeground = "foreground" 2764 XNGeometryCallback = "geometryCallback" 2765 XNHotKey = "hotKey" 2766 XNHotKeyState = "hotKeyState" 2767 XNInputStyle = "inputStyle" 2768 XNLineSpace = "lineSpace" 2769 XNMissingCharSet = "missingCharSet" 2770 XNOMAutomatic = "omAutomatic" 2771 XNOrientation = "orientation" 2772 XNPreeditAttributes = "preeditAttributes" 2773 XNPreeditCaretCallback = "preeditCaretCallback" 2774 XNPreeditDoneCallback = "preeditDoneCallback" 2775 XNPreeditDrawCallback = "preeditDrawCallback" 2776 XNPreeditStartCallback = "preeditStartCallback" 2777 XNPreeditState = "preeditState" 2778 XNPreeditStateNotifyCallback = "preeditStateNotifyCallback" 2779 XNQueryICValuesList = "queryICValuesList" 2780 XNQueryIMValuesList = "queryIMValuesList" 2781 XNQueryInputStyle = "queryInputStyle" 2782 XNQueryOrientation = "queryOrientation" 2783 XNR6PreeditCallback = "r6PreeditCallback" 2784 XNRequiredCharSet = "requiredCharSet" 2785 XNResetState = "resetState" 2786 XNResourceClass = "resourceClass" 2787 XNResourceName = "resourceName" 2788 XNSeparatorofNestedList = "separatorofNestedList" 2789 XNSpotLocation = "spotLocation" 2790 XNStatusAttributes = "statusAttributes" 2791 XNStatusDoneCallback = "statusDoneCallback" 2792 XNStatusDrawCallback = "statusDrawCallback" 2793 XNStatusStartCallback = "statusStartCallback" 2794 XNStdColormap = "stdColorMap" 2795 XNStringConversion = "stringConversion" 2796 XNStringConversionCallback = "stringConversionCallback" 2797 XNVaNestedList = "XNVaNestedList" 2798 XNVisiblePosition = "visiblePosition" 2799 XNegative = 0x0010 2800 XNoMemory = -1 2801 XPROTOSTRUCTS_H = 0 2802 XPROTO_H = 0 2803 XTHREADS = 1 2804 XUSE_MTSAFE_API = 1 2805 XUrgencyHint = 256 2806 XValue = 0x0001 2807 XYBitmap = 0 2808 XYPixmap = 1 2809 X_AllocColor = 84 2810 X_AllocColorCells = 86 2811 X_AllocColorPlanes = 87 2812 X_AllocNamedColor = 85 2813 X_AllowEvents = 35 2814 X_Bell = 104 2815 X_ChangeActivePointerGrab = 30 2816 X_ChangeGC = 56 2817 X_ChangeHosts = 109 2818 X_ChangeKeyboardControl = 102 2819 X_ChangeKeyboardMapping = 100 2820 X_ChangePointerControl = 105 2821 X_ChangeProperty = 18 2822 X_ChangeSaveSet = 6 2823 X_ChangeWindowAttributes = 2 2824 X_CirculateWindow = 13 2825 X_ClearArea = 61 2826 X_CloseFont = 46 2827 X_ConfigureWindow = 12 2828 X_ConvertSelection = 24 2829 X_CopyArea = 62 2830 X_CopyColormapAndFree = 80 2831 X_CopyGC = 57 2832 X_CopyPlane = 63 2833 X_CreateColormap = 78 2834 X_CreateCursor = 93 2835 X_CreateGC = 55 2836 X_CreateGlyphCursor = 94 2837 X_CreatePixmap = 53 2838 X_CreateWindow = 1 2839 X_DeleteProperty = 19 2840 X_DestroySubwindows = 5 2841 X_DestroyWindow = 4 2842 X_Error = 0 2843 X_FillPoly = 69 2844 X_ForceScreenSaver = 115 2845 X_FreeColormap = 79 2846 X_FreeColors = 88 2847 X_FreeCursor = 95 2848 X_FreeGC = 60 2849 X_FreePixmap = 54 2850 X_GetAtomName = 17 2851 X_GetFontPath = 52 2852 X_GetGeometry = 14 2853 X_GetImage = 73 2854 X_GetInputFocus = 43 2855 X_GetKeyboardControl = 103 2856 X_GetKeyboardMapping = 101 2857 X_GetModifierMapping = 119 2858 X_GetMotionEvents = 39 2859 X_GetPointerControl = 106 2860 X_GetPointerMapping = 117 2861 X_GetProperty = 20 2862 X_GetScreenSaver = 108 2863 X_GetSelectionOwner = 23 2864 X_GetWindowAttributes = 3 2865 X_GrabButton = 28 2866 X_GrabKey = 33 2867 X_GrabKeyboard = 31 2868 X_GrabPointer = 26 2869 X_GrabServer = 36 2870 X_H = 0 2871 X_HAVE_UTF8_STRING = 1 2872 X_ImageText16 = 77 2873 X_ImageText8 = 76 2874 X_InstallColormap = 81 2875 X_InternAtom = 16 2876 X_KillClient = 113 2877 X_ListExtensions = 99 2878 X_ListFonts = 49 2879 X_ListFontsWithInfo = 50 2880 X_ListHosts = 110 2881 X_ListInstalledColormaps = 83 2882 X_ListProperties = 21 2883 X_LookupColor = 92 2884 X_MapSubwindows = 9 2885 X_MapWindow = 8 2886 X_NoOperation = 127 2887 X_OpenFont = 45 2888 X_PROTOCOL = 11 2889 X_PROTOCOL_REVISION = 0 2890 X_PolyArc = 68 2891 X_PolyFillArc = 71 2892 X_PolyFillRectangle = 70 2893 X_PolyLine = 65 2894 X_PolyPoint = 64 2895 X_PolyRectangle = 67 2896 X_PolySegment = 66 2897 X_PolyText16 = 75 2898 X_PolyText8 = 74 2899 X_PutImage = 72 2900 X_QueryBestSize = 97 2901 X_QueryColors = 91 2902 X_QueryExtension = 98 2903 X_QueryFont = 47 2904 X_QueryKeymap = 44 2905 X_QueryPointer = 38 2906 X_QueryTextExtents = 48 2907 X_QueryTree = 15 2908 X_RecolorCursor = 96 2909 X_RenderAddGlyphs = 20 2910 X_RenderAddGlyphsFromPicture = 21 2911 X_RenderAddTraps = 32 2912 X_RenderChangePicture = 5 2913 X_RenderColorTrapezoids = 14 2914 X_RenderColorTriangles = 15 2915 X_RenderComposite = 8 2916 X_RenderCompositeGlyphs16 = 24 2917 X_RenderCompositeGlyphs32 = 25 2918 X_RenderCompositeGlyphs8 = 23 2919 X_RenderCreateAnimCursor = 31 2920 X_RenderCreateConicalGradient = 36 2921 X_RenderCreateCursor = 27 2922 X_RenderCreateGlyphSet = 17 2923 X_RenderCreateLinearGradient = 34 2924 X_RenderCreatePicture = 4 2925 X_RenderCreateRadialGradient = 35 2926 X_RenderCreateSolidFill = 33 2927 X_RenderFillRectangles = 26 2928 X_RenderFreeGlyphSet = 19 2929 X_RenderFreeGlyphs = 22 2930 X_RenderFreePicture = 7 2931 X_RenderQueryDithers = 3 2932 X_RenderQueryFilters = 29 2933 X_RenderQueryPictFormats = 1 2934 X_RenderQueryPictIndexValues = 2 2935 X_RenderQueryVersion = 0 2936 X_RenderReferenceGlyphSet = 18 2937 X_RenderScale = 9 2938 X_RenderSetPictureClipRectangles = 6 2939 X_RenderSetPictureFilter = 30 2940 X_RenderSetPictureTransform = 28 2941 X_RenderTrapezoids = 10 2942 X_RenderTriFan = 13 2943 X_RenderTriStrip = 12 2944 X_RenderTriangles = 11 2945 X_ReparentWindow = 7 2946 X_Reply = 1 2947 X_RotateProperties = 114 2948 X_SendEvent = 25 2949 X_SetAccessControl = 111 2950 X_SetClipRectangles = 59 2951 X_SetCloseDownMode = 112 2952 X_SetDashes = 58 2953 X_SetFontPath = 51 2954 X_SetInputFocus = 42 2955 X_SetModifierMapping = 118 2956 X_SetPointerMapping = 116 2957 X_SetScreenSaver = 107 2958 X_SetSelectionOwner = 22 2959 X_StoreColors = 89 2960 X_StoreNamedColor = 90 2961 X_TCP_PORT = 6000 2962 X_TranslateCoords = 40 2963 X_UngrabButton = 29 2964 X_UngrabKey = 34 2965 X_UngrabKeyboard = 32 2966 X_UngrabPointer = 27 2967 X_UngrabServer = 37 2968 X_UninstallColormap = 82 2969 X_UnmapSubwindows = 11 2970 X_UnmapWindow = 10 2971 X_WarpPointer = 41 2972 XlibDisplayClosing = 2 2973 XlibDisplayDfltRMDB = 128 2974 XlibDisplayIOError = 1 2975 XlibDisplayNoXkb = 4 2976 XlibDisplayPrivSync = 8 2977 XlibDisplayProcConni = 16 2978 XlibDisplayReadEvents = 32 2979 XlibDisplayReply = 32 2980 XlibDisplayWriting = 64 2981 XlibSpecificationRelease = 6 2982 YNegative = 0x0020 2983 YSorted = 1 2984 YValue = 0x0002 2985 YXBanded = 3 2986 YXSorted = 2 2987 ZLNSPERBATCH = 1024 2988 ZPixmap = 2 2989 ZRCTSPERBATCH = 256 2990 ZoomState = 2 2991 X_ALLOCA_H = 1 2992 X_ANSI_STDDEF_H = 0 2993 X_ASM_GENERIC_ERRNO_BASE_H = 0 2994 X_ASM_GENERIC_ERRNO_H = 0 2995 X_ATFILE_SOURCE = 1 2996 X_BITS_BYTESWAP_H = 1 2997 X_BITS_ENDIANNESS_H = 1 2998 X_BITS_ENDIAN_H = 1 2999 X_BITS_ERRNO_H = 1 3000 X_BITS_FLOATN_COMMON_H = 0 3001 X_BITS_FLOATN_H = 0 3002 X_BITS_PTHREADTYPES_ARCH_H = 1 3003 X_BITS_PTHREADTYPES_COMMON_H = 1 3004 X_BITS_STDINT_INTN_H = 1 3005 X_BITS_STDINT_UINTN_H = 1 3006 X_BITS_TIME64_H = 1 3007 X_BITS_TYPESIZES_H = 1 3008 X_BITS_TYPES_H = 1 3009 X_BITS_TYPES_LOCALE_T_H = 1 3010 X_BITS_TYPES___LOCALE_T_H = 1 3011 X_BITS_UINTN_IDENTITY_H = 1 3012 X_BITS_WCHAR_H = 1 3013 X_BSD_PTRDIFF_T_ = 0 3014 X_BSD_SIZE_T_ = 0 3015 X_BSD_SIZE_T_DEFINED_ = 0 3016 X_DEFAULT_SOURCE = 1 3017 X_ENDIAN_H = 1 3018 X_ERRNO_H = 1 3019 X_FEATURES_H = 1 3020 X_FILE_OFFSET_BITS = 64 3021 X_GCC_MAX_ALIGN_T = 0 3022 X_GCC_PTRDIFF_T = 0 3023 X_GCC_SIZE_T = 0 3024 X_GCC_WCHAR_T = 0 3025 X_GCC_WRAP_STDINT_H = 0 3026 X_ILP32 = 1 3027 X_POSIX_C_SOURCE = 200809 3028 X_POSIX_SOURCE = 1 3029 X_PTRDIFF_T = 0 3030 X_PTRDIFF_T_ = 0 3031 X_PTRDIFF_T_DECLARED = 0 3032 X_RENDER_H_ = 0 3033 X_RWLOCK_INTERNAL_H = 0 3034 X_SIZET_ = 0 3035 X_SIZE_T = 0 3036 X_SIZE_T_ = 0 3037 X_SIZE_T_DECLARED = 0 3038 X_SIZE_T_DEFINED = 0 3039 X_SIZE_T_DEFINED_ = 0 3040 X_STDC_PREDEF_H = 1 3041 X_STDDEF_H = 0 3042 X_STDDEF_H_ = 0 3043 X_STDINT_H = 1 3044 X_STDLIB_H = 1 3045 X_STRINGS_H = 1 3046 X_STRING_H = 1 3047 X_STRUCT_TIMESPEC = 1 3048 X_SYS_CDEFS_H = 1 3049 X_SYS_SELECT_H = 1 3050 X_SYS_SIZE_T_H = 0 3051 X_SYS_TYPES_H = 1 3052 X_THREAD_MUTEX_INTERNAL_H = 1 3053 X_THREAD_SHARED_TYPES_H = 1 3054 X_T_PTRDIFF = 0 3055 X_T_PTRDIFF_ = 0 3056 X_T_SIZE = 0 3057 X_T_SIZE_ = 0 3058 X_T_WCHAR = 0 3059 X_T_WCHAR_ = 0 3060 X_WCHAR_T = 0 3061 X_WCHAR_T_ = 0 3062 X_WCHAR_T_DECLARED = 0 3063 X_WCHAR_T_DEFINED = 0 3064 X_WCHAR_T_DEFINED_ = 0 3065 X_WCHAR_T_H = 0 3066 X_X11_XLIBINT_H_ = 1 3067 X_X11_XLIB_H_ = 0 3068 X_X11_XUTIL_H_ = 0 3069 X_XDEFS_H = 0 3070 X_XFUNCPROTOBEGIN = 0 3071 X_XFUNCPROTOEND = 0 3072 X_XFUNCPROTO_H_ = 0 3073 X_XFUNCS_H_ = 0 3074 X_XFUNCS_H_INCLUDED_STRING_H = 0 3075 X_XLIBCONF_H_ = 0 3076 X_XOSDEFS_H_ = 0 3077 X_XRENDERINT_H_ = 0 3078 X_XRENDERP_H_ = 0 3079 X_XRENDER_H_ = 0 3080 X_XTYPEDEF_ATOM = 0 3081 X_XTYPEDEF_CLIENTPTR = 0 3082 X_XTYPEDEF_FONT = 0 3083 X_XTYPEDEF_FONTPTR = 0 3084 X_XTYPEDEF_MASK = 0 3085 X_XTYPEDEF_POINTER = 0 3086 X_XTYPEDEF_XID = 0 3087 X_X_NOTSAN = 0 3088 I386 = 1 3089 Linux = 1 3090 Sz_xAllocColorCellsReply = 32 3091 Sz_xAllocColorCellsReq = 12 3092 Sz_xAllocColorPlanesReply = 32 3093 Sz_xAllocColorPlanesReq = 16 3094 Sz_xAllocColorReply = 32 3095 Sz_xAllocColorReq = 16 3096 Sz_xAllocNamedColorReply = 32 3097 Sz_xAllocNamedColorReq = 12 3098 Sz_xAllowEventsReq = 8 3099 Sz_xAnimCursorElt = 8 3100 Sz_xArc = 12 3101 Sz_xBellReq = 4 3102 Sz_xChangeActivePointerGrabReq = 16 3103 Sz_xChangeGCReq = 12 3104 Sz_xChangeHostsReq = 8 3105 Sz_xChangeKeyboardControlReq = 8 3106 Sz_xChangeKeyboardMappingReq = 8 3107 Sz_xChangeModeReq = 4 3108 Sz_xChangePointerControlReq = 12 3109 Sz_xChangePropertyReq = 24 3110 Sz_xChangeSaveSetReq = 8 3111 Sz_xChangeWindowAttributesReq = 12 3112 Sz_xCharInfo = 12 3113 Sz_xCirculateWindowReq = 8 3114 Sz_xClearAreaReq = 16 3115 Sz_xColorItem = 12 3116 Sz_xConfigureWindowReq = 12 3117 Sz_xConnClientPrefix = 12 3118 Sz_xConnSetup = 32 3119 Sz_xConnSetupPrefix = 8 3120 Sz_xConvertSelectionReq = 24 3121 Sz_xCopyAreaReq = 28 3122 Sz_xCopyColormapAndFreeReq = 12 3123 Sz_xCopyGCReq = 16 3124 Sz_xCopyPlaneReq = 32 3125 Sz_xCreateColormapReq = 16 3126 Sz_xCreateCursorReq = 32 3127 Sz_xCreateGCReq = 16 3128 Sz_xCreateGlyphCursorReq = 32 3129 Sz_xCreatePixmapReq = 16 3130 Sz_xCreateWindowReq = 32 3131 Sz_xDeletePropertyReq = 12 3132 Sz_xDepth = 8 3133 Sz_xDirectFormat = 16 3134 Sz_xError = 32 3135 Sz_xEvent = 32 3136 Sz_xFillPolyReq = 16 3137 Sz_xFontProp = 8 3138 Sz_xForceScreenSaverReq = 4 3139 Sz_xFreeColorsReq = 12 3140 Sz_xGenericReply = 32 3141 Sz_xGetAtomNameReply = 32 3142 Sz_xGetFontPathReply = 32 3143 Sz_xGetGeometryReply = 32 3144 Sz_xGetImageReply = 32 3145 Sz_xGetImageReq = 20 3146 Sz_xGetInputFocusReply = 32 3147 Sz_xGetKeyboardControlReply = 52 3148 Sz_xGetKeyboardMappingReply = 32 3149 Sz_xGetKeyboardMappingReq = 8 3150 Sz_xGetModifierMappingReply = 32 3151 Sz_xGetMotionEventsReply = 32 3152 Sz_xGetMotionEventsReq = 16 3153 Sz_xGetPointerControlReply = 32 3154 Sz_xGetPointerMappingReply = 32 3155 Sz_xGetPropertyReply = 32 3156 Sz_xGetPropertyReq = 24 3157 Sz_xGetScreenSaverReply = 32 3158 Sz_xGetSelectionOwnerReply = 32 3159 Sz_xGetWindowAttributesReply = 44 3160 Sz_xGlyphElt = 8 3161 Sz_xGlyphInfo = 12 3162 Sz_xGrabButtonReq = 24 3163 Sz_xGrabKeyReq = 16 3164 Sz_xGrabKeyboardReply = 32 3165 Sz_xGrabKeyboardReq = 16 3166 Sz_xGrabPointerReply = 32 3167 Sz_xGrabPointerReq = 24 3168 Sz_xHostEntry = 4 3169 Sz_xImageText16Req = 16 3170 Sz_xImageText8Req = 16 3171 Sz_xImageTextReq = 16 3172 Sz_xIndexValue = 12 3173 Sz_xInternAtomReply = 32 3174 Sz_xInternAtomReq = 8 3175 Sz_xKeymapEvent = 32 3176 Sz_xLineFixed = 16 3177 Sz_xListExtensionsReply = 32 3178 Sz_xListFontsReply = 32 3179 Sz_xListFontsReq = 8 3180 Sz_xListFontsWithInfoReply = 60 3181 Sz_xListFontsWithInfoReq = 8 3182 Sz_xListHostsReply = 32 3183 Sz_xListHostsReq = 4 3184 Sz_xListInstalledColormapsReply = 32 3185 Sz_xListPropertiesReply = 32 3186 Sz_xLookupColorReply = 32 3187 Sz_xLookupColorReq = 12 3188 Sz_xOpenFontReq = 12 3189 Sz_xPictDepth = 8 3190 Sz_xPictFormInfo = 28 3191 Sz_xPictScreen = 8 3192 Sz_xPictVisual = 8 3193 Sz_xPixmapFormat = 8 3194 Sz_xPoint = 4 3195 Sz_xPointFixed = 8 3196 Sz_xPolyArcReq = 12 3197 Sz_xPolyFillArcReq = 12 3198 Sz_xPolyFillRectangleReq = 12 3199 Sz_xPolyLineReq = 12 3200 Sz_xPolyPointReq = 12 3201 Sz_xPolyRectangleReq = 12 3202 Sz_xPolySegmentReq = 12 3203 Sz_xPolyText16Req = 16 3204 Sz_xPolyText8Req = 16 3205 Sz_xPolyTextReq = 16 3206 Sz_xPropIconSize = 24 3207 Sz_xPutImageReq = 24 3208 Sz_xQueryBestSizeReply = 32 3209 Sz_xQueryBestSizeReq = 12 3210 Sz_xQueryColorsReply = 32 3211 Sz_xQueryColorsReq = 8 3212 Sz_xQueryExtensionReply = 32 3213 Sz_xQueryExtensionReq = 8 3214 Sz_xQueryFontReply = 60 3215 Sz_xQueryKeymapReply = 40 3216 Sz_xQueryPointerReply = 32 3217 Sz_xQueryTextExtentsReply = 32 3218 Sz_xQueryTextExtentsReq = 8 3219 Sz_xQueryTreeReply = 32 3220 Sz_xRecolorCursorReq = 20 3221 Sz_xRectangle = 8 3222 Sz_xRenderAddGlyphsReq = 12 3223 Sz_xRenderAddTrapsReq = 12 3224 Sz_xRenderChangePictureReq = 12 3225 Sz_xRenderColor = 8 3226 Sz_xRenderCompositeGlyphs16Req = 28 3227 Sz_xRenderCompositeGlyphs32Req = 28 3228 Sz_xRenderCompositeGlyphs8Req = 28 3229 Sz_xRenderCompositeReq = 36 3230 Sz_xRenderCreateAnimCursorReq = 8 3231 Sz_xRenderCreateConicalGradientReq = 24 3232 Sz_xRenderCreateCursorReq = 16 3233 Sz_xRenderCreateGlyphSetReq = 12 3234 Sz_xRenderCreateLinearGradientReq = 28 3235 Sz_xRenderCreatePictureReq = 20 3236 Sz_xRenderCreateRadialGradientReq = 36 3237 Sz_xRenderCreateSolidFillReq = 16 3238 Sz_xRenderFillRectanglesReq = 20 3239 Sz_xRenderFreeGlyphSetReq = 8 3240 Sz_xRenderFreeGlyphsReq = 8 3241 Sz_xRenderFreePictureReq = 8 3242 Sz_xRenderQueryFiltersReply = 32 3243 Sz_xRenderQueryFiltersReq = 8 3244 Sz_xRenderQueryPictFormatsReply = 32 3245 Sz_xRenderQueryPictFormatsReq = 4 3246 Sz_xRenderQueryPictIndexValuesReply = 32 3247 Sz_xRenderQueryPictIndexValuesReq = 8 3248 Sz_xRenderQueryVersionReply = 32 3249 Sz_xRenderQueryVersionReq = 12 3250 Sz_xRenderReferenceGlyphSetReq = 24 3251 Sz_xRenderScaleReq = 32 3252 Sz_xRenderSetPictureClipRectanglesReq = 12 3253 Sz_xRenderSetPictureFilterReq = 12 3254 Sz_xRenderSetPictureTransformReq = 44 3255 Sz_xRenderTransform = 36 3256 Sz_xRenderTrapezoidsReq = 24 3257 Sz_xRenderTriFanReq = 24 3258 Sz_xRenderTriStripReq = 24 3259 Sz_xRenderTrianglesReq = 24 3260 Sz_xReparentWindowReq = 16 3261 Sz_xReply = 32 3262 Sz_xReq = 4 3263 Sz_xResourceReq = 8 3264 Sz_xRotatePropertiesReq = 12 3265 Sz_xSegment = 8 3266 Sz_xSendEventReq = 44 3267 Sz_xSetAccessControlReq = 4 3268 Sz_xSetClipRectanglesReq = 12 3269 Sz_xSetCloseDownModeReq = 4 3270 Sz_xSetDashesReq = 12 3271 Sz_xSetFontPathReq = 8 3272 Sz_xSetInputFocusReq = 12 3273 Sz_xSetMappingReply = 32 3274 Sz_xSetModifierMappingReply = 32 3275 Sz_xSetModifierMappingReq = 4 3276 Sz_xSetPointerMappingReply = 32 3277 Sz_xSetPointerMappingReq = 4 3278 Sz_xSetScreenSaverReq = 12 3279 Sz_xSetSelectionOwnerReq = 16 3280 Sz_xSpanFix = 12 3281 Sz_xStoreColorsReq = 8 3282 Sz_xStoreNamedColorReq = 16 3283 Sz_xTextElt = 2 3284 Sz_xTimecoord = 8 3285 Sz_xTranslateCoordsReply = 32 3286 Sz_xTranslateCoordsReq = 16 3287 Sz_xTrap = 24 3288 Sz_xTrapezoid = 40 3289 Sz_xTriangle = 24 3290 Sz_xUngrabButtonReq = 12 3291 Sz_xUngrabKeyReq = 12 3292 Sz_xVisualType = 24 3293 Sz_xWarpPointerReq = 24 3294 Sz_xWindowRoot = 40 3295 Sz_xrgb = 8 3296 Unix = 1 3297 XFalse = 0 3298 XTrue = 1 3299 Size = 2068 3300 AIO_PRIO_DELTA_MAX = 20 3301 BC_BASE_MAX = 99 3302 BC_DIM_MAX = 2048 3303 BC_SCALE_MAX = 99 3304 BC_STRING_MAX = 1000 3305 CHARCLASS_NAME_MAX = 2048 3306 CHAR_BIT = 8 3307 CHAR_MAX = 127 3308 CHAR_MIN = -128 3309 COLL_WEIGHTS_MAX = 255 3310 DELAYTIMER_MAX = 2147483647 3311 EXPR_NEST_MAX = 32 3312 HOST_NAME_MAX = 64 3313 INT_MAX = 2147483647 3314 INT_MIN = -2147483648 3315 LINE_MAX = 2048 3316 LLONG_MAX = 9223372036854775807 3317 LLONG_MIN = -9223372036854775808 3318 LOGIN_NAME_MAX = 256 3319 LONG_MAX = 2147483647 3320 LONG_MIN = -2147483648 3321 MAX_CANON = 255 3322 MAX_INPUT = 255 3323 MB_LEN_MAX = 16 3324 MQ_PRIO_MAX = 32768 3325 NAME_MAX = 255 3326 NGROUPS_MAX = 65536 3327 PATH_MAX = 4096 3328 PIPE_BUF = 4096 3329 PTHREAD_DESTRUCTOR_ITERATIONS = 4 3330 PTHREAD_KEYS_MAX = 1024 3331 PTHREAD_STACK_MIN = 16384 3332 RE_DUP_MAX = 32767 3333 RTSIG_MAX = 32 3334 SCHAR_MAX = 127 3335 SCHAR_MIN = -128 3336 SEM_VALUE_MAX = 2147483647 3337 SHRT_MAX = 32767 3338 SHRT_MIN = -32768 3339 SSIZE_MAX = 2147483647 3340 TTY_NAME_MAX = 32 3341 UCHAR_MAX = 255 3342 UINT_MAX = 4294967295 3343 ULLONG_MAX = 18446744073709551615 3344 ULONG_MAX = 4294967295 3345 USHRT_MAX = 65535 3346 XATTR_LIST_MAX = 65536 3347 XATTR_NAME_MAX = 255 3348 XATTR_SIZE_MAX = 65536 3349 X_BITS_POSIX1_LIM_H = 1 3350 X_BITS_POSIX2_LIM_H = 1 3351 X_GCC_LIMITS_H_ = 0 3352 X_LIBC_LIMITS_H_ = 1 3353 X_LIMITS_H___ = 0 3354 X_LINUX_LIMITS_H = 0 3355 X_POSIX2_BC_BASE_MAX = 99 3356 X_POSIX2_BC_DIM_MAX = 2048 3357 X_POSIX2_BC_SCALE_MAX = 99 3358 X_POSIX2_BC_STRING_MAX = 1000 3359 X_POSIX2_CHARCLASS_NAME_MAX = 14 3360 X_POSIX2_COLL_WEIGHTS_MAX = 2 3361 X_POSIX2_EXPR_NEST_MAX = 32 3362 X_POSIX2_LINE_MAX = 2048 3363 X_POSIX2_RE_DUP_MAX = 255 3364 X_POSIX_AIO_LISTIO_MAX = 2 3365 X_POSIX_AIO_MAX = 1 3366 X_POSIX_ARG_MAX = 4096 3367 X_POSIX_CHILD_MAX = 25 3368 X_POSIX_CLOCKRES_MIN = 20000000 3369 X_POSIX_DELAYTIMER_MAX = 32 3370 X_POSIX_HOST_NAME_MAX = 255 3371 X_POSIX_LINK_MAX = 8 3372 X_POSIX_LOGIN_NAME_MAX = 9 3373 X_POSIX_MAX_CANON = 255 3374 X_POSIX_MAX_INPUT = 255 3375 X_POSIX_MQ_OPEN_MAX = 8 3376 X_POSIX_MQ_PRIO_MAX = 32 3377 X_POSIX_NAME_MAX = 14 3378 X_POSIX_NGROUPS_MAX = 8 3379 X_POSIX_OPEN_MAX = 20 3380 X_POSIX_PATH_MAX = 256 3381 X_POSIX_PIPE_BUF = 512 3382 X_POSIX_RE_DUP_MAX = 255 3383 X_POSIX_RTSIG_MAX = 8 3384 X_POSIX_SEM_NSEMS_MAX = 256 3385 X_POSIX_SEM_VALUE_MAX = 32767 3386 X_POSIX_SIGQUEUE_MAX = 32 3387 X_POSIX_SSIZE_MAX = 32767 3388 X_POSIX_STREAM_MAX = 8 3389 X_POSIX_SYMLINK_MAX = 255 3390 X_POSIX_SYMLOOP_MAX = 8 3391 X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4 3392 X_POSIX_THREAD_KEYS_MAX = 128 3393 X_POSIX_THREAD_THREADS_MAX = 64 3394 X_POSIX_TIMER_MAX = 32 3395 X_POSIX_TTY_NAME_MAX = 9 3396 X_POSIX_TZNAME_MAX = 6 3397 FALSE = 0 3398 MAXSHORT = 32767 3399 MINSHORT = -32767 3400 NUMPTSTOBUFFER = 200 3401 TRUE = 1 3402 X_X11_XREGION_H_ = 0 3403 REQUIRED_DEPTHS = 2155872393 3404 ) 3405 3406 const ( /* Xlib.h:1126:1: */ 3407 XOMOrientation_LTR_TTB = 0 3408 XOMOrientation_RTL_TTB = 1 3409 XOMOrientation_TTB_LTR = 2 3410 XOMOrientation_TTB_RTL = 3 3411 XOMOrientation_Context = 4 3412 ) 3413 3414 const ( /* Xlib.h:1315:1: */ 3415 XIMForwardChar = 0 3416 XIMBackwardChar = 1 3417 XIMForwardWord = 2 3418 XIMBackwardWord = 3 3419 XIMCaretUp = 4 3420 XIMCaretDown = 5 3421 XIMNextLine = 6 3422 XIMPreviousLine = 7 3423 XIMLineStart = 8 3424 XIMLineEnd = 9 3425 XIMAbsolutePosition = 10 3426 XIMDontChange = 11 3427 ) 3428 3429 const ( /* Xlib.h:1340:1: */ 3430 XIMIsInvisible = 0 // Disable caret feedback 3431 XIMIsPrimary = 1 // UI defined caret feedback 3432 XIMIsSecondary = 2 3433 ) 3434 3435 const ( /* Xlib.h:1352:1: */ 3436 XIMTextType = 0 3437 XIMBitmapType = 1 3438 ) 3439 3440 const ( /* Xutil.h:174:1: */ 3441 XStringStyle = 0 // STRING 3442 XCompoundTextStyle = 1 // COMPOUND_TEXT 3443 XTextStyle = 2 // text in owner's encoding (current locale) 3444 XStdICCTextStyle = 3 // STRING, else COMPOUND_TEXT 3445 // The following is an XFree86 extension, introduced in November 2000 3446 XUTF8StringStyle = 4 3447 ) 3448 3449 // the new Xfuncs.h 3450 3451 // the ANSI C way 3452 3453 // 3454 // O/S-dependent (mis)feature macro definitions 3455 // 3456 // Copyright 1991, 1998 The Open Group 3457 // 3458 // Permission to use, copy, modify, distribute, and sell this software and its 3459 // documentation for any purpose is hereby granted without fee, provided that 3460 // the above copyright notice appear in all copies and that both that 3461 // copyright notice and this permission notice appear in supporting 3462 // documentation. 3463 // 3464 // The above copyright notice and this permission notice shall be included in 3465 // all copies or substantial portions of the Software. 3466 // 3467 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 3468 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 3469 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 3470 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 3471 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 3472 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 3473 // 3474 // Except as contained in this notice, the name of The Open Group shall not be 3475 // used in advertising or otherwise to promote the sale, use or other dealings 3476 // in this Software without prior written authorization from The Open Group. 3477 // 3478 3479 // Utek leaves kernel macros around in include files (bleah) 3480 3481 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3482 // This file is part of the GNU C Library. 3483 // 3484 // The GNU C Library is free software; you can redistribute it and/or 3485 // modify it under the terms of the GNU Lesser General Public 3486 // License as published by the Free Software Foundation; either 3487 // version 2.1 of the License, or (at your option) any later version. 3488 // 3489 // The GNU C Library is distributed in the hope that it will be useful, 3490 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3491 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3492 // Lesser General Public License for more details. 3493 // 3494 // You should have received a copy of the GNU Lesser General Public 3495 // License along with the GNU C Library; if not, see 3496 // <https://www.gnu.org/licenses/>. 3497 3498 // ISO C99 Standard: 7.20 General utilities <stdlib.h> 3499 3500 // Handle feature test macros at the start of a header. 3501 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 3502 // This file is part of the GNU C Library. 3503 // 3504 // The GNU C Library is free software; you can redistribute it and/or 3505 // modify it under the terms of the GNU Lesser General Public 3506 // License as published by the Free Software Foundation; either 3507 // version 2.1 of the License, or (at your option) any later version. 3508 // 3509 // The GNU C Library is distributed in the hope that it will be useful, 3510 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3511 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3512 // Lesser General Public License for more details. 3513 // 3514 // You should have received a copy of the GNU Lesser General Public 3515 // License along with the GNU C Library; if not, see 3516 // <https://www.gnu.org/licenses/>. 3517 3518 // This header is internal to glibc and should not be included outside 3519 // of glibc headers. Headers including it must define 3520 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 3521 // cannot have multiple include guards because ISO C feature test 3522 // macros depend on the definition of the macro when an affected 3523 // header is included, not when the first system header is 3524 // included. 3525 3526 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3527 // This file is part of the GNU C Library. 3528 // 3529 // The GNU C Library is free software; you can redistribute it and/or 3530 // modify it under the terms of the GNU Lesser General Public 3531 // License as published by the Free Software Foundation; either 3532 // version 2.1 of the License, or (at your option) any later version. 3533 // 3534 // The GNU C Library is distributed in the hope that it will be useful, 3535 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3536 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3537 // Lesser General Public License for more details. 3538 // 3539 // You should have received a copy of the GNU Lesser General Public 3540 // License along with the GNU C Library; if not, see 3541 // <https://www.gnu.org/licenses/>. 3542 3543 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 3544 // macro. 3545 3546 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 3547 // macro. Most but not all symbols enabled by that macro in TS 3548 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 3549 // still require that macro in C2X. 3550 3551 // ISO/IEC TS 18661-4:2015 defines the 3552 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 3553 // functions, the symbols from this TS are enabled unconditionally in 3554 // C2X. 3555 3556 // ISO/IEC TS 18661-3:2015 defines the 3557 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 3558 3559 // Get size_t, wchar_t and NULL from <stddef.h>. 3560 // Copyright (C) 1989-2020 Free Software Foundation, Inc. 3561 // 3562 // This file is part of GCC. 3563 // 3564 // GCC is free software; you can redistribute it and/or modify 3565 // it under the terms of the GNU General Public License as published by 3566 // the Free Software Foundation; either version 3, or (at your option) 3567 // any later version. 3568 // 3569 // GCC is distributed in the hope that it will be useful, 3570 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3571 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 3572 // GNU General Public License for more details. 3573 // 3574 // Under Section 7 of GPL version 3, you are granted additional 3575 // permissions described in the GCC Runtime Library Exception, version 3576 // 3.1, as published by the Free Software Foundation. 3577 // 3578 // You should have received a copy of the GNU General Public License and 3579 // a copy of the GCC Runtime Library Exception along with this program; 3580 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 3581 // <http://www.gnu.org/licenses/>. 3582 3583 // ISO C Standard: 7.17 Common definitions <stddef.h> 3584 3585 // Any one of these symbols __need_* means that GNU libc 3586 // wants us just to define one data type. So don't define 3587 // the symbols that indicate this file's entire job has been done. 3588 3589 // This avoids lossage on SunOS but only if stdtypes.h comes first. 3590 // There's no way to win with the other order! Sun lossage. 3591 3592 // Sequent's header files use _PTRDIFF_T_ in some conflicting way. 3593 // Just ignore it. 3594 3595 // On VxWorks, <type/vxTypesBase.h> may have defined macros like 3596 // _TYPE_size_t which will typedef size_t. fixincludes patched the 3597 // vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is 3598 // not defined, and so that defining this macro defines _GCC_SIZE_T. 3599 // If we find that the macros are still defined at this point, we must 3600 // invoke them so that the type is defined as expected. 3601 3602 // In case nobody has defined these types, but we aren't running under 3603 // GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and 3604 // __WCHAR_TYPE__ have reasonable values. This can happen if the 3605 // parts of GCC is compiled by an older compiler, that actually 3606 // include gstddef.h, such as collect2. 3607 3608 // Signed type of difference of two pointers. 3609 3610 // Define this type if we are doing the whole job, 3611 // or if we want this type in particular. 3612 3613 // If this symbol has done its job, get rid of it. 3614 3615 // Unsigned type of `sizeof' something. 3616 3617 // Define this type if we are doing the whole job, 3618 // or if we want this type in particular. 3619 3620 // Wide character type. 3621 // Locale-writers should change this as necessary to 3622 // be big enough to hold unique values not between 0 and 127, 3623 // and not (wchar_t) -1, for each defined multibyte character. 3624 3625 // Define this type if we are doing the whole job, 3626 // or if we want this type in particular. 3627 3628 // A null pointer constant. 3629 3630 // Offset of member MEMBER in a struct of type TYPE. 3631 3632 // XPG requires a few symbols from <sys/wait.h> being defined. 3633 // Definitions of flag bits for `waitpid' et al. 3634 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 3635 // This file is part of the GNU C Library. 3636 // 3637 // The GNU C Library is free software; you can redistribute it and/or 3638 // modify it under the terms of the GNU Lesser General Public 3639 // License as published by the Free Software Foundation; either 3640 // version 2.1 of the License, or (at your option) any later version. 3641 // 3642 // The GNU C Library is distributed in the hope that it will be useful, 3643 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3644 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3645 // Lesser General Public License for more details. 3646 // 3647 // You should have received a copy of the GNU Lesser General Public 3648 // License along with the GNU C Library; if not, see 3649 // <https://www.gnu.org/licenses/>. 3650 3651 // Bits in the third argument to `waitpid'. 3652 3653 // Bits in the fourth argument to `waitid'. 3654 3655 // The following values are used by the `waitid' function. 3656 3657 // The Linux kernel defines these bare, rather than an enum, 3658 // which causes a conflict if the include order is reversed. 3659 3660 const ( /* waitflags.h:52:1: */ 3661 P_ALL = 0 // Wait for any child. 3662 P_PID = 1 // Wait for specified process. 3663 P_PGID = 2 3664 ) 3665 3666 type Ptrdiff_t = int32 /* <builtin>:3:26 */ 3667 3668 type Size_t = uint32 /* <builtin>:9:23 */ 3669 3670 type Wchar_t = int32 /* <builtin>:15:24 */ 3671 3672 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 3673 type X__float128 = float64 /* <builtin>:47:21 */ 3674 3675 // Copyright © 2004 Keith Packard 3676 // 3677 // Permission to use, copy, modify, distribute, and sell this software and its 3678 // documentation for any purpose is hereby granted without fee, provided that 3679 // the above copyright notice appear in all copies and that both that 3680 // copyright notice and this permission notice appear in supporting 3681 // documentation, and that the name of Keith Packard not be used in 3682 // advertising or publicity pertaining to distribution of the software without 3683 // specific, written prior permission. Keith Packard makes no 3684 // representations about the suitability of this software for any purpose. It 3685 // is provided "as is" without express or implied warranty. 3686 // 3687 // KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 3688 // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 3689 // EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 3690 // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 3691 // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 3692 // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 3693 // PERFORMANCE OF THIS SOFTWARE. 3694 3695 // config.h. Generated from config.h.in by configure. 3696 // config.h.in. Generated from configure.ac by autoheader. 3697 3698 // Define to 1 if you have the <dlfcn.h> header file. 3699 3700 // Define to 1 if you have the <inttypes.h> header file. 3701 3702 // Define to 1 if you have the <memory.h> header file. 3703 3704 // Define to 1 if you have the <stdint.h> header file. 3705 3706 // Define to 1 if you have the <stdlib.h> header file. 3707 3708 // Define to 1 if you have the <strings.h> header file. 3709 3710 // Define to 1 if you have the <string.h> header file. 3711 3712 // Define to 1 if you have the <sys/stat.h> header file. 3713 3714 // Define to 1 if you have the <sys/types.h> header file. 3715 3716 // Define to 1 if you have the <unistd.h> header file. 3717 3718 // Define to the sub-directory in which libtool stores uninstalled libraries. 3719 3720 // Name of package 3721 3722 // Define to the address where bug reports for this package should be sent. 3723 3724 // Define to the full name of this package. 3725 3726 // Define to the full name and version of this package. 3727 3728 // Define to the one symbol short name of this package. 3729 3730 // Define to the home page for this package. 3731 3732 // Define to the version of this package. 3733 3734 // Major version of this package 3735 3736 // Minor version of this package 3737 3738 // Patch version of this package 3739 3740 // Define to 1 if you have the ANSI C header files. 3741 3742 // Version number of package 3743 // 3744 // Copyright © 2000 SuSE, Inc. 3745 // 3746 // Permission to use, copy, modify, distribute, and sell this software and its 3747 // documentation for any purpose is hereby granted without fee, provided that 3748 // the above copyright notice appear in all copies and that both that 3749 // copyright notice and this permission notice appear in supporting 3750 // documentation, and that the name of SuSE not be used in advertising or 3751 // publicity pertaining to distribution of the software without specific, 3752 // written prior permission. SuSE makes no representations about the 3753 // suitability of this software for any purpose. It is provided "as is" 3754 // without express or implied warranty. 3755 // 3756 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 3757 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 3758 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 3759 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 3760 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 3761 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 3762 // 3763 // Author: Keith Packard, SuSE, Inc. 3764 3765 // config.h. Generated from config.h.in by configure. 3766 // config.h.in. Generated from configure.ac by autoheader. 3767 3768 // Define to 1 if you have the <dlfcn.h> header file. 3769 3770 // Define to 1 if you have the <inttypes.h> header file. 3771 3772 // Define to 1 if you have the <memory.h> header file. 3773 3774 // Define to 1 if you have the <stdint.h> header file. 3775 3776 // Define to 1 if you have the <stdlib.h> header file. 3777 3778 // Define to 1 if you have the <strings.h> header file. 3779 3780 // Define to 1 if you have the <string.h> header file. 3781 3782 // Define to 1 if you have the <sys/stat.h> header file. 3783 3784 // Define to 1 if you have the <sys/types.h> header file. 3785 3786 // Define to 1 if you have the <unistd.h> header file. 3787 3788 // Define to the sub-directory in which libtool stores uninstalled libraries. 3789 3790 // Name of package 3791 3792 // Define to the address where bug reports for this package should be sent. 3793 3794 // Define to the full name of this package. 3795 3796 // Define to the full name and version of this package. 3797 3798 // Define to the one symbol short name of this package. 3799 3800 // Define to the home page for this package. 3801 3802 // Define to the version of this package. 3803 3804 // Major version of this package 3805 3806 // Minor version of this package 3807 3808 // Patch version of this package 3809 3810 // Define to 1 if you have the ANSI C header files. 3811 3812 // Version number of package 3813 3814 // 3815 // 3816 // Copyright 1984, 1985, 1987, 1989, 1998 The Open Group 3817 // 3818 // Permission to use, copy, modify, distribute, and sell this software and its 3819 // documentation for any purpose is hereby granted without fee, provided that 3820 // the above copyright notice appear in all copies and that both that 3821 // copyright notice and this permission notice appear in supporting 3822 // documentation. 3823 // 3824 // The above copyright notice and this permission notice shall be included 3825 // in all copies or substantial portions of the Software. 3826 // 3827 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 3828 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 3829 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 3830 // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 3831 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 3832 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 3833 // OTHER DEALINGS IN THE SOFTWARE. 3834 // 3835 // Except as contained in this notice, the name of The Open Group shall 3836 // not be used in advertising or otherwise to promote the sale, use or 3837 // other dealings in this Software without prior written authorization 3838 // from The Open Group. 3839 // 3840 3841 // Xlibint.h - Header definition and support file for the internal 3842 // support routines used by the C subroutine interface 3843 // library (Xlib) to the X Window System. 3844 // 3845 // Warning, there be dragons here.... 3846 3847 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 3848 // This file is part of the GNU C Library. 3849 // 3850 // The GNU C Library is free software; you can redistribute it and/or 3851 // modify it under the terms of the GNU Lesser General Public 3852 // License as published by the Free Software Foundation; either 3853 // version 2.1 of the License, or (at your option) any later version. 3854 // 3855 // The GNU C Library is distributed in the hope that it will be useful, 3856 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3857 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3858 // Lesser General Public License for more details. 3859 // 3860 // You should have received a copy of the GNU Lesser General Public 3861 // License along with the GNU C Library; if not, see 3862 // <https://www.gnu.org/licenses/>. 3863 3864 // ISO C99: 7.18 Integer types <stdint.h> 3865 3866 // Handle feature test macros at the start of a header. 3867 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 3868 // This file is part of the GNU C Library. 3869 // 3870 // The GNU C Library is free software; you can redistribute it and/or 3871 // modify it under the terms of the GNU Lesser General Public 3872 // License as published by the Free Software Foundation; either 3873 // version 2.1 of the License, or (at your option) any later version. 3874 // 3875 // The GNU C Library is distributed in the hope that it will be useful, 3876 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3877 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3878 // Lesser General Public License for more details. 3879 // 3880 // You should have received a copy of the GNU Lesser General Public 3881 // License along with the GNU C Library; if not, see 3882 // <https://www.gnu.org/licenses/>. 3883 3884 // This header is internal to glibc and should not be included outside 3885 // of glibc headers. Headers including it must define 3886 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 3887 // cannot have multiple include guards because ISO C feature test 3888 // macros depend on the definition of the macro when an affected 3889 // header is included, not when the first system header is 3890 // included. 3891 3892 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3893 // This file is part of the GNU C Library. 3894 // 3895 // The GNU C Library is free software; you can redistribute it and/or 3896 // modify it under the terms of the GNU Lesser General Public 3897 // License as published by the Free Software Foundation; either 3898 // version 2.1 of the License, or (at your option) any later version. 3899 // 3900 // The GNU C Library is distributed in the hope that it will be useful, 3901 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3902 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3903 // Lesser General Public License for more details. 3904 // 3905 // You should have received a copy of the GNU Lesser General Public 3906 // License along with the GNU C Library; if not, see 3907 // <https://www.gnu.org/licenses/>. 3908 3909 // These are defined by the user (or the compiler) 3910 // to specify the desired environment: 3911 // 3912 // __STRICT_ANSI__ ISO Standard C. 3913 // _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. 3914 // _ISOC11_SOURCE Extensions to ISO C99 from ISO C11. 3915 // _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X. 3916 // __STDC_WANT_LIB_EXT2__ 3917 // Extensions to ISO C99 from TR 27431-2:2010. 3918 // __STDC_WANT_IEC_60559_BFP_EXT__ 3919 // Extensions to ISO C11 from TS 18661-1:2014. 3920 // __STDC_WANT_IEC_60559_FUNCS_EXT__ 3921 // Extensions to ISO C11 from TS 18661-4:2015. 3922 // __STDC_WANT_IEC_60559_TYPES_EXT__ 3923 // Extensions to ISO C11 from TS 18661-3:2015. 3924 // 3925 // _POSIX_SOURCE IEEE Std 1003.1. 3926 // _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; 3927 // if >=199309L, add IEEE Std 1003.1b-1993; 3928 // if >=199506L, add IEEE Std 1003.1c-1995; 3929 // if >=200112L, all of IEEE 1003.1-2004 3930 // if >=200809L, all of IEEE 1003.1-2008 3931 // _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if 3932 // Single Unix conformance is wanted, to 600 for the 3933 // sixth revision, to 700 for the seventh revision. 3934 // _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions. 3935 // _LARGEFILE_SOURCE Some more functions for correct standard I/O. 3936 // _LARGEFILE64_SOURCE Additional functionality from LFS for large files. 3937 // _FILE_OFFSET_BITS=N Select default filesystem interface. 3938 // _ATFILE_SOURCE Additional *at interfaces. 3939 // _GNU_SOURCE All of the above, plus GNU extensions. 3940 // _DEFAULT_SOURCE The default set of features (taking precedence over 3941 // __STRICT_ANSI__). 3942 // 3943 // _FORTIFY_SOURCE Add security hardening to many library functions. 3944 // Set to 1 or 2; 2 performs stricter checks than 1. 3945 // 3946 // _REENTRANT, _THREAD_SAFE 3947 // Obsolete; equivalent to _POSIX_C_SOURCE=199506L. 3948 // 3949 // The `-ansi' switch to the GNU C compiler, and standards conformance 3950 // options such as `-std=c99', define __STRICT_ANSI__. If none of 3951 // these are defined, or if _DEFAULT_SOURCE is defined, the default is 3952 // to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to 3953 // 200809L, as well as enabling miscellaneous functions from BSD and 3954 // SVID. If more than one of these are defined, they accumulate. For 3955 // example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together 3956 // give you ISO C, 1003.1, and 1003.2, but nothing else. 3957 // 3958 // These are defined by this file and are used by the 3959 // header files to decide what to declare or define: 3960 // 3961 // __GLIBC_USE (F) Define things from feature set F. This is defined 3962 // to 1 or 0; the subsequent macros are either defined 3963 // or undefined, and those tests should be moved to 3964 // __GLIBC_USE. 3965 // __USE_ISOC11 Define ISO C11 things. 3966 // __USE_ISOC99 Define ISO C99 things. 3967 // __USE_ISOC95 Define ISO C90 AMD1 (C95) things. 3968 // __USE_ISOCXX11 Define ISO C++11 things. 3969 // __USE_POSIX Define IEEE Std 1003.1 things. 3970 // __USE_POSIX2 Define IEEE Std 1003.2 things. 3971 // __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things. 3972 // __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things. 3973 // __USE_XOPEN Define XPG things. 3974 // __USE_XOPEN_EXTENDED Define X/Open Unix things. 3975 // __USE_UNIX98 Define Single Unix V2 things. 3976 // __USE_XOPEN2K Define XPG6 things. 3977 // __USE_XOPEN2KXSI Define XPG6 XSI things. 3978 // __USE_XOPEN2K8 Define XPG7 things. 3979 // __USE_XOPEN2K8XSI Define XPG7 XSI things. 3980 // __USE_LARGEFILE Define correct standard I/O things. 3981 // __USE_LARGEFILE64 Define LFS things with separate names. 3982 // __USE_FILE_OFFSET64 Define 64bit interface as default. 3983 // __USE_MISC Define things from 4.3BSD or System V Unix. 3984 // __USE_ATFILE Define *at interfaces and AT_* constants for them. 3985 // __USE_GNU Define GNU extensions. 3986 // __USE_FORTIFY_LEVEL Additional security measures used, according to level. 3987 // 3988 // The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are 3989 // defined by this file unconditionally. `__GNU_LIBRARY__' is provided 3990 // only for compatibility. All new code should use the other symbols 3991 // to test for features. 3992 // 3993 // All macros listed above as possibly being defined by this file are 3994 // explicitly undefined if they are not explicitly defined. 3995 // Feature-test macros that are not defined by the user or compiler 3996 // but are implied by the other feature-test macros defined (or by the 3997 // lack of any definitions) are defined by the file. 3998 // 3999 // ISO C feature test macros depend on the definition of the macro 4000 // when an affected header is included, not when the first system 4001 // header is included, and so they are handled in 4002 // <bits/libc-header-start.h>, which does not have a multiple include 4003 // guard. Feature test macros that can be handled from the first 4004 // system header included are handled here. 4005 4006 // Undefine everything, so we get a clean slate. 4007 4008 // Suppress kernel-name space pollution unless user expressedly asks 4009 // for it. 4010 4011 // Convenience macro to test the version of gcc. 4012 // Use like this: 4013 // #if __GNUC_PREREQ (2,8) 4014 // ... code requiring gcc 2.8 or later ... 4015 // #endif 4016 // Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was 4017 // added in 2.0. 4018 4019 // Similarly for clang. Features added to GCC after version 4.2 may 4020 // or may not also be available in clang, and clang's definitions of 4021 // __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such 4022 // features can be queried via __has_extension/__has_feature. 4023 4024 // Whether to use feature set F. 4025 4026 // _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for 4027 // _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not 4028 // issue a warning; the expectation is that the source is being 4029 // transitioned to use the new macro. 4030 4031 // If _GNU_SOURCE was defined by the user, turn on all the other features. 4032 4033 // If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, 4034 // define _DEFAULT_SOURCE. 4035 4036 // This is to enable the ISO C2X extension. 4037 4038 // This is to enable the ISO C11 extension. 4039 4040 // This is to enable the ISO C99 extension. 4041 4042 // This is to enable the ISO C90 Amendment 1:1995 extension. 4043 4044 // If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE 4045 // is defined, use POSIX.1-2008 (or another version depending on 4046 // _XOPEN_SOURCE). 4047 4048 // Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be 4049 // defined in all multithreaded code. GNU libc has not required this 4050 // for many years. We now treat them as compatibility synonyms for 4051 // _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with 4052 // comprehensive support for multithreaded code. Using them never 4053 // lowers the selected level of POSIX conformance, only raises it. 4054 4055 // The function 'gets' existed in C89, but is impossible to use 4056 // safely. It has been removed from ISO C11 and ISO C++14. Note: for 4057 // compatibility with various implementations of <cstdio>, this test 4058 // must consider only the value of __cplusplus when compiling C++. 4059 4060 // GNU formerly extended the scanf functions with modified format 4061 // specifiers %as, %aS, and %a[...] that allocate a buffer for the 4062 // input using malloc. This extension conflicts with ISO C99, which 4063 // defines %a as a standalone format specifier that reads a floating- 4064 // point number; moreover, POSIX.1-2008 provides the same feature 4065 // using the modifier letter 'm' instead (%ms, %mS, %m[...]). 4066 // 4067 // We now follow C99 unless GNU extensions are active and the compiler 4068 // is specifically in C89 or C++98 mode (strict or not). For 4069 // instance, with GCC, -std=gnu11 will have C99-compliant scanf with 4070 // or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the 4071 // old extension. 4072 4073 // Get definitions of __STDC_* predefined macros, if the compiler has 4074 // not preincluded this header automatically. 4075 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4076 // This file is part of the GNU C Library. 4077 // 4078 // The GNU C Library is free software; you can redistribute it and/or 4079 // modify it under the terms of the GNU Lesser General Public 4080 // License as published by the Free Software Foundation; either 4081 // version 2.1 of the License, or (at your option) any later version. 4082 // 4083 // The GNU C Library is distributed in the hope that it will be useful, 4084 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4085 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4086 // Lesser General Public License for more details. 4087 // 4088 // You should have received a copy of the GNU Lesser General Public 4089 // License along with the GNU C Library; if not, see 4090 // <https://www.gnu.org/licenses/>. 4091 4092 // This macro indicates that the installed library is the GNU C Library. 4093 // For historic reasons the value now is 6 and this will stay from now 4094 // on. The use of this variable is deprecated. Use __GLIBC__ and 4095 // __GLIBC_MINOR__ now (see below) when you want to test for a specific 4096 // GNU C library version and use the values in <gnu/lib-names.h> to get 4097 // the sonames of the shared libraries. 4098 4099 // Major and minor version number of the GNU C library package. Use 4100 // these macros to test for features in specific releases. 4101 4102 // This is here only because every header file already includes this one. 4103 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 4104 // This file is part of the GNU C Library. 4105 // 4106 // The GNU C Library is free software; you can redistribute it and/or 4107 // modify it under the terms of the GNU Lesser General Public 4108 // License as published by the Free Software Foundation; either 4109 // version 2.1 of the License, or (at your option) any later version. 4110 // 4111 // The GNU C Library is distributed in the hope that it will be useful, 4112 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4113 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4114 // Lesser General Public License for more details. 4115 // 4116 // You should have received a copy of the GNU Lesser General Public 4117 // License along with the GNU C Library; if not, see 4118 // <https://www.gnu.org/licenses/>. 4119 4120 // We are almost always included from features.h. 4121 4122 // The GNU libc does not support any K&R compilers or the traditional mode 4123 // of ISO C compilers anymore. Check for some of the combinations not 4124 // anymore supported. 4125 4126 // Some user header file might have defined this before. 4127 4128 // All functions, except those with callbacks or those that 4129 // synchronize memory, are leaf functions. 4130 4131 // GCC can always grok prototypes. For C++ programs we add throw() 4132 // to help it optimize the function calls. But this works only with 4133 // gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions 4134 // as non-throwing using a function attribute since programs can use 4135 // the -fexceptions options for C code as well. 4136 4137 // Compilers that are not clang may object to 4138 // #if defined __clang__ && __has_extension(...) 4139 // even though they do not need to evaluate the right-hand side of the &&. 4140 4141 // These two macros are not used in glibc anymore. They are kept here 4142 // only because some other projects expect the macros to be defined. 4143 4144 // For these things, GCC behaves the ANSI way normally, 4145 // and the non-ANSI way under -traditional. 4146 4147 // This is not a typedef so `const __ptr_t' does the right thing. 4148 4149 // C++ needs to know that types and declarations are C, not C++. 4150 4151 // Fortify support. 4152 4153 // Support for flexible arrays. 4154 // Headers that should use flexible arrays only if they're "real" 4155 // (e.g. only if they won't affect sizeof()) should test 4156 // #if __glibc_c99_flexarr_available. 4157 4158 // __asm__ ("xyz") is used throughout the headers to rename functions 4159 // at the assembly language level. This is wrapped by the __REDIRECT 4160 // macro, in order to support compilers that can do this some other 4161 // way. When compilers don't support asm-names at all, we have to do 4162 // preprocessor tricks instead (which don't have exactly the right 4163 // semantics, but it's the best we can do). 4164 // 4165 // Example: 4166 // int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); 4167 4168 // 4169 // #elif __SOME_OTHER_COMPILER__ 4170 // 4171 // # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias) 4172 4173 // GCC has various useful declarations that can be made with the 4174 // `__attribute__' syntax. All of the ways we use this do fine if 4175 // they are omitted for compilers that don't understand it. 4176 4177 // At some point during the gcc 2.96 development the `malloc' attribute 4178 // for functions was introduced. We don't want to use it unconditionally 4179 // (although this would be possible) since it generates warnings. 4180 4181 // Tell the compiler which arguments to an allocation function 4182 // indicate the size of the allocation. 4183 4184 // At some point during the gcc 2.96 development the `pure' attribute 4185 // for functions was introduced. We don't want to use it unconditionally 4186 // (although this would be possible) since it generates warnings. 4187 4188 // This declaration tells the compiler that the value is constant. 4189 4190 // At some point during the gcc 3.1 development the `used' attribute 4191 // for functions was introduced. We don't want to use it unconditionally 4192 // (although this would be possible) since it generates warnings. 4193 4194 // Since version 3.2, gcc allows marking deprecated functions. 4195 4196 // Since version 4.5, gcc also allows one to specify the message printed 4197 // when a deprecated function is used. clang claims to be gcc 4.2, but 4198 // may also support this feature. 4199 4200 // At some point during the gcc 2.8 development the `format_arg' attribute 4201 // for functions was introduced. We don't want to use it unconditionally 4202 // (although this would be possible) since it generates warnings. 4203 // If several `format_arg' attributes are given for the same function, in 4204 // gcc-3.0 and older, all but the last one are ignored. In newer gccs, 4205 // all designated arguments are considered. 4206 4207 // At some point during the gcc 2.97 development the `strfmon' format 4208 // attribute for functions was introduced. We don't want to use it 4209 // unconditionally (although this would be possible) since it 4210 // generates warnings. 4211 4212 // The nonull function attribute allows to mark pointer parameters which 4213 // must not be NULL. 4214 4215 // If fortification mode, we warn about unused results of certain 4216 // function calls which can lead to problems. 4217 4218 // Forces a function to be always inlined. 4219 // The Linux kernel defines __always_inline in stddef.h (283d7573), and 4220 // it conflicts with this definition. Therefore undefine it first to 4221 // allow either header to be included first. 4222 4223 // Associate error messages with the source location of the call site rather 4224 // than with the source location inside the function. 4225 4226 // GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 4227 // inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ 4228 // or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions 4229 // older than 4.3 may define these macros and still not guarantee GNU inlining 4230 // semantics. 4231 // 4232 // clang++ identifies itself as gcc-4.2, but has support for GNU inlining 4233 // semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and 4234 // __GNUC_GNU_INLINE__ macro definitions. 4235 4236 // GCC 4.3 and above allow passing all anonymous arguments of an 4237 // __extern_always_inline function to some other vararg function. 4238 4239 // It is possible to compile containing GCC extensions even if GCC is 4240 // run in pedantic mode if the uses are carefully marked using the 4241 // `__extension__' keyword. But this is not generally available before 4242 // version 2.8. 4243 4244 // __restrict is known in EGCS 1.2 and above. 4245 4246 // ISO C99 also allows to declare arrays as non-overlapping. The syntax is 4247 // array_name[restrict] 4248 // GCC 3.1 supports this. 4249 4250 // Describes a char array whose address can safely be passed as the first 4251 // argument to strncpy and strncat, as the char array is not necessarily 4252 // a NUL-terminated string. 4253 4254 // Undefine (also defined in libc-symbols.h). 4255 // Copies attributes from the declaration or type referenced by 4256 // the argument. 4257 4258 // Determine the wordsize from the preprocessor defines. 4259 4260 // Properties of long double type. ldbl-96 version. 4261 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 4262 // This file is part of the GNU C Library. 4263 // 4264 // The GNU C Library is free software; you can redistribute it and/or 4265 // modify it under the terms of the GNU Lesser General Public 4266 // License published by the Free Software Foundation; either 4267 // version 2.1 of the License, or (at your option) any later version. 4268 // 4269 // The GNU C Library is distributed in the hope that it will be useful, 4270 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4271 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4272 // Lesser General Public License for more details. 4273 // 4274 // You should have received a copy of the GNU Lesser General Public 4275 // License along with the GNU C Library; if not, see 4276 // <https://www.gnu.org/licenses/>. 4277 4278 // long double is distinct from double, so there is nothing to 4279 // define here. 4280 4281 // __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is 4282 // intended for use in preprocessor macros. 4283 // 4284 // Note: MESSAGE must be a _single_ string; concatenation of string 4285 // literals is not supported. 4286 4287 // Generic selection (ISO C11) is a C-only feature, available in GCC 4288 // since version 4.9. Previous versions do not provide generic 4289 // selection, even though they might set __STDC_VERSION__ to 201112L, 4290 // when in -std=c11 mode. Thus, we must check for !defined __GNUC__ 4291 // when testing __STDC_VERSION__ for generic selection support. 4292 // On the other hand, Clang also defines __GNUC__, so a clang-specific 4293 // check is required to enable the use of generic selection. 4294 4295 // If we don't have __REDIRECT, prototypes will be missing if 4296 // __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. 4297 4298 // Decide whether we can define 'extern inline' functions in headers. 4299 4300 // This is here only because every header file already includes this one. 4301 // Get the definitions of all the appropriate `__stub_FUNCTION' symbols. 4302 // <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub 4303 // that will always return failure (and set errno to ENOSYS). 4304 // This file is automatically generated. 4305 // This file selects the right generated file of `__stub_FUNCTION' macros 4306 // based on the architecture being compiled for. 4307 4308 // This file is automatically generated. 4309 // It defines a symbol `__stub_FUNCTION' for each function 4310 // in the C library which is a stub, meaning it will fail 4311 // every time called, usually setting errno to ENOSYS. 4312 4313 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 4314 // macro. 4315 4316 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 4317 // macro. Most but not all symbols enabled by that macro in TS 4318 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 4319 // still require that macro in C2X. 4320 4321 // ISO/IEC TS 18661-4:2015 defines the 4322 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 4323 // functions, the symbols from this TS are enabled unconditionally in 4324 // C2X. 4325 4326 // ISO/IEC TS 18661-3:2015 defines the 4327 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 4328 // bits/types.h -- definitions of __*_t types underlying *_t types. 4329 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4330 // This file is part of the GNU C Library. 4331 // 4332 // The GNU C Library is free software; you can redistribute it and/or 4333 // modify it under the terms of the GNU Lesser General Public 4334 // License as published by the Free Software Foundation; either 4335 // version 2.1 of the License, or (at your option) any later version. 4336 // 4337 // The GNU C Library is distributed in the hope that it will be useful, 4338 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4339 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4340 // Lesser General Public License for more details. 4341 // 4342 // You should have received a copy of the GNU Lesser General Public 4343 // License along with the GNU C Library; if not, see 4344 // <https://www.gnu.org/licenses/>. 4345 4346 // Never include this file directly; use <sys/types.h> instead. 4347 4348 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4349 // This file is part of the GNU C Library. 4350 // 4351 // The GNU C Library is free software; you can redistribute it and/or 4352 // modify it under the terms of the GNU Lesser General Public 4353 // License as published by the Free Software Foundation; either 4354 // version 2.1 of the License, or (at your option) any later version. 4355 // 4356 // The GNU C Library is distributed in the hope that it will be useful, 4357 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4358 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4359 // Lesser General Public License for more details. 4360 // 4361 // You should have received a copy of the GNU Lesser General Public 4362 // License along with the GNU C Library; if not, see 4363 // <https://www.gnu.org/licenses/>. 4364 4365 // Determine the wordsize from the preprocessor defines. 4366 4367 // Bit size of the time_t type at glibc build time, x86-64 and x32 case. 4368 // Copyright (C) 2018-2020 Free Software Foundation, Inc. 4369 // This file is part of the GNU C Library. 4370 // 4371 // The GNU C Library is free software; you can redistribute it and/or 4372 // modify it under the terms of the GNU Lesser General Public 4373 // License as published by the Free Software Foundation; either 4374 // version 2.1 of the License, or (at your option) any later version. 4375 // 4376 // The GNU C Library is distributed in the hope that it will be useful, 4377 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4378 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4379 // Lesser General Public License for more details. 4380 // 4381 // You should have received a copy of the GNU Lesser General Public 4382 // License along with the GNU C Library; if not, see 4383 // <https://www.gnu.org/licenses/>. 4384 4385 // For others, time size is word size. 4386 4387 // Convenience types. 4388 type X__u_char = uint8 /* types.h:31:23 */ 4389 type X__u_short = uint16 /* types.h:32:28 */ 4390 type X__u_int = uint32 /* types.h:33:22 */ 4391 type X__u_long = uint32 /* types.h:34:27 */ 4392 4393 // Fixed-size types, underlying types depend on word size and compiler. 4394 type X__int8_t = int8 /* types.h:37:21 */ 4395 type X__uint8_t = uint8 /* types.h:38:23 */ 4396 type X__int16_t = int16 /* types.h:39:26 */ 4397 type X__uint16_t = uint16 /* types.h:40:28 */ 4398 type X__int32_t = int32 /* types.h:41:20 */ 4399 type X__uint32_t = uint32 /* types.h:42:22 */ 4400 type X__int64_t = int64 /* types.h:47:44 */ 4401 type X__uint64_t = uint64 /* types.h:48:46 */ 4402 4403 // Smallest types with at least a given width. 4404 type X__int_least8_t = X__int8_t /* types.h:52:18 */ 4405 type X__uint_least8_t = X__uint8_t /* types.h:53:19 */ 4406 type X__int_least16_t = X__int16_t /* types.h:54:19 */ 4407 type X__uint_least16_t = X__uint16_t /* types.h:55:20 */ 4408 type X__int_least32_t = X__int32_t /* types.h:56:19 */ 4409 type X__uint_least32_t = X__uint32_t /* types.h:57:20 */ 4410 type X__int_least64_t = X__int64_t /* types.h:58:19 */ 4411 type X__uint_least64_t = X__uint64_t /* types.h:59:20 */ 4412 4413 // quad_t is also 64 bits. 4414 type X__quad_t = int64 /* types.h:66:37 */ 4415 type X__u_quad_t = uint64 /* types.h:67:46 */ 4416 4417 // Largest integral types. 4418 type X__intmax_t = int64 /* types.h:75:37 */ 4419 type X__uintmax_t = uint64 /* types.h:76:46 */ 4420 4421 // The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE 4422 // macros for each of the OS types we define below. The definitions 4423 // of those macros must use the following macros for underlying types. 4424 // We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned 4425 // variants of each of the following integer types on this machine. 4426 // 4427 // 16 -- "natural" 16-bit type (always short) 4428 // 32 -- "natural" 32-bit type (always int) 4429 // 64 -- "natural" 64-bit type (long or long long) 4430 // LONG32 -- 32-bit type, traditionally long 4431 // QUAD -- 64-bit type, traditionally long long 4432 // WORD -- natural type of __WORDSIZE bits (int or long) 4433 // LONGWORD -- type of __WORDSIZE bits, traditionally long 4434 // 4435 // We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the 4436 // conventional uses of `long' or `long long' type modifiers match the 4437 // types we define, even when a less-adorned type would be the same size. 4438 // This matters for (somewhat) portably writing printf/scanf formats for 4439 // these types, where using the appropriate l or ll format modifiers can 4440 // make the typedefs and the formats match up across all GNU platforms. If 4441 // we used `long' when it's 64 bits where `long long' is expected, then the 4442 // compiler would warn about the formats not matching the argument types, 4443 // and the programmer changing them to shut up the compiler would break the 4444 // program's portability. 4445 // 4446 // Here we assume what is presently the case in all the GCC configurations 4447 // we support: long long is always 64 bits, long is always word/address size, 4448 // and int is always 32 bits. 4449 4450 // We want __extension__ before typedef's that use nonstandard base types 4451 // such as `long long' in C89 mode. 4452 // bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. 4453 // Copyright (C) 2012-2020 Free Software Foundation, Inc. 4454 // This file is part of the GNU C Library. 4455 // 4456 // The GNU C Library is free software; you can redistribute it and/or 4457 // modify it under the terms of the GNU Lesser General Public 4458 // License as published by the Free Software Foundation; either 4459 // version 2.1 of the License, or (at your option) any later version. 4460 // 4461 // The GNU C Library is distributed in the hope that it will be useful, 4462 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4463 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4464 // Lesser General Public License for more details. 4465 // 4466 // You should have received a copy of the GNU Lesser General Public 4467 // License along with the GNU C Library; if not, see 4468 // <https://www.gnu.org/licenses/>. 4469 4470 // See <bits/types.h> for the meaning of these macros. This file exists so 4471 // that <bits/types.h> need not vary across different GNU platforms. 4472 4473 // X32 kernel interface is 64-bit. 4474 4475 // Number of descriptors that can fit in an `fd_set'. 4476 4477 // bits/time64.h -- underlying types for __time64_t. Generic version. 4478 // Copyright (C) 2018-2020 Free Software Foundation, Inc. 4479 // This file is part of the GNU C Library. 4480 // 4481 // The GNU C Library is free software; you can redistribute it and/or 4482 // modify it under the terms of the GNU Lesser General Public 4483 // License as published by the Free Software Foundation; either 4484 // version 2.1 of the License, or (at your option) any later version. 4485 // 4486 // The GNU C Library is distributed in the hope that it will be useful, 4487 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4488 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4489 // Lesser General Public License for more details. 4490 // 4491 // You should have received a copy of the GNU Lesser General Public 4492 // License along with the GNU C Library; if not, see 4493 // <https://www.gnu.org/licenses/>. 4494 4495 // Define __TIME64_T_TYPE so that it is always a 64-bit type. 4496 4497 // Define a 64-bit time type alongsize the 32-bit one. 4498 4499 type X__dev_t = X__uint64_t /* types.h:145:25 */ // Type of device numbers. 4500 type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications. 4501 type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications. 4502 type X__ino_t = uint32 /* types.h:148:25 */ // Type of file serial numbers. 4503 type X__ino64_t = X__uint64_t /* types.h:149:27 */ // Type of file serial numbers (LFS). 4504 type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks. 4505 type X__nlink_t = uint32 /* types.h:151:27 */ // Type of file link counts. 4506 type X__off_t = int32 /* types.h:152:25 */ // Type of file sizes and offsets. 4507 type X__off64_t = X__int64_t /* types.h:153:27 */ // Type of file sizes and offsets (LFS). 4508 type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications. 4509 type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs. 4510 type X__clock_t = int32 /* types.h:156:27 */ // Type of CPU usage counts. 4511 type X__rlim_t = uint32 /* types.h:157:26 */ // Type for resource measurement. 4512 type X__rlim64_t = X__uint64_t /* types.h:158:28 */ // Type for resource measurement (LFS). 4513 type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs. 4514 type X__time_t = int32 /* types.h:160:26 */ // Seconds since the Epoch. 4515 type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds. 4516 type X__suseconds_t = int32 /* types.h:162:31 */ // Signed count of microseconds. 4517 4518 type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address. 4519 type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key. 4520 4521 // Clock ID used in clock and timer functions. 4522 type X__clockid_t = int32 /* types.h:168:29 */ 4523 4524 // Timer ID returned by `timer_create'. 4525 type X__timer_t = uintptr /* types.h:171:12 */ 4526 4527 // Type to represent block size. 4528 type X__blksize_t = int32 /* types.h:174:29 */ 4529 4530 // Types from the Large File Support interface. 4531 4532 // Type to count number of disk blocks. 4533 type X__blkcnt_t = int32 /* types.h:179:28 */ 4534 type X__blkcnt64_t = X__int64_t /* types.h:180:30 */ 4535 4536 // Type to count file system blocks. 4537 type X__fsblkcnt_t = uint32 /* types.h:183:30 */ 4538 type X__fsblkcnt64_t = X__uint64_t /* types.h:184:32 */ 4539 4540 // Type to count file system nodes. 4541 type X__fsfilcnt_t = uint32 /* types.h:187:30 */ 4542 type X__fsfilcnt64_t = X__uint64_t /* types.h:188:32 */ 4543 4544 // Type of miscellaneous file system fields. 4545 type X__fsword_t = int32 /* types.h:191:28 */ 4546 4547 type X__ssize_t = int32 /* types.h:193:27 */ // Type of a byte count, or error. 4548 4549 // Signed long type used in system calls. 4550 type X__syscall_slong_t = int32 /* types.h:196:33 */ 4551 // Unsigned long type used in system calls. 4552 type X__syscall_ulong_t = uint32 /* types.h:198:33 */ 4553 4554 // These few don't really vary by system, they always correspond 4555 // to one of the other defined types. 4556 type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS). 4557 type X__caddr_t = uintptr /* types.h:203:14 */ 4558 4559 // Duplicates info from stdint.h but this is used in unistd.h. 4560 type X__intptr_t = int32 /* types.h:206:25 */ 4561 4562 // Duplicate info from sys/socket.h. 4563 type X__socklen_t = uint32 /* types.h:209:23 */ 4564 4565 // C99: An integer type that can be accessed as an atomic entity, 4566 // even in the presence of asynchronous interrupts. 4567 // It is not currently necessary for this to be machine-specific. 4568 type X__sig_atomic_t = int32 /* types.h:214:13 */ 4569 4570 // Seconds since the Epoch, visible to user code when time_t is too 4571 // narrow only for consistency with the old way of widening too-narrow 4572 // types. User code should never use __time64_t. 4573 type X__time64_t = X__int64_t /* types.h:222:28 */ 4574 4575 // wchar_t type related definitions. 4576 // Copyright (C) 2000-2020 Free Software Foundation, Inc. 4577 // This file is part of the GNU C Library. 4578 // 4579 // The GNU C Library is free software; you can redistribute it and/or 4580 // modify it under the terms of the GNU Lesser General Public 4581 // License as published by the Free Software Foundation; either 4582 // version 2.1 of the License, or (at your option) any later version. 4583 // 4584 // The GNU C Library is distributed in the hope that it will be useful, 4585 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4586 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4587 // Lesser General Public License for more details. 4588 // 4589 // You should have received a copy of the GNU Lesser General Public 4590 // License along with the GNU C Library; if not, see 4591 // <https://www.gnu.org/licenses/>. 4592 4593 // The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__ 4594 // are not defined, give the right value and type as long as both int 4595 // and wchar_t are 32-bit types. Adding L'\0' to a constant value 4596 // ensures that the type is correct; it is necessary to use (L'\0' + 4597 // 0) rather than just L'\0' so that the type in C++ is the promoted 4598 // version of wchar_t rather than the distinct wchar_t type itself. 4599 // Because wchar_t in preprocessor #if expressions is treated as 4600 // intmax_t or uintmax_t, the expression (L'\0' - 1) would have the 4601 // wrong value for WCHAR_MAX in such expressions and so cannot be used 4602 // to define __WCHAR_MAX in the unsigned case. 4603 4604 // Determine the wordsize from the preprocessor defines. 4605 4606 // Exact integral types. 4607 4608 // Signed. 4609 // Define intN_t types. 4610 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 4611 // This file is part of the GNU C Library. 4612 // 4613 // The GNU C Library is free software; you can redistribute it and/or 4614 // modify it under the terms of the GNU Lesser General Public 4615 // License as published by the Free Software Foundation; either 4616 // version 2.1 of the License, or (at your option) any later version. 4617 // 4618 // The GNU C Library is distributed in the hope that it will be useful, 4619 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4620 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4621 // Lesser General Public License for more details. 4622 // 4623 // You should have received a copy of the GNU Lesser General Public 4624 // License along with the GNU C Library; if not, see 4625 // <https://www.gnu.org/licenses/>. 4626 4627 // bits/types.h -- definitions of __*_t types underlying *_t types. 4628 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4629 // This file is part of the GNU C Library. 4630 // 4631 // The GNU C Library is free software; you can redistribute it and/or 4632 // modify it under the terms of the GNU Lesser General Public 4633 // License as published by the Free Software Foundation; either 4634 // version 2.1 of the License, or (at your option) any later version. 4635 // 4636 // The GNU C Library is distributed in the hope that it will be useful, 4637 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4638 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4639 // Lesser General Public License for more details. 4640 // 4641 // You should have received a copy of the GNU Lesser General Public 4642 // License along with the GNU C Library; if not, see 4643 // <https://www.gnu.org/licenses/>. 4644 4645 // Never include this file directly; use <sys/types.h> instead. 4646 4647 type Int8_t = X__int8_t /* stdint-intn.h:24:18 */ 4648 type Int16_t = X__int16_t /* stdint-intn.h:25:19 */ 4649 type Int32_t = X__int32_t /* stdint-intn.h:26:19 */ 4650 type Int64_t = X__int64_t /* stdint-intn.h:27:19 */ 4651 4652 // Unsigned. 4653 // Define uintN_t types. 4654 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 4655 // This file is part of the GNU C Library. 4656 // 4657 // The GNU C Library is free software; you can redistribute it and/or 4658 // modify it under the terms of the GNU Lesser General Public 4659 // License as published by the Free Software Foundation; either 4660 // version 2.1 of the License, or (at your option) any later version. 4661 // 4662 // The GNU C Library is distributed in the hope that it will be useful, 4663 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4664 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4665 // Lesser General Public License for more details. 4666 // 4667 // You should have received a copy of the GNU Lesser General Public 4668 // License along with the GNU C Library; if not, see 4669 // <https://www.gnu.org/licenses/>. 4670 4671 // bits/types.h -- definitions of __*_t types underlying *_t types. 4672 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4673 // This file is part of the GNU C Library. 4674 // 4675 // The GNU C Library is free software; you can redistribute it and/or 4676 // modify it under the terms of the GNU Lesser General Public 4677 // License as published by the Free Software Foundation; either 4678 // version 2.1 of the License, or (at your option) any later version. 4679 // 4680 // The GNU C Library is distributed in the hope that it will be useful, 4681 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4682 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4683 // Lesser General Public License for more details. 4684 // 4685 // You should have received a copy of the GNU Lesser General Public 4686 // License along with the GNU C Library; if not, see 4687 // <https://www.gnu.org/licenses/>. 4688 4689 // Never include this file directly; use <sys/types.h> instead. 4690 4691 type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */ 4692 type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */ 4693 type Uint32_t = X__uint32_t /* stdint-uintn.h:26:20 */ 4694 type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */ 4695 4696 // Small types. 4697 4698 // Signed. 4699 type Int_least8_t = X__int_least8_t /* stdint.h:43:24 */ 4700 type Int_least16_t = X__int_least16_t /* stdint.h:44:25 */ 4701 type Int_least32_t = X__int_least32_t /* stdint.h:45:25 */ 4702 type Int_least64_t = X__int_least64_t /* stdint.h:46:25 */ 4703 4704 // Unsigned. 4705 type Uint_least8_t = X__uint_least8_t /* stdint.h:49:25 */ 4706 type Uint_least16_t = X__uint_least16_t /* stdint.h:50:26 */ 4707 type Uint_least32_t = X__uint_least32_t /* stdint.h:51:26 */ 4708 type Uint_least64_t = X__uint_least64_t /* stdint.h:52:26 */ 4709 4710 // Fast types. 4711 4712 // Signed. 4713 type Int_fast8_t = int8 /* stdint.h:58:22 */ 4714 type Int_fast16_t = int32 /* stdint.h:64:15 */ 4715 type Int_fast32_t = int32 /* stdint.h:65:15 */ 4716 4717 type Int_fast64_t = int64 /* stdint.h:67:24 */ 4718 4719 // Unsigned. 4720 type Uint_fast8_t = uint8 /* stdint.h:71:24 */ 4721 type Uint_fast16_t = uint32 /* stdint.h:77:23 */ 4722 type Uint_fast32_t = uint32 /* stdint.h:78:23 */ 4723 4724 type Uint_fast64_t = uint64 /* stdint.h:80:32 */ 4725 4726 // Types for `void *' pointers. 4727 type Intptr_t = int32 /* stdint.h:93:15 */ 4728 type Uintptr_t = uint32 /* stdint.h:96:23 */ 4729 4730 // Largest integral types. 4731 type Intmax_t = X__intmax_t /* stdint.h:101:21 */ 4732 type Uintmax_t = X__uintmax_t /* stdint.h:102:22 */ 4733 4734 // Limits of integral types. 4735 4736 // Minimum of signed integral types. 4737 // Maximum of signed integral types. 4738 4739 // Maximum of unsigned integral types. 4740 4741 // Minimum of signed integral types having a minimum size. 4742 // Maximum of signed integral types having a minimum size. 4743 4744 // Maximum of unsigned integral types having a minimum size. 4745 4746 // Minimum of fast signed integral types having a minimum size. 4747 // Maximum of fast signed integral types having a minimum size. 4748 4749 // Maximum of fast unsigned integral types having a minimum size. 4750 4751 // Values to test for integral types holding `void *' pointer. 4752 4753 // Minimum for largest signed integral type. 4754 // Maximum for largest signed integral type. 4755 4756 // Maximum for largest unsigned integral type. 4757 4758 // Limits of other integer types. 4759 4760 // Limits of `ptrdiff_t' type. 4761 4762 // Limits of `sig_atomic_t'. 4763 4764 // Limit of `size_t' type. 4765 4766 // Limits of `wchar_t'. 4767 // These constants might also be defined in <wchar.h>. 4768 4769 // Limits of `wint_t'. 4770 4771 // Signed. 4772 4773 // Unsigned. 4774 4775 // Maximal type. 4776 4777 // 4778 // 4779 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 4780 // 4781 // Permission to use, copy, modify, distribute, and sell this software and its 4782 // documentation for any purpose is hereby granted without fee, provided that 4783 // the above copyright notice appear in all copies and that both that 4784 // copyright notice and this permission notice appear in supporting 4785 // documentation. 4786 // 4787 // The above copyright notice and this permission notice shall be included in 4788 // all copies or substantial portions of the Software. 4789 // 4790 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 4791 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 4792 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 4793 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 4794 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 4795 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 4796 // 4797 // Except as contained in this notice, the name of The Open Group shall not be 4798 // used in advertising or otherwise to promote the sale, use or other dealings 4799 // in this Software without prior written authorization from The Open Group. 4800 // 4801 4802 // Xlib.h - Header definition and support file for the C subroutine 4803 // interface library (Xlib) to the X Window System Protocol (V11). 4804 // Structures and symbols starting with "_" are private to the library. 4805 4806 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4807 // This file is part of the GNU C Library. 4808 // 4809 // The GNU C Library is free software; you can redistribute it and/or 4810 // modify it under the terms of the GNU Lesser General Public 4811 // License as published by the Free Software Foundation; either 4812 // version 2.1 of the License, or (at your option) any later version. 4813 // 4814 // The GNU C Library is distributed in the hope that it will be useful, 4815 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4816 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4817 // Lesser General Public License for more details. 4818 // 4819 // You should have received a copy of the GNU Lesser General Public 4820 // License along with the GNU C Library; if not, see 4821 // <https://www.gnu.org/licenses/>. 4822 4823 // POSIX Standard: 2.6 Primitive System Data Types <sys/types.h> 4824 4825 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4826 // This file is part of the GNU C Library. 4827 // 4828 // The GNU C Library is free software; you can redistribute it and/or 4829 // modify it under the terms of the GNU Lesser General Public 4830 // License as published by the Free Software Foundation; either 4831 // version 2.1 of the License, or (at your option) any later version. 4832 // 4833 // The GNU C Library is distributed in the hope that it will be useful, 4834 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4835 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4836 // Lesser General Public License for more details. 4837 // 4838 // You should have received a copy of the GNU Lesser General Public 4839 // License along with the GNU C Library; if not, see 4840 // <https://www.gnu.org/licenses/>. 4841 4842 // bits/types.h -- definitions of __*_t types underlying *_t types. 4843 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4844 // This file is part of the GNU C Library. 4845 // 4846 // The GNU C Library is free software; you can redistribute it and/or 4847 // modify it under the terms of the GNU Lesser General Public 4848 // License as published by the Free Software Foundation; either 4849 // version 2.1 of the License, or (at your option) any later version. 4850 // 4851 // The GNU C Library is distributed in the hope that it will be useful, 4852 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4853 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4854 // Lesser General Public License for more details. 4855 // 4856 // You should have received a copy of the GNU Lesser General Public 4857 // License along with the GNU C Library; if not, see 4858 // <https://www.gnu.org/licenses/>. 4859 4860 // Never include this file directly; use <sys/types.h> instead. 4861 4862 type U_char = X__u_char /* types.h:33:18 */ 4863 type U_short = X__u_short /* types.h:34:19 */ 4864 type U_int = X__u_int /* types.h:35:17 */ 4865 type U_long = X__u_long /* types.h:36:18 */ 4866 type Quad_t = X__quad_t /* types.h:37:18 */ 4867 type U_quad_t = X__u_quad_t /* types.h:38:20 */ 4868 type Fsid_t = X__fsid_t /* types.h:39:18 */ 4869 type Loff_t = X__loff_t /* types.h:42:18 */ 4870 4871 type Ino_t = X__ino64_t /* types.h:49:19 */ 4872 4873 type Dev_t = X__dev_t /* types.h:59:17 */ 4874 4875 type Gid_t = X__gid_t /* types.h:64:17 */ 4876 4877 type Mode_t = X__mode_t /* types.h:69:18 */ 4878 4879 type Nlink_t = X__nlink_t /* types.h:74:19 */ 4880 4881 type Uid_t = X__uid_t /* types.h:79:17 */ 4882 4883 type Off_t = X__off64_t /* types.h:87:19 */ 4884 4885 type Pid_t = X__pid_t /* types.h:97:17 */ 4886 4887 type Id_t = X__id_t /* types.h:103:16 */ 4888 4889 type Ssize_t = X__ssize_t /* types.h:108:19 */ 4890 4891 type Daddr_t = X__daddr_t /* types.h:114:19 */ 4892 type Caddr_t = X__caddr_t /* types.h:115:19 */ 4893 4894 type Key_t = X__key_t /* types.h:121:17 */ 4895 4896 // bits/types.h -- definitions of __*_t types underlying *_t types. 4897 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4898 // This file is part of the GNU C Library. 4899 // 4900 // The GNU C Library is free software; you can redistribute it and/or 4901 // modify it under the terms of the GNU Lesser General Public 4902 // License as published by the Free Software Foundation; either 4903 // version 2.1 of the License, or (at your option) any later version. 4904 // 4905 // The GNU C Library is distributed in the hope that it will be useful, 4906 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4907 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4908 // Lesser General Public License for more details. 4909 // 4910 // You should have received a copy of the GNU Lesser General Public 4911 // License along with the GNU C Library; if not, see 4912 // <https://www.gnu.org/licenses/>. 4913 4914 // Never include this file directly; use <sys/types.h> instead. 4915 4916 // Returned by `clock'. 4917 type Clock_t = X__clock_t /* clock_t.h:7:19 */ 4918 4919 // bits/types.h -- definitions of __*_t types underlying *_t types. 4920 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4921 // This file is part of the GNU C Library. 4922 // 4923 // The GNU C Library is free software; you can redistribute it and/or 4924 // modify it under the terms of the GNU Lesser General Public 4925 // License as published by the Free Software Foundation; either 4926 // version 2.1 of the License, or (at your option) any later version. 4927 // 4928 // The GNU C Library is distributed in the hope that it will be useful, 4929 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4930 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4931 // Lesser General Public License for more details. 4932 // 4933 // You should have received a copy of the GNU Lesser General Public 4934 // License along with the GNU C Library; if not, see 4935 // <https://www.gnu.org/licenses/>. 4936 4937 // Never include this file directly; use <sys/types.h> instead. 4938 4939 // Clock ID used in clock and timer functions. 4940 type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */ 4941 4942 // bits/types.h -- definitions of __*_t types underlying *_t types. 4943 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4944 // This file is part of the GNU C Library. 4945 // 4946 // The GNU C Library is free software; you can redistribute it and/or 4947 // modify it under the terms of the GNU Lesser General Public 4948 // License as published by the Free Software Foundation; either 4949 // version 2.1 of the License, or (at your option) any later version. 4950 // 4951 // The GNU C Library is distributed in the hope that it will be useful, 4952 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4953 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4954 // Lesser General Public License for more details. 4955 // 4956 // You should have received a copy of the GNU Lesser General Public 4957 // License along with the GNU C Library; if not, see 4958 // <https://www.gnu.org/licenses/>. 4959 4960 // Never include this file directly; use <sys/types.h> instead. 4961 4962 // Returned by `time'. 4963 type Time_t = X__time_t /* time_t.h:7:18 */ 4964 4965 // bits/types.h -- definitions of __*_t types underlying *_t types. 4966 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4967 // This file is part of the GNU C Library. 4968 // 4969 // The GNU C Library is free software; you can redistribute it and/or 4970 // modify it under the terms of the GNU Lesser General Public 4971 // License as published by the Free Software Foundation; either 4972 // version 2.1 of the License, or (at your option) any later version. 4973 // 4974 // The GNU C Library is distributed in the hope that it will be useful, 4975 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4976 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4977 // Lesser General Public License for more details. 4978 // 4979 // You should have received a copy of the GNU Lesser General Public 4980 // License along with the GNU C Library; if not, see 4981 // <https://www.gnu.org/licenses/>. 4982 4983 // Never include this file directly; use <sys/types.h> instead. 4984 4985 // Timer ID returned by `timer_create'. 4986 type Timer_t = X__timer_t /* timer_t.h:7:19 */ 4987 4988 // Wide character type. 4989 // Locale-writers should change this as necessary to 4990 // be big enough to hold unique values not between 0 and 127, 4991 // and not (wchar_t) -1, for each defined multibyte character. 4992 4993 // Define this type if we are doing the whole job, 4994 // or if we want this type in particular. 4995 4996 // A null pointer constant. 4997 4998 // Old compatibility names for C types. 4999 type Ulong = uint32 /* types.h:148:27 */ 5000 type Ushort = uint16 /* types.h:149:28 */ 5001 type Uint = uint32 /* types.h:150:22 */ 5002 5003 // These size-specific names are used by some of the inet code. 5004 5005 // Define intN_t types. 5006 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5007 // This file is part of the GNU C Library. 5008 // 5009 // The GNU C Library is free software; you can redistribute it and/or 5010 // modify it under the terms of the GNU Lesser General Public 5011 // License as published by the Free Software Foundation; either 5012 // version 2.1 of the License, or (at your option) any later version. 5013 // 5014 // The GNU C Library is distributed in the hope that it will be useful, 5015 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5017 // Lesser General Public License for more details. 5018 // 5019 // You should have received a copy of the GNU Lesser General Public 5020 // License along with the GNU C Library; if not, see 5021 // <https://www.gnu.org/licenses/>. 5022 5023 // These were defined by ISO C without the first `_'. 5024 type U_int8_t = X__uint8_t /* types.h:158:19 */ 5025 type U_int16_t = X__uint16_t /* types.h:159:20 */ 5026 type U_int32_t = X__uint32_t /* types.h:160:20 */ 5027 type U_int64_t = X__uint64_t /* types.h:161:20 */ 5028 5029 type Register_t = int32 /* types.h:164:13 */ 5030 5031 // It also defines `fd_set' and the FD_* macros for `select'. 5032 // `fd_set' type and related macros, and `select'/`pselect' declarations. 5033 // Copyright (C) 1996-2020 Free Software Foundation, Inc. 5034 // This file is part of the GNU C Library. 5035 // 5036 // The GNU C Library is free software; you can redistribute it and/or 5037 // modify it under the terms of the GNU Lesser General Public 5038 // License as published by the Free Software Foundation; either 5039 // version 2.1 of the License, or (at your option) any later version. 5040 // 5041 // The GNU C Library is distributed in the hope that it will be useful, 5042 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5043 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5044 // Lesser General Public License for more details. 5045 // 5046 // You should have received a copy of the GNU Lesser General Public 5047 // License along with the GNU C Library; if not, see 5048 // <https://www.gnu.org/licenses/>. 5049 5050 // POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h> 5051 5052 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 5053 // This file is part of the GNU C Library. 5054 // 5055 // The GNU C Library is free software; you can redistribute it and/or 5056 // modify it under the terms of the GNU Lesser General Public 5057 // License as published by the Free Software Foundation; either 5058 // version 2.1 of the License, or (at your option) any later version. 5059 // 5060 // The GNU C Library is distributed in the hope that it will be useful, 5061 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5062 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5063 // Lesser General Public License for more details. 5064 // 5065 // You should have received a copy of the GNU Lesser General Public 5066 // License along with the GNU C Library; if not, see 5067 // <https://www.gnu.org/licenses/>. 5068 5069 // Get definition of needed basic types. 5070 // bits/types.h -- definitions of __*_t types underlying *_t types. 5071 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5072 // This file is part of the GNU C Library. 5073 // 5074 // The GNU C Library is free software; you can redistribute it and/or 5075 // modify it under the terms of the GNU Lesser General Public 5076 // License as published by the Free Software Foundation; either 5077 // version 2.1 of the License, or (at your option) any later version. 5078 // 5079 // The GNU C Library is distributed in the hope that it will be useful, 5080 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5081 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5082 // Lesser General Public License for more details. 5083 // 5084 // You should have received a copy of the GNU Lesser General Public 5085 // License along with the GNU C Library; if not, see 5086 // <https://www.gnu.org/licenses/>. 5087 5088 // Never include this file directly; use <sys/types.h> instead. 5089 5090 // Get __FD_* definitions. 5091 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 5092 // This file is part of the GNU C Library. 5093 // 5094 // The GNU C Library is free software; you can redistribute it and/or 5095 // modify it under the terms of the GNU Lesser General Public 5096 // License as published by the Free Software Foundation; either 5097 // version 2.1 of the License, or (at your option) any later version. 5098 // 5099 // The GNU C Library is distributed in the hope that it will be useful, 5100 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5101 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5102 // Lesser General Public License for more details. 5103 // 5104 // You should have received a copy of the GNU Lesser General Public 5105 // License along with the GNU C Library; if not, see 5106 // <https://www.gnu.org/licenses/>. 5107 5108 // Determine the wordsize from the preprocessor defines. 5109 5110 // Get sigset_t. 5111 5112 type X__sigset_t = struct{ F__val [32]uint32 } /* __sigset_t.h:8:3 */ 5113 5114 // A set of signals to be blocked, unblocked, or waited for. 5115 type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */ 5116 5117 // Get definition of timer specification structures. 5118 5119 // bits/types.h -- definitions of __*_t types underlying *_t types. 5120 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5121 // This file is part of the GNU C Library. 5122 // 5123 // The GNU C Library is free software; you can redistribute it and/or 5124 // modify it under the terms of the GNU Lesser General Public 5125 // License as published by the Free Software Foundation; either 5126 // version 2.1 of the License, or (at your option) any later version. 5127 // 5128 // The GNU C Library is distributed in the hope that it will be useful, 5129 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5130 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5131 // Lesser General Public License for more details. 5132 // 5133 // You should have received a copy of the GNU Lesser General Public 5134 // License along with the GNU C Library; if not, see 5135 // <https://www.gnu.org/licenses/>. 5136 5137 // Never include this file directly; use <sys/types.h> instead. 5138 5139 // A time value that is accurate to the nearest 5140 // microsecond but also has a range of years. 5141 type Timeval = struct { 5142 Ftv_sec X__time_t 5143 Ftv_usec X__suseconds_t 5144 } /* struct_timeval.h:8:1 */ 5145 5146 // NB: Include guard matches what <linux/time.h> uses. 5147 5148 // bits/types.h -- definitions of __*_t types underlying *_t types. 5149 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5150 // This file is part of the GNU C Library. 5151 // 5152 // The GNU C Library is free software; you can redistribute it and/or 5153 // modify it under the terms of the GNU Lesser General Public 5154 // License as published by the Free Software Foundation; either 5155 // version 2.1 of the License, or (at your option) any later version. 5156 // 5157 // The GNU C Library is distributed in the hope that it will be useful, 5158 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5159 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5160 // Lesser General Public License for more details. 5161 // 5162 // You should have received a copy of the GNU Lesser General Public 5163 // License along with the GNU C Library; if not, see 5164 // <https://www.gnu.org/licenses/>. 5165 5166 // Never include this file directly; use <sys/types.h> instead. 5167 5168 // Endian macros for string.h functions 5169 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 5170 // This file is part of the GNU C Library. 5171 // 5172 // The GNU C Library is free software; you can redistribute it and/or 5173 // modify it under the terms of the GNU Lesser General Public 5174 // License as published by the Free Software Foundation; either 5175 // version 2.1 of the License, or (at your option) any later version. 5176 // 5177 // The GNU C Library is distributed in the hope that it will be useful, 5178 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5179 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5180 // Lesser General Public License for more details. 5181 // 5182 // You should have received a copy of the GNU Lesser General Public 5183 // License along with the GNU C Library; if not, see 5184 // <http://www.gnu.org/licenses/>. 5185 5186 // POSIX.1b structure for a time value. This is like a `struct timeval' but 5187 // has nanoseconds instead of microseconds. 5188 type Timespec = struct { 5189 Ftv_sec X__time_t 5190 Ftv_nsec X__syscall_slong_t 5191 } /* struct_timespec.h:10:1 */ 5192 5193 type Suseconds_t = X__suseconds_t /* select.h:43:23 */ 5194 5195 // The fd_set member is required to be an array of longs. 5196 type X__fd_mask = int32 /* select.h:49:18 */ 5197 5198 // Some versions of <linux/posix_types.h> define this macros. 5199 // It's easier to assume 8-bit bytes than to get CHAR_BIT. 5200 5201 // fd_set for select and pselect. 5202 type Fd_set = struct{ F__fds_bits [32]X__fd_mask } /* select.h:70:5 */ 5203 5204 // Maximum number of file descriptors in `fd_set'. 5205 5206 // Sometimes the fd_set member is assumed to have this type. 5207 type Fd_mask = X__fd_mask /* select.h:77:19 */ 5208 5209 // Define some inlines helping to catch common problems. 5210 5211 type Blksize_t = X__blksize_t /* types.h:185:21 */ 5212 5213 // Types from the Large File Support interface. 5214 type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks. 5215 type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks. 5216 type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes. 5217 5218 // Now add the thread types. 5219 // Declaration of common pthread types for all architectures. 5220 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5221 // This file is part of the GNU C Library. 5222 // 5223 // The GNU C Library is free software; you can redistribute it and/or 5224 // modify it under the terms of the GNU Lesser General Public 5225 // License as published by the Free Software Foundation; either 5226 // version 2.1 of the License, or (at your option) any later version. 5227 // 5228 // The GNU C Library is distributed in the hope that it will be useful, 5229 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5230 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5231 // Lesser General Public License for more details. 5232 // 5233 // You should have received a copy of the GNU Lesser General Public 5234 // License along with the GNU C Library; if not, see 5235 // <https://www.gnu.org/licenses/>. 5236 5237 // For internal mutex and condition variable definitions. 5238 // Common threading primitives definitions for both POSIX and C11. 5239 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5240 // This file is part of the GNU C Library. 5241 // 5242 // The GNU C Library is free software; you can redistribute it and/or 5243 // modify it under the terms of the GNU Lesser General Public 5244 // License as published by the Free Software Foundation; either 5245 // version 2.1 of the License, or (at your option) any later version. 5246 // 5247 // The GNU C Library is distributed in the hope that it will be useful, 5248 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5249 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5250 // Lesser General Public License for more details. 5251 // 5252 // You should have received a copy of the GNU Lesser General Public 5253 // License along with the GNU C Library; if not, see 5254 // <https://www.gnu.org/licenses/>. 5255 5256 // Arch-specific definitions. Each architecture must define the following 5257 // macros to define the expected sizes of pthread data types: 5258 // 5259 // __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. 5260 // __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. 5261 // __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. 5262 // __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. 5263 // __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. 5264 // __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. 5265 // __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. 5266 // __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. 5267 // __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. 5268 // 5269 // The additional macro defines any constraint for the lock alignment 5270 // inside the thread structures: 5271 // 5272 // __LOCK_ALIGNMENT - for internal lock/futex usage. 5273 // 5274 // Same idea but for the once locking primitive: 5275 // 5276 // __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. 5277 5278 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5279 // This file is part of the GNU C Library. 5280 // 5281 // The GNU C Library is free software; you can redistribute it and/or 5282 // modify it under the terms of the GNU Lesser General Public 5283 // License as published by the Free Software Foundation; either 5284 // version 2.1 of the License, or (at your option) any later version. 5285 // 5286 // The GNU C Library is distributed in the hope that it will be useful, 5287 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5288 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5289 // Lesser General Public License for more details. 5290 // 5291 // You should have received a copy of the GNU Lesser General Public 5292 // License along with the GNU C Library; if not, see 5293 // <https://www.gnu.org/licenses/>. 5294 5295 // Determine the wordsize from the preprocessor defines. 5296 5297 // Extra attributes for the cleanup functions. 5298 5299 // Common definition of pthread_mutex_t. 5300 5301 type X__pthread_internal_list = struct { 5302 F__prev uintptr 5303 F__next uintptr 5304 } /* thread-shared-types.h:49:9 */ 5305 5306 // Type to count file system inodes. 5307 5308 // Now add the thread types. 5309 // Declaration of common pthread types for all architectures. 5310 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5311 // This file is part of the GNU C Library. 5312 // 5313 // The GNU C Library is free software; you can redistribute it and/or 5314 // modify it under the terms of the GNU Lesser General Public 5315 // License as published by the Free Software Foundation; either 5316 // version 2.1 of the License, or (at your option) any later version. 5317 // 5318 // The GNU C Library is distributed in the hope that it will be useful, 5319 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5320 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5321 // Lesser General Public License for more details. 5322 // 5323 // You should have received a copy of the GNU Lesser General Public 5324 // License along with the GNU C Library; if not, see 5325 // <https://www.gnu.org/licenses/>. 5326 5327 // For internal mutex and condition variable definitions. 5328 // Common threading primitives definitions for both POSIX and C11. 5329 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5330 // This file is part of the GNU C Library. 5331 // 5332 // The GNU C Library is free software; you can redistribute it and/or 5333 // modify it under the terms of the GNU Lesser General Public 5334 // License as published by the Free Software Foundation; either 5335 // version 2.1 of the License, or (at your option) any later version. 5336 // 5337 // The GNU C Library is distributed in the hope that it will be useful, 5338 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5339 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5340 // Lesser General Public License for more details. 5341 // 5342 // You should have received a copy of the GNU Lesser General Public 5343 // License along with the GNU C Library; if not, see 5344 // <https://www.gnu.org/licenses/>. 5345 5346 // Arch-specific definitions. Each architecture must define the following 5347 // macros to define the expected sizes of pthread data types: 5348 // 5349 // __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. 5350 // __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. 5351 // __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. 5352 // __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. 5353 // __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. 5354 // __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. 5355 // __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. 5356 // __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. 5357 // __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. 5358 // 5359 // The additional macro defines any constraint for the lock alignment 5360 // inside the thread structures: 5361 // 5362 // __LOCK_ALIGNMENT - for internal lock/futex usage. 5363 // 5364 // Same idea but for the once locking primitive: 5365 // 5366 // __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. 5367 5368 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5369 // This file is part of the GNU C Library. 5370 // 5371 // The GNU C Library is free software; you can redistribute it and/or 5372 // modify it under the terms of the GNU Lesser General Public 5373 // License as published by the Free Software Foundation; either 5374 // version 2.1 of the License, or (at your option) any later version. 5375 // 5376 // The GNU C Library is distributed in the hope that it will be useful, 5377 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5378 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5379 // Lesser General Public License for more details. 5380 // 5381 // You should have received a copy of the GNU Lesser General Public 5382 // License along with the GNU C Library; if not, see 5383 // <https://www.gnu.org/licenses/>. 5384 5385 // Determine the wordsize from the preprocessor defines. 5386 5387 // Extra attributes for the cleanup functions. 5388 5389 // Common definition of pthread_mutex_t. 5390 5391 type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */ 5392 5393 type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */ 5394 5395 type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */ 5396 5397 // Arch-specific mutex definitions. A generic implementation is provided 5398 // by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture 5399 // can override it by defining: 5400 // 5401 // 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t 5402 // definition). It should contains at least the internal members 5403 // defined in the generic version. 5404 // 5405 // 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with 5406 // atomic operations. 5407 // 5408 // 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization. 5409 // It should initialize the mutex internal flag. 5410 5411 // x86 internal mutex struct definitions. 5412 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 5413 // This file is part of the GNU C Library. 5414 // 5415 // The GNU C Library is free software; you can redistribute it and/or 5416 // modify it under the terms of the GNU Lesser General Public 5417 // License as published by the Free Software Foundation; either 5418 // version 2.1 of the License, or (at your option) any later version. 5419 // 5420 // The GNU C Library is distributed in the hope that it will be useful, 5421 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5422 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5423 // Lesser General Public License for more details. 5424 // 5425 // You should have received a copy of the GNU Lesser General Public 5426 // License along with the GNU C Library; if not, see 5427 // <http://www.gnu.org/licenses/>. 5428 5429 type X__pthread_mutex_s = struct { 5430 F__lock int32 5431 F__count uint32 5432 F__owner int32 5433 F__kind int32 5434 F__nusers uint32 5435 F__20 struct { 5436 F__ccgo_pad1 [0]uint32 5437 F__elision_data struct { 5438 F__espins int16 5439 F__eelision int16 5440 } 5441 } 5442 } /* struct_mutex.h:22:1 */ 5443 5444 // Arch-sepecific read-write lock definitions. A generic implementation is 5445 // provided by struct_rwlock.h. If required, an architecture can override it 5446 // by defining: 5447 // 5448 // 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition). 5449 // It should contain at least the internal members defined in the 5450 // generic version. 5451 // 5452 // 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization. 5453 // It should initialize the rwlock internal type. 5454 5455 // x86 internal rwlock struct definitions. 5456 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 5457 // 5458 // This file is part of the GNU C Library. 5459 // 5460 // The GNU C Library is free software; you can redistribute it and/or 5461 // modify it under the terms of the GNU Lesser General Public 5462 // License as published by the Free Software Foundation; either 5463 // version 2.1 of the License, or (at your option) any later version. 5464 // 5465 // The GNU C Library is distributed in the hope that it will be useful, 5466 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5467 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5468 // Lesser General Public License for more details. 5469 // 5470 // You should have received a copy of the GNU Lesser General Public 5471 // License along with the GNU C Library; if not, see 5472 // <http://www.gnu.org/licenses/>. 5473 5474 type X__pthread_rwlock_arch_t = struct { 5475 F__readers uint32 5476 F__writers uint32 5477 F__wrphase_futex uint32 5478 F__writers_futex uint32 5479 F__pad3 uint32 5480 F__pad4 uint32 5481 F__flags uint8 5482 F__shared uint8 5483 F__rwelision int8 5484 F__pad2 uint8 5485 F__cur_writer int32 5486 } /* struct_rwlock.h:23:1 */ 5487 5488 // Common definition of pthread_cond_t. 5489 5490 type X__pthread_cond_s = struct { 5491 F__0 struct{ F__wseq uint64 } 5492 F__8 struct{ F__g1_start uint64 } 5493 F__g_refs [2]uint32 5494 F__g_size [2]uint32 5495 F__g1_orig_size uint32 5496 F__wrefs uint32 5497 F__g_signals [2]uint32 5498 } /* thread-shared-types.h:92:1 */ 5499 5500 // Thread identifiers. The structure of the attribute type is not 5501 // exposed on purpose. 5502 type Pthread_t = uint32 /* pthreadtypes.h:27:27 */ 5503 5504 // Data structures for mutex handling. The structure of the attribute 5505 // type is not exposed on purpose. 5506 type Pthread_mutexattr_t = struct { 5507 F__ccgo_pad1 [0]uint32 5508 F__size [4]int8 5509 } /* pthreadtypes.h:36:3 */ 5510 5511 // Data structure for condition variable handling. The structure of 5512 // the attribute type is not exposed on purpose. 5513 type Pthread_condattr_t = struct { 5514 F__ccgo_pad1 [0]uint32 5515 F__size [4]int8 5516 } /* pthreadtypes.h:45:3 */ 5517 5518 // Keys for thread-specific data 5519 type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */ 5520 5521 // Once-only execution 5522 type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */ 5523 5524 type Pthread_attr_t1 = struct { 5525 F__ccgo_pad1 [0]uint32 5526 F__size [36]int8 5527 } /* pthreadtypes.h:56:1 */ 5528 5529 type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */ 5530 5531 type Pthread_mutex_t = struct{ F__data X__pthread_mutex_s } /* pthreadtypes.h:72:3 */ 5532 5533 type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */ 5534 5535 // Data structure for reader-writer lock variable handling. The 5536 // structure of the attribute type is deliberately not exposed. 5537 type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */ 5538 5539 type Pthread_rwlockattr_t = struct { 5540 F__ccgo_pad1 [0]uint32 5541 F__size [8]int8 5542 } /* pthreadtypes.h:97:3 */ 5543 5544 // POSIX spinlock data type. 5545 type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */ 5546 5547 // POSIX barriers data type. The structure of the type is 5548 // deliberately not exposed. 5549 type Pthread_barrier_t = struct { 5550 F__ccgo_pad1 [0]uint32 5551 F__size [20]int8 5552 } /* pthreadtypes.h:112:3 */ 5553 5554 type Pthread_barrierattr_t = struct { 5555 F__ccgo_pad1 [0]uint32 5556 F__size [4]int8 5557 } /* pthreadtypes.h:118:3 */ 5558 5559 // Definitions for the X window system likely to be used by applications 5560 5561 //********************************************************** 5562 // 5563 // Copyright 1987, 1998 The Open Group 5564 // 5565 // Permission to use, copy, modify, distribute, and sell this software and its 5566 // documentation for any purpose is hereby granted without fee, provided that 5567 // the above copyright notice appear in all copies and that both that 5568 // copyright notice and this permission notice appear in supporting 5569 // documentation. 5570 // 5571 // The above copyright notice and this permission notice shall be included in 5572 // all copies or substantial portions of the Software. 5573 // 5574 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5575 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 5576 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 5577 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 5578 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 5579 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 5580 // 5581 // Except as contained in this notice, the name of The Open Group shall not be 5582 // used in advertising or otherwise to promote the sale, use or other dealings 5583 // in this Software without prior written authorization from The Open Group. 5584 // 5585 // 5586 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 5587 // 5588 // All Rights Reserved 5589 // 5590 // Permission to use, copy, modify, and distribute this software and its 5591 // documentation for any purpose and without fee is hereby granted, 5592 // provided that the above copyright notice appear in all copies and that 5593 // both that copyright notice and this permission notice appear in 5594 // supporting documentation, and that the name of Digital not be 5595 // used in advertising or publicity pertaining to distribution of the 5596 // software without specific, written prior permission. 5597 // 5598 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 5599 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 5600 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 5601 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 5602 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 5603 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 5604 // SOFTWARE. 5605 // 5606 // ***************************************************************** 5607 5608 // Resources 5609 5610 // _XSERVER64 must ONLY be defined when compiling X server sources on 5611 // systems where unsigned long is not 32 bits, must NOT be used in 5612 // client or library code. 5613 type XID = uint32 /* X.h:66:23 */ 5614 type Mask = uint32 /* X.h:70:23 */ 5615 type Atom = uint32 /* X.h:74:23 */ // Also in Xdefs.h 5616 type VisualID = uint32 /* X.h:76:23 */ 5617 type Time = uint32 /* X.h:77:23 */ 5618 5619 type Window = XID /* X.h:96:13 */ 5620 type Drawable = XID /* X.h:97:13 */ 5621 type Font = XID /* X.h:100:13 */ 5622 type Pixmap = XID /* X.h:102:13 */ 5623 type Cursor = XID /* X.h:103:13 */ 5624 type Colormap = XID /* X.h:104:13 */ 5625 type GContext = XID /* X.h:105:13 */ 5626 type KeySym = XID /* X.h:106:13 */ 5627 5628 type KeyCode = uint8 /* X.h:108:23 */ 5629 5630 // A null pointer constant. 5631 5632 // Offset of member MEMBER in a struct of type TYPE. 5633 5634 // Type whose alignment is supported in every context and is at least 5635 // as great as that of any standard type not using alignment 5636 // specifiers. 5637 type Max_align_t = struct { 5638 F__max_align_ll int64 5639 F__max_align_ld float64 5640 F__max_align_f128 X__float128 5641 } /* stddef.h:426:3 */ 5642 5643 // API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in 5644 // November 2000. Its presence is indicated through the following macro. 5645 5646 // The Xlib structs are full of implicit padding to properly align members. 5647 // We can't clean that up without breaking ABI, so tell clang not to bother 5648 // complaining about it. 5649 5650 type XPointer = uintptr /* Xlib.h:80:14 */ 5651 5652 // macros for screen oriented applications (toolkit) 5653 5654 // Extensions need a way to hang private data on some structures. 5655 type X_XExtData = struct { 5656 Fnumber int32 5657 Fnext uintptr 5658 Ffree_private uintptr 5659 Fprivate_data XPointer 5660 } /* Xlib.h:148:9 */ 5661 5662 // macros for screen oriented applications (toolkit) 5663 5664 // Extensions need a way to hang private data on some structures. 5665 type XExtData = X_XExtData /* Xlib.h:155:3 */ 5666 5667 // This file contains structures used by the extension mechanism. 5668 type XExtCodes = struct { 5669 Fextension int32 5670 Fmajor_opcode int32 5671 Ffirst_event int32 5672 Ffirst_error int32 5673 } /* Xlib.h:165:3 */ 5674 5675 // Data structure for retrieving info about pixmap formats. 5676 5677 type XPixmapFormatValues = struct { 5678 Fdepth int32 5679 Fbits_per_pixel int32 5680 Fscanline_pad int32 5681 } /* Xlib.h:175:3 */ 5682 5683 // Data structure for setting graphics context. 5684 type XGCValues = struct { 5685 Ffunction int32 5686 Fplane_mask uint32 5687 Fforeground uint32 5688 Fbackground uint32 5689 Fline_width int32 5690 Fline_style int32 5691 Fcap_style int32 5692 Fjoin_style int32 5693 Ffill_style int32 5694 Ffill_rule int32 5695 Farc_mode int32 5696 Ftile Pixmap 5697 Fstipple Pixmap 5698 Fts_x_origin int32 5699 Fts_y_origin int32 5700 Ffont Font 5701 Fsubwindow_mode int32 5702 Fgraphics_exposures int32 5703 Fclip_x_origin int32 5704 Fclip_y_origin int32 5705 Fclip_mask Pixmap 5706 Fdash_offset int32 5707 Fdashes int8 5708 F__ccgo_pad1 [3]byte 5709 } /* Xlib.h:207:3 */ 5710 5711 // Graphics context. The contents of this structure are implementation 5712 // dependent. A GC should be treated as opaque by application code. 5713 5714 type X_XGC = struct { 5715 Fext_data uintptr 5716 Fgid GContext 5717 Frects int32 5718 Fdashes int32 5719 Fdirty uint32 5720 Fvalues XGCValues 5721 } /* Xlib.h:214:9 */ 5722 5723 // Graphics context. The contents of this structure are implementation 5724 // dependent. A GC should be treated as opaque by application code. 5725 5726 type GC = uintptr /* Xlib.h:222:1 */ 5727 5728 // Visual structure; contains information about colormapping possible. 5729 type Visual = struct { 5730 Fext_data uintptr 5731 Fvisualid VisualID 5732 Fclass int32 5733 Fred_mask uint32 5734 Fgreen_mask uint32 5735 Fblue_mask uint32 5736 Fbits_per_rgb int32 5737 Fmap_entries int32 5738 } /* Xlib.h:238:3 */ 5739 5740 // Depth structure; contains information for each possible depth. 5741 type Depth = struct { 5742 Fdepth int32 5743 Fnvisuals int32 5744 Fvisuals uintptr 5745 } /* Xlib.h:247:3 */ 5746 5747 // Information about the screen. The contents of this structure are 5748 // implementation dependent. A Screen should be treated as opaque 5749 // by application code. 5750 5751 type X_XDisplay = struct { 5752 Fext_data uintptr 5753 Ffree_funcs uintptr 5754 Ffd int32 5755 Fconn_checker int32 5756 Fproto_major_version int32 5757 Fproto_minor_version int32 5758 Fvendor uintptr 5759 Fresource_base XID 5760 Fresource_mask XID 5761 Fresource_id XID 5762 Fresource_shift int32 5763 Fresource_alloc uintptr 5764 Fbyte_order int32 5765 Fbitmap_unit int32 5766 Fbitmap_pad int32 5767 Fbitmap_bit_order int32 5768 Fnformats int32 5769 Fpixmap_format uintptr 5770 Fvnumber int32 5771 Frelease int32 5772 Fhead uintptr 5773 Ftail uintptr 5774 Fqlen int32 5775 Flast_request_read uint32 5776 Frequest uint32 5777 Flast_req uintptr 5778 Fbuffer uintptr 5779 Fbufptr uintptr 5780 Fbufmax uintptr 5781 Fmax_request_size uint32 5782 Fdb uintptr 5783 Fsynchandler uintptr 5784 Fdisplay_name uintptr 5785 Fdefault_screen int32 5786 Fnscreens int32 5787 Fscreens uintptr 5788 Fmotion_buffer uint32 5789 Fflags uint32 5790 Fmin_keycode int32 5791 Fmax_keycode int32 5792 Fkeysyms uintptr 5793 Fmodifiermap uintptr 5794 Fkeysyms_per_keycode int32 5795 Fxdefaults uintptr 5796 Fscratch_buffer uintptr 5797 Fscratch_length uint32 5798 Fext_number int32 5799 Fext_procs uintptr 5800 Fevent_vec [128]uintptr 5801 Fwire_vec [128]uintptr 5802 Flock_meaning KeySym 5803 Flock uintptr 5804 Fasync_handlers uintptr 5805 Fbigreq_size uint32 5806 Flock_fns uintptr 5807 Fidlist_alloc uintptr 5808 Fkey_bindings uintptr 5809 Fcursor_font Font 5810 Fatoms uintptr 5811 Fmode_switch uint32 5812 Fnum_lock uint32 5813 Fcontext_db uintptr 5814 Ferror_vec uintptr 5815 Fcms struct { 5816 FdefaultCCCs XPointer 5817 FclientCmaps XPointer 5818 FperVisualIntensityMaps XPointer 5819 } 5820 Fim_filters uintptr 5821 Fqfree uintptr 5822 Fnext_event_serial_num uint32 5823 Fflushes uintptr 5824 Fim_fd_info uintptr 5825 Fim_fd_length int32 5826 Fconn_watchers uintptr 5827 Fwatcher_count int32 5828 Ffiledes XPointer 5829 Fsavedsynchandler uintptr 5830 Fresource_max XID 5831 Fxcmisc_opcode int32 5832 Fxkb_info uintptr 5833 Ftrans_conn uintptr 5834 Fxcb uintptr 5835 Fnext_cookie uint32 5836 Fgeneric_event_vec [128]uintptr 5837 Fgeneric_event_copy_vec [128]uintptr 5838 Fcookiejar uintptr 5839 Flast_request_read_upper32bit uint32 5840 Frequest_upper32bit uint32 5841 Ferror_threads uintptr 5842 Fexit_handler XIOErrorExitHandler 5843 Fexit_handler_data uintptr 5844 } /* Xlib.h:255:1 */ 5845 5846 // Forward declare before use for C++ 5847 5848 type Screen = struct { 5849 Fext_data uintptr 5850 Fdisplay uintptr 5851 Froot Window 5852 Fwidth int32 5853 Fheight int32 5854 Fmwidth int32 5855 Fmheight int32 5856 Fndepths int32 5857 Fdepths uintptr 5858 Froot_depth int32 5859 Froot_visual uintptr 5860 Fdefault_gc GC 5861 Fcmap Colormap 5862 Fwhite_pixel uint32 5863 Fblack_pixel uint32 5864 Fmax_maps int32 5865 Fmin_maps int32 5866 Fbacking_store int32 5867 Fsave_unders int32 5868 Froot_input_mask int32 5869 } /* Xlib.h:275:3 */ 5870 5871 // Format structure; describes ZFormat data the screen will understand. 5872 type ScreenFormat = struct { 5873 Fext_data uintptr 5874 Fdepth int32 5875 Fbits_per_pixel int32 5876 Fscanline_pad int32 5877 } /* Xlib.h:285:3 */ 5878 5879 // Data structure for setting window attributes. 5880 type XSetWindowAttributes = struct { 5881 Fbackground_pixmap Pixmap 5882 Fbackground_pixel uint32 5883 Fborder_pixmap Pixmap 5884 Fborder_pixel uint32 5885 Fbit_gravity int32 5886 Fwin_gravity int32 5887 Fbacking_store int32 5888 Fbacking_planes uint32 5889 Fbacking_pixel uint32 5890 Fsave_under int32 5891 Fevent_mask int32 5892 Fdo_not_propagate_mask int32 5893 Foverride_redirect int32 5894 Fcolormap Colormap 5895 Fcursor Cursor 5896 } /* Xlib.h:306:3 */ 5897 5898 type XWindowAttributes = struct { 5899 Fx int32 5900 Fy int32 5901 Fwidth int32 5902 Fheight int32 5903 Fborder_width int32 5904 Fdepth int32 5905 Fvisual uintptr 5906 Froot Window 5907 Fclass int32 5908 Fbit_gravity int32 5909 Fwin_gravity int32 5910 Fbacking_store int32 5911 Fbacking_planes uint32 5912 Fbacking_pixel uint32 5913 Fsave_under int32 5914 Fcolormap Colormap 5915 Fmap_installed int32 5916 Fmap_state int32 5917 Fall_event_masks int32 5918 Fyour_event_mask int32 5919 Fdo_not_propagate_mask int32 5920 Foverride_redirect int32 5921 Fscreen uintptr 5922 } /* Xlib.h:334:3 */ 5923 5924 // Data structure for host setting; getting routines. 5925 // 5926 5927 type XHostAddress = struct { 5928 Ffamily int32 5929 Flength int32 5930 Faddress uintptr 5931 } /* Xlib.h:345:3 */ 5932 5933 // Data structure for ServerFamilyInterpreted addresses in host routines 5934 type XServerInterpretedAddress = struct { 5935 Ftypelength int32 5936 Fvaluelength int32 5937 Ftype uintptr 5938 Fvalue uintptr 5939 } /* Xlib.h:355:3 */ 5940 5941 // Data structure for "image" data, used by image manipulation routines. 5942 type X_XImage = struct { 5943 Fwidth int32 5944 Fheight int32 5945 Fxoffset int32 5946 Fformat int32 5947 Fdata uintptr 5948 Fbyte_order int32 5949 Fbitmap_unit int32 5950 Fbitmap_bit_order int32 5951 Fbitmap_pad int32 5952 Fdepth int32 5953 Fbytes_per_line int32 5954 Fbits_per_pixel int32 5955 Fred_mask uint32 5956 Fgreen_mask uint32 5957 Fblue_mask uint32 5958 Fobdata XPointer 5959 Ff struct { 5960 Fcreate_image uintptr 5961 Fdestroy_image uintptr 5962 Fget_pixel uintptr 5963 Fput_pixel uintptr 5964 Fsub_image uintptr 5965 Fadd_pixel uintptr 5966 } 5967 } /* Xlib.h:360:9 */ 5968 5969 // Data structure for "image" data, used by image manipulation routines. 5970 type Funcs = struct { 5971 Fcreate_image uintptr 5972 Fdestroy_image uintptr 5973 Fget_pixel uintptr 5974 Fput_pixel uintptr 5975 Fsub_image uintptr 5976 Fadd_pixel uintptr 5977 } /* Xlib.h:360:9 */ 5978 5979 // Data structure for "image" data, used by image manipulation routines. 5980 type XImage = X_XImage /* Xlib.h:394:3 */ 5981 5982 // Data structure for XReconfigureWindow 5983 type XWindowChanges = struct { 5984 Fx int32 5985 Fy int32 5986 Fwidth int32 5987 Fheight int32 5988 Fborder_width int32 5989 Fsibling Window 5990 Fstack_mode int32 5991 } /* Xlib.h:405:3 */ 5992 5993 // Data structure used by color operations 5994 type XColor = struct { 5995 Fpixel uint32 5996 Fred uint16 5997 Fgreen uint16 5998 Fblue uint16 5999 Fflags int8 6000 Fpad int8 6001 } /* Xlib.h:415:3 */ 6002 6003 // Data structures for graphics operations. On most machines, these are 6004 // congruent with the wire protocol structures, so reformatting the data 6005 // can be avoided on these architectures. 6006 type XSegment = struct { 6007 Fx1 int16 6008 Fy1 int16 6009 Fx2 int16 6010 Fy2 int16 6011 } /* Xlib.h:424:3 */ 6012 6013 type XPoint = struct { 6014 Fx int16 6015 Fy int16 6016 } /* Xlib.h:428:3 */ 6017 6018 type XRectangle = struct { 6019 Fx int16 6020 Fy int16 6021 Fwidth uint16 6022 Fheight uint16 6023 } /* Xlib.h:433:3 */ 6024 6025 type XArc = struct { 6026 Fx int16 6027 Fy int16 6028 Fwidth uint16 6029 Fheight uint16 6030 Fangle1 int16 6031 Fangle2 int16 6032 } /* Xlib.h:439:3 */ 6033 6034 // Data structure for XChangeKeyboardControl 6035 6036 type XKeyboardControl = struct { 6037 Fkey_click_percent int32 6038 Fbell_percent int32 6039 Fbell_pitch int32 6040 Fbell_duration int32 6041 Fled int32 6042 Fled_mode int32 6043 Fkey int32 6044 Fauto_repeat_mode int32 6045 } /* Xlib.h:453:3 */ 6046 6047 // Data structure for XGetKeyboardControl 6048 6049 type XKeyboardState = struct { 6050 Fkey_click_percent int32 6051 Fbell_percent int32 6052 Fbell_pitch uint32 6053 Fbell_duration uint32 6054 Fled_mask uint32 6055 Fglobal_auto_repeat int32 6056 Fauto_repeats [32]int8 6057 } /* Xlib.h:464:3 */ 6058 6059 // Data structure for XGetMotionEvents. 6060 6061 type XTimeCoord = struct { 6062 Ftime Time 6063 Fx int16 6064 Fy int16 6065 } /* Xlib.h:471:3 */ 6066 6067 // Data structure for X{Set,Get}ModifierMapping 6068 6069 type XModifierKeymap = struct { 6070 Fmax_keypermod int32 6071 Fmodifiermap uintptr 6072 } /* Xlib.h:478:3 */ 6073 6074 // Display datatype maintaining display specific data. 6075 // The contents of this structure are implementation dependent. 6076 // A Display should be treated as opaque by application code. 6077 type Display = X_XDisplay /* Xlib.h:487:26 */ 6078 6079 type X_XPrivDisplay = uintptr /* Xlib.h:550:1 */ 6080 6081 // Definitions of specific events. 6082 type XKeyEvent = struct { 6083 Ftype int32 6084 Fserial uint32 6085 Fsend_event int32 6086 Fdisplay uintptr 6087 Fwindow Window 6088 Froot Window 6089 Fsubwindow Window 6090 Ftime Time 6091 Fx int32 6092 Fy int32 6093 Fx_root int32 6094 Fy_root int32 6095 Fstate uint32 6096 Fkeycode uint32 6097 Fsame_screen int32 6098 } /* Xlib.h:571:3 */ 6099 type XKeyPressedEvent = XKeyEvent /* Xlib.h:572:19 */ 6100 type XKeyReleasedEvent = XKeyEvent /* Xlib.h:573:19 */ 6101 6102 type XButtonEvent = struct { 6103 Ftype int32 6104 Fserial uint32 6105 Fsend_event int32 6106 Fdisplay uintptr 6107 Fwindow Window 6108 Froot Window 6109 Fsubwindow Window 6110 Ftime Time 6111 Fx int32 6112 Fy int32 6113 Fx_root int32 6114 Fy_root int32 6115 Fstate uint32 6116 Fbutton uint32 6117 Fsame_screen int32 6118 } /* Xlib.h:589:3 */ 6119 type XButtonPressedEvent = XButtonEvent /* Xlib.h:590:22 */ 6120 type XButtonReleasedEvent = XButtonEvent /* Xlib.h:591:22 */ 6121 6122 type XMotionEvent = struct { 6123 Ftype int32 6124 Fserial uint32 6125 Fsend_event int32 6126 Fdisplay uintptr 6127 Fwindow Window 6128 Froot Window 6129 Fsubwindow Window 6130 Ftime Time 6131 Fx int32 6132 Fy int32 6133 Fx_root int32 6134 Fy_root int32 6135 Fstate uint32 6136 Fis_hint int8 6137 F__ccgo_pad1 [3]byte 6138 Fsame_screen int32 6139 } /* Xlib.h:607:3 */ 6140 type XPointerMovedEvent = XMotionEvent /* Xlib.h:608:22 */ 6141 6142 type XCrossingEvent = struct { 6143 Ftype int32 6144 Fserial uint32 6145 Fsend_event int32 6146 Fdisplay uintptr 6147 Fwindow Window 6148 Froot Window 6149 Fsubwindow Window 6150 Ftime Time 6151 Fx int32 6152 Fy int32 6153 Fx_root int32 6154 Fy_root int32 6155 Fmode int32 6156 Fdetail int32 6157 Fsame_screen int32 6158 Ffocus int32 6159 Fstate uint32 6160 } /* Xlib.h:630:3 */ 6161 type XEnterWindowEvent = XCrossingEvent /* Xlib.h:631:24 */ 6162 type XLeaveWindowEvent = XCrossingEvent /* Xlib.h:632:24 */ 6163 6164 type XFocusChangeEvent = struct { 6165 Ftype int32 6166 Fserial uint32 6167 Fsend_event int32 6168 Fdisplay uintptr 6169 Fwindow Window 6170 Fmode int32 6171 Fdetail int32 6172 } /* Xlib.h:648:3 */ 6173 type XFocusInEvent = XFocusChangeEvent /* Xlib.h:649:27 */ 6174 type XFocusOutEvent = XFocusChangeEvent /* Xlib.h:650:27 */ 6175 6176 // generated on EnterWindow and FocusIn when KeyMapState selected 6177 type XKeymapEvent = struct { 6178 Ftype int32 6179 Fserial uint32 6180 Fsend_event int32 6181 Fdisplay uintptr 6182 Fwindow Window 6183 Fkey_vector [32]int8 6184 } /* Xlib.h:660:3 */ 6185 6186 type XExposeEvent = struct { 6187 Ftype int32 6188 Fserial uint32 6189 Fsend_event int32 6190 Fdisplay uintptr 6191 Fwindow Window 6192 Fx int32 6193 Fy int32 6194 Fwidth int32 6195 Fheight int32 6196 Fcount int32 6197 } /* Xlib.h:671:3 */ 6198 6199 type XGraphicsExposeEvent = struct { 6200 Ftype int32 6201 Fserial uint32 6202 Fsend_event int32 6203 Fdisplay uintptr 6204 Fdrawable Drawable 6205 Fx int32 6206 Fy int32 6207 Fwidth int32 6208 Fheight int32 6209 Fcount int32 6210 Fmajor_code int32 6211 Fminor_code int32 6212 } /* Xlib.h:684:3 */ 6213 6214 type XNoExposeEvent = struct { 6215 Ftype int32 6216 Fserial uint32 6217 Fsend_event int32 6218 Fdisplay uintptr 6219 Fdrawable Drawable 6220 Fmajor_code int32 6221 Fminor_code int32 6222 } /* Xlib.h:694:3 */ 6223 6224 type XVisibilityEvent = struct { 6225 Ftype int32 6226 Fserial uint32 6227 Fsend_event int32 6228 Fdisplay uintptr 6229 Fwindow Window 6230 Fstate int32 6231 } /* Xlib.h:703:3 */ 6232 6233 type XCreateWindowEvent = struct { 6234 Ftype int32 6235 Fserial uint32 6236 Fsend_event int32 6237 Fdisplay uintptr 6238 Fparent Window 6239 Fwindow Window 6240 Fx int32 6241 Fy int32 6242 Fwidth int32 6243 Fheight int32 6244 Fborder_width int32 6245 Foverride_redirect int32 6246 } /* Xlib.h:716:3 */ 6247 6248 type XDestroyWindowEvent = struct { 6249 Ftype int32 6250 Fserial uint32 6251 Fsend_event int32 6252 Fdisplay uintptr 6253 Fevent Window 6254 Fwindow Window 6255 } /* Xlib.h:725:3 */ 6256 6257 type XUnmapEvent = struct { 6258 Ftype int32 6259 Fserial uint32 6260 Fsend_event int32 6261 Fdisplay uintptr 6262 Fevent Window 6263 Fwindow Window 6264 Ffrom_configure int32 6265 } /* Xlib.h:735:3 */ 6266 6267 type XMapEvent = struct { 6268 Ftype int32 6269 Fserial uint32 6270 Fsend_event int32 6271 Fdisplay uintptr 6272 Fevent Window 6273 Fwindow Window 6274 Foverride_redirect int32 6275 } /* Xlib.h:745:3 */ 6276 6277 type XMapRequestEvent = struct { 6278 Ftype int32 6279 Fserial uint32 6280 Fsend_event int32 6281 Fdisplay uintptr 6282 Fparent Window 6283 Fwindow Window 6284 } /* Xlib.h:754:3 */ 6285 6286 type XReparentEvent = struct { 6287 Ftype int32 6288 Fserial uint32 6289 Fsend_event int32 6290 Fdisplay uintptr 6291 Fevent Window 6292 Fwindow Window 6293 Fparent Window 6294 Fx int32 6295 Fy int32 6296 Foverride_redirect int32 6297 } /* Xlib.h:766:3 */ 6298 6299 type XConfigureEvent = struct { 6300 Ftype int32 6301 Fserial uint32 6302 Fsend_event int32 6303 Fdisplay uintptr 6304 Fevent Window 6305 Fwindow Window 6306 Fx int32 6307 Fy int32 6308 Fwidth int32 6309 Fheight int32 6310 Fborder_width int32 6311 Fabove Window 6312 Foverride_redirect int32 6313 } /* Xlib.h:780:3 */ 6314 6315 type XGravityEvent = struct { 6316 Ftype int32 6317 Fserial uint32 6318 Fsend_event int32 6319 Fdisplay uintptr 6320 Fevent Window 6321 Fwindow Window 6322 Fx int32 6323 Fy int32 6324 } /* Xlib.h:790:3 */ 6325 6326 type XResizeRequestEvent = struct { 6327 Ftype int32 6328 Fserial uint32 6329 Fsend_event int32 6330 Fdisplay uintptr 6331 Fwindow Window 6332 Fwidth int32 6333 Fheight int32 6334 } /* Xlib.h:799:3 */ 6335 6336 type XConfigureRequestEvent = struct { 6337 Ftype int32 6338 Fserial uint32 6339 Fsend_event int32 6340 Fdisplay uintptr 6341 Fparent Window 6342 Fwindow Window 6343 Fx int32 6344 Fy int32 6345 Fwidth int32 6346 Fheight int32 6347 Fborder_width int32 6348 Fabove Window 6349 Fdetail int32 6350 Fvalue_mask uint32 6351 } /* Xlib.h:814:3 */ 6352 6353 type XCirculateEvent = struct { 6354 Ftype int32 6355 Fserial uint32 6356 Fsend_event int32 6357 Fdisplay uintptr 6358 Fevent Window 6359 Fwindow Window 6360 Fplace int32 6361 } /* Xlib.h:824:3 */ 6362 6363 type XCirculateRequestEvent = struct { 6364 Ftype int32 6365 Fserial uint32 6366 Fsend_event int32 6367 Fdisplay uintptr 6368 Fparent Window 6369 Fwindow Window 6370 Fplace int32 6371 } /* Xlib.h:834:3 */ 6372 6373 type XPropertyEvent = struct { 6374 Ftype int32 6375 Fserial uint32 6376 Fsend_event int32 6377 Fdisplay uintptr 6378 Fwindow Window 6379 Fatom Atom 6380 Ftime Time 6381 Fstate int32 6382 } /* Xlib.h:845:3 */ 6383 6384 type XSelectionClearEvent = struct { 6385 Ftype int32 6386 Fserial uint32 6387 Fsend_event int32 6388 Fdisplay uintptr 6389 Fwindow Window 6390 Fselection Atom 6391 Ftime Time 6392 } /* Xlib.h:855:3 */ 6393 6394 type XSelectionRequestEvent = struct { 6395 Ftype int32 6396 Fserial uint32 6397 Fsend_event int32 6398 Fdisplay uintptr 6399 Fowner Window 6400 Frequestor Window 6401 Fselection Atom 6402 Ftarget Atom 6403 Fproperty Atom 6404 Ftime Time 6405 } /* Xlib.h:868:3 */ 6406 6407 type XSelectionEvent = struct { 6408 Ftype int32 6409 Fserial uint32 6410 Fsend_event int32 6411 Fdisplay uintptr 6412 Frequestor Window 6413 Fselection Atom 6414 Ftarget Atom 6415 Fproperty Atom 6416 Ftime Time 6417 } /* Xlib.h:880:3 */ 6418 6419 type XColormapEvent = struct { 6420 Ftype int32 6421 Fserial uint32 6422 Fsend_event int32 6423 Fdisplay uintptr 6424 Fwindow Window 6425 Fcolormap Colormap 6426 Fnew int32 6427 Fstate int32 6428 } /* Xlib.h:895:3 */ 6429 6430 type XClientMessageEvent = struct { 6431 Ftype int32 6432 Fserial uint32 6433 Fsend_event int32 6434 Fdisplay uintptr 6435 Fwindow Window 6436 Fmessage_type Atom 6437 Fformat int32 6438 Fdata struct { 6439 F__ccgo_pad1 [0]uint32 6440 Fb [20]int8 6441 } 6442 } /* Xlib.h:910:3 */ 6443 6444 type XMappingEvent = struct { 6445 Ftype int32 6446 Fserial uint32 6447 Fsend_event int32 6448 Fdisplay uintptr 6449 Fwindow Window 6450 Frequest int32 6451 Ffirst_keycode int32 6452 Fcount int32 6453 } /* Xlib.h:922:3 */ 6454 6455 type XErrorEvent = struct { 6456 Ftype int32 6457 Fdisplay uintptr 6458 Fresourceid XID 6459 Fserial uint32 6460 Ferror_code uint8 6461 Frequest_code uint8 6462 Fminor_code uint8 6463 F__ccgo_pad1 [1]byte 6464 } /* Xlib.h:932:3 */ 6465 6466 type XAnyEvent = struct { 6467 Ftype int32 6468 Fserial uint32 6469 Fsend_event int32 6470 Fdisplay uintptr 6471 Fwindow Window 6472 } /* Xlib.h:940:3 */ 6473 6474 // ************************************************************** 6475 // 6476 // 6477 // GenericEvent. This event is the standard event for all newer extensions. 6478 6479 type XGenericEvent = struct { 6480 Ftype int32 6481 Fserial uint32 6482 Fsend_event int32 6483 Fdisplay uintptr 6484 Fextension int32 6485 Fevtype int32 6486 } /* Xlib.h:956:7 */ 6487 6488 type XGenericEventCookie = struct { 6489 Ftype int32 6490 Fserial uint32 6491 Fsend_event int32 6492 Fdisplay uintptr 6493 Fextension int32 6494 Fevtype int32 6495 Fcookie uint32 6496 Fdata uintptr 6497 } /* Xlib.h:967:3 */ 6498 6499 // this union is defined so Xlib can always use the same sized 6500 // event structure internally, to avoid memory fragmentation. 6501 type X_XEvent = struct { 6502 Ftype int32 6503 F__ccgo_pad1 [92]byte 6504 } /* Xlib.h:255:1 */ 6505 6506 // this union is defined so Xlib can always use the same sized 6507 // event structure internally, to avoid memory fragmentation. 6508 type XEvent = X_XEvent /* Xlib.h:1009:3 */ 6509 6510 // per character font metric information. 6511 type XCharStruct = struct { 6512 Flbearing int16 6513 Frbearing int16 6514 Fwidth int16 6515 Fascent int16 6516 Fdescent int16 6517 Fattributes uint16 6518 } /* Xlib.h:1024:3 */ 6519 6520 // To allow arbitrary information with fonts, there are additional properties 6521 // returned. 6522 type XFontProp = struct { 6523 Fname Atom 6524 Fcard32 uint32 6525 } /* Xlib.h:1033:3 */ 6526 6527 type XFontStruct = struct { 6528 Fext_data uintptr 6529 Ffid Font 6530 Fdirection uint32 6531 Fmin_char_or_byte2 uint32 6532 Fmax_char_or_byte2 uint32 6533 Fmin_byte1 uint32 6534 Fmax_byte1 uint32 6535 Fall_chars_exist int32 6536 Fdefault_char uint32 6537 Fn_properties int32 6538 Fproperties uintptr 6539 Fmin_bounds XCharStruct 6540 Fmax_bounds XCharStruct 6541 Fper_char uintptr 6542 Fascent int32 6543 Fdescent int32 6544 } /* Xlib.h:1052:3 */ 6545 6546 // PolyText routines take these as arguments. 6547 type XTextItem = struct { 6548 Fchars uintptr 6549 Fnchars int32 6550 Fdelta int32 6551 Ffont Font 6552 } /* Xlib.h:1062:3 */ 6553 6554 type XChar2b = struct { 6555 Fbyte1 uint8 6556 Fbyte2 uint8 6557 } /* Xlib.h:1067:3 */ 6558 6559 type XTextItem16 = struct { 6560 Fchars uintptr 6561 Fnchars int32 6562 Fdelta int32 6563 Ffont Font 6564 } /* Xlib.h:1074:3 */ 6565 6566 type XEDataObject = struct{ Fdisplay uintptr } /* Xlib.h:1082:24 */ 6567 6568 type XFontSetExtents = struct { 6569 Fmax_ink_extent XRectangle 6570 Fmax_logical_extent XRectangle 6571 } /* Xlib.h:1087:3 */ 6572 6573 // unused: 6574 // typedef void (*XOMProc)(); 6575 // 6576 6577 type XOM = uintptr /* Xlib.h:1093:21 */ 6578 type XOC = uintptr /* Xlib.h:1094:21 */ 6579 type XFontSet = uintptr /* Xlib.h:1094:27 */ 6580 6581 type XmbTextItem = struct { 6582 Fchars uintptr 6583 Fnchars int32 6584 Fdelta int32 6585 Ffont_set XFontSet 6586 } /* Xlib.h:1101:3 */ 6587 6588 type XwcTextItem = struct { 6589 Fchars uintptr 6590 Fnchars int32 6591 Fdelta int32 6592 Ffont_set XFontSet 6593 } /* Xlib.h:1108:3 */ 6594 6595 type XOMCharSetList = struct { 6596 Fcharset_count int32 6597 Fcharset_list uintptr 6598 } /* Xlib.h:1124:3 */ 6599 6600 type XOrientation = uint32 /* Xlib.h:1132:3 */ 6601 6602 type XOMOrientation = struct { 6603 Fnum_orientation int32 6604 Forientation uintptr 6605 } /* Xlib.h:1137:3 */ 6606 6607 type XOMFontInfo = struct { 6608 Fnum_font int32 6609 Ffont_struct_list uintptr 6610 Ffont_name_list uintptr 6611 } /* Xlib.h:1143:3 */ 6612 6613 type XIM = uintptr /* Xlib.h:1145:21 */ 6614 type XIC = uintptr /* Xlib.h:1146:21 */ 6615 6616 type XIMProc = uintptr /* Xlib.h:1148:14 */ 6617 6618 type XICProc = uintptr /* Xlib.h:1154:14 */ 6619 6620 type XIDProc = uintptr /* Xlib.h:1160:14 */ 6621 6622 type XIMStyle = uint32 /* Xlib.h:1166:23 */ 6623 6624 type XIMStyles = struct { 6625 Fcount_styles uint16 6626 F__ccgo_pad1 [2]byte 6627 Fsupported_styles uintptr 6628 } /* Xlib.h:1171:3 */ 6629 6630 type XVaNestedList = uintptr /* Xlib.h:1233:14 */ 6631 6632 type XIMCallback = struct { 6633 Fclient_data XPointer 6634 Fcallback XIMProc 6635 } /* Xlib.h:1238:3 */ 6636 6637 type XICCallback = struct { 6638 Fclient_data XPointer 6639 Fcallback XICProc 6640 } /* Xlib.h:1243:3 */ 6641 6642 type XIMFeedback = uint32 /* Xlib.h:1245:23 */ 6643 6644 type X_XIMText = struct { 6645 Flength uint16 6646 F__ccgo_pad1 [2]byte 6647 Ffeedback uintptr 6648 Fencoding_is_wchar int32 6649 Fstring struct{ Fmulti_byte uintptr } 6650 } /* Xlib.h:1257:9 */ 6651 6652 type XIMText = X_XIMText /* Xlib.h:1265:3 */ 6653 6654 type XIMPreeditState = uint32 /* Xlib.h:1267:24 */ 6655 6656 type X_XIMPreeditStateNotifyCallbackStruct = struct{ Fstate XIMPreeditState } /* Xlib.h:1273:9 */ 6657 6658 type XIMPreeditStateNotifyCallbackStruct = X_XIMPreeditStateNotifyCallbackStruct /* Xlib.h:1275:3 */ 6659 6660 type XIMResetState = uint32 /* Xlib.h:1277:24 */ 6661 6662 type XIMStringConversionFeedback = uint32 /* Xlib.h:1282:23 */ 6663 6664 type X_XIMStringConversionText = struct { 6665 Flength uint16 6666 F__ccgo_pad1 [2]byte 6667 Ffeedback uintptr 6668 Fencoding_is_wchar int32 6669 Fstring struct{ Fmbs uintptr } 6670 } /* Xlib.h:1291:9 */ 6671 6672 type XIMStringConversionText = X_XIMStringConversionText /* Xlib.h:1299:3 */ 6673 6674 type XIMStringConversionPosition = uint16 /* Xlib.h:1301:24 */ 6675 6676 type XIMStringConversionType = uint16 /* Xlib.h:1303:24 */ 6677 6678 type XIMStringConversionOperation = uint16 /* Xlib.h:1310:24 */ 6679 6680 type XIMCaretDirection = uint32 /* Xlib.h:1323:3 */ 6681 6682 type X_XIMStringConversionCallbackStruct = struct { 6683 Fposition XIMStringConversionPosition 6684 F__ccgo_pad1 [2]byte 6685 Fdirection XIMCaretDirection 6686 Foperation XIMStringConversionOperation 6687 Ffactor uint16 6688 Ftext uintptr 6689 } /* Xlib.h:1325:9 */ 6690 6691 type XIMStringConversionCallbackStruct = X_XIMStringConversionCallbackStruct /* Xlib.h:1331:3 */ 6692 6693 type X_XIMPreeditDrawCallbackStruct = struct { 6694 Fcaret int32 6695 Fchg_first int32 6696 Fchg_length int32 6697 Ftext uintptr 6698 } /* Xlib.h:1333:9 */ 6699 6700 type XIMPreeditDrawCallbackStruct = X_XIMPreeditDrawCallbackStruct /* Xlib.h:1338:3 */ 6701 6702 type XIMCaretStyle = uint32 /* Xlib.h:1344:3 */ 6703 6704 type X_XIMPreeditCaretCallbackStruct = struct { 6705 Fposition int32 6706 Fdirection XIMCaretDirection 6707 Fstyle XIMCaretStyle 6708 } /* Xlib.h:1346:9 */ 6709 6710 type XIMPreeditCaretCallbackStruct = X_XIMPreeditCaretCallbackStruct /* Xlib.h:1350:3 */ 6711 6712 type XIMStatusDataType = uint32 /* Xlib.h:1355:3 */ 6713 6714 type X_XIMStatusDrawCallbackStruct = struct { 6715 Ftype XIMStatusDataType 6716 Fdata struct{ Ftext uintptr } 6717 } /* Xlib.h:1357:9 */ 6718 6719 type XIMStatusDrawCallbackStruct = X_XIMStatusDrawCallbackStruct /* Xlib.h:1363:3 */ 6720 6721 type X_XIMHotKeyTrigger = struct { 6722 Fkeysym KeySym 6723 Fmodifier int32 6724 Fmodifier_mask int32 6725 } /* Xlib.h:1365:9 */ 6726 6727 type XIMHotKeyTrigger = X_XIMHotKeyTrigger /* Xlib.h:1369:3 */ 6728 6729 type X_XIMHotKeyTriggers = struct { 6730 Fnum_hot_key int32 6731 Fkey uintptr 6732 } /* Xlib.h:1371:9 */ 6733 6734 type XIMHotKeyTriggers = X_XIMHotKeyTriggers /* Xlib.h:1374:3 */ 6735 6736 type XIMHotKeyState = uint32 /* Xlib.h:1376:24 */ 6737 6738 type XIMValuesList = struct { 6739 Fcount_values uint16 6740 F__ccgo_pad1 [2]byte 6741 Fsupported_values uintptr 6742 } /* Xlib.h:1384:3 */ 6743 6744 type XErrorHandler = uintptr /* Xlib.h:1843:13 */ 6745 6746 type XIOErrorHandler = uintptr /* Xlib.h:1853:13 */ 6747 6748 type XIOErrorExitHandler = uintptr /* Xlib.h:1861:14 */ 6749 6750 type XConnectionWatchProc = uintptr /* Xlib.h:3959:14 */ 6751 6752 // Definitions for the X window system used by server and c bindings 6753 6754 // This packet-construction scheme makes the following assumptions: 6755 // 6756 // 1. The compiler is able 6757 // to generate code which addresses one- and two-byte quantities. 6758 // In the worst case, this would be done with bit-fields. If bit-fields 6759 // are used it may be necessary to reorder the request fields in this file, 6760 // depending on the order in which the machine assigns bit fields to 6761 // machine words. There may also be a problem with sign extension, 6762 // as K+R specify that bitfields are always unsigned. 6763 // 6764 // 2. 2- and 4-byte fields in packet structures must be ordered by hand 6765 // such that they are naturally-aligned, so that no compiler will ever 6766 // insert padding bytes. 6767 // 6768 // 3. All packets are hand-padded to a multiple of 4 bytes, for 6769 // the same reason. 6770 6771 //********************************************************** 6772 // 6773 // Copyright 1987, 1998 The Open Group 6774 // 6775 // Permission to use, copy, modify, distribute, and sell this software and its 6776 // documentation for any purpose is hereby granted without fee, provided that 6777 // the above copyright notice appear in all copies and that both that 6778 // copyright notice and this permission notice appear in supporting 6779 // documentation. 6780 // 6781 // The above copyright notice and this permission notice shall be included in 6782 // all copies or substantial portions of the Software. 6783 // 6784 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6785 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6786 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 6787 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 6788 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 6789 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 6790 // 6791 // Except as contained in this notice, the name of The Open Group shall not be 6792 // used in advertising or otherwise to promote the sale, use or other dealings 6793 // in this Software without prior written authorization from The Open Group. 6794 // 6795 // 6796 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 6797 // 6798 // All Rights Reserved 6799 // 6800 // Permission to use, copy, modify, and distribute this software and its 6801 // documentation for any purpose and without fee is hereby granted, 6802 // provided that the above copyright notice appear in all copies and that 6803 // both that copyright notice and this permission notice appear in 6804 // supporting documentation, and that the name of Digital not be 6805 // used in advertising or publicity pertaining to distribution of the 6806 // software without specific, written prior permission. 6807 // 6808 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 6809 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 6810 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 6811 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 6812 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 6813 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 6814 // SOFTWARE. 6815 // 6816 // ***************************************************************** 6817 6818 //********************************************************** 6819 // 6820 // Copyright 1987, 1998 The Open Group 6821 // 6822 // Permission to use, copy, modify, distribute, and sell this software and its 6823 // documentation for any purpose is hereby granted without fee, provided that 6824 // the above copyright notice appear in all copies and that both that 6825 // copyright notice and this permission notice appear in supporting 6826 // documentation. 6827 // 6828 // The above copyright notice and this permission notice shall be included in 6829 // all copies or substantial portions of the Software. 6830 // 6831 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6832 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6833 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 6834 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 6835 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 6836 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 6837 // 6838 // Except as contained in this notice, the name of The Open Group shall not be 6839 // used in advertising or otherwise to promote the sale, use or other dealings 6840 // in this Software without prior written authorization from The Open Group. 6841 // 6842 // 6843 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 6844 // 6845 // All Rights Reserved 6846 // 6847 // Permission to use, copy, modify, and distribute this software and its 6848 // documentation for any purpose and without fee is hereby granted, 6849 // provided that the above copyright notice appear in all copies and that 6850 // both that copyright notice and this permission notice appear in 6851 // supporting documentation, and that the name of Digital not be 6852 // used in advertising or publicity pertaining to distribution of the 6853 // software without specific, written prior permission. 6854 // 6855 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 6856 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 6857 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 6858 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 6859 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 6860 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 6861 // SOFTWARE. 6862 // 6863 // ***************************************************************** 6864 // Xmd.h: MACHINE DEPENDENT DECLARATIONS. 6865 6866 // Special per-machine configuration flags. 6867 6868 // Definition of macro used to set constants for size of network structures; 6869 // machines with preprocessors that can't handle all of the sz_ symbols 6870 // can define this macro to be sizeof(x) if and only if their compiler doesn't 6871 // pad out structures (esp. the xTextElt structure which contains only two 6872 // one-byte fields). Network structures should always define sz_symbols. 6873 // 6874 // The sz_ prefix is used instead of something more descriptive so that the 6875 // symbols are no more than 32 characters long (which causes problems for some 6876 // compilers and preprocessors). 6877 // 6878 // The extra indirection is to get macro arguments to expand correctly before 6879 // the concatenation, rather than afterward. 6880 6881 // Bitfield suffixes for the protocol structure elements, if you 6882 // need them. Note that bitfields are not guaranteed to be signed 6883 // (or even unsigned) according to ANSI C. 6884 type INT32 = int32 /* Xmd.h:100:14 */ 6885 type INT16 = int16 /* Xmd.h:102:15 */ 6886 6887 type INT8 = int8 /* Xmd.h:104:24 */ 6888 6889 type CARD64 = uint64 /* Xmd.h:110:28 */ 6890 type CARD32 = uint32 /* Xmd.h:111:23 */ 6891 type CARD16 = uint16 /* Xmd.h:113:24 */ 6892 type CARD8 = uint8 /* Xmd.h:114:24 */ 6893 6894 type BITS32 = CARD32 /* Xmd.h:116:17 */ 6895 type BITS16 = CARD16 /* Xmd.h:117:17 */ 6896 6897 type BYTE = CARD8 /* Xmd.h:119:16 */ 6898 type BOOL = CARD8 /* Xmd.h:120:16 */ 6899 6900 // was definitions for sign-extending bitfields on architectures without 6901 // native types smaller than 64-bit, now just backwards compatibility 6902 6903 // this version should leave result of type (t *), but that should only be 6904 // used when not in MUSTCOPY 6905 6906 //********************************************************** 6907 // 6908 // Copyright 1987, 1998 The Open Group 6909 // 6910 // Permission to use, copy, modify, distribute, and sell this software and its 6911 // documentation for any purpose is hereby granted without fee, provided that 6912 // the above copyright notice appear in all copies and that both that 6913 // copyright notice and this permission notice appear in supporting 6914 // documentation. 6915 // 6916 // The above copyright notice and this permission notice shall be included in 6917 // all copies or substantial portions of the Software. 6918 // 6919 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6920 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6921 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 6922 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 6923 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 6924 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 6925 // 6926 // Except as contained in this notice, the name of The Open Group shall not be 6927 // used in advertising or otherwise to promote the sale, use or other dealings 6928 // in this Software without prior written authorization from The Open Group. 6929 // 6930 // 6931 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 6932 // 6933 // All Rights Reserved 6934 // 6935 // Permission to use, copy, modify, and distribute this software and its 6936 // documentation for any purpose and without fee is hereby granted, 6937 // provided that the above copyright notice appear in all copies and that 6938 // both that copyright notice and this permission notice appear in 6939 // supporting documentation, and that the name of Digital not be 6940 // used in advertising or publicity pertaining to distribution of the 6941 // software without specific, written prior permission. 6942 // 6943 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 6944 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 6945 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 6946 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 6947 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 6948 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 6949 // SOFTWARE. 6950 // 6951 // ***************************************************************** 6952 //********************************************************** 6953 // 6954 // Copyright 1987, 1998 The Open Group 6955 // 6956 // Permission to use, copy, modify, distribute, and sell this software and its 6957 // documentation for any purpose is hereby granted without fee, provided that 6958 // the above copyright notice appear in all copies and that both that 6959 // copyright notice and this permission notice appear in supporting 6960 // documentation. 6961 // 6962 // The above copyright notice and this permission notice shall be included in 6963 // all copies or substantial portions of the Software. 6964 // 6965 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6966 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6967 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 6968 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 6969 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 6970 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 6971 // 6972 // Except as contained in this notice, the name of The Open Group shall not be 6973 // used in advertising or otherwise to promote the sale, use or other dealings 6974 // in this Software without prior written authorization from The Open Group. 6975 // 6976 // 6977 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 6978 // 6979 // All Rights Reserved 6980 // 6981 // Permission to use, copy, modify, and distribute this software and its 6982 // documentation for any purpose and without fee is hereby granted, 6983 // provided that the above copyright notice appear in all copies and that 6984 // both that copyright notice and this permission notice appear in 6985 // supporting documentation, and that the name of Digital not be 6986 // used in advertising or publicity pertaining to distribution of the 6987 // software without specific, written prior permission. 6988 // 6989 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 6990 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 6991 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 6992 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 6993 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 6994 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 6995 // SOFTWARE. 6996 // 6997 // ***************************************************************** 6998 6999 // Used by PolySegment 7000 7001 type X_xSegment = struct { 7002 Fx1 INT16 7003 Fy1 INT16 7004 Fx2 INT16 7005 Fy2 INT16 7006 } /* Xprotostr.h:54:9 */ 7007 7008 // was definitions for sign-extending bitfields on architectures without 7009 // native types smaller than 64-bit, now just backwards compatibility 7010 7011 // this version should leave result of type (t *), but that should only be 7012 // used when not in MUSTCOPY 7013 7014 //********************************************************** 7015 // 7016 // Copyright 1987, 1998 The Open Group 7017 // 7018 // Permission to use, copy, modify, distribute, and sell this software and its 7019 // documentation for any purpose is hereby granted without fee, provided that 7020 // the above copyright notice appear in all copies and that both that 7021 // copyright notice and this permission notice appear in supporting 7022 // documentation. 7023 // 7024 // The above copyright notice and this permission notice shall be included in 7025 // all copies or substantial portions of the Software. 7026 // 7027 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7028 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7029 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7030 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7031 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7032 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7033 // 7034 // Except as contained in this notice, the name of The Open Group shall not be 7035 // used in advertising or otherwise to promote the sale, use or other dealings 7036 // in this Software without prior written authorization from The Open Group. 7037 // 7038 // 7039 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7040 // 7041 // All Rights Reserved 7042 // 7043 // Permission to use, copy, modify, and distribute this software and its 7044 // documentation for any purpose and without fee is hereby granted, 7045 // provided that the above copyright notice appear in all copies and that 7046 // both that copyright notice and this permission notice appear in 7047 // supporting documentation, and that the name of Digital not be 7048 // used in advertising or publicity pertaining to distribution of the 7049 // software without specific, written prior permission. 7050 // 7051 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7052 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7053 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7054 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7055 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7056 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7057 // SOFTWARE. 7058 // 7059 // ***************************************************************** 7060 //********************************************************** 7061 // 7062 // Copyright 1987, 1998 The Open Group 7063 // 7064 // Permission to use, copy, modify, distribute, and sell this software and its 7065 // documentation for any purpose is hereby granted without fee, provided that 7066 // the above copyright notice appear in all copies and that both that 7067 // copyright notice and this permission notice appear in supporting 7068 // documentation. 7069 // 7070 // The above copyright notice and this permission notice shall be included in 7071 // all copies or substantial portions of the Software. 7072 // 7073 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7074 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7075 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7076 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7077 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7078 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7079 // 7080 // Except as contained in this notice, the name of The Open Group shall not be 7081 // used in advertising or otherwise to promote the sale, use or other dealings 7082 // in this Software without prior written authorization from The Open Group. 7083 // 7084 // 7085 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7086 // 7087 // All Rights Reserved 7088 // 7089 // Permission to use, copy, modify, and distribute this software and its 7090 // documentation for any purpose and without fee is hereby granted, 7091 // provided that the above copyright notice appear in all copies and that 7092 // both that copyright notice and this permission notice appear in 7093 // supporting documentation, and that the name of Digital not be 7094 // used in advertising or publicity pertaining to distribution of the 7095 // software without specific, written prior permission. 7096 // 7097 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7098 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7099 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7100 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7101 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7102 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7103 // SOFTWARE. 7104 // 7105 // ***************************************************************** 7106 7107 // Used by PolySegment 7108 7109 type XSegment1 = X_xSegment /* Xprotostr.h:56:3 */ 7110 7111 // POINT 7112 7113 type X_xPoint = struct { 7114 Fx INT16 7115 Fy INT16 7116 } /* Xprotostr.h:60:9 */ 7117 7118 // POINT 7119 7120 type XPoint1 = X_xPoint /* Xprotostr.h:62:3 */ 7121 7122 type X_xRectangle = struct { 7123 Fx INT16 7124 Fy INT16 7125 Fwidth CARD16 7126 Fheight CARD16 7127 } /* Xprotostr.h:64:9 */ 7128 7129 type XRectangle1 = X_xRectangle /* Xprotostr.h:67:3 */ 7130 7131 // ARC 7132 7133 type X_xArc = struct { 7134 Fx INT16 7135 Fy INT16 7136 Fwidth CARD16 7137 Fheight CARD16 7138 Fangle1 INT16 7139 Fangle2 INT16 7140 } /* Xprotostr.h:71:9 */ 7141 7142 // ARC 7143 7144 type XArc1 = X_xArc /* Xprotostr.h:75:3 */ 7145 7146 // Define constants for the sizes of the network packets. The sz_ prefix is 7147 // used instead of something more descriptive so that the symbols are no more 7148 // than 32 characters in length (which causes problems for some compilers). 7149 7150 // For the purpose of the structure definitions in this file, 7151 // we must redefine the following types in terms of Xmd.h's types, which may 7152 // include bit fields. All of these are #undef'd at the end of this file, 7153 // restoring the definitions in X.h. 7154 7155 type KeyButMask = CARD16 /* Xproto.h:259:16 */ 7156 7157 //**************** 7158 // Connection setup structures. See Chapter 8: Connection Setup 7159 // of the X Window System Protocol specification for details. 7160 // **************** 7161 7162 // Client initiates handshake with this data, followed by the strings 7163 // for the auth protocol & data. 7164 type XConnClientPrefix = struct { 7165 FbyteOrder CARD8 7166 Fpad BYTE 7167 FmajorVersion CARD16 7168 FminorVersion CARD16 7169 FnbytesAuthProto CARD16 7170 FnbytesAuthString CARD16 7171 Fpad2 CARD16 7172 } /* Xproto.h:276:3 */ 7173 7174 // Server response to xConnClientPrefix. 7175 // 7176 // If success == Success, this is followed by xConnSetup and 7177 // numRoots xWindowRoot structs. 7178 // 7179 // If success == Failure, this is followed by a reason string. 7180 // 7181 // The protocol also defines a case of success == Authenticate, but 7182 // that doesn't seem to have ever been implemented by the X Consortium. 7183 type XConnSetupPrefix = struct { 7184 Fsuccess CARD8 7185 FlengthReason BYTE 7186 FmajorVersion CARD16 7187 FminorVersion CARD16 7188 Flength CARD16 7189 } /* Xproto.h:294:3 */ 7190 7191 type XConnSetup = struct { 7192 Frelease CARD32 7193 FridBase CARD32 7194 FridMask CARD32 7195 FmotionBufferSize CARD32 7196 FnbytesVendor CARD16 7197 FmaxRequestSize CARD16 7198 FnumRoots CARD8 7199 FnumFormats CARD8 7200 FimageByteOrder CARD8 7201 FbitmapBitOrder CARD8 7202 FbitmapScanlineUnit CARD8 7203 FbitmapScanlinePad CARD8 7204 FminKeyCode CARD8 7205 FmaxKeyCode CARD8 7206 Fpad2 CARD32 7207 } /* Xproto.h:312:3 */ 7208 7209 type XPixmapFormat = struct { 7210 Fdepth CARD8 7211 FbitsPerPixel CARD8 7212 FscanLinePad CARD8 7213 Fpad1 CARD8 7214 Fpad2 CARD32 7215 } /* Xproto.h:320:3 */ 7216 7217 // window root 7218 7219 type XDepth = struct { 7220 Fdepth CARD8 7221 Fpad1 CARD8 7222 FnVisuals CARD16 7223 Fpad2 CARD32 7224 } /* Xproto.h:329:7 */ 7225 7226 type XVisualType = struct { 7227 FvisualID CARD32 7228 Fclass CARD8 7229 FbitsPerRGB CARD8 7230 FcolormapEntries CARD16 7231 FredMask CARD32 7232 FgreenMask CARD32 7233 FblueMask CARD32 7234 Fpad CARD32 7235 } /* Xproto.h:342:7 */ 7236 7237 type XWindowRoot = struct { 7238 FwindowId CARD32 7239 FdefaultColormap CARD32 7240 FwhitePixel CARD32 7241 FblackPixel CARD32 7242 FcurrentInputMask CARD32 7243 FpixWidth CARD16 7244 FpixHeight CARD16 7245 FmmWidth CARD16 7246 FmmHeight CARD16 7247 FminInstalledMaps CARD16 7248 FmaxInstalledMaps CARD16 7249 FrootVisualID CARD32 7250 FbackingStore CARD8 7251 FsaveUnders BOOL 7252 FrootDepth CARD8 7253 FnDepths CARD8 7254 } /* Xproto.h:357:3 */ 7255 7256 // **************************************************************** 7257 // 7258 // Structure Defns 7259 // Structures needed for replies 7260 // 7261 7262 // Used in GetMotionEvents 7263 7264 type XTimecoord = struct { 7265 Ftime CARD32 7266 Fx INT16 7267 Fy INT16 7268 } /* Xproto.h:370:3 */ 7269 7270 type XHostEntry = struct { 7271 Ffamily CARD8 7272 Fpad BYTE 7273 Flength CARD16 7274 } /* Xproto.h:376:3 */ 7275 7276 type XCharInfo = struct { 7277 FleftSideBearing INT16 7278 FrightSideBearing INT16 7279 FcharacterWidth INT16 7280 Fascent INT16 7281 Fdescent INT16 7282 Fattributes CARD16 7283 } /* Xproto.h:385:3 */ 7284 7285 type XFontProp1 = struct { 7286 Fname CARD32 7287 Fvalue CARD32 7288 } /* Xproto.h:390:3 */ 7289 7290 // non-aligned big-endian font ID follows this struct 7291 type XTextElt = struct { 7292 Flen CARD8 7293 Fdelta INT8 7294 } /* Xproto.h:399:3 */ 7295 7296 type XColorItem = struct { 7297 Fpixel CARD32 7298 Fred CARD16 7299 Fgreen CARD16 7300 Fblue CARD16 7301 Fflags CARD8 7302 Fpad CARD8 7303 } /* Xproto.h:407:3 */ 7304 7305 type Xrgb = struct { 7306 Fred CARD16 7307 Fgreen CARD16 7308 Fblue CARD16 7309 Fpad CARD16 7310 } /* Xproto.h:412:3 */ 7311 7312 type KEYCODE = CARD8 /* Xproto.h:414:15 */ 7313 7314 // **************** 7315 // 7316 // XRep: 7317 // meant to be 32 byte quantity 7318 // 7319 7320 // GenericReply is the common format of all replies. The "data" items 7321 // are specific to each individual reply type. 7322 7323 type XGenericReply = struct { 7324 Ftype BYTE 7325 Fdata1 BYTE 7326 FsequenceNumber CARD16 7327 Flength CARD32 7328 Fdata00 CARD32 7329 Fdata01 CARD32 7330 Fdata02 CARD32 7331 Fdata03 CARD32 7332 Fdata04 CARD32 7333 Fdata05 CARD32 7334 } /* Xproto.h:436:7 */ 7335 7336 // Individual reply formats. 7337 7338 type XGetWindowAttributesReply = struct { 7339 Ftype BYTE 7340 FbackingStore CARD8 7341 FsequenceNumber CARD16 7342 Flength CARD32 7343 FvisualID CARD32 7344 Fclass CARD16 7345 FbitGravity CARD8 7346 FwinGravity CARD8 7347 FbackingBitPlanes CARD32 7348 FbackingPixel CARD32 7349 FsaveUnder BOOL 7350 FmapInstalled BOOL 7351 FmapState CARD8 7352 Foverride BOOL 7353 Fcolormap CARD32 7354 FallEventMasks CARD32 7355 FyourEventMask CARD32 7356 FdoNotPropagateMask CARD16 7357 Fpad CARD16 7358 } /* Xproto.h:464:7 */ 7359 7360 type XGetGeometryReply = struct { 7361 Ftype BYTE 7362 Fdepth CARD8 7363 FsequenceNumber CARD16 7364 Flength CARD32 7365 Froot CARD32 7366 Fx INT16 7367 Fy INT16 7368 Fwidth CARD16 7369 Fheight CARD16 7370 FborderWidth CARD16 7371 Fpad1 CARD16 7372 Fpad2 CARD32 7373 Fpad3 CARD32 7374 } /* Xproto.h:478:7 */ 7375 7376 type XQueryTreeReply = struct { 7377 Ftype BYTE 7378 Fpad1 BYTE 7379 FsequenceNumber CARD16 7380 Flength CARD32 7381 Froot CARD32 7382 Fparent CARD32 7383 FnChildren CARD16 7384 Fpad2 CARD16 7385 Fpad3 CARD32 7386 Fpad4 CARD32 7387 Fpad5 CARD32 7388 } /* Xproto.h:491:7 */ 7389 7390 type XInternAtomReply = struct { 7391 Ftype BYTE 7392 Fpad1 BYTE 7393 FsequenceNumber CARD16 7394 Flength CARD32 7395 Fatom CARD32 7396 Fpad2 CARD32 7397 Fpad3 CARD32 7398 Fpad4 CARD32 7399 Fpad5 CARD32 7400 Fpad6 CARD32 7401 } /* Xproto.h:504:7 */ 7402 7403 type XGetAtomNameReply = struct { 7404 Ftype BYTE 7405 Fpad1 BYTE 7406 FsequenceNumber CARD16 7407 Flength CARD32 7408 FnameLength CARD16 7409 Fpad2 CARD16 7410 Fpad3 CARD32 7411 Fpad4 CARD32 7412 Fpad5 CARD32 7413 Fpad6 CARD32 7414 Fpad7 CARD32 7415 } /* Xproto.h:518:7 */ 7416 7417 type XGetPropertyReply = struct { 7418 Ftype BYTE 7419 Fformat CARD8 7420 FsequenceNumber CARD16 7421 Flength CARD32 7422 FpropertyType CARD32 7423 FbytesAfter CARD32 7424 FnItems CARD32 7425 Fpad1 CARD32 7426 Fpad2 CARD32 7427 Fpad3 CARD32 7428 } /* Xproto.h:531:7 */ 7429 7430 type XListPropertiesReply = struct { 7431 Ftype BYTE 7432 Fpad1 BYTE 7433 FsequenceNumber CARD16 7434 Flength CARD32 7435 FnProperties CARD16 7436 Fpad2 CARD16 7437 Fpad3 CARD32 7438 Fpad4 CARD32 7439 Fpad5 CARD32 7440 Fpad6 CARD32 7441 Fpad7 CARD32 7442 } /* Xproto.h:545:7 */ 7443 7444 type XGetSelectionOwnerReply = struct { 7445 Ftype BYTE 7446 Fpad1 BYTE 7447 FsequenceNumber CARD16 7448 Flength CARD32 7449 Fowner CARD32 7450 Fpad2 CARD32 7451 Fpad3 CARD32 7452 Fpad4 CARD32 7453 Fpad5 CARD32 7454 Fpad6 CARD32 7455 } /* Xproto.h:558:7 */ 7456 7457 type XGrabPointerReply = struct { 7458 Ftype BYTE 7459 Fstatus BYTE 7460 FsequenceNumber CARD16 7461 Flength CARD32 7462 Fpad1 CARD32 7463 Fpad2 CARD32 7464 Fpad3 CARD32 7465 Fpad4 CARD32 7466 Fpad5 CARD32 7467 Fpad6 CARD32 7468 } /* Xproto.h:571:7 */ 7469 7470 type XGrabKeyboardReply = XGrabPointerReply /* Xproto.h:573:27 */ 7471 7472 type XQueryPointerReply = struct { 7473 Ftype BYTE 7474 FsameScreen BOOL 7475 FsequenceNumber CARD16 7476 Flength CARD32 7477 Froot CARD32 7478 Fchild CARD32 7479 FrootX INT16 7480 FrootY INT16 7481 FwinX INT16 7482 FwinY INT16 7483 Fmask CARD16 7484 Fpad1 CARD16 7485 Fpad CARD32 7486 } /* Xproto.h:585:7 */ 7487 7488 type XGetMotionEventsReply = struct { 7489 Ftype BYTE 7490 Fpad1 BYTE 7491 FsequenceNumber CARD16 7492 Flength CARD32 7493 FnEvents CARD32 7494 Fpad2 CARD32 7495 Fpad3 CARD32 7496 Fpad4 CARD32 7497 Fpad5 CARD32 7498 Fpad6 CARD32 7499 } /* Xproto.h:598:7 */ 7500 7501 type XTranslateCoordsReply = struct { 7502 Ftype BYTE 7503 FsameScreen BOOL 7504 FsequenceNumber CARD16 7505 Flength CARD32 7506 Fchild CARD32 7507 FdstX INT16 7508 FdstY INT16 7509 Fpad2 CARD32 7510 Fpad3 CARD32 7511 Fpad4 CARD32 7512 Fpad5 CARD32 7513 } /* Xproto.h:611:7 */ 7514 7515 type XGetInputFocusReply = struct { 7516 Ftype BYTE 7517 FrevertTo CARD8 7518 FsequenceNumber CARD16 7519 Flength CARD32 7520 Ffocus CARD32 7521 Fpad1 CARD32 7522 Fpad2 CARD32 7523 Fpad3 CARD32 7524 Fpad4 CARD32 7525 Fpad5 CARD32 7526 } /* Xproto.h:624:7 */ 7527 7528 type XQueryKeymapReply = struct { 7529 Ftype BYTE 7530 Fpad1 BYTE 7531 FsequenceNumber CARD16 7532 Flength CARD32 7533 Fmap [32]BYTE 7534 } /* Xproto.h:632:7 */ 7535 7536 // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply 7537 type X_xQueryFontReply = struct { 7538 Ftype BYTE 7539 Fpad1 BYTE 7540 FsequenceNumber CARD16 7541 Flength CARD32 7542 FminBounds XCharInfo 7543 Fwalign1 CARD32 7544 FmaxBounds XCharInfo 7545 Fwalign2 CARD32 7546 FminCharOrByte2 CARD16 7547 FmaxCharOrByte2 CARD16 7548 FdefaultChar CARD16 7549 FnFontProps CARD16 7550 FdrawDirection CARD8 7551 FminByte1 CARD8 7552 FmaxByte1 CARD8 7553 FallCharsExist BOOL 7554 FfontAscent INT16 7555 FfontDescent INT16 7556 FnCharInfos CARD32 7557 } /* Xproto.h:635:9 */ 7558 7559 // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply 7560 type XQueryFontReply = X_xQueryFontReply /* Xproto.h:652:3 */ 7561 7562 type XQueryTextExtentsReply = struct { 7563 Ftype BYTE 7564 FdrawDirection CARD8 7565 FsequenceNumber CARD16 7566 Flength CARD32 7567 FfontAscent INT16 7568 FfontDescent INT16 7569 FoverallAscent INT16 7570 FoverallDescent INT16 7571 FoverallWidth INT32 7572 FoverallLeft INT32 7573 FoverallRight INT32 7574 Fpad CARD32 7575 } /* Xproto.h:663:7 */ 7576 7577 type XListFontsReply = struct { 7578 Ftype BYTE 7579 Fpad1 BYTE 7580 FsequenceNumber CARD16 7581 Flength CARD32 7582 FnFonts CARD16 7583 Fpad2 CARD16 7584 Fpad3 CARD32 7585 Fpad4 CARD32 7586 Fpad5 CARD32 7587 Fpad6 CARD32 7588 Fpad7 CARD32 7589 } /* Xproto.h:677:7 */ 7590 7591 // Warning: this MUST match (up to component renaming) xQueryFontReply 7592 type XListFontsWithInfoReply = struct { 7593 Ftype BYTE 7594 FnameLength CARD8 7595 FsequenceNumber CARD16 7596 Flength CARD32 7597 FminBounds XCharInfo 7598 Fwalign1 CARD32 7599 FmaxBounds XCharInfo 7600 Fwalign2 CARD32 7601 FminCharOrByte2 CARD16 7602 FmaxCharOrByte2 CARD16 7603 FdefaultChar CARD16 7604 FnFontProps CARD16 7605 FdrawDirection CARD8 7606 FminByte1 CARD8 7607 FmaxByte1 CARD8 7608 FallCharsExist BOOL 7609 FfontAscent INT16 7610 FfontDescent INT16 7611 FnReplies CARD32 7612 } /* Xproto.h:697:3 */ 7613 7614 type XGetFontPathReply = struct { 7615 Ftype BYTE 7616 Fpad1 BYTE 7617 FsequenceNumber CARD16 7618 Flength CARD32 7619 FnPaths CARD16 7620 Fpad2 CARD16 7621 Fpad3 CARD32 7622 Fpad4 CARD32 7623 Fpad5 CARD32 7624 Fpad6 CARD32 7625 Fpad7 CARD32 7626 } /* Xproto.h:711:7 */ 7627 7628 type XGetImageReply = struct { 7629 Ftype BYTE 7630 Fdepth CARD8 7631 FsequenceNumber CARD16 7632 Flength CARD32 7633 Fvisual CARD32 7634 Fpad3 CARD32 7635 Fpad4 CARD32 7636 Fpad5 CARD32 7637 Fpad6 CARD32 7638 Fpad7 CARD32 7639 } /* Xproto.h:724:7 */ 7640 7641 type XListInstalledColormapsReply = struct { 7642 Ftype BYTE 7643 Fpad1 BYTE 7644 FsequenceNumber CARD16 7645 Flength CARD32 7646 FnColormaps CARD16 7647 Fpad2 CARD16 7648 Fpad3 CARD32 7649 Fpad4 CARD32 7650 Fpad5 CARD32 7651 Fpad6 CARD32 7652 Fpad7 CARD32 7653 } /* Xproto.h:738:7 */ 7654 7655 type XAllocColorReply = struct { 7656 Ftype BYTE 7657 Fpad1 BYTE 7658 FsequenceNumber CARD16 7659 Flength CARD32 7660 Fred CARD16 7661 Fgreen CARD16 7662 Fblue CARD16 7663 Fpad2 CARD16 7664 Fpixel CARD32 7665 Fpad3 CARD32 7666 Fpad4 CARD32 7667 Fpad5 CARD32 7668 } /* Xproto.h:751:7 */ 7669 7670 type XAllocNamedColorReply = struct { 7671 Ftype BYTE 7672 Fpad1 BYTE 7673 FsequenceNumber CARD16 7674 Flength CARD32 7675 Fpixel CARD32 7676 FexactRed CARD16 7677 FexactGreen CARD16 7678 FexactBlue CARD16 7679 FscreenRed CARD16 7680 FscreenGreen CARD16 7681 FscreenBlue CARD16 7682 Fpad2 CARD32 7683 Fpad3 CARD32 7684 } /* Xproto.h:763:7 */ 7685 7686 type XAllocColorCellsReply = struct { 7687 Ftype BYTE 7688 Fpad1 BYTE 7689 FsequenceNumber CARD16 7690 Flength CARD32 7691 FnPixels CARD16 7692 FnMasks CARD16 7693 Fpad3 CARD32 7694 Fpad4 CARD32 7695 Fpad5 CARD32 7696 Fpad6 CARD32 7697 Fpad7 CARD32 7698 } /* Xproto.h:776:7 */ 7699 7700 type XAllocColorPlanesReply = struct { 7701 Ftype BYTE 7702 Fpad1 BYTE 7703 FsequenceNumber CARD16 7704 Flength CARD32 7705 FnPixels CARD16 7706 Fpad2 CARD16 7707 FredMask CARD32 7708 FgreenMask CARD32 7709 FblueMask CARD32 7710 Fpad3 CARD32 7711 Fpad4 CARD32 7712 } /* Xproto.h:788:7 */ 7713 7714 type XQueryColorsReply = struct { 7715 Ftype BYTE 7716 Fpad1 BYTE 7717 FsequenceNumber CARD16 7718 Flength CARD32 7719 FnColors CARD16 7720 Fpad2 CARD16 7721 Fpad3 CARD32 7722 Fpad4 CARD32 7723 Fpad5 CARD32 7724 Fpad6 CARD32 7725 Fpad7 CARD32 7726 } /* Xproto.h:802:7 */ 7727 7728 type XLookupColorReply = struct { 7729 Ftype BYTE 7730 Fpad1 BYTE 7731 FsequenceNumber CARD16 7732 Flength CARD32 7733 FexactRed CARD16 7734 FexactGreen CARD16 7735 FexactBlue CARD16 7736 FscreenRed CARD16 7737 FscreenGreen CARD16 7738 FscreenBlue CARD16 7739 Fpad3 CARD32 7740 Fpad4 CARD32 7741 Fpad5 CARD32 7742 } /* Xproto.h:814:7 */ 7743 7744 type XQueryBestSizeReply = struct { 7745 Ftype BYTE 7746 Fpad1 BYTE 7747 FsequenceNumber CARD16 7748 Flength CARD32 7749 Fwidth CARD16 7750 Fheight CARD16 7751 Fpad3 CARD32 7752 Fpad4 CARD32 7753 Fpad5 CARD32 7754 Fpad6 CARD32 7755 Fpad7 CARD32 7756 } /* Xproto.h:827:7 */ 7757 7758 type XQueryExtensionReply = struct { 7759 Ftype BYTE 7760 Fpad1 BYTE 7761 FsequenceNumber CARD16 7762 Flength CARD32 7763 Fpresent BOOL 7764 Fmajor_opcode CARD8 7765 Ffirst_event CARD8 7766 Ffirst_error CARD8 7767 Fpad3 CARD32 7768 Fpad4 CARD32 7769 Fpad5 CARD32 7770 Fpad6 CARD32 7771 Fpad7 CARD32 7772 } /* Xproto.h:843:7 */ 7773 7774 type XListExtensionsReply = struct { 7775 Ftype BYTE 7776 FnExtensions CARD8 7777 FsequenceNumber CARD16 7778 Flength CARD32 7779 Fpad2 CARD32 7780 Fpad3 CARD32 7781 Fpad4 CARD32 7782 Fpad5 CARD32 7783 Fpad6 CARD32 7784 Fpad7 CARD32 7785 } /* Xproto.h:856:7 */ 7786 7787 type XSetMappingReply = struct { 7788 Ftype BYTE 7789 Fsuccess CARD8 7790 FsequenceNumber CARD16 7791 Flength CARD32 7792 Fpad2 CARD32 7793 Fpad3 CARD32 7794 Fpad4 CARD32 7795 Fpad5 CARD32 7796 Fpad6 CARD32 7797 Fpad7 CARD32 7798 } /* Xproto.h:870:7 */ 7799 type XSetPointerMappingReply = XSetMappingReply /* Xproto.h:871:26 */ 7800 type XSetModifierMappingReply = XSetMappingReply /* Xproto.h:872:26 */ 7801 7802 type XGetPointerMappingReply = struct { 7803 Ftype BYTE 7804 FnElts CARD8 7805 FsequenceNumber CARD16 7806 Flength CARD32 7807 Fpad2 CARD32 7808 Fpad3 CARD32 7809 Fpad4 CARD32 7810 Fpad5 CARD32 7811 Fpad6 CARD32 7812 Fpad7 CARD32 7813 } /* Xproto.h:885:7 */ 7814 7815 type XGetKeyboardMappingReply = struct { 7816 Ftype BYTE 7817 FkeySymsPerKeyCode CARD8 7818 FsequenceNumber CARD16 7819 Flength CARD32 7820 Fpad2 CARD32 7821 Fpad3 CARD32 7822 Fpad4 CARD32 7823 Fpad5 CARD32 7824 Fpad6 CARD32 7825 Fpad7 CARD32 7826 } /* Xproto.h:898:3 */ 7827 7828 type XGetModifierMappingReply = struct { 7829 Ftype BYTE 7830 FnumKeyPerModifier CARD8 7831 FsequenceNumber CARD16 7832 Flength CARD32 7833 Fpad1 CARD32 7834 Fpad2 CARD32 7835 Fpad3 CARD32 7836 Fpad4 CARD32 7837 Fpad5 CARD32 7838 Fpad6 CARD32 7839 } /* Xproto.h:911:3 */ 7840 7841 type XGetKeyboardControlReply = struct { 7842 Ftype BYTE 7843 FglobalAutoRepeat BOOL 7844 FsequenceNumber CARD16 7845 Flength CARD32 7846 FledMask CARD32 7847 FkeyClickPercent CARD8 7848 FbellPercent CARD8 7849 FbellPitch CARD16 7850 FbellDuration CARD16 7851 Fpad CARD16 7852 Fmap [32]BYTE 7853 } /* Xproto.h:923:7 */ 7854 7855 type XGetPointerControlReply = struct { 7856 Ftype BYTE 7857 Fpad1 BYTE 7858 FsequenceNumber CARD16 7859 Flength CARD32 7860 FaccelNumerator CARD16 7861 FaccelDenominator CARD16 7862 Fthreshold CARD16 7863 Fpad2 CARD16 7864 Fpad3 CARD32 7865 Fpad4 CARD32 7866 Fpad5 CARD32 7867 Fpad6 CARD32 7868 } /* Xproto.h:937:7 */ 7869 7870 type XGetScreenSaverReply = struct { 7871 Ftype BYTE 7872 Fpad1 BYTE 7873 FsequenceNumber CARD16 7874 Flength CARD32 7875 Ftimeout CARD16 7876 Finterval CARD16 7877 FpreferBlanking BOOL 7878 FallowExposures BOOL 7879 Fpad2 CARD16 7880 Fpad3 CARD32 7881 Fpad4 CARD32 7882 Fpad5 CARD32 7883 Fpad6 CARD32 7884 } /* Xproto.h:952:7 */ 7885 7886 type XListHostsReply = struct { 7887 Ftype BYTE 7888 Fenabled BOOL 7889 FsequenceNumber CARD16 7890 Flength CARD32 7891 FnHosts CARD16 7892 Fpad1 CARD16 7893 Fpad3 CARD32 7894 Fpad4 CARD32 7895 Fpad5 CARD32 7896 Fpad6 CARD32 7897 Fpad7 CARD32 7898 } /* Xproto.h:966:7 */ 7899 7900 // **************************************************************** 7901 // 7902 // Xerror 7903 // All errors are 32 bytes 7904 // 7905 7906 type XError = struct { 7907 Ftype BYTE 7908 FerrorCode BYTE 7909 FsequenceNumber CARD16 7910 FresourceID CARD32 7911 FminorCode CARD16 7912 FmajorCode CARD8 7913 Fpad1 BYTE 7914 Fpad3 CARD32 7915 Fpad4 CARD32 7916 Fpad5 CARD32 7917 Fpad6 CARD32 7918 Fpad7 CARD32 7919 } /* Xproto.h:989:3 */ 7920 7921 // **************************************************************** 7922 // 7923 // xEvent 7924 // All events are 32 bytes 7925 // 7926 7927 type X_xEvent = struct { 7928 Fu struct { 7929 F__ccgo_pad1 [0]uint32 7930 Fu struct { 7931 Ftype BYTE 7932 Fdetail BYTE 7933 FsequenceNumber CARD16 7934 } 7935 F__ccgo_pad2 [28]byte 7936 } 7937 } /* Xproto.h:996:9 */ 7938 7939 // **************************************************************** 7940 // 7941 // xEvent 7942 // All events are 32 bytes 7943 // 7944 7945 type XEvent1 = X_xEvent /* Xproto.h:1214:3 */ 7946 7947 // ******************************************************** 7948 // 7949 // 7950 // Generic event 7951 // 7952 // Those events are not part of the core protocol spec and can be used by 7953 // various extensions. 7954 // type is always GenericEvent 7955 // extension is the minor opcode of the extension the event belongs to. 7956 // evtype is the actual event type, unique __per extension__. 7957 // 7958 // GenericEvents can be longer than 32 bytes, with the length field 7959 // specifying the number of 4 byte blocks after the first 32 bytes. 7960 // 7961 // 7962 type XGenericEvent1 = struct { 7963 Ftype BYTE 7964 Fextension CARD8 7965 FsequenceNumber CARD16 7966 Flength CARD32 7967 Fevtype CARD16 7968 Fpad2 CARD16 7969 Fpad3 CARD32 7970 Fpad4 CARD32 7971 Fpad5 CARD32 7972 Fpad6 CARD32 7973 Fpad7 CARD32 7974 } /* Xproto.h:1244:3 */ 7975 7976 // KeymapNotify events are not included in the above union because they 7977 // are different from all other events: they do not have a "detail" 7978 // or "sequenceNumber", so there is room for a 248-bit key mask. 7979 7980 type XKeymapEvent1 = struct { 7981 Ftype BYTE 7982 Fmap [31]BYTE 7983 } /* Xproto.h:1255:7 */ 7984 7985 // XReply is the union of all the replies above whose "fixed part" 7986 // fits in 32 bytes. It does NOT include GetWindowAttributesReply, 7987 // QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply 7988 // ListFontsWithInfoReply 7989 7990 type XReply = struct{ Fgeneric XGenericReply } /* Xproto.h:1303:3 */ 7991 7992 // **************************************************************** 7993 // 7994 // REQUESTS 7995 // 7996 7997 // Request structure 7998 7999 type X_xReq = struct { 8000 FreqType CARD8 8001 Fdata CARD8 8002 Flength CARD16 8003 } /* Xproto.h:1314:9 */ 8004 8005 // **************************************************************** 8006 // 8007 // REQUESTS 8008 // 8009 8010 // Request structure 8011 8012 type XReq = X_xReq /* Xproto.h:1319:3 */ 8013 8014 // **************************************************************** 8015 // 8016 // structures that follow request. 8017 // 8018 8019 // ResourceReq is used for any request which has a resource ID 8020 // (or Atom or Time) as its one and only argument. 8021 8022 type XResourceReq = struct { 8023 FreqType CARD8 8024 Fpad BYTE 8025 Flength CARD16 8026 Fid CARD32 8027 } /* Xproto.h:1333:7 */ 8028 8029 type XCreateWindowReq = struct { 8030 FreqType CARD8 8031 Fdepth CARD8 8032 Flength CARD16 8033 Fwid CARD32 8034 Fparent CARD32 8035 Fx INT16 8036 Fy INT16 8037 Fwidth CARD16 8038 Fheight CARD16 8039 FborderWidth CARD16 8040 Fclass CARD16 8041 Fvisual CARD32 8042 Fmask CARD32 8043 } /* Xproto.h:1349:3 */ 8044 8045 type XChangeWindowAttributesReq = struct { 8046 FreqType CARD8 8047 Fpad BYTE 8048 Flength CARD16 8049 Fwindow CARD32 8050 FvalueMask CARD32 8051 } /* Xproto.h:1357:3 */ 8052 8053 type XChangeSaveSetReq = struct { 8054 FreqType CARD8 8055 Fmode BYTE 8056 Flength CARD16 8057 Fwindow CARD32 8058 } /* Xproto.h:1364:3 */ 8059 8060 type XReparentWindowReq = struct { 8061 FreqType CARD8 8062 Fpad BYTE 8063 Flength CARD16 8064 Fwindow CARD32 8065 Fparent CARD32 8066 Fx INT16 8067 Fy INT16 8068 } /* Xproto.h:1372:3 */ 8069 8070 type XConfigureWindowReq = struct { 8071 FreqType CARD8 8072 Fpad CARD8 8073 Flength CARD16 8074 Fwindow CARD32 8075 Fmask CARD16 8076 Fpad2 CARD16 8077 } /* Xproto.h:1381:3 */ 8078 8079 type XCirculateWindowReq = struct { 8080 FreqType CARD8 8081 Fdirection CARD8 8082 Flength CARD16 8083 Fwindow CARD32 8084 } /* Xproto.h:1388:3 */ 8085 8086 type XInternAtomReq = struct { 8087 FreqType CARD8 8088 FonlyIfExists BOOL 8089 Flength CARD16 8090 Fnbytes CARD16 8091 Fpad CARD16 8092 } /* Xproto.h:1396:3 */ 8093 8094 type XChangePropertyReq = struct { 8095 FreqType CARD8 8096 Fmode CARD8 8097 Flength CARD16 8098 Fwindow CARD32 8099 Fproperty CARD32 8100 Ftype CARD32 8101 Fformat CARD8 8102 Fpad [3]BYTE 8103 FnUnits CARD32 8104 } /* Xproto.h:1407:3 */ 8105 8106 type XDeletePropertyReq = struct { 8107 FreqType CARD8 8108 Fpad BYTE 8109 Flength CARD16 8110 Fwindow CARD32 8111 Fproperty CARD32 8112 } /* Xproto.h:1415:3 */ 8113 8114 type XGetPropertyReq = struct { 8115 FreqType CARD8 8116 Fdelete BOOL 8117 Flength CARD16 8118 Fwindow CARD32 8119 Fproperty CARD32 8120 Ftype CARD32 8121 FlongOffset CARD32 8122 FlongLength CARD32 8123 } /* Xproto.h:1429:3 */ 8124 8125 type XSetSelectionOwnerReq = struct { 8126 FreqType CARD8 8127 Fpad BYTE 8128 Flength CARD16 8129 Fwindow CARD32 8130 Fselection CARD32 8131 Ftime CARD32 8132 } /* Xproto.h:1438:3 */ 8133 8134 type XConvertSelectionReq = struct { 8135 FreqType CARD8 8136 Fpad BYTE 8137 Flength CARD16 8138 Frequestor CARD32 8139 Fselection CARD32 8140 Ftarget CARD32 8141 Fproperty CARD32 8142 Ftime CARD32 8143 } /* Xproto.h:1447:7 */ 8144 8145 type XSendEventReq = struct { 8146 FreqType CARD8 8147 Fpropagate BOOL 8148 Flength CARD16 8149 Fdestination CARD32 8150 FeventMask CARD32 8151 Fevent XEvent1 8152 } /* Xproto.h:1456:3 */ 8153 8154 type XGrabPointerReq = struct { 8155 FreqType CARD8 8156 FownerEvents BOOL 8157 Flength CARD16 8158 FgrabWindow CARD32 8159 FeventMask CARD16 8160 FpointerMode BYTE 8161 FkeyboardMode BYTE 8162 FconfineTo CARD32 8163 Fcursor CARD32 8164 Ftime CARD32 8165 } /* Xproto.h:1468:3 */ 8166 8167 type XGrabButtonReq = struct { 8168 FreqType CARD8 8169 FownerEvents BOOL 8170 Flength CARD16 8171 FgrabWindow CARD32 8172 FeventMask CARD16 8173 FpointerMode BYTE 8174 FkeyboardMode BYTE 8175 FconfineTo CARD32 8176 Fcursor CARD32 8177 Fbutton CARD8 8178 Fpad BYTE 8179 Fmodifiers CARD16 8180 } /* Xproto.h:1482:3 */ 8181 8182 type XUngrabButtonReq = struct { 8183 FreqType CARD8 8184 Fbutton CARD8 8185 Flength CARD16 8186 FgrabWindow CARD32 8187 Fmodifiers CARD16 8188 Fpad CARD16 8189 } /* Xproto.h:1491:3 */ 8190 8191 type XChangeActivePointerGrabReq = struct { 8192 FreqType CARD8 8193 Fpad BYTE 8194 Flength CARD16 8195 Fcursor CARD32 8196 Ftime CARD32 8197 FeventMask CARD16 8198 Fpad2 CARD16 8199 } /* Xproto.h:1501:3 */ 8200 8201 type XGrabKeyboardReq = struct { 8202 FreqType CARD8 8203 FownerEvents BOOL 8204 Flength CARD16 8205 FgrabWindow CARD32 8206 Ftime CARD32 8207 FpointerMode BYTE 8208 FkeyboardMode BYTE 8209 Fpad CARD16 8210 } /* Xproto.h:1511:3 */ 8211 8212 type XGrabKeyReq = struct { 8213 FreqType CARD8 8214 FownerEvents BOOL 8215 Flength CARD16 8216 FgrabWindow CARD32 8217 Fmodifiers CARD16 8218 Fkey CARD8 8219 FpointerMode BYTE 8220 FkeyboardMode BYTE 8221 Fpad1 BYTE 8222 Fpad2 BYTE 8223 Fpad3 BYTE 8224 } /* Xproto.h:1522:3 */ 8225 8226 type XUngrabKeyReq = struct { 8227 FreqType CARD8 8228 Fkey CARD8 8229 Flength CARD16 8230 FgrabWindow CARD32 8231 Fmodifiers CARD16 8232 Fpad CARD16 8233 } /* Xproto.h:1531:3 */ 8234 8235 type XAllowEventsReq = struct { 8236 FreqType CARD8 8237 Fmode CARD8 8238 Flength CARD16 8239 Ftime CARD32 8240 } /* Xproto.h:1538:3 */ 8241 8242 type XGetMotionEventsReq = struct { 8243 FreqType CARD8 8244 Fpad BYTE 8245 Flength CARD16 8246 Fwindow CARD32 8247 Fstart CARD32 8248 Fstop CARD32 8249 } /* Xproto.h:1546:3 */ 8250 8251 type XTranslateCoordsReq = struct { 8252 FreqType CARD8 8253 Fpad BYTE 8254 Flength CARD16 8255 FsrcWid CARD32 8256 FdstWid CARD32 8257 FsrcX INT16 8258 FsrcY INT16 8259 } /* Xproto.h:1554:3 */ 8260 8261 type XWarpPointerReq = struct { 8262 FreqType CARD8 8263 Fpad BYTE 8264 Flength CARD16 8265 FsrcWid CARD32 8266 FdstWid CARD32 8267 FsrcX INT16 8268 FsrcY INT16 8269 FsrcWidth CARD16 8270 FsrcHeight CARD16 8271 FdstX INT16 8272 FdstY INT16 8273 } /* Xproto.h:1564:3 */ 8274 8275 type XSetInputFocusReq = struct { 8276 FreqType CARD8 8277 FrevertTo CARD8 8278 Flength CARD16 8279 Ffocus CARD32 8280 Ftime CARD32 8281 } /* Xproto.h:1572:3 */ 8282 8283 type XOpenFontReq = struct { 8284 FreqType CARD8 8285 Fpad BYTE 8286 Flength CARD16 8287 Ffid CARD32 8288 Fnbytes CARD16 8289 Fpad1 BYTE 8290 Fpad2 BYTE 8291 } /* Xproto.h:1581:3 */ 8292 8293 type XQueryTextExtentsReq = struct { 8294 FreqType CARD8 8295 FoddLength BOOL 8296 Flength CARD16 8297 Ffid CARD32 8298 } /* Xproto.h:1588:7 */ 8299 8300 type XListFontsReq = struct { 8301 FreqType CARD8 8302 Fpad BYTE 8303 Flength CARD16 8304 FmaxNames CARD16 8305 Fnbytes CARD16 8306 } /* Xproto.h:1596:3 */ 8307 8308 type XListFontsWithInfoReq = XListFontsReq /* Xproto.h:1598:23 */ 8309 8310 type XSetFontPathReq = struct { 8311 FreqType CARD8 8312 Fpad BYTE 8313 Flength CARD16 8314 FnFonts CARD16 8315 Fpad1 BYTE 8316 Fpad2 BYTE 8317 } /* Xproto.h:1606:3 */ 8318 8319 type XCreatePixmapReq = struct { 8320 FreqType CARD8 8321 Fdepth CARD8 8322 Flength CARD16 8323 Fpid CARD32 8324 Fdrawable CARD32 8325 Fwidth CARD16 8326 Fheight CARD16 8327 } /* Xproto.h:1615:3 */ 8328 8329 type XCreateGCReq = struct { 8330 FreqType CARD8 8331 Fpad BYTE 8332 Flength CARD16 8333 Fgc CARD32 8334 Fdrawable CARD32 8335 Fmask CARD32 8336 } /* Xproto.h:1624:3 */ 8337 8338 type XChangeGCReq = struct { 8339 FreqType CARD8 8340 Fpad BYTE 8341 Flength CARD16 8342 Fgc CARD32 8343 Fmask CARD32 8344 } /* Xproto.h:1632:3 */ 8345 8346 type XCopyGCReq = struct { 8347 FreqType CARD8 8348 Fpad BYTE 8349 Flength CARD16 8350 FsrcGC CARD32 8351 FdstGC CARD32 8352 Fmask CARD32 8353 } /* Xproto.h:1640:3 */ 8354 8355 type XSetDashesReq = struct { 8356 FreqType CARD8 8357 Fpad BYTE 8358 Flength CARD16 8359 Fgc CARD32 8360 FdashOffset CARD16 8361 FnDashes CARD16 8362 } /* Xproto.h:1649:3 */ 8363 8364 type XSetClipRectanglesReq = struct { 8365 FreqType CARD8 8366 Fordering BYTE 8367 Flength CARD16 8368 Fgc CARD32 8369 FxOrigin INT16 8370 FyOrigin INT16 8371 } /* Xproto.h:1657:3 */ 8372 8373 type XClearAreaReq = struct { 8374 FreqType CARD8 8375 Fexposures BOOL 8376 Flength CARD16 8377 Fwindow CARD32 8378 Fx INT16 8379 Fy INT16 8380 Fwidth CARD16 8381 Fheight CARD16 8382 } /* Xproto.h:1666:3 */ 8383 8384 type XCopyAreaReq = struct { 8385 FreqType CARD8 8386 Fpad BYTE 8387 Flength CARD16 8388 FsrcDrawable CARD32 8389 FdstDrawable CARD32 8390 Fgc CARD32 8391 FsrcX INT16 8392 FsrcY INT16 8393 FdstX INT16 8394 FdstY INT16 8395 Fwidth CARD16 8396 Fheight CARD16 8397 } /* Xproto.h:1676:3 */ 8398 8399 type XCopyPlaneReq = struct { 8400 FreqType CARD8 8401 Fpad BYTE 8402 Flength CARD16 8403 FsrcDrawable CARD32 8404 FdstDrawable CARD32 8405 Fgc CARD32 8406 FsrcX INT16 8407 FsrcY INT16 8408 FdstX INT16 8409 FdstY INT16 8410 Fwidth CARD16 8411 Fheight CARD16 8412 FbitPlane CARD32 8413 } /* Xproto.h:1687:3 */ 8414 8415 type XPolyPointReq = struct { 8416 FreqType CARD8 8417 FcoordMode BYTE 8418 Flength CARD16 8419 Fdrawable CARD32 8420 Fgc CARD32 8421 } /* Xproto.h:1695:3 */ 8422 8423 type XPolyLineReq = XPolyPointReq /* Xproto.h:1697:23 */ // same request structure 8424 8425 // The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc 8426 8427 type XPolySegmentReq = struct { 8428 FreqType CARD8 8429 Fpad BYTE 8430 Flength CARD16 8431 Fdrawable CARD32 8432 Fgc CARD32 8433 } /* Xproto.h:1707:3 */ 8434 8435 type XPolyArcReq = XPolySegmentReq /* Xproto.h:1709:25 */ 8436 type XPolyRectangleReq = XPolySegmentReq /* Xproto.h:1710:25 */ 8437 type XPolyFillRectangleReq = XPolySegmentReq /* Xproto.h:1711:25 */ 8438 type XPolyFillArcReq = XPolySegmentReq /* Xproto.h:1712:25 */ 8439 8440 type X_FillPolyReq = struct { 8441 FreqType CARD8 8442 Fpad BYTE 8443 Flength CARD16 8444 Fdrawable CARD32 8445 Fgc CARD32 8446 Fshape BYTE 8447 FcoordMode BYTE 8448 Fpad1 CARD16 8449 } /* Xproto.h:1714:9 */ 8450 8451 type XFillPolyReq = X_FillPolyReq /* Xproto.h:1723:3 */ 8452 8453 type X_PutImageReq = struct { 8454 FreqType CARD8 8455 Fformat CARD8 8456 Flength CARD16 8457 Fdrawable CARD32 8458 Fgc CARD32 8459 Fwidth CARD16 8460 Fheight CARD16 8461 FdstX INT16 8462 FdstY INT16 8463 FleftPad CARD8 8464 Fdepth CARD8 8465 Fpad CARD16 8466 } /* Xproto.h:1726:9 */ 8467 8468 type XPutImageReq = X_PutImageReq /* Xproto.h:1737:3 */ 8469 8470 type XGetImageReq = struct { 8471 FreqType CARD8 8472 Fformat CARD8 8473 Flength CARD16 8474 Fdrawable CARD32 8475 Fx INT16 8476 Fy INT16 8477 Fwidth CARD16 8478 Fheight CARD16 8479 FplaneMask CARD32 8480 } /* Xproto.h:1747:3 */ 8481 8482 // the following used by PolyText8 and PolyText16 8483 8484 type XPolyTextReq = struct { 8485 FreqType CARD8 8486 Fpad CARD8 8487 Flength CARD16 8488 Fdrawable CARD32 8489 Fgc CARD32 8490 Fx INT16 8491 Fy INT16 8492 } /* Xproto.h:1758:3 */ 8493 8494 type XPolyText8Req = XPolyTextReq /* Xproto.h:1760:22 */ 8495 type XPolyText16Req = XPolyTextReq /* Xproto.h:1761:22 */ 8496 8497 type XImageTextReq = struct { 8498 FreqType CARD8 8499 FnChars BYTE 8500 Flength CARD16 8501 Fdrawable CARD32 8502 Fgc CARD32 8503 Fx INT16 8504 Fy INT16 8505 } /* Xproto.h:1770:3 */ 8506 8507 type XImageText8Req = XImageTextReq /* Xproto.h:1772:23 */ 8508 type XImageText16Req = XImageTextReq /* Xproto.h:1773:23 */ 8509 8510 type XCreateColormapReq = struct { 8511 FreqType CARD8 8512 Falloc BYTE 8513 Flength CARD16 8514 Fmid CARD32 8515 Fwindow CARD32 8516 Fvisual CARD32 8517 } /* Xproto.h:1782:3 */ 8518 8519 type XCopyColormapAndFreeReq = struct { 8520 FreqType CARD8 8521 Fpad BYTE 8522 Flength CARD16 8523 Fmid CARD32 8524 FsrcCmap CARD32 8525 } /* Xproto.h:1790:3 */ 8526 8527 type XAllocColorReq = struct { 8528 FreqType CARD8 8529 Fpad BYTE 8530 Flength CARD16 8531 Fcmap CARD32 8532 Fred CARD16 8533 Fgreen CARD16 8534 Fblue CARD16 8535 Fpad2 CARD16 8536 } /* Xproto.h:1799:3 */ 8537 8538 type XAllocNamedColorReq = struct { 8539 FreqType CARD8 8540 Fpad BYTE 8541 Flength CARD16 8542 Fcmap CARD32 8543 Fnbytes CARD16 8544 Fpad1 BYTE 8545 Fpad2 BYTE 8546 } /* Xproto.h:1808:3 */ 8547 8548 type XAllocColorCellsReq = struct { 8549 FreqType CARD8 8550 Fcontiguous BOOL 8551 Flength CARD16 8552 Fcmap CARD32 8553 Fcolors CARD16 8554 Fplanes CARD16 8555 } /* Xproto.h:1816:3 */ 8556 8557 type XAllocColorPlanesReq = struct { 8558 FreqType CARD8 8559 Fcontiguous BOOL 8560 Flength CARD16 8561 Fcmap CARD32 8562 Fcolors CARD16 8563 Fred CARD16 8564 Fgreen CARD16 8565 Fblue CARD16 8566 } /* Xproto.h:1824:3 */ 8567 8568 type XFreeColorsReq = struct { 8569 FreqType CARD8 8570 Fpad BYTE 8571 Flength CARD16 8572 Fcmap CARD32 8573 FplaneMask CARD32 8574 } /* Xproto.h:1832:3 */ 8575 8576 type XStoreColorsReq = struct { 8577 FreqType CARD8 8578 Fpad BYTE 8579 Flength CARD16 8580 Fcmap CARD32 8581 } /* Xproto.h:1839:3 */ 8582 8583 type XStoreNamedColorReq = struct { 8584 FreqType CARD8 8585 Fflags CARD8 8586 Flength CARD16 8587 Fcmap CARD32 8588 Fpixel CARD32 8589 Fnbytes CARD16 8590 Fpad1 BYTE 8591 Fpad2 BYTE 8592 } /* Xproto.h:1849:7 */ 8593 8594 type XQueryColorsReq = struct { 8595 FreqType CARD8 8596 Fpad BYTE 8597 Flength CARD16 8598 Fcmap CARD32 8599 } /* Xproto.h:1856:3 */ 8600 8601 type XLookupColorReq = struct { 8602 FreqType CARD8 8603 Fpad BYTE 8604 Flength CARD16 8605 Fcmap CARD32 8606 Fnbytes CARD16 8607 Fpad1 BYTE 8608 Fpad2 BYTE 8609 } /* Xproto.h:1865:3 */ 8610 8611 type XCreateCursorReq = struct { 8612 FreqType CARD8 8613 Fpad BYTE 8614 Flength CARD16 8615 Fcid CARD32 8616 Fsource CARD32 8617 Fmask CARD32 8618 FforeRed CARD16 8619 FforeGreen CARD16 8620 FforeBlue CARD16 8621 FbackRed CARD16 8622 FbackGreen CARD16 8623 FbackBlue CARD16 8624 Fx CARD16 8625 Fy CARD16 8626 } /* Xproto.h:1876:3 */ 8627 8628 type XCreateGlyphCursorReq = struct { 8629 FreqType CARD8 8630 Fpad BYTE 8631 Flength CARD16 8632 Fcid CARD32 8633 Fsource CARD32 8634 Fmask CARD32 8635 FsourceChar CARD16 8636 FmaskChar CARD16 8637 FforeRed CARD16 8638 FforeGreen CARD16 8639 FforeBlue CARD16 8640 FbackRed CARD16 8641 FbackGreen CARD16 8642 FbackBlue CARD16 8643 } /* Xproto.h:1887:3 */ 8644 8645 type XRecolorCursorReq = struct { 8646 FreqType CARD8 8647 Fpad BYTE 8648 Flength CARD16 8649 Fcursor CARD32 8650 FforeRed CARD16 8651 FforeGreen CARD16 8652 FforeBlue CARD16 8653 FbackRed CARD16 8654 FbackGreen CARD16 8655 FbackBlue CARD16 8656 } /* Xproto.h:1896:3 */ 8657 8658 type XQueryBestSizeReq = struct { 8659 FreqType CARD8 8660 Fclass CARD8 8661 Flength CARD16 8662 Fdrawable CARD32 8663 Fwidth CARD16 8664 Fheight CARD16 8665 } /* Xproto.h:1908:3 */ 8666 8667 type XQueryExtensionReq = struct { 8668 FreqType CARD8 8669 Fpad BYTE 8670 Flength CARD16 8671 Fnbytes CARD16 8672 Fpad1 BYTE 8673 Fpad2 BYTE 8674 } /* Xproto.h:1916:3 */ 8675 8676 type XSetModifierMappingReq = struct { 8677 FreqType CARD8 8678 FnumKeyPerModifier CARD8 8679 Flength CARD16 8680 } /* Xproto.h:1922:3 */ 8681 8682 type XSetPointerMappingReq = struct { 8683 FreqType CARD8 8684 FnElts CARD8 8685 Flength CARD16 8686 } /* Xproto.h:1928:3 */ 8687 8688 type XGetKeyboardMappingReq = struct { 8689 FreqType CARD8 8690 Fpad BYTE 8691 Flength CARD16 8692 FfirstKeyCode CARD8 8693 Fcount CARD8 8694 Fpad1 CARD16 8695 } /* Xproto.h:1937:3 */ 8696 8697 type XChangeKeyboardMappingReq = struct { 8698 FreqType CARD8 8699 FkeyCodes CARD8 8700 Flength CARD16 8701 FfirstKeyCode CARD8 8702 FkeySymsPerKeyCode CARD8 8703 Fpad1 CARD16 8704 } /* Xproto.h:1946:3 */ 8705 8706 type XChangeKeyboardControlReq = struct { 8707 FreqType CARD8 8708 Fpad BYTE 8709 Flength CARD16 8710 Fmask CARD32 8711 } /* Xproto.h:1953:3 */ 8712 8713 type XBellReq = struct { 8714 FreqType CARD8 8715 Fpercent INT8 8716 Flength CARD16 8717 } /* Xproto.h:1959:3 */ 8718 8719 type XChangePointerControlReq = struct { 8720 FreqType CARD8 8721 Fpad BYTE 8722 Flength CARD16 8723 FaccelNum INT16 8724 FaccelDenum INT16 8725 Fthreshold INT16 8726 FdoAccel BOOL 8727 FdoThresh BOOL 8728 } /* Xproto.h:1968:3 */ 8729 8730 type XSetScreenSaverReq = struct { 8731 FreqType CARD8 8732 Fpad BYTE 8733 Flength CARD16 8734 Ftimeout INT16 8735 Finterval INT16 8736 FpreferBlank BYTE 8737 FallowExpose BYTE 8738 Fpad2 CARD16 8739 } /* Xproto.h:1977:3 */ 8740 8741 type XChangeHostsReq = struct { 8742 FreqType CARD8 8743 Fmode BYTE 8744 Flength CARD16 8745 FhostFamily CARD8 8746 Fpad BYTE 8747 FhostLength CARD16 8748 } /* Xproto.h:1986:3 */ 8749 8750 type XListHostsReq = struct { 8751 FreqType CARD8 8752 Fpad BYTE 8753 Flength CARD16 8754 } /* Xproto.h:1992:7 */ 8755 8756 type XChangeModeReq = struct { 8757 FreqType CARD8 8758 Fmode BYTE 8759 Flength CARD16 8760 } /* Xproto.h:1998:7 */ 8761 8762 type XSetAccessControlReq = XChangeModeReq /* Xproto.h:2000:24 */ 8763 type XSetCloseDownModeReq = XChangeModeReq /* Xproto.h:2001:24 */ 8764 type XForceScreenSaverReq = XChangeModeReq /* Xproto.h:2002:24 */ 8765 8766 type XRotatePropertiesReq = struct { 8767 FreqType CARD8 8768 Fpad BYTE 8769 Flength CARD16 8770 Fwindow CARD32 8771 FnAtoms CARD16 8772 FnPositions INT16 8773 } /* Xproto.h:2011:7 */ 8774 8775 type X_XFreeFuncs = struct { 8776 Fatoms FreeFuncType 8777 Fmodifiermap FreeModmapType 8778 Fkey_bindings FreeFuncType 8779 Fcontext_db FreeFuncType 8780 FdefaultCCCs FreeFuncType 8781 FclientCmaps FreeFuncType 8782 FintensityMaps FreeFuncType 8783 Fim_filters FreeFuncType 8784 Fxkb FreeFuncType 8785 } /* Xlib.h:255:1 */ 8786 8787 type X_XSQEvent = struct { 8788 Fnext uintptr 8789 Fevent XEvent 8790 Fqserial_num uint32 8791 } /* Xlib.h:255:1 */ 8792 8793 type X_XExten = struct { 8794 Fnext uintptr 8795 Fcodes XExtCodes 8796 Fcreate_GC CreateGCType 8797 Fcopy_GC CopyGCType 8798 Fflush_GC FlushGCType 8799 Ffree_GC FreeGCType 8800 Fcreate_Font CreateFontType 8801 Ffree_Font FreeFontType 8802 Fclose_display CloseDisplayType 8803 Ferror ErrorType 8804 Ferror_string ErrorStringType 8805 Fname uintptr 8806 Ferror_values PrintErrorType 8807 Fbefore_flush BeforeFlushType 8808 Fnext_flush uintptr 8809 } /* Xlib.h:255:1 */ 8810 8811 type X_XInternalAsync = struct { 8812 Fnext uintptr 8813 Fhandler uintptr 8814 Fdata XPointer 8815 } /* Xlib.h:255:1 */ 8816 8817 type X_XLockPtrs = struct { 8818 Flock_display uintptr 8819 Funlock_display uintptr 8820 } /* Xlib.h:255:1 */ 8821 8822 type X_XConnectionInfo = struct { 8823 Ffd int32 8824 Fread_callback X_XInternalConnectionProc 8825 Fcall_data XPointer 8826 Fwatch_data uintptr 8827 Fnext uintptr 8828 } /* Xlib.h:255:1 */ 8829 8830 type X_XConnWatchInfo = struct { 8831 Ffn XConnectionWatchProc 8832 Fclient_data XPointer 8833 Fnext uintptr 8834 } /* Xlib.h:255:1 */ 8835 8836 // access "last_request_read" and "request" with 64bit 8837 // warning: the value argument of the SET-macros must not 8838 // have any side-effects because it may get called twice. 8839 // accessors for 32-bit unsigned long 8840 8841 // widen a 32-bit sequence number to a 64 sequence number. 8842 // This macro makes the following assumptions: 8843 // - ulseq refers to a sequence that has already been sent 8844 // - ulseq means the most recent possible sequence number 8845 // with these lower 32 bits. 8846 // 8847 // The following optimization is used: 8848 // The comparison result is taken a 0 or 1 to avoid a branch. 8849 8850 // _QEvent datatype for use in input queueing. 8851 type X_XQEvent = X_XSQEvent /* Xlibint.h:331:3 */ 8852 8853 // POSIX.1-2008 extended locale interface (see locale.h). 8854 // Definition of locale_t. 8855 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 8856 // This file is part of the GNU C Library. 8857 // 8858 // The GNU C Library is free software; you can redistribute it and/or 8859 // modify it under the terms of the GNU Lesser General Public 8860 // License as published by the Free Software Foundation; either 8861 // version 2.1 of the License, or (at your option) any later version. 8862 // 8863 // The GNU C Library is distributed in the hope that it will be useful, 8864 // but WITHOUT ANY WARRANTY; without even the implied warranty of 8865 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 8866 // Lesser General Public License for more details. 8867 // 8868 // You should have received a copy of the GNU Lesser General Public 8869 // License along with the GNU C Library; if not, see 8870 // <https://www.gnu.org/licenses/>. 8871 8872 // Definition of struct __locale_struct and __locale_t. 8873 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 8874 // This file is part of the GNU C Library. 8875 // Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. 8876 // 8877 // The GNU C Library is free software; you can redistribute it and/or 8878 // modify it under the terms of the GNU Lesser General Public 8879 // License as published by the Free Software Foundation; either 8880 // version 2.1 of the License, or (at your option) any later version. 8881 // 8882 // The GNU C Library is distributed in the hope that it will be useful, 8883 // but WITHOUT ANY WARRANTY; without even the implied warranty of 8884 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 8885 // Lesser General Public License for more details. 8886 // 8887 // You should have received a copy of the GNU Lesser General Public 8888 // License along with the GNU C Library; if not, see 8889 // <https://www.gnu.org/licenses/>. 8890 8891 // POSIX.1-2008: the locale_t type, representing a locale context 8892 // (implementation-namespace version). This type should be treated 8893 // as opaque by applications; some details are exposed for the sake of 8894 // efficiency in e.g. ctype functions. 8895 8896 type X__locale_struct = struct { 8897 F__locales [13]uintptr 8898 F__ctype_b uintptr 8899 F__ctype_tolower uintptr 8900 F__ctype_toupper uintptr 8901 F__names [13]uintptr 8902 } /* __locale_t.h:28:1 */ 8903 8904 type X__locale_t = uintptr /* __locale_t.h:42:32 */ 8905 8906 type Locale_t = X__locale_t /* locale_t.h:24:20 */ 8907 8908 // the new Xfuncs.h 8909 8910 // the ANSI C way 8911 8912 // 8913 // O/S-dependent (mis)feature macro definitions 8914 // 8915 // Copyright 1991, 1998 The Open Group 8916 // 8917 // Permission to use, copy, modify, distribute, and sell this software and its 8918 // documentation for any purpose is hereby granted without fee, provided that 8919 // the above copyright notice appear in all copies and that both that 8920 // copyright notice and this permission notice appear in supporting 8921 // documentation. 8922 // 8923 // The above copyright notice and this permission notice shall be included in 8924 // all copies or substantial portions of the Software. 8925 // 8926 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 8927 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 8928 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 8929 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 8930 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 8931 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8932 // 8933 // Except as contained in this notice, the name of The Open Group shall not be 8934 // used in advertising or otherwise to promote the sale, use or other dealings 8935 // in this Software without prior written authorization from The Open Group. 8936 // 8937 8938 // Utek leaves kernel macros around in include files (bleah) 8939 8940 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 8941 // This file is part of the GNU C Library. 8942 // 8943 // The GNU C Library is free software; you can redistribute it and/or 8944 // modify it under the terms of the GNU Lesser General Public 8945 // License as published by the Free Software Foundation; either 8946 // version 2.1 of the License, or (at your option) any later version. 8947 // 8948 // The GNU C Library is distributed in the hope that it will be useful, 8949 // but WITHOUT ANY WARRANTY; without even the implied warranty of 8950 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 8951 // Lesser General Public License for more details. 8952 // 8953 // You should have received a copy of the GNU Lesser General Public 8954 // License along with the GNU C Library; if not, see 8955 // <https://www.gnu.org/licenses/>. 8956 8957 // ISO C99 Standard: 7.20 General utilities <stdlib.h> 8958 8959 // Handle feature test macros at the start of a header. 8960 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 8961 // This file is part of the GNU C Library. 8962 // 8963 // The GNU C Library is free software; you can redistribute it and/or 8964 // modify it under the terms of the GNU Lesser General Public 8965 // License as published by the Free Software Foundation; either 8966 // version 2.1 of the License, or (at your option) any later version. 8967 // 8968 // The GNU C Library is distributed in the hope that it will be useful, 8969 // but WITHOUT ANY WARRANTY; without even the implied warranty of 8970 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 8971 // Lesser General Public License for more details. 8972 // 8973 // You should have received a copy of the GNU Lesser General Public 8974 // License along with the GNU C Library; if not, see 8975 // <https://www.gnu.org/licenses/>. 8976 8977 // This header is internal to glibc and should not be included outside 8978 // of glibc headers. Headers including it must define 8979 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 8980 // cannot have multiple include guards because ISO C feature test 8981 // macros depend on the definition of the macro when an affected 8982 // header is included, not when the first system header is 8983 // included. 8984 8985 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 8986 // This file is part of the GNU C Library. 8987 // 8988 // The GNU C Library is free software; you can redistribute it and/or 8989 // modify it under the terms of the GNU Lesser General Public 8990 // License as published by the Free Software Foundation; either 8991 // version 2.1 of the License, or (at your option) any later version. 8992 // 8993 // The GNU C Library is distributed in the hope that it will be useful, 8994 // but WITHOUT ANY WARRANTY; without even the implied warranty of 8995 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 8996 // Lesser General Public License for more details. 8997 // 8998 // You should have received a copy of the GNU Lesser General Public 8999 // License along with the GNU C Library; if not, see 9000 // <https://www.gnu.org/licenses/>. 9001 9002 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 9003 // macro. 9004 9005 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 9006 // macro. Most but not all symbols enabled by that macro in TS 9007 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 9008 // still require that macro in C2X. 9009 9010 // ISO/IEC TS 18661-4:2015 defines the 9011 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 9012 // functions, the symbols from this TS are enabled unconditionally in 9013 // C2X. 9014 9015 // ISO/IEC TS 18661-3:2015 defines the 9016 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 9017 9018 // Get size_t, wchar_t and NULL from <stddef.h>. 9019 // Copyright (C) 1989-2020 Free Software Foundation, Inc. 9020 // 9021 // This file is part of GCC. 9022 // 9023 // GCC is free software; you can redistribute it and/or modify 9024 // it under the terms of the GNU General Public License as published by 9025 // the Free Software Foundation; either version 3, or (at your option) 9026 // any later version. 9027 // 9028 // GCC is distributed in the hope that it will be useful, 9029 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9030 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9031 // GNU General Public License for more details. 9032 // 9033 // Under Section 7 of GPL version 3, you are granted additional 9034 // permissions described in the GCC Runtime Library Exception, version 9035 // 3.1, as published by the Free Software Foundation. 9036 // 9037 // You should have received a copy of the GNU General Public License and 9038 // a copy of the GCC Runtime Library Exception along with this program; 9039 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 9040 // <http://www.gnu.org/licenses/>. 9041 9042 // ISO C Standard: 7.17 Common definitions <stddef.h> 9043 9044 // Any one of these symbols __need_* means that GNU libc 9045 // wants us just to define one data type. So don't define 9046 // the symbols that indicate this file's entire job has been done. 9047 9048 // This avoids lossage on SunOS but only if stdtypes.h comes first. 9049 // There's no way to win with the other order! Sun lossage. 9050 9051 // Sequent's header files use _PTRDIFF_T_ in some conflicting way. 9052 // Just ignore it. 9053 9054 // On VxWorks, <type/vxTypesBase.h> may have defined macros like 9055 // _TYPE_size_t which will typedef size_t. fixincludes patched the 9056 // vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is 9057 // not defined, and so that defining this macro defines _GCC_SIZE_T. 9058 // If we find that the macros are still defined at this point, we must 9059 // invoke them so that the type is defined as expected. 9060 9061 // In case nobody has defined these types, but we aren't running under 9062 // GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and 9063 // __WCHAR_TYPE__ have reasonable values. This can happen if the 9064 // parts of GCC is compiled by an older compiler, that actually 9065 // include gstddef.h, such as collect2. 9066 9067 // Signed type of difference of two pointers. 9068 9069 // Define this type if we are doing the whole job, 9070 // or if we want this type in particular. 9071 9072 // If this symbol has done its job, get rid of it. 9073 9074 // Unsigned type of `sizeof' something. 9075 9076 // Define this type if we are doing the whole job, 9077 // or if we want this type in particular. 9078 9079 // Wide character type. 9080 // Locale-writers should change this as necessary to 9081 // be big enough to hold unique values not between 0 and 127, 9082 // and not (wchar_t) -1, for each defined multibyte character. 9083 9084 // Define this type if we are doing the whole job, 9085 // or if we want this type in particular. 9086 9087 // A null pointer constant. 9088 9089 // Offset of member MEMBER in a struct of type TYPE. 9090 9091 // XPG requires a few symbols from <sys/wait.h> being defined. 9092 // Definitions of flag bits for `waitpid' et al. 9093 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 9094 // This file is part of the GNU C Library. 9095 // 9096 // The GNU C Library is free software; you can redistribute it and/or 9097 // modify it under the terms of the GNU Lesser General Public 9098 // License as published by the Free Software Foundation; either 9099 // version 2.1 of the License, or (at your option) any later version. 9100 // 9101 // The GNU C Library is distributed in the hope that it will be useful, 9102 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9103 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9104 // Lesser General Public License for more details. 9105 // 9106 // You should have received a copy of the GNU Lesser General Public 9107 // License along with the GNU C Library; if not, see 9108 // <https://www.gnu.org/licenses/>. 9109 9110 // Bits in the third argument to `waitpid'. 9111 9112 // Bits in the fourth argument to `waitid'. 9113 9114 // The following values are used by the `waitid' function. 9115 9116 // The Linux kernel defines these bare, rather than an enum, 9117 // which causes a conflict if the include order is reversed. 9118 9119 type Idtype_t = uint32 /* waitflags.h:57:3 */ 9120 // Definitions of status bits for `wait' et al. 9121 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 9122 // This file is part of the GNU C Library. 9123 // 9124 // The GNU C Library is free software; you can redistribute it and/or 9125 // modify it under the terms of the GNU Lesser General Public 9126 // License as published by the Free Software Foundation; either 9127 // version 2.1 of the License, or (at your option) any later version. 9128 // 9129 // The GNU C Library is distributed in the hope that it will be useful, 9130 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9131 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9132 // Lesser General Public License for more details. 9133 // 9134 // You should have received a copy of the GNU Lesser General Public 9135 // License along with the GNU C Library; if not, see 9136 // <https://www.gnu.org/licenses/>. 9137 9138 // Everything extant so far uses these same bits. 9139 9140 // If WIFEXITED(STATUS), the low-order 8 bits of the status. 9141 9142 // If WIFSIGNALED(STATUS), the terminating signal. 9143 9144 // If WIFSTOPPED(STATUS), the signal that stopped the child. 9145 9146 // Nonzero if STATUS indicates normal termination. 9147 9148 // Nonzero if STATUS indicates termination by a signal. 9149 9150 // Nonzero if STATUS indicates the child is stopped. 9151 9152 // Nonzero if STATUS indicates the child continued after a stop. We only 9153 // define this if <bits/waitflags.h> provides the WCONTINUED flag bit. 9154 9155 // Nonzero if STATUS indicates the child dumped core. 9156 9157 // Macros for constructing status values. 9158 9159 // Define the macros <sys/wait.h> also would define this way. 9160 9161 // _FloatN API tests for enablement. 9162 // Macros to control TS 18661-3 glibc features on x86. 9163 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 9164 // This file is part of the GNU C Library. 9165 // 9166 // The GNU C Library is free software; you can redistribute it and/or 9167 // modify it under the terms of the GNU Lesser General Public 9168 // License as published by the Free Software Foundation; either 9169 // version 2.1 of the License, or (at your option) any later version. 9170 // 9171 // The GNU C Library is distributed in the hope that it will be useful, 9172 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9173 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9174 // Lesser General Public License for more details. 9175 // 9176 // You should have received a copy of the GNU Lesser General Public 9177 // License along with the GNU C Library; if not, see 9178 // <https://www.gnu.org/licenses/>. 9179 9180 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9181 // This file is part of the GNU C Library. 9182 // 9183 // The GNU C Library is free software; you can redistribute it and/or 9184 // modify it under the terms of the GNU Lesser General Public 9185 // License as published by the Free Software Foundation; either 9186 // version 2.1 of the License, or (at your option) any later version. 9187 // 9188 // The GNU C Library is distributed in the hope that it will be useful, 9189 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9190 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9191 // Lesser General Public License for more details. 9192 // 9193 // You should have received a copy of the GNU Lesser General Public 9194 // License along with the GNU C Library; if not, see 9195 // <https://www.gnu.org/licenses/>. 9196 9197 // Defined to 1 if the current compiler invocation provides a 9198 // floating-point type with the IEEE 754 binary128 format, and this 9199 // glibc includes corresponding *f128 interfaces for it. The required 9200 // libgcc support was added some time after the basic compiler 9201 // support, for x86_64 and x86. 9202 9203 // Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct 9204 // from the default float, double and long double types in this glibc. 9205 9206 // Defined to 1 if the current compiler invocation provides a 9207 // floating-point type with the right format for _Float64x, and this 9208 // glibc includes corresponding *f64x interfaces for it. 9209 9210 // Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format 9211 // of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has 9212 // the format of _Float128, which must be different from that of long 9213 // double. 9214 9215 // Defined to concatenate the literal suffix to be used with _Float128 9216 // types, if __HAVE_FLOAT128 is 1. 9217 9218 // Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. 9219 9220 // The remaining of this file provides support for older compilers. 9221 9222 // The type _Float128 exists only since GCC 7.0. 9223 9224 // __builtin_huge_valf128 doesn't exist before GCC 7.0. 9225 9226 // Older GCC has only a subset of built-in functions for _Float128 on 9227 // x86, and __builtin_infq is not usable in static initializers. 9228 // Converting a narrower sNaN to _Float128 produces a quiet NaN, so 9229 // attempts to use _Float128 sNaNs will not work properly with older 9230 // compilers. 9231 9232 // In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, 9233 // e.g.: __builtin_signbitf128, before GCC 6. However, there has never 9234 // been a __builtin_signbitf128 in GCC and the type-generic builtin is 9235 // only available since GCC 6. 9236 9237 // Macros to control TS 18661-3 glibc features where the same 9238 // definitions are appropriate for all platforms. 9239 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 9240 // This file is part of the GNU C Library. 9241 // 9242 // The GNU C Library is free software; you can redistribute it and/or 9243 // modify it under the terms of the GNU Lesser General Public 9244 // License as published by the Free Software Foundation; either 9245 // version 2.1 of the License, or (at your option) any later version. 9246 // 9247 // The GNU C Library is distributed in the hope that it will be useful, 9248 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9249 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9250 // Lesser General Public License for more details. 9251 // 9252 // You should have received a copy of the GNU Lesser General Public 9253 // License along with the GNU C Library; if not, see 9254 // <https://www.gnu.org/licenses/>. 9255 9256 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9257 // This file is part of the GNU C Library. 9258 // 9259 // The GNU C Library is free software; you can redistribute it and/or 9260 // modify it under the terms of the GNU Lesser General Public 9261 // License as published by the Free Software Foundation; either 9262 // version 2.1 of the License, or (at your option) any later version. 9263 // 9264 // The GNU C Library is distributed in the hope that it will be useful, 9265 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9266 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9267 // Lesser General Public License for more details. 9268 // 9269 // You should have received a copy of the GNU Lesser General Public 9270 // License along with the GNU C Library; if not, see 9271 // <https://www.gnu.org/licenses/>. 9272 9273 // Properties of long double type. ldbl-96 version. 9274 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 9275 // This file is part of the GNU C Library. 9276 // 9277 // The GNU C Library is free software; you can redistribute it and/or 9278 // modify it under the terms of the GNU Lesser General Public 9279 // License published by the Free Software Foundation; either 9280 // version 2.1 of the License, or (at your option) any later version. 9281 // 9282 // The GNU C Library is distributed in the hope that it will be useful, 9283 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9284 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9285 // Lesser General Public License for more details. 9286 // 9287 // You should have received a copy of the GNU Lesser General Public 9288 // License along with the GNU C Library; if not, see 9289 // <https://www.gnu.org/licenses/>. 9290 9291 // long double is distinct from double, so there is nothing to 9292 // define here. 9293 9294 // This header should be included at the bottom of each bits/floatn.h. 9295 // It defines the following macros for each _FloatN and _FloatNx type, 9296 // where the same definitions, or definitions based only on the macros 9297 // in bits/floatn.h, are appropriate for all glibc configurations. 9298 9299 // Defined to 1 if the current compiler invocation provides a 9300 // floating-point type with the right format for this type, and this 9301 // glibc includes corresponding *fN or *fNx interfaces for it. 9302 9303 // Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the 9304 // type is the first with its format in the sequence of (the default 9305 // choices for) float, double, long double, _Float16, _Float32, 9306 // _Float64, _Float128, _Float32x, _Float64x, _Float128x for this 9307 // glibc; that is, if functions present once per floating-point format 9308 // rather than once per type are present for this type. 9309 // 9310 // All configurations supported by glibc have _Float32 the same format 9311 // as float, _Float64 and _Float32x the same format as double, the 9312 // _Float64x the same format as either long double or _Float128. No 9313 // configurations support _Float128x or, as of GCC 7, have compiler 9314 // support for a type meeting the requirements for _Float128x. 9315 9316 // Defined to 1 if the corresponding _FloatN type is not binary compatible 9317 // with the corresponding ISO C type in the current compilation unit as 9318 // opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built 9319 // in glibc. 9320 9321 // Defined to 1 if any _FloatN or _FloatNx types that are not 9322 // ABI-distinct are however distinct types at the C language level (so 9323 // for the purposes of __builtin_types_compatible_p and _Generic). 9324 9325 // Defined to concatenate the literal suffix to be used with _FloatN 9326 // or _FloatNx types, if __HAVE_<type> is 1. The corresponding 9327 // literal suffixes exist since GCC 7, for C only. 9328 9329 // Defined to a complex type if __HAVE_<type> is 1. 9330 9331 // The remaining of this file provides support for older compilers. 9332 9333 // If double, long double and _Float64 all have the same set of 9334 // values, TS 18661-3 requires the usual arithmetic conversions on 9335 // long double and _Float64 to produce _Float64. For this to be the 9336 // case when building with a compiler without a distinct _Float64 9337 // type, _Float64 must be a typedef for long double, not for 9338 // double. 9339 9340 // Returned by `div'. 9341 type Div_t = struct { 9342 Fquot int32 9343 Frem int32 9344 } /* stdlib.h:62:5 */ 9345 9346 // Returned by `ldiv'. 9347 type Ldiv_t = struct { 9348 Fquot int32 9349 Frem int32 9350 } /* stdlib.h:70:5 */ 9351 9352 // Returned by `lldiv'. 9353 type Lldiv_t = struct { 9354 Fquot int64 9355 Frem int64 9356 } /* stdlib.h:80:5 */ 9357 9358 // Reentrant versions of the `random' family of functions. 9359 // These functions all use the following data structure to contain 9360 // state, rather than global state variables. 9361 9362 type Random_data = struct { 9363 Ffptr uintptr 9364 Frptr uintptr 9365 Fstate uintptr 9366 Frand_type int32 9367 Frand_deg int32 9368 Frand_sep int32 9369 Fend_ptr uintptr 9370 } /* stdlib.h:423:1 */ 9371 9372 // Data structure for communication with thread safe versions. This 9373 // type is to be regarded as opaque. It's only exported because users 9374 // have to allocate objects of this type. 9375 type Drand48_data = struct { 9376 F__x [3]uint16 9377 F__old_x [3]uint16 9378 F__c uint16 9379 F__init uint16 9380 F__a uint64 9381 } /* stdlib.h:490:1 */ 9382 9383 // Shorthand for type of comparison functions. 9384 type X__compar_fn_t = uintptr /* stdlib.h:808:13 */ 9385 9386 // Floating-point inline functions for stdlib.h. 9387 // Copyright (C) 2012-2020 Free Software Foundation, Inc. 9388 // This file is part of the GNU C Library. 9389 // 9390 // The GNU C Library is free software; you can redistribute it and/or 9391 // modify it under the terms of the GNU Lesser General Public 9392 // License as published by the Free Software Foundation; either 9393 // version 2.1 of the License, or (at your option) any later version. 9394 // 9395 // The GNU C Library is distributed in the hope that it will be useful, 9396 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9397 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9398 // Lesser General Public License for more details. 9399 // 9400 // You should have received a copy of the GNU Lesser General Public 9401 // License along with the GNU C Library; if not, see 9402 // <https://www.gnu.org/licenses/>. 9403 9404 // Define some macros helping to catch buffer overflows. 9405 9406 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9407 // This file is part of the GNU C Library. 9408 // 9409 // The GNU C Library is free software; you can redistribute it and/or 9410 // modify it under the terms of the GNU Lesser General Public 9411 // License as published by the Free Software Foundation; either 9412 // version 2.1 of the License, or (at your option) any later version. 9413 // 9414 // The GNU C Library is distributed in the hope that it will be useful, 9415 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9416 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9417 // Lesser General Public License for more details. 9418 // 9419 // You should have received a copy of the GNU Lesser General Public 9420 // License along with the GNU C Library; if not, see 9421 // <https://www.gnu.org/licenses/>. 9422 9423 // ISO C99 Standard: 7.21 String handling <string.h> 9424 9425 // 9426 // 9427 // Copyright 1989, 1991, 1998 The Open Group 9428 // 9429 // Permission to use, copy, modify, distribute, and sell this software and its 9430 // documentation for any purpose is hereby granted without fee, provided that 9431 // the above copyright notice appear in all copies and that both that 9432 // copyright notice and this permission notice appear in supporting 9433 // documentation. 9434 // 9435 // The above copyright notice and this permission notice shall be included in 9436 // all copies or substantial portions of the Software. 9437 // 9438 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9439 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9440 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9441 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9442 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9443 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9444 // 9445 // Except as contained in this notice, the name of The Open Group shall not be 9446 // used in advertising or otherwise to promote the sale, use or other dealings 9447 // in this Software without prior written authorization from The Open Group. 9448 // * 9449 // 9450 9451 // Definitions to make function prototypes manageable 9452 9453 // The following definitions can be used for locking requests in multi-threaded 9454 // address spaces. 9455 // Author: Stephen Gildea, MIT X Consortium 9456 // 9457 // declarations for C Threads locking 9458 9459 type LockInfoPtr = uintptr /* Xlibint.h:365:29 */ 9460 // Data - Place data in the buffer and pad the end to provide 9461 // 32 bit word alignment. Transmit if the buffer fills. 9462 // 9463 // "dpy" is a pointer to a Display. 9464 // "data" is a pointer to a data buffer. 9465 // "len" is the length of the data buffer. 9466 9467 // Allocate bytes from the buffer. No padding is done, so if 9468 // the length is not a multiple of 4, the caller must be 9469 // careful to leave the buffer aligned after sending the 9470 // current request. 9471 // 9472 // "type" is the type of the pointer being assigned to. 9473 // "ptr" is the pointer being assigned to. 9474 // "n" is the number of bytes to allocate. 9475 // 9476 // Example: 9477 // xTextElt *elt; 9478 // BufAlloc (xTextElt *, elt, nbytes) 9479 9480 // Xlib manual is bogus 9481 9482 // CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit 9483 // character. If the character is in the column and exists, then return the 9484 // appropriate metrics (note that fonts with common per-character metrics will 9485 // return min_bounds). If none of these hold true, try again with the default 9486 // char. 9487 9488 // CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and 9489 // column. This is used for fonts that have more than row zero. 9490 9491 // srcvar must be a variable for large architecture version 9492 9493 type X_XAsyncHandler = X_XInternalAsync /* Xlibint.h:784:3 */ 9494 9495 // This struct is part of the ABI and is defined by value 9496 // in user-code. This means that we cannot make 9497 // the sequence-numbers 64bit. 9498 type X_XAsyncEState = struct { 9499 Fmin_sequence_number uint32 9500 Fmax_sequence_number uint32 9501 Ferror_code uint8 9502 Fmajor_opcode uint8 9503 Fminor_opcode uint16 9504 Flast_error_received uint8 9505 F__ccgo_pad1 [3]byte 9506 Ferror_count int32 9507 } /* Xlibint.h:791:9 */ 9508 9509 // This struct is part of the ABI and is defined by value 9510 // in user-code. This means that we cannot make 9511 // the sequence-numbers 64bit. 9512 type X_XAsyncErrorState = X_XAsyncEState /* Xlibint.h:799:3 */ 9513 9514 type FreeFuncType = uintptr /* Xlibint.h:809:14 */ 9515 9516 type FreeModmapType = uintptr /* Xlibint.h:813:13 */ 9517 9518 // This structure is private to the library. 9519 type X_XFreeFuncRec = X_XFreeFuncs /* Xlibint.h:830:3 */ 9520 9521 // types for InitExt.c 9522 type CreateGCType = uintptr /* Xlibint.h:833:13 */ 9523 9524 type CopyGCType = uintptr /* Xlibint.h:839:13 */ 9525 9526 type FlushGCType = uintptr /* Xlibint.h:845:13 */ 9527 9528 type FreeGCType = uintptr /* Xlibint.h:851:13 */ 9529 9530 type CreateFontType = uintptr /* Xlibint.h:857:13 */ 9531 9532 type FreeFontType = uintptr /* Xlibint.h:863:13 */ 9533 9534 type CloseDisplayType = uintptr /* Xlibint.h:869:13 */ 9535 9536 type ErrorType = uintptr /* Xlibint.h:874:13 */ 9537 9538 type ErrorStringType = uintptr /* Xlibint.h:881:13 */ 9539 9540 type PrintErrorType = uintptr /* Xlibint.h:889:14 */ 9541 9542 type BeforeFlushType = uintptr /* Xlibint.h:895:14 */ 9543 9544 // This structure is private to the library. 9545 type X_XExtension = X_XExten /* Xlibint.h:921:3 */ 9546 9547 // internal connections for IMs 9548 9549 type X_XInternalConnectionProc = uintptr /* Xlibint.h:1282:14 */ 9550 9551 //********************************************************** 9552 // 9553 // Copyright 1987, 1998 The Open Group 9554 // 9555 // Permission to use, copy, modify, distribute, and sell this software and its 9556 // documentation for any purpose is hereby granted without fee, provided that 9557 // the above copyright notice appear in all copies and that both that 9558 // copyright notice and this permission notice appear in supporting 9559 // documentation. 9560 // 9561 // The above copyright notice and this permission notice shall be included in 9562 // all copies or substantial portions of the Software. 9563 // 9564 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9565 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9566 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9567 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9568 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9569 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9570 // 9571 // Except as contained in this notice, the name of The Open Group shall not be 9572 // used in advertising or otherwise to promote the sale, use or other dealings 9573 // in this Software without prior written authorization from The Open Group. 9574 // 9575 // 9576 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 9577 // 9578 // All Rights Reserved 9579 // 9580 // Permission to use, copy, modify, and distribute this software and its 9581 // documentation for any purpose and without fee is hereby granted, 9582 // provided that the above copyright notice appear in all copies and that 9583 // both that copyright notice and this permission notice appear in 9584 // supporting documentation, and that the name of Digital not be 9585 // used in advertising or publicity pertaining to distribution of the 9586 // software without specific, written prior permission. 9587 // 9588 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9589 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9590 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9591 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9592 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9593 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9594 // SOFTWARE. 9595 // 9596 // ***************************************************************** 9597 9598 // You must include <X11/Xlib.h> before including this file 9599 // 9600 // 9601 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 9602 // 9603 // Permission to use, copy, modify, distribute, and sell this software and its 9604 // documentation for any purpose is hereby granted without fee, provided that 9605 // the above copyright notice appear in all copies and that both that 9606 // copyright notice and this permission notice appear in supporting 9607 // documentation. 9608 // 9609 // The above copyright notice and this permission notice shall be included in 9610 // all copies or substantial portions of the Software. 9611 // 9612 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9613 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9614 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9615 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9616 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9617 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9618 // 9619 // Except as contained in this notice, the name of The Open Group shall not be 9620 // used in advertising or otherwise to promote the sale, use or other dealings 9621 // in this Software without prior written authorization from The Open Group. 9622 // 9623 9624 // Xlib.h - Header definition and support file for the C subroutine 9625 // interface library (Xlib) to the X Window System Protocol (V11). 9626 // Structures and symbols starting with "_" are private to the library. 9627 //********************************************************** 9628 // 9629 // Copyright 1987, 1998 The Open Group 9630 // 9631 // Permission to use, copy, modify, distribute, and sell this software and its 9632 // documentation for any purpose is hereby granted without fee, provided that 9633 // the above copyright notice appear in all copies and that both that 9634 // copyright notice and this permission notice appear in supporting 9635 // documentation. 9636 // 9637 // The above copyright notice and this permission notice shall be included in 9638 // all copies or substantial portions of the Software. 9639 // 9640 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9641 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9642 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9643 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9644 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9645 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9646 // 9647 // Except as contained in this notice, the name of The Open Group shall not be 9648 // used in advertising or otherwise to promote the sale, use or other dealings 9649 // in this Software without prior written authorization from The Open Group. 9650 // 9651 // 9652 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 9653 // 9654 // All Rights Reserved 9655 // 9656 // Permission to use, copy, modify, and distribute this software and its 9657 // documentation for any purpose and without fee is hereby granted, 9658 // provided that the above copyright notice appear in all copies and that 9659 // both that copyright notice and this permission notice appear in 9660 // supporting documentation, and that the name of Digital not be 9661 // used in advertising or publicity pertaining to distribution of the 9662 // software without specific, written prior permission. 9663 // 9664 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9665 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9666 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9667 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9668 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9669 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9670 // SOFTWARE. 9671 // 9672 // ***************************************************************** 9673 9674 // default keysyms 9675 9676 //********************************************************** 9677 // Copyright 1987, 1994, 1998 The Open Group 9678 // 9679 // Permission to use, copy, modify, distribute, and sell this software and its 9680 // documentation for any purpose is hereby granted without fee, provided that 9681 // the above copyright notice appear in all copies and that both that 9682 // copyright notice and this permission notice appear in supporting 9683 // documentation. 9684 // 9685 // The above copyright notice and this permission notice shall be included 9686 // in all copies or substantial portions of the Software. 9687 // 9688 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 9689 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 9690 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 9691 // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 9692 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 9693 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 9694 // OTHER DEALINGS IN THE SOFTWARE. 9695 // 9696 // Except as contained in this notice, the name of The Open Group shall 9697 // not be used in advertising or otherwise to promote the sale, use or 9698 // other dealings in this Software without prior written authorization 9699 // from The Open Group. 9700 // 9701 // 9702 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts 9703 // 9704 // All Rights Reserved 9705 // 9706 // Permission to use, copy, modify, and distribute this software and its 9707 // documentation for any purpose and without fee is hereby granted, 9708 // provided that the above copyright notice appear in all copies and that 9709 // both that copyright notice and this permission notice appear in 9710 // supporting documentation, and that the name of Digital not be 9711 // used in advertising or publicity pertaining to distribution of the 9712 // software without specific, written prior permission. 9713 // 9714 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9715 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9716 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9717 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9718 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9719 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9720 // SOFTWARE. 9721 // 9722 // ***************************************************************** 9723 9724 // The "X11 Window System Protocol" standard defines in Appendix A the 9725 // keysym codes. These 29-bit integer values identify characters or 9726 // functions associated with each key (e.g., via the visible 9727 // engraving) of a keyboard layout. This file assigns mnemonic macro 9728 // names for these keysyms. 9729 // 9730 // This file is also compiled (by src/util/makekeys.c in libX11) into 9731 // hash tables that can be accessed with X11 library functions such as 9732 // XStringToKeysym() and XKeysymToString(). 9733 // 9734 // Where a keysym corresponds one-to-one to an ISO 10646 / Unicode 9735 // character, this is noted in a comment that provides both the U+xxxx 9736 // Unicode position, as well as the official Unicode name of the 9737 // character. 9738 // 9739 // Where the correspondence is either not one-to-one or semantically 9740 // unclear, the Unicode position and name are enclosed in 9741 // parentheses. Such legacy keysyms should be considered deprecated 9742 // and are not recommended for use in future keyboard mappings. 9743 // 9744 // For any future extension of the keysyms with characters already 9745 // found in ISO 10646 / Unicode, the following algorithm shall be 9746 // used. The new keysym code position will simply be the character's 9747 // Unicode number plus 0x01000000. The keysym values in the range 9748 // 0x01000100 to 0x0110ffff are reserved to represent Unicode 9749 // characters in the range U+0100 to U+10FFFF. 9750 // 9751 // While most newer Unicode-based X11 clients do already accept 9752 // Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it 9753 // will remain necessary for clients -- in the interest of 9754 // compatibility with existing servers -- to also understand the 9755 // existing legacy keysym values in the range 0x0100 to 0x20ff. 9756 // 9757 // Where several mnemonic names are defined for the same keysym in this 9758 // file, all but the first one listed should be considered deprecated. 9759 // 9760 // Mnemonic names for keysyms are defined in this file with lines 9761 // that match one of these Perl regular expressions: 9762 // 9763 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/ 9764 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/ 9765 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/ 9766 // 9767 // Before adding new keysyms, please do consider the following: In 9768 // addition to the keysym names defined in this file, the 9769 // XStringToKeysym() and XKeysymToString() functions will also handle 9770 // any keysym string of the form "U0020" to "U007E" and "U00A0" to 9771 // "U10FFFF" for all possible Unicode characters. In other words, 9772 // every possible Unicode character has already a keysym string 9773 // defined algorithmically, even if it is not listed here. Therefore, 9774 // defining an additional keysym macro is only necessary where a 9775 // non-hexadecimal mnemonic name is needed, or where the new keysym 9776 // does not represent any existing Unicode character. 9777 // 9778 // When adding new keysyms to this file, do not forget to also update the 9779 // following as needed: 9780 // 9781 // - the mappings in src/KeyBind.c in the libX11 repo 9782 // https://gitlab.freedesktop.org/xorg/lib/libx11 9783 // 9784 // - the protocol specification in specs/keysyms.xml in this repo 9785 // https://gitlab.freedesktop.org/xorg/proto/xorgproto 9786 // 9787 9788 // TTY function keys, cleverly chosen to map to ASCII, for convenience of 9789 // programming, but could have been arbitrary (at the cost of lookup 9790 // tables in client code). 9791 9792 // International & multi-key character composition 9793 9794 // Japanese keyboard support 9795 9796 // 0xff31 thru 0xff3f are under XK_KOREAN 9797 9798 // Cursor control & motion 9799 9800 // Misc functions 9801 9802 // Keypad functions, keypad numbers cleverly chosen to map to ASCII 9803 9804 // Auxiliary functions; note the duplicate definitions for left and right 9805 // function keys; Sun keyboards and a few other manufacturers have such 9806 // function key groups on the left and/or right sides of the keyboard. 9807 // We've not found a keyboard with more than 35 function keys total. 9808 9809 // Modifiers 9810 9811 // Keyboard (XKB) Extension function and modifier keys 9812 // (from Appendix C of "The X Keyboard Extension: Protocol Specification") 9813 // Byte 3 = 0xfe 9814 9815 // extra dead elements for German T3 layout 9816 9817 // dead vowels for universal syllable entry 9818 9819 // Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method 9820 9821 // 3270 Terminal Keys 9822 // Byte 3 = 0xfd 9823 9824 // Latin 1 9825 // (ISO/IEC 8859-1 = Unicode U+0020..U+00FF) 9826 // Byte 3 = 0 9827 9828 // Latin 2 9829 // Byte 3 = 1 9830 9831 // Latin 3 9832 // Byte 3 = 2 9833 9834 // Latin 4 9835 // Byte 3 = 3 9836 9837 // Latin 8 9838 9839 // Latin 9 9840 // Byte 3 = 0x13 9841 9842 // Katakana 9843 // Byte 3 = 4 9844 9845 // Arabic 9846 // Byte 3 = 5 9847 9848 // Cyrillic 9849 // Byte 3 = 6 9850 9851 // Greek 9852 // (based on an early draft of, and not quite identical to, ISO/IEC 8859-7) 9853 // Byte 3 = 7 9854 9855 // Technical 9856 // (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html) 9857 // Byte 3 = 8 9858 9859 // Special 9860 // (from the DEC VT100 Special Graphics Character Set) 9861 // Byte 3 = 9 9862 9863 // Publishing 9864 // (these are probably from a long forgotten DEC Publishing 9865 // font that once shipped with DECwrite) 9866 // Byte 3 = 0x0a 9867 9868 // APL 9869 // Byte 3 = 0x0b 9870 9871 // Hebrew 9872 // Byte 3 = 0x0c 9873 9874 // Thai 9875 // Byte 3 = 0x0d 9876 9877 // Korean 9878 // Byte 3 = 0x0e 9879 9880 // Hangul Consonant Characters 9881 9882 // Hangul Vowel Characters 9883 9884 // Hangul syllable-final (JongSeong) Characters 9885 9886 // Ancient Hangul Consonant Characters 9887 9888 // Ancient Hangul Vowel Characters 9889 9890 // Ancient Hangul syllable-final (JongSeong) Characters 9891 9892 // Korean currency symbol 9893 9894 // Armenian 9895 9896 // Georgian 9897 9898 // Azeri (and other Turkic or Caucasian languages) 9899 9900 // latin 9901 // those are not really Caucasus 9902 // For Inupiak 9903 9904 // Vietnamese 9905 9906 // one, two and three are defined above. 9907 9908 // Sinhala (http://unicode.org/charts/PDF/U0D80.pdf) 9909 // http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html 9910 9911 // The Xlib structs are full of implicit padding to properly align members. 9912 // We can't clean that up without breaking ABI, so tell clang not to bother 9913 // complaining about it. 9914 9915 // Bitmask returned by XParseGeometry(). Each bit tells if the corresponding 9916 // value (x, y, width, height) was found in the parsed string. 9917 9918 // new version containing base_width, base_height, and win_gravity fields; 9919 // used with WM_NORMAL_HINTS. 9920 type XSizeHints = struct { 9921 Fflags int32 9922 Fx int32 9923 Fy int32 9924 Fwidth int32 9925 Fheight int32 9926 Fmin_width int32 9927 Fmin_height int32 9928 Fmax_width int32 9929 Fmax_height int32 9930 Fwidth_inc int32 9931 Fheight_inc int32 9932 Fmin_aspect struct { 9933 Fx int32 9934 Fy int32 9935 } 9936 Fmax_aspect struct { 9937 Fx int32 9938 Fy int32 9939 } 9940 Fbase_width int32 9941 Fbase_height int32 9942 Fwin_gravity int32 9943 } /* Xutil.h:94:3 */ 9944 9945 // The next block of definitions are for window manager properties that 9946 // clients and applications use for communication. 9947 9948 // flags argument in size hints 9949 9950 // obsolete 9951 9952 type XWMHints = struct { 9953 Fflags int32 9954 Finput int32 9955 Finitial_state int32 9956 Ficon_pixmap Pixmap 9957 Ficon_window Window 9958 Ficon_x int32 9959 Ficon_y int32 9960 Ficon_mask Pixmap 9961 Fwindow_group XID 9962 } /* Xutil.h:130:3 */ 9963 9964 // definition for flags of XWMHints 9965 9966 // definitions for initial window state 9967 9968 // Obsolete states no longer defined by ICCCM 9969 // some wm's may put it on inactive menu 9970 9971 // new structure for manipulating TEXT properties; used with WM_NAME, 9972 // WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND. 9973 type XTextProperty = struct { 9974 Fvalue uintptr 9975 Fencoding Atom 9976 Fformat int32 9977 Fnitems uint32 9978 } /* Xutil.h:168:3 */ 9979 9980 type XICCEncodingStyle = uint32 /* Xutil.h:181:3 */ 9981 9982 type XIconSize = struct { 9983 Fmin_width int32 9984 Fmin_height int32 9985 Fmax_width int32 9986 Fmax_height int32 9987 Fwidth_inc int32 9988 Fheight_inc int32 9989 } /* Xutil.h:187:3 */ 9990 9991 type XClassHint = struct { 9992 Fres_name uintptr 9993 Fres_class uintptr 9994 } /* Xutil.h:192:3 */ 9995 9996 // These macros are used to give some sugar to the image routines so that 9997 // naive people are more comfortable with them. 9998 9999 // Compose sequence status structure, used in calling XLookupString. 10000 type X_XComposeStatus = struct { 10001 Fcompose_ptr XPointer 10002 Fchars_matched int32 10003 } /* Xutil.h:231:9 */ 10004 10005 // These macros are used to give some sugar to the image routines so that 10006 // naive people are more comfortable with them. 10007 10008 // Compose sequence status structure, used in calling XLookupString. 10009 type XComposeStatus = X_XComposeStatus /* Xutil.h:234:3 */ 10010 10011 // Keysym macros, used on Keysyms to test for classes of symbols 10012 10013 // opaque reference to Region data type 10014 type X_XRegion = struct { 10015 Fsize int32 10016 FnumRects int32 10017 Frects uintptr 10018 Fextents BOX 10019 } /* Xutil.h:273:9 */ 10020 10021 // Keysym macros, used on Keysyms to test for classes of symbols 10022 10023 // opaque reference to Region data type 10024 type Region = uintptr /* Xutil.h:273:25 */ 10025 10026 // Return values from XRectInRegion() 10027 10028 // Information used by the visual utility routines to find desired visual 10029 // type from the many visuals a display may support. 10030 10031 type XVisualInfo = struct { 10032 Fvisual uintptr 10033 Fvisualid VisualID 10034 Fscreen int32 10035 Fdepth int32 10036 Fclass int32 10037 Fred_mask uint32 10038 Fgreen_mask uint32 10039 Fblue_mask uint32 10040 Fcolormap_size int32 10041 Fbits_per_rgb int32 10042 } /* Xutil.h:302:3 */ 10043 10044 // This defines a window manager property that clients may use to 10045 // share standard color maps of type RGB_COLOR_MAP: 10046 type XStandardColormap = struct { 10047 Fcolormap Colormap 10048 Fred_max uint32 10049 Fred_mult uint32 10050 Fgreen_max uint32 10051 Fgreen_mult uint32 10052 Fblue_max uint32 10053 Fblue_mult uint32 10054 Fbase_pixel uint32 10055 Fvisualid VisualID 10056 Fkillid XID 10057 } /* Xutil.h:331:3 */ 10058 10059 // return codes for XReadBitmapFile and XWriteBitmapFile 10060 10061 // *************************************************************** 10062 // 10063 // 10064 // Context Management 10065 // 10066 // 10067 10068 // Associative lookup table return codes 10069 10070 type XContext = int32 /* Xutil.h:357:13 */ 10071 10072 // Copyright © 2000 SuSE, Inc. 10073 // 10074 // Permission to use, copy, modify, distribute, and sell this software and its 10075 // documentation for any purpose is hereby granted without fee, provided that 10076 // the above copyright notice appear in all copies and that both that 10077 // copyright notice and this permission notice appear in supporting 10078 // documentation, and that the name of SuSE not be used in advertising or 10079 // publicity pertaining to distribution of the software without specific, 10080 // written prior permission. SuSE makes no representations about the 10081 // suitability of this software for any purpose. It is provided "as is" 10082 // without express or implied warranty. 10083 // 10084 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10085 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10086 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10087 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10088 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10089 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10090 // 10091 // Author: Keith Packard, SuSE, Inc. 10092 10093 //********************************************************** 10094 // 10095 // Copyright 1987, 1998 The Open Group 10096 // 10097 // Permission to use, copy, modify, distribute, and sell this software and its 10098 // documentation for any purpose is hereby granted without fee, provided that 10099 // the above copyright notice appear in all copies and that both that 10100 // copyright notice and this permission notice appear in supporting 10101 // documentation. 10102 // 10103 // The above copyright notice and this permission notice shall be included in 10104 // all copies or substantial portions of the Software. 10105 // 10106 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10107 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10108 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10109 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10110 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10111 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10112 // 10113 // Except as contained in this notice, the name of The Open Group shall not be 10114 // used in advertising or otherwise to promote the sale, use or other dealings 10115 // in this Software without prior written authorization from The Open Group. 10116 // 10117 // 10118 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 10119 // 10120 // All Rights Reserved 10121 // 10122 // Permission to use, copy, modify, and distribute this software and its 10123 // documentation for any purpose and without fee is hereby granted, 10124 // provided that the above copyright notice appear in all copies and that 10125 // both that copyright notice and this permission notice appear in 10126 // supporting documentation, and that the name of Digital not be 10127 // used in advertising or publicity pertaining to distribution of the 10128 // software without specific, written prior permission. 10129 // 10130 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 10131 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 10132 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 10133 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 10134 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 10135 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 10136 // SOFTWARE. 10137 // 10138 // ***************************************************************** 10139 // Copyright © 2000 SuSE, Inc. 10140 // 10141 // Permission to use, copy, modify, distribute, and sell this software and its 10142 // documentation for any purpose is hereby granted without fee, provided that 10143 // the above copyright notice appear in all copies and that both that 10144 // copyright notice and this permission notice appear in supporting 10145 // documentation, and that the name of SuSE not be used in advertising or 10146 // publicity pertaining to distribution of the software without specific, 10147 // written prior permission. SuSE makes no representations about the 10148 // suitability of this software for any purpose. It is provided "as is" 10149 // without express or implied warranty. 10150 // 10151 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10152 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10153 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10154 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10155 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10156 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10157 // 10158 // Author: Keith Packard, SuSE, Inc. 10159 10160 //********************************************************** 10161 // 10162 // Copyright (c) 1999 The XFree86 Project Inc. 10163 // 10164 // All Rights Reserved. 10165 // 10166 // The above copyright notice and this permission notice shall be included in 10167 // all copies or substantial portions of the Software. 10168 // 10169 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10170 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10171 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10172 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10173 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10174 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10175 // 10176 // Except as contained in this notice, the name of The XFree86 Project 10177 // Inc. shall not be used in advertising or otherwise to promote the 10178 // sale, use or other dealings in this Software without prior written 10179 // authorization from The XFree86 Project Inc.. 10180 // 10181 10182 // * 10183 // Types definitions shared between server and clients 10184 // 10185 10186 type Pointer = uintptr /* Xdefs.h:53:14 */ 10187 10188 type ClientPtr = uintptr /* Xdefs.h:57:24 */ 10189 10190 type FontPtr = uintptr /* Xdefs.h:81:22 */ // also in fonts/include/font.h 10191 10192 type FSID = uint32 /* Xdefs.h:91:23 */ 10193 10194 type AccContext = FSID /* Xdefs.h:97:14 */ 10195 10196 // OS independent time value 10197 // XXX Should probably go in Xos.h 10198 type OSTimePtr = uintptr /* Xdefs.h:101:24 */ 10199 10200 type BlockHandlerProcPtr = uintptr /* Xdefs.h:104:14 */ 10201 10202 type Glyph = XID /* render.h:29:14 */ 10203 type GlyphSet = XID /* render.h:30:14 */ 10204 type Picture = XID /* render.h:31:14 */ 10205 type PictFormat = XID /* render.h:32:14 */ 10206 10207 // #define X_RenderTransform 16 10208 // 0.5 10209 // 0.6 10210 // 0.8 10211 // 0.9 10212 // 0.10 10213 10214 // Operators only available in version 0.2 10215 10216 // Operators only available in version 0.11 10217 10218 // Filters included in 0.6 10219 // Filters included in 0.10 10220 10221 // Subpixel orders included in 0.6 10222 10223 // Extended repeat attributes included in 0.10 10224 10225 // data structures 10226 10227 type XDirectFormat = struct { 10228 Fred CARD16 10229 FredMask CARD16 10230 Fgreen CARD16 10231 FgreenMask CARD16 10232 Fblue CARD16 10233 FblueMask CARD16 10234 Falpha CARD16 10235 FalphaMask CARD16 10236 } /* renderproto.h:61:3 */ 10237 10238 type XPictFormInfo = struct { 10239 Fid CARD32 10240 Ftype CARD8 10241 Fdepth CARD8 10242 Fpad1 CARD16 10243 Fdirect XDirectFormat 10244 Fcolormap CARD32 10245 } /* renderproto.h:72:3 */ 10246 10247 type XPictVisual = struct { 10248 Fvisual CARD32 10249 Fformat CARD32 10250 } /* renderproto.h:79:3 */ 10251 10252 type XPictDepth = struct { 10253 Fdepth CARD8 10254 Fpad1 CARD8 10255 FnPictVisuals CARD16 10256 Fpad2 CARD32 10257 } /* renderproto.h:88:3 */ 10258 10259 type XPictScreen = struct { 10260 FnDepth CARD32 10261 Ffallback CARD32 10262 } /* renderproto.h:95:3 */ 10263 10264 type XIndexValue = struct { 10265 Fpixel CARD32 10266 Fred CARD16 10267 Fgreen CARD16 10268 Fblue CARD16 10269 Falpha CARD16 10270 } /* renderproto.h:105:3 */ 10271 10272 type XRenderColor = struct { 10273 Fred CARD16 10274 Fgreen CARD16 10275 Fblue CARD16 10276 Falpha CARD16 10277 } /* renderproto.h:114:3 */ 10278 10279 type XPointFixed = struct { 10280 Fx INT32 10281 Fy INT32 10282 } /* renderproto.h:121:3 */ 10283 10284 type XLineFixed = struct { 10285 Fp1 XPointFixed 10286 Fp2 XPointFixed 10287 } /* renderproto.h:128:3 */ 10288 10289 type XTriangle = struct { 10290 Fp1 XPointFixed 10291 Fp2 XPointFixed 10292 Fp3 XPointFixed 10293 } /* renderproto.h:134:3 */ 10294 10295 type XTrapezoid = struct { 10296 Ftop INT32 10297 Fbottom INT32 10298 Fleft XLineFixed 10299 Fright XLineFixed 10300 } /* renderproto.h:143:3 */ 10301 10302 type XGlyphInfo = struct { 10303 Fwidth CARD16 10304 Fheight CARD16 10305 Fx INT16 10306 Fy INT16 10307 FxOff INT16 10308 FyOff INT16 10309 } /* renderproto.h:154:3 */ 10310 10311 type XGlyphElt = struct { 10312 Flen CARD8 10313 Fpad1 CARD8 10314 Fpad2 CARD16 10315 Fdeltax INT16 10316 Fdeltay INT16 10317 } /* renderproto.h:164:3 */ 10318 10319 type XSpanFix = struct { 10320 Fl INT32 10321 Fr INT32 10322 Fy INT32 10323 } /* renderproto.h:170:3 */ 10324 10325 type XTrap = struct { 10326 Ftop XSpanFix 10327 Fbot XSpanFix 10328 } /* renderproto.h:176:3 */ 10329 10330 // requests and replies 10331 type XRenderQueryVersionReq = struct { 10332 FreqType CARD8 10333 FrenderReqType CARD8 10334 Flength CARD16 10335 FmajorVersion CARD32 10336 FminorVersion CARD32 10337 } /* renderproto.h:189:3 */ 10338 10339 type XRenderQueryVersionReply = struct { 10340 Ftype BYTE 10341 Fpad1 BYTE 10342 FsequenceNumber CARD16 10343 Flength CARD32 10344 FmajorVersion CARD32 10345 FminorVersion CARD32 10346 Fpad2 CARD32 10347 Fpad3 CARD32 10348 Fpad4 CARD32 10349 Fpad5 CARD32 10350 } /* renderproto.h:204:3 */ 10351 10352 type XRenderQueryPictFormatsReq = struct { 10353 FreqType CARD8 10354 FrenderReqType CARD8 10355 Flength CARD16 10356 } /* renderproto.h:212:3 */ 10357 10358 type XRenderQueryPictFormatsReply = struct { 10359 Ftype BYTE 10360 Fpad1 BYTE 10361 FsequenceNumber CARD16 10362 Flength CARD32 10363 FnumFormats CARD32 10364 FnumScreens CARD32 10365 FnumDepths CARD32 10366 FnumVisuals CARD32 10367 FnumSubpixel CARD32 10368 Fpad5 CARD32 10369 } /* renderproto.h:227:3 */ 10370 10371 type XRenderQueryPictIndexValuesReq = struct { 10372 FreqType CARD8 10373 FrenderReqType CARD8 10374 Flength CARD16 10375 Fformat CARD32 10376 } /* renderproto.h:236:3 */ 10377 10378 type XRenderQueryPictIndexValuesReply = struct { 10379 Ftype BYTE 10380 Fpad1 BYTE 10381 FsequenceNumber CARD16 10382 Flength CARD32 10383 FnumIndexValues CARD32 10384 Fpad2 CARD32 10385 Fpad3 CARD32 10386 Fpad4 CARD32 10387 Fpad5 CARD32 10388 Fpad6 CARD32 10389 } /* renderproto.h:251:3 */ 10390 10391 type XRenderCreatePictureReq = struct { 10392 FreqType CARD8 10393 FrenderReqType CARD8 10394 Flength CARD16 10395 Fpid CARD32 10396 Fdrawable CARD32 10397 Fformat CARD32 10398 Fmask CARD32 10399 } /* renderproto.h:263:3 */ 10400 10401 type XRenderChangePictureReq = struct { 10402 FreqType CARD8 10403 FrenderReqType CARD8 10404 Flength CARD16 10405 Fpicture CARD32 10406 Fmask CARD32 10407 } /* renderproto.h:273:3 */ 10408 10409 type XRenderSetPictureClipRectanglesReq = struct { 10410 FreqType CARD8 10411 FrenderReqType CARD8 10412 Flength CARD16 10413 Fpicture CARD32 10414 FxOrigin INT16 10415 FyOrigin INT16 10416 } /* renderproto.h:284:3 */ 10417 10418 type XRenderFreePictureReq = struct { 10419 FreqType CARD8 10420 FrenderReqType CARD8 10421 Flength CARD16 10422 Fpicture CARD32 10423 } /* renderproto.h:293:3 */ 10424 10425 type XRenderCompositeReq = struct { 10426 FreqType CARD8 10427 FrenderReqType CARD8 10428 Flength CARD16 10429 Fop CARD8 10430 Fpad1 CARD8 10431 Fpad2 CARD16 10432 Fsrc CARD32 10433 Fmask CARD32 10434 Fdst CARD32 10435 FxSrc INT16 10436 FySrc INT16 10437 FxMask INT16 10438 FyMask INT16 10439 FxDst INT16 10440 FyDst INT16 10441 Fwidth CARD16 10442 Fheight CARD16 10443 } /* renderproto.h:315:3 */ 10444 10445 type XRenderScaleReq = struct { 10446 FreqType CARD8 10447 FrenderReqType CARD8 10448 Flength CARD16 10449 Fsrc CARD32 10450 Fdst CARD32 10451 FcolorScale CARD32 10452 FalphaScale CARD32 10453 FxSrc INT16 10454 FySrc INT16 10455 FxDst INT16 10456 FyDst INT16 10457 Fwidth CARD16 10458 Fheight CARD16 10459 } /* renderproto.h:333:3 */ 10460 10461 type XRenderTrapezoidsReq = struct { 10462 FreqType CARD8 10463 FrenderReqType CARD8 10464 Flength CARD16 10465 Fop CARD8 10466 Fpad1 CARD8 10467 Fpad2 CARD16 10468 Fsrc CARD32 10469 Fdst CARD32 10470 FmaskFormat CARD32 10471 FxSrc INT16 10472 FySrc INT16 10473 } /* renderproto.h:349:3 */ 10474 10475 type XRenderTrianglesReq = struct { 10476 FreqType CARD8 10477 FrenderReqType CARD8 10478 Flength CARD16 10479 Fop CARD8 10480 Fpad1 CARD8 10481 Fpad2 CARD16 10482 Fsrc CARD32 10483 Fdst CARD32 10484 FmaskFormat CARD32 10485 FxSrc INT16 10486 FySrc INT16 10487 } /* renderproto.h:365:3 */ 10488 10489 type XRenderTriStripReq = struct { 10490 FreqType CARD8 10491 FrenderReqType CARD8 10492 Flength CARD16 10493 Fop CARD8 10494 Fpad1 CARD8 10495 Fpad2 CARD16 10496 Fsrc CARD32 10497 Fdst CARD32 10498 FmaskFormat CARD32 10499 FxSrc INT16 10500 FySrc INT16 10501 } /* renderproto.h:381:3 */ 10502 10503 type XRenderTriFanReq = struct { 10504 FreqType CARD8 10505 FrenderReqType CARD8 10506 Flength CARD16 10507 Fop CARD8 10508 Fpad1 CARD8 10509 Fpad2 CARD16 10510 Fsrc CARD32 10511 Fdst CARD32 10512 FmaskFormat CARD32 10513 FxSrc INT16 10514 FySrc INT16 10515 } /* renderproto.h:397:3 */ 10516 10517 type XRenderCreateGlyphSetReq = struct { 10518 FreqType CARD8 10519 FrenderReqType CARD8 10520 Flength CARD16 10521 Fgsid CARD32 10522 Fformat CARD32 10523 } /* renderproto.h:407:3 */ 10524 10525 type XRenderReferenceGlyphSetReq = struct { 10526 FreqType CARD8 10527 FrenderReqType CARD8 10528 Flength CARD16 10529 Fgsid CARD32 10530 Fexisting CARD32 10531 } /* renderproto.h:417:3 */ 10532 10533 type XRenderFreeGlyphSetReq = struct { 10534 FreqType CARD8 10535 FrenderReqType CARD8 10536 Flength CARD16 10537 Fglyphset CARD32 10538 } /* renderproto.h:426:3 */ 10539 10540 type XRenderAddGlyphsReq = struct { 10541 FreqType CARD8 10542 FrenderReqType CARD8 10543 Flength CARD16 10544 Fglyphset CARD32 10545 Fnglyphs CARD32 10546 } /* renderproto.h:436:3 */ 10547 10548 type XRenderFreeGlyphsReq = struct { 10549 FreqType CARD8 10550 FrenderReqType CARD8 10551 Flength CARD16 10552 Fglyphset CARD32 10553 } /* renderproto.h:445:3 */ 10554 10555 type XRenderCompositeGlyphsReq = struct { 10556 FreqType CARD8 10557 FrenderReqType CARD8 10558 Flength CARD16 10559 Fop CARD8 10560 Fpad1 CARD8 10561 Fpad2 CARD16 10562 Fsrc CARD32 10563 Fdst CARD32 10564 FmaskFormat CARD32 10565 Fglyphset CARD32 10566 FxSrc INT16 10567 FySrc INT16 10568 } /* renderproto.h:462:3 */ 10569 type XRenderCompositeGlyphs8Req = struct { 10570 FreqType CARD8 10571 FrenderReqType CARD8 10572 Flength CARD16 10573 Fop CARD8 10574 Fpad1 CARD8 10575 Fpad2 CARD16 10576 Fsrc CARD32 10577 Fdst CARD32 10578 FmaskFormat CARD32 10579 Fglyphset CARD32 10580 FxSrc INT16 10581 FySrc INT16 10582 } /* renderproto.h:462:30 */ 10583 type XRenderCompositeGlyphs16Req = struct { 10584 FreqType CARD8 10585 FrenderReqType CARD8 10586 Flength CARD16 10587 Fop CARD8 10588 Fpad1 CARD8 10589 Fpad2 CARD16 10590 Fsrc CARD32 10591 Fdst CARD32 10592 FmaskFormat CARD32 10593 Fglyphset CARD32 10594 FxSrc INT16 10595 FySrc INT16 10596 } /* renderproto.h:463:1 */ 10597 type XRenderCompositeGlyphs32Req = struct { 10598 FreqType CARD8 10599 FrenderReqType CARD8 10600 Flength CARD16 10601 Fop CARD8 10602 Fpad1 CARD8 10603 Fpad2 CARD16 10604 Fsrc CARD32 10605 Fdst CARD32 10606 FmaskFormat CARD32 10607 Fglyphset CARD32 10608 FxSrc INT16 10609 FySrc INT16 10610 } /* renderproto.h:463:30 */ 10611 10612 // 0.1 and higher 10613 10614 type XRenderFillRectanglesReq = struct { 10615 FreqType CARD8 10616 FrenderReqType CARD8 10617 Flength CARD16 10618 Fop CARD8 10619 Fpad1 CARD8 10620 Fpad2 CARD16 10621 Fdst CARD32 10622 Fcolor XRenderColor 10623 } /* renderproto.h:480:3 */ 10624 10625 // 0.5 and higher 10626 10627 type XRenderCreateCursorReq = struct { 10628 FreqType CARD8 10629 FrenderReqType CARD8 10630 Flength CARD16 10631 Fcid CARD32 10632 Fsrc CARD32 10633 Fx CARD16 10634 Fy CARD16 10635 } /* renderproto.h:494:3 */ 10636 10637 // 0.6 and higher 10638 10639 // This can't use an array because 32-bit values may be in bitfields 10640 type XRenderTransform = struct { 10641 Fmatrix11 INT32 10642 Fmatrix12 INT32 10643 Fmatrix13 INT32 10644 Fmatrix21 INT32 10645 Fmatrix22 INT32 10646 Fmatrix23 INT32 10647 Fmatrix31 INT32 10648 Fmatrix32 INT32 10649 Fmatrix33 INT32 10650 } /* renderproto.h:513:3 */ 10651 10652 type XRenderSetPictureTransformReq = struct { 10653 FreqType CARD8 10654 FrenderReqType CARD8 10655 Flength CARD16 10656 Fpicture CARD32 10657 Ftransform XRenderTransform 10658 } /* renderproto.h:523:3 */ 10659 10660 type XRenderQueryFiltersReq = struct { 10661 FreqType CARD8 10662 FrenderReqType CARD8 10663 Flength CARD16 10664 Fdrawable CARD32 10665 } /* renderproto.h:532:3 */ 10666 10667 type XRenderQueryFiltersReply = struct { 10668 Ftype BYTE 10669 Fpad1 BYTE 10670 FsequenceNumber CARD16 10671 Flength CARD32 10672 FnumAliases CARD32 10673 FnumFilters CARD32 10674 Fpad2 CARD32 10675 Fpad3 CARD32 10676 Fpad4 CARD32 10677 Fpad5 CARD32 10678 } /* renderproto.h:547:3 */ 10679 10680 type XRenderSetPictureFilterReq = struct { 10681 FreqType CARD8 10682 FrenderReqType CARD8 10683 Flength CARD16 10684 Fpicture CARD32 10685 Fnbytes CARD16 10686 Fpad CARD16 10687 } /* renderproto.h:558:3 */ 10688 10689 // 0.8 and higher 10690 10691 type XAnimCursorElt = struct { 10692 Fcursor CARD32 10693 Fdelay CARD32 10694 } /* renderproto.h:567:3 */ 10695 10696 type XRenderCreateAnimCursorReq = struct { 10697 FreqType CARD8 10698 FrenderReqType CARD8 10699 Flength CARD16 10700 Fcid CARD32 10701 } /* renderproto.h:576:3 */ 10702 10703 // 0.9 and higher 10704 10705 type XRenderAddTrapsReq = struct { 10706 FreqType CARD8 10707 FrenderReqType CARD8 10708 Flength CARD16 10709 Fpicture CARD32 10710 FxOff INT16 10711 FyOff INT16 10712 } /* renderproto.h:589:3 */ 10713 10714 // 0.10 and higher 10715 10716 type XRenderCreateSolidFillReq = struct { 10717 FreqType CARD8 10718 FrenderReqType CARD8 10719 Flength CARD16 10720 Fpid CARD32 10721 Fcolor XRenderColor 10722 } /* renderproto.h:601:3 */ 10723 10724 type XRenderCreateLinearGradientReq = struct { 10725 FreqType CARD8 10726 FrenderReqType CARD8 10727 Flength CARD16 10728 Fpid CARD32 10729 Fp1 XPointFixed 10730 Fp2 XPointFixed 10731 FnStops CARD32 10732 } /* renderproto.h:613:3 */ 10733 10734 type XRenderCreateRadialGradientReq = struct { 10735 FreqType CARD8 10736 FrenderReqType CARD8 10737 Flength CARD16 10738 Fpid CARD32 10739 Finner XPointFixed 10740 Fouter XPointFixed 10741 Finner_radius INT32 10742 Fouter_radius INT32 10743 FnStops CARD32 10744 } /* renderproto.h:627:3 */ 10745 10746 type XRenderCreateConicalGradientReq = struct { 10747 FreqType CARD8 10748 FrenderReqType CARD8 10749 Flength CARD16 10750 Fpid CARD32 10751 Fcenter XPointFixed 10752 Fangle INT32 10753 FnStops CARD32 10754 } /* renderproto.h:639:3 */ 10755 10756 // 10757 // Copyright © 2000 SuSE, Inc. 10758 // 10759 // Permission to use, copy, modify, distribute, and sell this software and its 10760 // documentation for any purpose is hereby granted without fee, provided that 10761 // the above copyright notice appear in all copies and that both that 10762 // copyright notice and this permission notice appear in supporting 10763 // documentation, and that the name of SuSE not be used in advertising or 10764 // publicity pertaining to distribution of the software without specific, 10765 // written prior permission. SuSE makes no representations about the 10766 // suitability of this software for any purpose. It is provided "as is" 10767 // without express or implied warranty. 10768 // 10769 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10770 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10771 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10772 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10773 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10774 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10775 // 10776 // Author: Keith Packard, SuSE, Inc. 10777 10778 // 10779 // 10780 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 10781 // 10782 // Permission to use, copy, modify, distribute, and sell this software and its 10783 // documentation for any purpose is hereby granted without fee, provided that 10784 // the above copyright notice appear in all copies and that both that 10785 // copyright notice and this permission notice appear in supporting 10786 // documentation. 10787 // 10788 // The above copyright notice and this permission notice shall be included in 10789 // all copies or substantial portions of the Software. 10790 // 10791 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10792 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10793 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10794 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10795 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10796 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10797 // 10798 // Except as contained in this notice, the name of The Open Group shall not be 10799 // used in advertising or otherwise to promote the sale, use or other dealings 10800 // in this Software without prior written authorization from The Open Group. 10801 // 10802 10803 // Xlib.h - Header definition and support file for the C subroutine 10804 // interface library (Xlib) to the X Window System Protocol (V11). 10805 // Structures and symbols starting with "_" are private to the library. 10806 // 10807 // 10808 // Copyright 1989, 1991, 1998 The Open Group 10809 // 10810 // Permission to use, copy, modify, distribute, and sell this software and its 10811 // documentation for any purpose is hereby granted without fee, provided that 10812 // the above copyright notice appear in all copies and that both that 10813 // copyright notice and this permission notice appear in supporting 10814 // documentation. 10815 // 10816 // The above copyright notice and this permission notice shall be included in 10817 // all copies or substantial portions of the Software. 10818 // 10819 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10820 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10821 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10822 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10823 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10824 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10825 // 10826 // Except as contained in this notice, the name of The Open Group shall not be 10827 // used in advertising or otherwise to promote the sale, use or other dealings 10828 // in this Software without prior written authorization from The Open Group. 10829 // * 10830 // 10831 10832 // Definitions to make function prototypes manageable 10833 10834 // 10835 // O/S-dependent (mis)feature macro definitions 10836 // 10837 // Copyright 1991, 1998 The Open Group 10838 // 10839 // Permission to use, copy, modify, distribute, and sell this software and its 10840 // documentation for any purpose is hereby granted without fee, provided that 10841 // the above copyright notice appear in all copies and that both that 10842 // copyright notice and this permission notice appear in supporting 10843 // documentation. 10844 // 10845 // The above copyright notice and this permission notice shall be included in 10846 // all copies or substantial portions of the Software. 10847 // 10848 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10849 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10850 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10851 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10852 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10853 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10854 // 10855 // Except as contained in this notice, the name of The Open Group shall not be 10856 // used in advertising or otherwise to promote the sale, use or other dealings 10857 // in this Software without prior written authorization from The Open Group. 10858 // 10859 10860 //********************************************************** 10861 // 10862 // Copyright 1987, 1998 The Open Group 10863 // 10864 // Permission to use, copy, modify, distribute, and sell this software and its 10865 // documentation for any purpose is hereby granted without fee, provided that 10866 // the above copyright notice appear in all copies and that both that 10867 // copyright notice and this permission notice appear in supporting 10868 // documentation. 10869 // 10870 // The above copyright notice and this permission notice shall be included in 10871 // all copies or substantial portions of the Software. 10872 // 10873 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10874 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10875 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10876 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10877 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10878 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10879 // 10880 // Except as contained in this notice, the name of The Open Group shall not be 10881 // used in advertising or otherwise to promote the sale, use or other dealings 10882 // in this Software without prior written authorization from The Open Group. 10883 // 10884 // 10885 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 10886 // 10887 // All Rights Reserved 10888 // 10889 // Permission to use, copy, modify, and distribute this software and its 10890 // documentation for any purpose and without fee is hereby granted, 10891 // provided that the above copyright notice appear in all copies and that 10892 // both that copyright notice and this permission notice appear in 10893 // supporting documentation, and that the name of Digital not be 10894 // used in advertising or publicity pertaining to distribution of the 10895 // software without specific, written prior permission. 10896 // 10897 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 10898 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 10899 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 10900 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 10901 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 10902 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 10903 // SOFTWARE. 10904 // 10905 // ***************************************************************** 10906 10907 // Copyright © 2000 SuSE, Inc. 10908 // 10909 // Permission to use, copy, modify, distribute, and sell this software and its 10910 // documentation for any purpose is hereby granted without fee, provided that 10911 // the above copyright notice appear in all copies and that both that 10912 // copyright notice and this permission notice appear in supporting 10913 // documentation, and that the name of SuSE not be used in advertising or 10914 // publicity pertaining to distribution of the software without specific, 10915 // written prior permission. SuSE makes no representations about the 10916 // suitability of this software for any purpose. It is provided "as is" 10917 // without express or implied warranty. 10918 // 10919 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10920 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10921 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10922 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10923 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10924 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10925 // 10926 // Author: Keith Packard, SuSE, Inc. 10927 10928 type XRenderDirectFormat = struct { 10929 Fred int16 10930 FredMask int16 10931 Fgreen int16 10932 FgreenMask int16 10933 Fblue int16 10934 FblueMask int16 10935 Falpha int16 10936 FalphaMask int16 10937 } /* Xrender.h:44:3 */ 10938 10939 type XRenderPictFormat = struct { 10940 Fid PictFormat 10941 Ftype int32 10942 Fdepth int32 10943 Fdirect XRenderDirectFormat 10944 Fcolormap Colormap 10945 } /* Xrender.h:52:3 */ 10946 10947 type X_XRenderPictureAttributes = struct { 10948 Frepeat int32 10949 Falpha_map Picture 10950 Falpha_x_origin int32 10951 Falpha_y_origin int32 10952 Fclip_x_origin int32 10953 Fclip_y_origin int32 10954 Fclip_mask Pixmap 10955 Fgraphics_exposures int32 10956 Fsubwindow_mode int32 10957 Fpoly_edge int32 10958 Fpoly_mode int32 10959 Fdither Atom 10960 Fcomponent_alpha int32 10961 } /* Xrender.h:67:9 */ 10962 10963 type XRenderPictureAttributes = X_XRenderPictureAttributes /* Xrender.h:81:3 */ 10964 10965 type XRenderColor1 = struct { 10966 Fred uint16 10967 Fgreen uint16 10968 Fblue uint16 10969 Falpha uint16 10970 } /* Xrender.h:88:3 */ 10971 10972 type X_XGlyphInfo = struct { 10973 Fwidth uint16 10974 Fheight uint16 10975 Fx int16 10976 Fy int16 10977 FxOff int16 10978 FyOff int16 10979 } /* Xrender.h:90:9 */ 10980 10981 type XGlyphInfo1 = X_XGlyphInfo /* Xrender.h:97:3 */ 10982 10983 type X_XGlyphElt8 = struct { 10984 Fglyphset GlyphSet 10985 Fchars uintptr 10986 Fnchars int32 10987 FxOff int32 10988 FyOff int32 10989 } /* Xrender.h:99:9 */ 10990 10991 type XGlyphElt8 = X_XGlyphElt8 /* Xrender.h:105:3 */ 10992 10993 type X_XGlyphElt16 = struct { 10994 Fglyphset GlyphSet 10995 Fchars uintptr 10996 Fnchars int32 10997 FxOff int32 10998 FyOff int32 10999 } /* Xrender.h:107:9 */ 11000 11001 type XGlyphElt16 = X_XGlyphElt16 /* Xrender.h:113:3 */ 11002 11003 type X_XGlyphElt32 = struct { 11004 Fglyphset GlyphSet 11005 Fchars uintptr 11006 Fnchars int32 11007 FxOff int32 11008 FyOff int32 11009 } /* Xrender.h:115:9 */ 11010 11011 type XGlyphElt32 = X_XGlyphElt32 /* Xrender.h:121:3 */ 11012 11013 type XDouble = float64 /* Xrender.h:123:16 */ 11014 11015 type X_XPointDouble = struct { 11016 Fx XDouble 11017 Fy XDouble 11018 } /* Xrender.h:125:9 */ 11019 11020 type XPointDouble = X_XPointDouble /* Xrender.h:127:3 */ 11021 11022 type XFixed = int32 /* Xrender.h:132:13 */ 11023 11024 type X_XPointFixed = struct { 11025 Fx XFixed 11026 Fy XFixed 11027 } /* Xrender.h:134:9 */ 11028 11029 type XPointFixed1 = X_XPointFixed /* Xrender.h:136:3 */ 11030 11031 type X_XLineFixed = struct { 11032 Fp1 XPointFixed1 11033 Fp2 XPointFixed1 11034 } /* Xrender.h:138:9 */ 11035 11036 type XLineFixed1 = X_XLineFixed /* Xrender.h:140:3 */ 11037 11038 type X_XTriangle = struct { 11039 Fp1 XPointFixed1 11040 Fp2 XPointFixed1 11041 Fp3 XPointFixed1 11042 } /* Xrender.h:142:9 */ 11043 11044 type XTriangle1 = X_XTriangle /* Xrender.h:144:3 */ 11045 11046 type X_XCircle = struct { 11047 Fx XFixed 11048 Fy XFixed 11049 Fradius XFixed 11050 } /* Xrender.h:146:9 */ 11051 11052 type XCircle = X_XCircle /* Xrender.h:150:3 */ 11053 11054 type X_XTrapezoid = struct { 11055 Ftop XFixed 11056 Fbottom XFixed 11057 Fleft XLineFixed1 11058 Fright XLineFixed1 11059 } /* Xrender.h:152:9 */ 11060 11061 type XTrapezoid1 = X_XTrapezoid /* Xrender.h:155:3 */ 11062 11063 type X_XTransform = struct{ Fmatrix [3][3]XFixed } /* Xrender.h:157:9 */ 11064 11065 type XTransform = X_XTransform /* Xrender.h:159:3 */ 11066 11067 type X_XFilters = struct { 11068 Fnfilter int32 11069 Ffilter uintptr 11070 Fnalias int32 11071 Falias uintptr 11072 } /* Xrender.h:161:9 */ 11073 11074 type XFilters = X_XFilters /* Xrender.h:166:3 */ 11075 11076 type X_XIndexValue = struct { 11077 Fpixel uint32 11078 Fred uint16 11079 Fgreen uint16 11080 Fblue uint16 11081 Falpha uint16 11082 } /* Xrender.h:168:9 */ 11083 11084 type XIndexValue1 = X_XIndexValue /* Xrender.h:171:3 */ 11085 11086 type X_XAnimCursor = struct { 11087 Fcursor Cursor 11088 Fdelay uint32 11089 } /* Xrender.h:173:9 */ 11090 11091 type XAnimCursor = X_XAnimCursor /* Xrender.h:176:3 */ 11092 11093 type X_XSpanFix = struct { 11094 Fleft XFixed 11095 Fright XFixed 11096 Fy XFixed 11097 } /* Xrender.h:178:9 */ 11098 11099 type XSpanFix1 = X_XSpanFix /* Xrender.h:180:3 */ 11100 11101 type X_XTrap = struct { 11102 Ftop XSpanFix1 11103 Fbottom XSpanFix1 11104 } /* Xrender.h:182:9 */ 11105 11106 type XTrap1 = X_XTrap /* Xrender.h:184:3 */ 11107 11108 type X_XLinearGradient = struct { 11109 Fp1 XPointFixed1 11110 Fp2 XPointFixed1 11111 } /* Xrender.h:186:9 */ 11112 11113 type XLinearGradient = X_XLinearGradient /* Xrender.h:189:3 */ 11114 11115 type X_XRadialGradient = struct { 11116 Finner XCircle 11117 Fouter XCircle 11118 } /* Xrender.h:191:9 */ 11119 11120 type XRadialGradient = X_XRadialGradient /* Xrender.h:194:3 */ 11121 11122 type X_XConicalGradient = struct { 11123 Fcenter XPointFixed1 11124 Fangle XFixed 11125 } /* Xrender.h:196:9 */ 11126 11127 type XConicalGradient = X_XConicalGradient /* Xrender.h:199:3 */ 11128 11129 type XRenderVisual = struct { 11130 Fvisual uintptr 11131 Fformat uintptr 11132 } /* Xrenderint.h:37:3 */ 11133 11134 type XRenderDepth = struct { 11135 Fdepth int32 11136 Fnvisuals int32 11137 Fvisuals uintptr 11138 } /* Xrenderint.h:43:3 */ 11139 11140 type XRenderScreen = struct { 11141 Fdepths uintptr 11142 Fndepths int32 11143 Ffallback uintptr 11144 Fsubpixel int32 11145 } /* Xrenderint.h:50:3 */ 11146 11147 type X_XRenderInfo = struct { 11148 Fmajor_version int32 11149 Fminor_version int32 11150 Fformat uintptr 11151 Fnformat int32 11152 Fscreen uintptr 11153 Fnscreen int32 11154 Fdepth uintptr 11155 Fndepth int32 11156 Fvisual uintptr 11157 Fnvisual int32 11158 Fsubpixel uintptr 11159 Fnsubpixel int32 11160 Ffilter uintptr 11161 Fnfilter int32 11162 Ffilter_alias uintptr 11163 Fnfilter_alias int32 11164 } /* Xrenderint.h:52:9 */ 11165 11166 type XRenderInfo = X_XRenderInfo /* Xrenderint.h:69:3 */ 11167 11168 // replaces XRenderExtDisplayInfo 11169 type X_XRenderExtDisplayInfo = struct { 11170 Fnext uintptr 11171 Fdisplay uintptr 11172 Fcodes uintptr 11173 Finfo uintptr 11174 } /* Xrenderint.h:72:9 */ 11175 11176 // replaces XRenderExtDisplayInfo 11177 type XRenderExtDisplayInfo = X_XRenderExtDisplayInfo /* Xrenderint.h:77:3 */ 11178 11179 // replaces XExtensionInfo 11180 type X_XRenderExtInfo = struct { 11181 Fhead uintptr 11182 Fcur uintptr 11183 Fndisplays int32 11184 } /* Xrenderint.h:80:9 */ 11185 11186 // replaces XExtensionInfo 11187 type XRenderExtInfo = X_XRenderExtInfo /* Xrenderint.h:84:3 */ 11188 11189 // Xlib uses long for 32-bit values. Xrender uses int. This 11190 // matters on alpha. Note that this macro assumes that int is 32 bits 11191 // except on WORD64 machines where it is 64 bits. 11192 11193 func XXRenderAddTraps(tls *libc.TLS, dpy uintptr, picture Picture, xOff int32, yOff int32, traps uintptr, ntrap int32) { /* AddTrap.c:31:1: */ 11194 bp := tls.Alloc(4) 11195 defer tls.Free(4) 11196 11197 var info uintptr = XXRenderFindDisplay(tls, dpy) 11198 var req uintptr 11199 var n int32 11200 var len int32 11201 var max_req uint32 11202 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11203 max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size 11204 } else { 11205 max_req = uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size) 11206 } 11207 11208 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11209 return 11210 } 11211 11212 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11213 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11214 } 11215 for ntrap != 0 { 11216 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddTraps), uint32(Sz_xRenderAddTrapsReq)) 11217 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11218 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddTraps) 11219 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).Fpicture = picture 11220 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FxOff = INT16(xOff) 11221 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FyOff = INT16(yOff) 11222 n = ntrap 11223 len = ((int32(n)) * (int32(Sz_xTrap) >> 2)) 11224 if uint32(len) > (max_req - uint32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) { 11225 n = (int32((max_req - uint32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xTrap) >> 2)))) 11226 len = ((int32(n)) * (int32(Sz_xTrap) >> 2)) 11227 } 11228 if (uint32(int32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 11229 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11230 { 11231 // var _BRdat CARD32 at bp, 4 11232 var _BRlen CARD32 = (CARD32(int32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) - 1)) 11233 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11234 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 11235 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 11236 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 11237 { 11238 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 11239 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 11240 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 11241 } else { 11242 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 11243 } 11244 } 11245 11246 } 11247 } else { 11248 len = len 11249 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11250 } 11251 } else { 11252 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11253 } 11254 len <<= 2 11255 { 11256 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 11257 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint32(int32(len))) 11258 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3))) 11259 } else { 11260 x11.X_XSend(tls, dpy, traps, len) 11261 } 11262 } 11263 11264 ntrap = ntrap - (n) 11265 traps += 24 * (uintptr(n)) 11266 } 11267 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11268 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11269 } 11270 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11271 (*struct { 11272 f func(*libc.TLS, uintptr) int32 11273 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11274 } 11275 } 11276 11277 // Xlib uses long for 32-bit values. Xrender uses int. This 11278 // matters on alpha. Note that this macro assumes that int is 32 bits 11279 // except on WORD64 machines where it is 64 bits. 11280 11281 func XXRenderParseColor(tls *libc.TLS, dpy uintptr, spec uintptr, def uintptr) int32 { /* Color.c:30:1: */ 11282 bp := tls.Alloc(20) 11283 defer tls.Free(20) 11284 11285 if !(libc.Xstrncmp(tls, spec, ts /* "rgba:" */, uint32(5)) != 0) { 11286 // var elements [4]uint16 at bp, 8 11287 11288 var pShort uintptr 11289 var i int32 11290 var n int32 11291 var c int8 11292 11293 spec += uintptr(5) 11294 // Attempt to parse the value portion. 11295 pShort = bp /* &elements[0] */ 11296 i = 0 11297 __1: 11298 if !(i < 4) { 11299 goto __3 11300 } 11301 { 11302 n = 0 11303 *(*uint16)(unsafe.Pointer(pShort)) = uint16(0) 11304 for (int32(*(*int8)(unsafe.Pointer(spec))) != '/') && (int32(*(*int8)(unsafe.Pointer(spec))) != 0) { 11305 if libc.PreIncInt32(&n, 1) > 4 { 11306 return 0 11307 } 11308 c = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&spec, 1))) 11309 libc.AssignShlPtrUint16(pShort, int(4)) 11310 if (int32(c) >= '0') && (int32(c) <= '9') { 11311 *(*uint16)(unsafe.Pointer(pShort)) |= uint16((int32(c) - '0')) 11312 } else if (int32(c) >= 'a') && (int32(c) <= 'f') { 11313 *(*uint16)(unsafe.Pointer(pShort)) |= uint16((int32(c) - ('a' - 10))) 11314 } else { 11315 return 0 11316 } 11317 } 11318 if n == 0 { 11319 return 0 11320 } 11321 if n < 4 { 11322 *(*uint16)(unsafe.Pointer(pShort)) = (uint16((uint32(*(*uint16)(unsafe.Pointer(pShort))) * uint32(0xFFFF)) / (uint32((int32(1) << (n * 4)) - 1)))) 11323 } 11324 11325 } 11326 goto __2 11327 __2: 11328 i++ 11329 pShort += 2 11330 spec++ 11331 goto __1 11332 goto __3 11333 __3: 11334 ; 11335 (*XRenderColor1)(unsafe.Pointer(def)).Fred = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */)) 11336 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 1*2)) 11337 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 2*2)) 11338 (*XRenderColor1)(unsafe.Pointer(def)).Falpha = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 3*2)) 11339 } else { 11340 // var coreColor XColor at bp+8, 12 11341 11342 var colormap Colormap 11343 11344 colormap = (*Screen)(unsafe.Pointer(((*struct { 11345 Fext_data uintptr 11346 Fprivate1 uintptr 11347 Ffd int32 11348 Fprivate2 int32 11349 Fproto_major_version int32 11350 Fproto_minor_version int32 11351 Fvendor uintptr 11352 Fprivate3 XID 11353 Fprivate4 XID 11354 Fprivate5 XID 11355 Fprivate6 int32 11356 Fresource_alloc uintptr 11357 Fbyte_order int32 11358 Fbitmap_unit int32 11359 Fbitmap_pad int32 11360 Fbitmap_bit_order int32 11361 Fnformats int32 11362 Fpixmap_format uintptr 11363 Fprivate8 int32 11364 Frelease int32 11365 Fprivate9 uintptr 11366 Fprivate10 uintptr 11367 Fqlen int32 11368 Flast_request_read uint32 11369 Frequest uint32 11370 Fprivate11 XPointer 11371 Fprivate12 XPointer 11372 Fprivate13 XPointer 11373 Fprivate14 XPointer 11374 Fmax_request_size uint32 11375 Fdb uintptr 11376 Fprivate15 uintptr 11377 Fdisplay_name uintptr 11378 Fdefault_screen int32 11379 Fnscreens int32 11380 Fscreens uintptr 11381 Fmotion_buffer uint32 11382 Fprivate16 uint32 11383 Fmin_keycode int32 11384 Fmax_keycode int32 11385 Fprivate17 XPointer 11386 Fprivate18 XPointer 11387 Fprivate19 int32 11388 Fxdefaults uintptr 11389 })(unsafe.Pointer((dpy))).Fscreens + uintptr(((*struct { 11390 Fext_data uintptr 11391 Fprivate1 uintptr 11392 Ffd int32 11393 Fprivate2 int32 11394 Fproto_major_version int32 11395 Fproto_minor_version int32 11396 Fvendor uintptr 11397 Fprivate3 XID 11398 Fprivate4 XID 11399 Fprivate5 XID 11400 Fprivate6 int32 11401 Fresource_alloc uintptr 11402 Fbyte_order int32 11403 Fbitmap_unit int32 11404 Fbitmap_pad int32 11405 Fbitmap_bit_order int32 11406 Fnformats int32 11407 Fpixmap_format uintptr 11408 Fprivate8 int32 11409 Frelease int32 11410 Fprivate9 uintptr 11411 Fprivate10 uintptr 11412 Fqlen int32 11413 Flast_request_read uint32 11414 Frequest uint32 11415 Fprivate11 XPointer 11416 Fprivate12 XPointer 11417 Fprivate13 XPointer 11418 Fprivate14 XPointer 11419 Fmax_request_size uint32 11420 Fdb uintptr 11421 Fprivate15 uintptr 11422 Fdisplay_name uintptr 11423 Fdefault_screen int32 11424 Fnscreens int32 11425 Fscreens uintptr 11426 Fmotion_buffer uint32 11427 Fprivate16 uint32 11428 Fmin_keycode int32 11429 Fmax_keycode int32 11430 Fprivate17 XPointer 11431 Fprivate18 XPointer 11432 Fprivate19 int32 11433 Fxdefaults uintptr 11434 })(unsafe.Pointer(dpy)).Fdefault_screen))*80))).Fcmap 11435 if !(x11.XXParseColor(tls, dpy, colormap, spec, bp+8 /* &coreColor */) != 0) { 11436 return 0 11437 } 11438 (*XRenderColor1)(unsafe.Pointer(def)).Fred = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fred 11439 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fgreen 11440 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fblue 11441 (*XRenderColor1)(unsafe.Pointer(def)).Falpha = uint16(0xffff) 11442 } 11443 (*XRenderColor1)(unsafe.Pointer(def)).Fred = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fred) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff)) 11444 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fgreen) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff)) 11445 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fblue) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff)) 11446 return 1 11447 } 11448 11449 // Xlib uses long for 32-bit values. Xrender uses int. This 11450 // matters on alpha. Note that this macro assumes that int is 32 bits 11451 // except on WORD64 machines where it is 64 bits. 11452 11453 func XXRenderComposite(tls *libc.TLS, dpy uintptr, op int32, src Picture, mask Picture, dst Picture, src_x int32, src_y int32, mask_x int32, mask_y int32, dst_x int32, dst_y int32, width uint32, height uint32) { /* Composite.c:31:1: */ 11454 var info uintptr = XXRenderFindDisplay(tls, dpy) 11455 var req uintptr 11456 11457 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11458 return 11459 } 11460 11461 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11462 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11463 } 11464 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderComposite), uint32(Sz_xRenderCompositeReq)) 11465 (*XRenderCompositeReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11466 (*XRenderCompositeReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderComposite) 11467 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fop = CARD8(op) 11468 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fsrc = src 11469 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fmask = mask 11470 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fdst = dst 11471 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxSrc = INT16(src_x) 11472 (*XRenderCompositeReq)(unsafe.Pointer(req)).FySrc = INT16(src_y) 11473 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxMask = INT16(mask_x) 11474 (*XRenderCompositeReq)(unsafe.Pointer(req)).FyMask = INT16(mask_y) 11475 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxDst = INT16(dst_x) 11476 (*XRenderCompositeReq)(unsafe.Pointer(req)).FyDst = INT16(dst_y) 11477 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fwidth = CARD16(width) 11478 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fheight = CARD16(height) 11479 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11480 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11481 } 11482 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11483 (*struct { 11484 f func(*libc.TLS, uintptr) int32 11485 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11486 } 11487 } 11488 11489 // Xlib uses long for 32-bit values. Xrender uses int. This 11490 // matters on alpha. Note that this macro assumes that int is 32 bits 11491 // except on WORD64 machines where it is 64 bits. 11492 11493 func XXRenderCreateCursor(tls *libc.TLS, dpy uintptr, source Picture, x uint32, y uint32) Cursor { /* Cursor.c:30:1: */ 11494 var info uintptr = XXRenderFindDisplay(tls, dpy) 11495 var cid Cursor 11496 var req uintptr 11497 11498 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11499 return Cursor(0) 11500 } 11501 11502 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11503 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11504 } 11505 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateCursor), uint32(Sz_xRenderCreateCursorReq)) 11506 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11507 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateCursor) 11508 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fcid = libc.AssignUint32(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 11509 Fext_data uintptr 11510 Fprivate1 uintptr 11511 Ffd int32 11512 Fprivate2 int32 11513 Fproto_major_version int32 11514 Fproto_minor_version int32 11515 Fvendor uintptr 11516 Fprivate3 XID 11517 Fprivate4 XID 11518 Fprivate5 XID 11519 Fprivate6 int32 11520 Fresource_alloc uintptr 11521 Fbyte_order int32 11522 Fbitmap_unit int32 11523 Fbitmap_pad int32 11524 Fbitmap_bit_order int32 11525 Fnformats int32 11526 Fpixmap_format uintptr 11527 Fprivate8 int32 11528 Frelease int32 11529 Fprivate9 uintptr 11530 Fprivate10 uintptr 11531 Fqlen int32 11532 Flast_request_read uint32 11533 Frequest uint32 11534 Fprivate11 XPointer 11535 Fprivate12 XPointer 11536 Fprivate13 XPointer 11537 Fprivate14 XPointer 11538 Fmax_request_size uint32 11539 Fdb uintptr 11540 Fprivate15 uintptr 11541 Fdisplay_name uintptr 11542 Fdefault_screen int32 11543 Fnscreens int32 11544 Fscreens uintptr 11545 Fmotion_buffer uint32 11546 Fprivate16 uint32 11547 Fmin_keycode int32 11548 Fmax_keycode int32 11549 Fprivate17 XPointer 11550 Fprivate18 XPointer 11551 Fprivate19 int32 11552 Fxdefaults uintptr 11553 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)) 11554 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fsrc = source 11555 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fx = CARD16(x) 11556 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fy = CARD16(y) 11557 11558 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11559 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11560 } 11561 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11562 (*struct { 11563 f func(*libc.TLS, uintptr) int32 11564 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11565 } 11566 return cid 11567 } 11568 11569 func XXRenderCreateAnimCursor(tls *libc.TLS, dpy uintptr, ncursor int32, cursors uintptr) Cursor { /* Cursor.c:55:1: */ 11570 bp := tls.Alloc(4) 11571 defer tls.Free(4) 11572 11573 var info uintptr = XXRenderFindDisplay(tls, dpy) 11574 var cid Cursor 11575 var req uintptr 11576 var len int32 11577 11578 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11579 return Cursor(0) 11580 } 11581 11582 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11583 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11584 } 11585 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateAnimCursor), uint32(Sz_xRenderCreateAnimCursorReq)) 11586 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11587 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateAnimCursor) 11588 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Fcid = libc.AssignUint32(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 11589 Fext_data uintptr 11590 Fprivate1 uintptr 11591 Ffd int32 11592 Fprivate2 int32 11593 Fproto_major_version int32 11594 Fproto_minor_version int32 11595 Fvendor uintptr 11596 Fprivate3 XID 11597 Fprivate4 XID 11598 Fprivate5 XID 11599 Fprivate6 int32 11600 Fresource_alloc uintptr 11601 Fbyte_order int32 11602 Fbitmap_unit int32 11603 Fbitmap_pad int32 11604 Fbitmap_bit_order int32 11605 Fnformats int32 11606 Fpixmap_format uintptr 11607 Fprivate8 int32 11608 Frelease int32 11609 Fprivate9 uintptr 11610 Fprivate10 uintptr 11611 Fqlen int32 11612 Flast_request_read uint32 11613 Frequest uint32 11614 Fprivate11 XPointer 11615 Fprivate12 XPointer 11616 Fprivate13 XPointer 11617 Fprivate14 XPointer 11618 Fmax_request_size uint32 11619 Fdb uintptr 11620 Fprivate15 uintptr 11621 Fdisplay_name uintptr 11622 Fdefault_screen int32 11623 Fnscreens int32 11624 Fscreens uintptr 11625 Fmotion_buffer uint32 11626 Fprivate16 uint32 11627 Fmin_keycode int32 11628 Fmax_keycode int32 11629 Fprivate17 XPointer 11630 Fprivate18 XPointer 11631 Fprivate19 int32 11632 Fxdefaults uintptr 11633 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)) 11634 11635 len = ((int32(ncursor) * Sz_xAnimCursorElt) >> 2) 11636 if (uint32(int32((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 11637 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11638 { 11639 // var _BRdat CARD32 at bp, 4 11640 var _BRlen CARD32 = (CARD32(int32((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) - 1)) 11641 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11642 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 11643 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 11644 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 11645 { 11646 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 11647 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 11648 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 11649 } else { 11650 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 11651 } 11652 } 11653 11654 } 11655 } else { 11656 len = len 11657 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11658 } 11659 } else { 11660 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11661 } 11662 len <<= 2 11663 { 11664 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 11665 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, cursors, uint32(int32(len))) 11666 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3))) 11667 } else { 11668 x11.X_XSend(tls, dpy, cursors, len) 11669 } 11670 } 11671 11672 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11673 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11674 } 11675 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11676 (*struct { 11677 f func(*libc.TLS, uintptr) int32 11678 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11679 } 11680 return cid 11681 } 11682 11683 // Xlib uses long for 32-bit values. Xrender uses int. This 11684 // matters on alpha. Note that this macro assumes that int is 32 bits 11685 // except on WORD64 machines where it is 64 bits. 11686 11687 // precompute the maximum size of batching request allowed 11688 11689 func XXRenderFillRectangle(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, x int32, y int32, width uint32, height uint32) { /* FillRect.c:35:1: */ 11690 var info uintptr = XXRenderFindDisplay(tls, dpy) 11691 var rect uintptr 11692 var req uintptr 11693 11694 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11695 return 11696 } 11697 11698 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11699 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11700 } 11701 11702 req = (*Display)(unsafe.Pointer(dpy)).Flast_req 11703 // if same as previous request, with same drawable, batch requests 11704 if (((((((((int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType) == (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType) == X_RenderFillRectangles)) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop) == op)) && ((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst == dst)) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fred))) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fgreen))) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fblue))) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha) == int32((*XRenderColor1)(unsafe.Pointer(color)).Falpha))) && (((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(Sz_xRectangle)) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax)) && (((int32((*Display)(unsafe.Pointer(dpy)).Fbufptr) - int32(req)) / 1) < (Sz_xRenderFillRectanglesReq + (FRCTSPERBATCH * Sz_xRectangle))) { 11705 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((int32(Sz_xRectangle) >> 2)) 11706 rect = (*Display)(unsafe.Pointer(dpy)).Fbufptr 11707 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xRectangle)) 11708 } else { 11709 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), (uint32(Sz_xRenderFillRectanglesReq + Sz_xRectangle))) 11710 11711 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11712 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles) 11713 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 11714 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = dst 11715 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 11716 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 11717 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 11718 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 11719 11720 rect = ((req) + uintptr(1)*20) 11721 } 11722 (*XRectangle1)(unsafe.Pointer(rect)).Fx = INT16(x) 11723 (*XRectangle1)(unsafe.Pointer(rect)).Fy = INT16(y) 11724 (*XRectangle1)(unsafe.Pointer(rect)).Fwidth = CARD16(width) 11725 (*XRectangle1)(unsafe.Pointer(rect)).Fheight = CARD16(height) 11726 11727 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11728 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11729 } 11730 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11731 (*struct { 11732 f func(*libc.TLS, uintptr) int32 11733 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11734 } 11735 } 11736 11737 // Xlib uses long for 32-bit values. Xrender uses int. This 11738 // matters on alpha. Note that this macro assumes that int is 32 bits 11739 // except on WORD64 machines where it is 64 bits. 11740 11741 // precompute the maximum size of batching request allowed 11742 11743 func XXRenderFillRectangles(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, rectangles uintptr, n_rects int32) { /* FillRects.c:35:1: */ 11744 bp := tls.Alloc(4) 11745 defer tls.Free(4) 11746 11747 var info uintptr = XXRenderFindDisplay(tls, dpy) 11748 var req uintptr 11749 var len int32 11750 var n int32 11751 11752 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11753 return 11754 } 11755 11756 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11757 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11758 } 11759 11760 for n_rects != 0 { 11761 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), uint32(Sz_xRenderFillRectanglesReq)) 11762 11763 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11764 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles) 11765 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 11766 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = dst 11767 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 11768 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 11769 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 11770 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 11771 11772 n = n_rects 11773 len = ((int32(n)) << 1) 11774 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (uint32(len) > (uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)))) { 11775 n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) >> 1)) 11776 len = ((int32(n)) << 1) 11777 } 11778 if (uint32(int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 11779 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11780 { 11781 // var _BRdat CARD32 at bp, 4 11782 var _BRlen CARD32 = (CARD32(int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) - 1)) 11783 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11784 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 11785 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 11786 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 11787 { 11788 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 11789 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 11790 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 11791 } else { 11792 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 11793 } 11794 } 11795 11796 } 11797 } else { 11798 len = len 11799 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11800 } 11801 } else { 11802 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11803 } 11804 len <<= 2 /* watch out for macros... */ 11805 { 11806 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 11807 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rectangles, uint32(int32(len))) 11808 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3))) 11809 } else { 11810 x11.X_XSend(tls, dpy, rectangles, len) 11811 } 11812 } 11813 11814 n_rects = n_rects - (n) 11815 rectangles += 8 * (uintptr(n)) 11816 } 11817 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11818 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11819 } 11820 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11821 (*struct { 11822 f func(*libc.TLS, uintptr) int32 11823 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11824 } 11825 } 11826 11827 // Xlib uses long for 32-bit values. Xrender uses int. This 11828 // matters on alpha. Note that this macro assumes that int is 32 bits 11829 // except on WORD64 machines where it is 64 bits. 11830 11831 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 11832 // 11833 // This file is part of GCC. 11834 // 11835 // GCC is free software; you can redistribute it and/or modify it under 11836 // the terms of the GNU General Public License as published by the Free 11837 // Software Foundation; either version 3, or (at your option) any later 11838 // version. 11839 // 11840 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 11841 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 11842 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11843 // for more details. 11844 // 11845 // Under Section 7 of GPL version 3, you are granted additional 11846 // permissions described in the GCC Runtime Library Exception, version 11847 // 3.1, as published by the Free Software Foundation. 11848 // 11849 // You should have received a copy of the GNU General Public License and 11850 // a copy of the GCC Runtime Library Exception along with this program; 11851 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 11852 // <http://www.gnu.org/licenses/>. 11853 11854 // This administrivia gets added to the beginning of limits.h 11855 // if the system has its own version of limits.h. 11856 11857 // We use _GCC_LIMITS_H_ because we want this not to match 11858 // any macros that the system's limits.h uses for its own purposes. 11859 11860 // Use "..." so that we find syslimits.h only in this same directory. 11861 // syslimits.h stands for the system's own limits.h file. 11862 // If we can use it ok unmodified, then we install this text. 11863 // If fixincludes fixes it, then the fixed version is installed 11864 // instead of this text. 11865 11866 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 11867 // This file is part of the GNU C Library. 11868 // 11869 // The GNU C Library is free software; you can redistribute it and/or 11870 // modify it under the terms of the GNU Lesser General Public 11871 // License as published by the Free Software Foundation; either 11872 // version 2.1 of the License, or (at your option) any later version. 11873 // 11874 // The GNU C Library is distributed in the hope that it will be useful, 11875 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11876 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11877 // Lesser General Public License for more details. 11878 // 11879 // You should have received a copy of the GNU Lesser General Public 11880 // License along with the GNU C Library; if not, see 11881 // <https://www.gnu.org/licenses/>. 11882 11883 // ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h> 11884 11885 // Handle feature test macros at the start of a header. 11886 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 11887 // This file is part of the GNU C Library. 11888 // 11889 // The GNU C Library is free software; you can redistribute it and/or 11890 // modify it under the terms of the GNU Lesser General Public 11891 // License as published by the Free Software Foundation; either 11892 // version 2.1 of the License, or (at your option) any later version. 11893 // 11894 // The GNU C Library is distributed in the hope that it will be useful, 11895 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11896 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11897 // Lesser General Public License for more details. 11898 // 11899 // You should have received a copy of the GNU Lesser General Public 11900 // License along with the GNU C Library; if not, see 11901 // <https://www.gnu.org/licenses/>. 11902 11903 // This header is internal to glibc and should not be included outside 11904 // of glibc headers. Headers including it must define 11905 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 11906 // cannot have multiple include guards because ISO C feature test 11907 // macros depend on the definition of the macro when an affected 11908 // header is included, not when the first system header is 11909 // included. 11910 11911 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 11912 // This file is part of the GNU C Library. 11913 // 11914 // The GNU C Library is free software; you can redistribute it and/or 11915 // modify it under the terms of the GNU Lesser General Public 11916 // License as published by the Free Software Foundation; either 11917 // version 2.1 of the License, or (at your option) any later version. 11918 // 11919 // The GNU C Library is distributed in the hope that it will be useful, 11920 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11921 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11922 // Lesser General Public License for more details. 11923 // 11924 // You should have received a copy of the GNU Lesser General Public 11925 // License along with the GNU C Library; if not, see 11926 // <https://www.gnu.org/licenses/>. 11927 11928 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 11929 // macro. 11930 11931 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 11932 // macro. Most but not all symbols enabled by that macro in TS 11933 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 11934 // still require that macro in C2X. 11935 11936 // ISO/IEC TS 18661-4:2015 defines the 11937 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 11938 // functions, the symbols from this TS are enabled unconditionally in 11939 // C2X. 11940 11941 // ISO/IEC TS 18661-3:2015 defines the 11942 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 11943 11944 // Maximum length of any multibyte character in any locale. 11945 // We define this value here since the gcc header does not define 11946 // the correct value. 11947 11948 // If we are not using GNU CC we have to define all the symbols ourself. 11949 // Otherwise use gcc's definitions (see below). 11950 11951 // Get the compiler's limits.h, which defines almost all the ISO constants. 11952 // 11953 // We put this #include_next outside the double inclusion check because 11954 // it should be possible to include this file more than once and still get 11955 // the definitions from gcc's header. 11956 11957 // The <limits.h> files in some gcc versions don't define LLONG_MIN, 11958 // LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for 11959 // ages are available. 11960 11961 // The integer width macros are not defined by GCC's <limits.h> before 11962 // GCC 7, or if _GNU_SOURCE rather than 11963 // __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. 11964 11965 // POSIX adds things to <limits.h>. 11966 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 11967 // This file is part of the GNU C Library. 11968 // 11969 // The GNU C Library is free software; you can redistribute it and/or 11970 // modify it under the terms of the GNU Lesser General Public 11971 // License as published by the Free Software Foundation; either 11972 // version 2.1 of the License, or (at your option) any later version. 11973 // 11974 // The GNU C Library is distributed in the hope that it will be useful, 11975 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11976 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11977 // Lesser General Public License for more details. 11978 // 11979 // You should have received a copy of the GNU Lesser General Public 11980 // License along with the GNU C Library; if not, see 11981 // <https://www.gnu.org/licenses/>. 11982 11983 // POSIX Standard: 2.9.2 Minimum Values Added to <limits.h> 11984 // 11985 // Never include this file directly; use <limits.h> instead. 11986 11987 // Determine the wordsize from the preprocessor defines. 11988 11989 // These are the standard-mandated minimum values. 11990 11991 // Minimum number of operations in one list I/O call. 11992 11993 // Minimal number of outstanding asynchronous I/O operations. 11994 11995 // Maximum length of arguments to `execve', including environment. 11996 11997 // Maximum simultaneous processes per real user ID. 11998 11999 // Minimal number of timer expiration overruns. 12000 12001 // Maximum length of a host name (not including the terminating null) 12002 // as returned from the GETHOSTNAME function. 12003 12004 // Maximum link count of a file. 12005 12006 // Maximum length of login name. 12007 12008 // Number of bytes in a terminal canonical input queue. 12009 12010 // Number of bytes for which space will be 12011 // available in a terminal input queue. 12012 12013 // Maximum number of message queues open for a process. 12014 12015 // Maximum number of supported message priorities. 12016 12017 // Number of bytes in a filename. 12018 12019 // Number of simultaneous supplementary group IDs per process. 12020 12021 // Number of files one process can have open at once. 12022 12023 // Number of bytes in a pathname. 12024 12025 // Number of bytes than can be written atomically to a pipe. 12026 12027 // The number of repeated occurrences of a BRE permitted by the 12028 // REGEXEC and REGCOMP functions when using the interval notation. 12029 12030 // Minimal number of realtime signals reserved for the application. 12031 12032 // Number of semaphores a process can have. 12033 12034 // Maximal value of a semaphore. 12035 12036 // Number of pending realtime signals. 12037 12038 // Largest value of a `ssize_t'. 12039 12040 // Number of streams a process can have open at once. 12041 12042 // The number of bytes in a symbolic link. 12043 12044 // The number of symbolic links that can be traversed in the 12045 // resolution of a pathname in the absence of a loop. 12046 12047 // Number of timer for a process. 12048 12049 // Maximum number of characters in a tty name. 12050 12051 // Maximum length of a timezone name (element of `tzname'). 12052 12053 // Maximum clock resolution in nanoseconds. 12054 12055 // Get the implementation-specific values for the above. 12056 // Minimum guaranteed maximum values for system limits. Linux version. 12057 // Copyright (C) 1993-2020 Free Software Foundation, Inc. 12058 // This file is part of the GNU C Library. 12059 // 12060 // The GNU C Library is free software; you can redistribute it and/or 12061 // modify it under the terms of the GNU Lesser General Public License as 12062 // published by the Free Software Foundation; either version 2.1 of the 12063 // License, or (at your option) any later version. 12064 // 12065 // The GNU C Library is distributed in the hope that it will be useful, 12066 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12067 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12068 // Lesser General Public License for more details. 12069 // 12070 // You should have received a copy of the GNU Lesser General Public 12071 // License along with the GNU C Library; see the file COPYING.LIB. If 12072 // not, see <https://www.gnu.org/licenses/>. 12073 12074 // The kernel header pollutes the namespace with the NR_OPEN symbol 12075 // and defines LINK_MAX although filesystems have different maxima. A 12076 // similar thing is true for OPEN_MAX: the limit can be changed at 12077 // runtime and therefore the macro must not be defined. Remove this 12078 // after including the header if necessary. 12079 12080 // The kernel sources contain a file with all the needed information. 12081 // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note 12082 12083 // Have to remove NR_OPEN? 12084 // Have to remove LINK_MAX? 12085 // Have to remove OPEN_MAX? 12086 // Have to remove ARG_MAX? 12087 12088 // The number of data keys per process. 12089 // This is the value this implementation supports. 12090 12091 // Controlling the iterations of destructors for thread-specific data. 12092 // Number of iterations this implementation does. 12093 12094 // The number of threads per process. 12095 // We have no predefined limit on the number of threads. 12096 12097 // Maximum amount by which a process can descrease its asynchronous I/O 12098 // priority level. 12099 12100 // Minimum size for a thread. We are free to choose a reasonable value. 12101 12102 // Maximum number of timer expiration overruns. 12103 12104 // Maximum tty name length. 12105 12106 // Maximum login name length. This is arbitrary. 12107 12108 // Maximum host name length. 12109 12110 // Maximum message queue priority level. 12111 12112 // Maximum value the semaphore can have. 12113 12114 // ssize_t is not formally required to be the signed type 12115 // corresponding to size_t, but it is for all configurations supported 12116 // by glibc. 12117 12118 // This value is a guaranteed minimum maximum. 12119 // The current maximum can be got from `sysconf'. 12120 12121 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12122 // This file is part of the GNU C Library. 12123 // 12124 // The GNU C Library is free software; you can redistribute it and/or 12125 // modify it under the terms of the GNU Lesser General Public 12126 // License as published by the Free Software Foundation; either 12127 // version 2.1 of the License, or (at your option) any later version. 12128 // 12129 // The GNU C Library is distributed in the hope that it will be useful, 12130 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12131 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12132 // Lesser General Public License for more details. 12133 // 12134 // You should have received a copy of the GNU Lesser General Public 12135 // License along with the GNU C Library; if not, see 12136 // <https://www.gnu.org/licenses/>. 12137 12138 // Never include this file directly; include <limits.h> instead. 12139 12140 // The maximum `ibase' and `obase' values allowed by the `bc' utility. 12141 12142 // The maximum number of elements allowed in an array by the `bc' utility. 12143 12144 // The maximum `scale' value allowed by the `bc' utility. 12145 12146 // The maximum length of a string constant accepted by the `bc' utility. 12147 12148 // The maximum number of weights that can be assigned to an entry of 12149 // the LC_COLLATE `order' keyword in the locale definition file. 12150 12151 // The maximum number of expressions that can be nested 12152 // within parentheses by the `expr' utility. 12153 12154 // The maximum length, in bytes, of an input line. 12155 12156 // The maximum number of repeated occurrences of a regular expression 12157 // permitted when using the interval notation `\{M,N\}'. 12158 12159 // The maximum number of bytes in a character class name. We have no 12160 // fixed limit, 2048 is a high number. 12161 12162 // These values are implementation-specific, 12163 // and may vary within the implementation. 12164 // Their precise values can be obtained from sysconf. 12165 12166 // This value is defined like this in regex.h. 12167 12168 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12169 // 12170 // This file is part of GCC. 12171 // 12172 // GCC is free software; you can redistribute it and/or modify it under 12173 // the terms of the GNU General Public License as published by the Free 12174 // Software Foundation; either version 3, or (at your option) any later 12175 // version. 12176 // 12177 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12178 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 12179 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12180 // for more details. 12181 // 12182 // Under Section 7 of GPL version 3, you are granted additional 12183 // permissions described in the GCC Runtime Library Exception, version 12184 // 3.1, as published by the Free Software Foundation. 12185 // 12186 // You should have received a copy of the GNU General Public License and 12187 // a copy of the GCC Runtime Library Exception along with this program; 12188 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 12189 // <http://www.gnu.org/licenses/>. 12190 12191 // Number of bits in a `char'. 12192 12193 // Maximum length of a multibyte character. 12194 12195 // Minimum and maximum values a `signed char' can hold. 12196 12197 // Maximum value an `unsigned char' can hold. (Minimum is 0). 12198 12199 // Minimum and maximum values a `char' can hold. 12200 12201 // Minimum and maximum values a `signed short int' can hold. 12202 12203 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 12204 12205 // Minimum and maximum values a `signed int' can hold. 12206 12207 // Maximum value an `unsigned int' can hold. (Minimum is 0). 12208 12209 // Minimum and maximum values a `signed long int' can hold. 12210 // (Same as `int'). 12211 12212 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 12213 12214 // Minimum and maximum values a `signed long long int' can hold. 12215 12216 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 12217 12218 // This administrivia gets added to the end of limits.h 12219 // if the system has its own version of limits.h. 12220 12221 func XXRenderQueryFilters(tls *libc.TLS, dpy uintptr, drawable Drawable) uintptr { /* Filter.c:30:10: */ 12222 bp := tls.Alloc(33) 12223 defer tls.Free(33) 12224 12225 var info uintptr = XXRenderFindDisplay(tls, dpy) 12226 var xri uintptr 12227 var req uintptr 12228 // var rep XRenderQueryFiltersReply at bp, 32 12229 12230 var filters uintptr 12231 var name uintptr 12232 // var len int8 at bp+32, 1 12233 12234 var i int32 12235 var nbytes uint32 12236 var nbytesAlias uint32 12237 var nbytesName uint32 12238 var reply_left uint32 12239 12240 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12241 return uintptr(0) 12242 } 12243 12244 if !(XXRenderQueryFormats(tls, dpy) != 0) { 12245 return uintptr(0) 12246 } 12247 12248 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 12249 if (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version < 6 { 12250 return uintptr(0) 12251 } 12252 12253 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12254 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12255 } 12256 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryFilters), uint32(Sz_xRenderQueryFiltersReq)) 12257 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12258 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryFilters) 12259 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).Fdrawable = drawable 12260 if !(x11.X_XReply(tls, dpy, bp /* &rep */, 0, XFalse) != 0) { 12261 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12262 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12263 } 12264 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12265 (*struct { 12266 f func(*libc.TLS, uintptr) int32 12267 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12268 } 12269 return uintptr(0) 12270 } 12271 12272 // Limit each component of combined size to 1/4 the max, which is far 12273 // more than they should ever possibly need. 12274 if (((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) && ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(uintptr(0)))))) && ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(int16(0))))) { 12275 // Compute total number of bytes for filter names 12276 nbytes = ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength << 2) 12277 nbytesAlias = ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases * CARD32(2)) 12278 if ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases & CARD32(1)) != 0 { 12279 nbytesAlias = nbytesAlias + (uint32(2)) 12280 } 12281 nbytesName = (nbytes - nbytesAlias) 12282 12283 // Allocate one giant block for the whole data structure 12284 filters = libc.Xmalloc(tls, func() uint32 { 12285 if (((CARD32(unsafe.Sizeof(XFilters{})) + ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters * CARD32(unsafe.Sizeof(uintptr(0))))) + ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases * CARD32(unsafe.Sizeof(int16(0))))) + nbytesName) == CARD32(0) { 12286 return uint32(1) 12287 } 12288 return (uint32(((CARD32(unsafe.Sizeof(XFilters{})) + ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters * CARD32(unsafe.Sizeof(uintptr(0))))) + ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases * CARD32(unsafe.Sizeof(int16(0))))) + nbytesName)) 12289 }()) 12290 } else { 12291 filters = uintptr(0) 12292 } 12293 12294 if !(filters != 0) { 12295 x11.X_XEatDataWords(tls, dpy, (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength) 12296 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12297 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12298 } 12299 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12300 (*struct { 12301 f func(*libc.TLS, uintptr) int32 12302 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12303 } 12304 return uintptr(0) 12305 } 12306 12307 // Layout: 12308 // XFilters 12309 // numFilters char * pointers to filter names 12310 // numAliases short alias values 12311 // nbytesName char strings 12312 12313 (*XFilters)(unsafe.Pointer(filters)).Fnfilter = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters) 12314 (*XFilters)(unsafe.Pointer(filters)).Fnalias = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases) 12315 (*XFilters)(unsafe.Pointer(filters)).Ffilter = (filters + uintptr(1)*16) 12316 (*XFilters)(unsafe.Pointer(filters)).Falias = ((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters)*4) 12317 name = ((*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)*2) 12318 12319 // Read the filter aliases 12320 x11.X_XReadPad(tls, dpy, (*XFilters)(unsafe.Pointer(filters)).Falias, (int32(CARD32(2) * (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases))) 12321 reply_left = ((CARD32(8) + (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength) - (CARD32(2) * (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)) 12322 12323 // Read the filter names 12324 for i = 0; CARD32(i) < (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters; i++ { 12325 var l int32 12326 x11.X_XRead(tls, dpy, bp+32 /* &len */, 1) 12327 reply_left-- 12328 l = (int32(*(*int8)(unsafe.Pointer(bp + 32 /* len */))) & 0xff) 12329 if (uint32(l) + uint32(1)) > nbytesName { 12330 x11.X_XEatDataWords(tls, dpy, reply_left) 12331 libc.Xfree(tls, filters) 12332 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12333 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12334 } 12335 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12336 (*struct { 12337 f func(*libc.TLS, uintptr) int32 12338 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12339 } 12340 return uintptr(0) 12341 } 12342 nbytesName = nbytesName - (uint32(l + 1)) 12343 *(*uintptr)(unsafe.Pointer((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr(i)*4)) = name 12344 x11.X_XRead(tls, dpy, name, int32(l)) 12345 reply_left = reply_left - (uint32(l)) 12346 *(*int8)(unsafe.Pointer(name + uintptr(l))) = int8(0) 12347 name += (uintptr(l + 1)) 12348 } 12349 i = ((int32(name) - int32(((*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)*2))) / 1) 12350 12351 if (i & 3) != 0 { 12352 x11.X_XEatData(tls, dpy, (uint32(4 - (i & 3)))) 12353 } 12354 12355 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12356 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12357 } 12358 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12359 (*struct { 12360 f func(*libc.TLS, uintptr) int32 12361 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12362 } 12363 return filters 12364 } 12365 12366 func XXRenderSetPictureFilter(tls *libc.TLS, dpy uintptr, picture Picture, filter uintptr, params uintptr, nparams int32) { /* Filter.c:153:1: */ 12367 var info uintptr = XXRenderFindDisplay(tls, dpy) 12368 var req uintptr 12369 var nbytes int32 = int32(libc.Xstrlen(tls, filter)) 12370 12371 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12372 return 12373 } 12374 12375 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12376 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12377 } 12378 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureFilter), uint32(Sz_xRenderSetPictureFilterReq)) 12379 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12380 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureFilter) 12381 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fpicture = picture 12382 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fnbytes = CARD16(nbytes) 12383 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((((nbytes + 3) >> 2) + nparams)) 12384 { 12385 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12386 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, filter, uint32(nbytes)) 12387 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nbytes) + 3) & libc.CplInt32(3))) 12388 } else { 12389 x11.X_XSend(tls, dpy, filter, int32(nbytes)) 12390 } 12391 } 12392 12393 { 12394 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nparams << 2))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12395 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, params, uint32((nparams << 2))) 12396 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nparams << 2) + 3) & libc.CplInt32(3))) 12397 } else { 12398 x11.X_XSend(tls, dpy, params, (int32(nparams << 2))) 12399 } 12400 } 12401 12402 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12403 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12404 } 12405 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12406 (*struct { 12407 f func(*libc.TLS, uintptr) int32 12408 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12409 } 12410 } 12411 12412 // Xlib uses long for 32-bit values. Xrender uses int. This 12413 // matters on alpha. Note that this macro assumes that int is 32 bits 12414 // except on WORD64 machines where it is 64 bits. 12415 12416 func XXRenderCreateGlyphSet(tls *libc.TLS, dpy uintptr, format uintptr) GlyphSet { /* Glyph.c:31:1: */ 12417 var info uintptr = XXRenderFindDisplay(tls, dpy) 12418 var gsid GlyphSet 12419 var req uintptr 12420 12421 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12422 return GlyphSet(0) 12423 } 12424 12425 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12426 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12427 } 12428 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateGlyphSet), uint32(Sz_xRenderCreateGlyphSetReq)) 12429 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12430 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateGlyphSet) 12431 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fgsid = libc.AssignUint32(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 12432 Fext_data uintptr 12433 Fprivate1 uintptr 12434 Ffd int32 12435 Fprivate2 int32 12436 Fproto_major_version int32 12437 Fproto_minor_version int32 12438 Fvendor uintptr 12439 Fprivate3 XID 12440 Fprivate4 XID 12441 Fprivate5 XID 12442 Fprivate6 int32 12443 Fresource_alloc uintptr 12444 Fbyte_order int32 12445 Fbitmap_unit int32 12446 Fbitmap_pad int32 12447 Fbitmap_bit_order int32 12448 Fnformats int32 12449 Fpixmap_format uintptr 12450 Fprivate8 int32 12451 Frelease int32 12452 Fprivate9 uintptr 12453 Fprivate10 uintptr 12454 Fqlen int32 12455 Flast_request_read uint32 12456 Frequest uint32 12457 Fprivate11 XPointer 12458 Fprivate12 XPointer 12459 Fprivate13 XPointer 12460 Fprivate14 XPointer 12461 Fmax_request_size uint32 12462 Fdb uintptr 12463 Fprivate15 uintptr 12464 Fdisplay_name uintptr 12465 Fdefault_screen int32 12466 Fnscreens int32 12467 Fscreens uintptr 12468 Fmotion_buffer uint32 12469 Fprivate16 uint32 12470 Fmin_keycode int32 12471 Fmax_keycode int32 12472 Fprivate17 XPointer 12473 Fprivate18 XPointer 12474 Fprivate19 int32 12475 Fxdefaults uintptr 12476 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)) 12477 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fformat = (*XRenderPictFormat)(unsafe.Pointer(format)).Fid 12478 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12479 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12480 } 12481 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12482 (*struct { 12483 f func(*libc.TLS, uintptr) int32 12484 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12485 } 12486 return gsid 12487 } 12488 12489 func XXRenderReferenceGlyphSet(tls *libc.TLS, dpy uintptr, existing GlyphSet) GlyphSet { /* Glyph.c:50:1: */ 12490 var info uintptr = XXRenderFindDisplay(tls, dpy) 12491 var gsid GlyphSet 12492 var req uintptr 12493 12494 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12495 return GlyphSet(0) 12496 } 12497 12498 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12499 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12500 } 12501 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderReferenceGlyphSet), uint32(Sz_xRenderReferenceGlyphSetReq)) 12502 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12503 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderReferenceGlyphSet) 12504 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fgsid = libc.AssignUint32(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 12505 Fext_data uintptr 12506 Fprivate1 uintptr 12507 Ffd int32 12508 Fprivate2 int32 12509 Fproto_major_version int32 12510 Fproto_minor_version int32 12511 Fvendor uintptr 12512 Fprivate3 XID 12513 Fprivate4 XID 12514 Fprivate5 XID 12515 Fprivate6 int32 12516 Fresource_alloc uintptr 12517 Fbyte_order int32 12518 Fbitmap_unit int32 12519 Fbitmap_pad int32 12520 Fbitmap_bit_order int32 12521 Fnformats int32 12522 Fpixmap_format uintptr 12523 Fprivate8 int32 12524 Frelease int32 12525 Fprivate9 uintptr 12526 Fprivate10 uintptr 12527 Fqlen int32 12528 Flast_request_read uint32 12529 Frequest uint32 12530 Fprivate11 XPointer 12531 Fprivate12 XPointer 12532 Fprivate13 XPointer 12533 Fprivate14 XPointer 12534 Fmax_request_size uint32 12535 Fdb uintptr 12536 Fprivate15 uintptr 12537 Fdisplay_name uintptr 12538 Fdefault_screen int32 12539 Fnscreens int32 12540 Fscreens uintptr 12541 Fmotion_buffer uint32 12542 Fprivate16 uint32 12543 Fmin_keycode int32 12544 Fmax_keycode int32 12545 Fprivate17 XPointer 12546 Fprivate18 XPointer 12547 Fprivate19 int32 12548 Fxdefaults uintptr 12549 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)) 12550 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fexisting = existing 12551 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12552 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12553 } 12554 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12555 (*struct { 12556 f func(*libc.TLS, uintptr) int32 12557 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12558 } 12559 return gsid 12560 } 12561 12562 func XXRenderFreeGlyphSet(tls *libc.TLS, dpy uintptr, glyphset GlyphSet) { /* Glyph.c:69:1: */ 12563 var info uintptr = XXRenderFindDisplay(tls, dpy) 12564 var req uintptr 12565 12566 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12567 return 12568 } 12569 12570 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12571 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12572 } 12573 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphSet), uint32(Sz_xRenderFreeGlyphSetReq)) 12574 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12575 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphSet) 12576 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).Fglyphset = glyphset 12577 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12578 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12579 } 12580 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12581 (*struct { 12582 f func(*libc.TLS, uintptr) int32 12583 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12584 } 12585 } 12586 12587 func XXRenderAddGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, glyphs uintptr, nglyphs int32, images uintptr, nbyte_images int32) { /* Glyph.c:85:1: */ 12588 bp := tls.Alloc(4) 12589 defer tls.Free(4) 12590 12591 var info uintptr = XXRenderFindDisplay(tls, dpy) 12592 var req uintptr 12593 var len int32 12594 12595 if (nbyte_images & 3) != 0 { 12596 nbyte_images = nbyte_images + (4 - (nbyte_images & 3)) 12597 } 12598 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12599 return 12600 } 12601 12602 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12603 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12604 } 12605 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddGlyphs), uint32(Sz_xRenderAddGlyphsReq)) 12606 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12607 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddGlyphs) 12608 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fglyphset = glyphset 12609 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fnglyphs = CARD32(nglyphs) 12610 len = (int32(((nglyphs * (Sz_xGlyphInfo + 4)) + nbyte_images) >> 2)) 12611 if (uint32(int32((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 12612 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 12613 { 12614 // var _BRdat CARD32 at bp, 4 12615 var _BRlen CARD32 = (CARD32(int32((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) - 1)) 12616 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 12617 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 12618 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 12619 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 12620 { 12621 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 12622 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 12623 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 12624 } else { 12625 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 12626 } 12627 } 12628 12629 } 12630 } else { 12631 len = len 12632 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 12633 } 12634 } else { 12635 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 12636 } 12637 { 12638 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nglyphs * 4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 12639 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, gids, uint32((nglyphs * 4))) 12640 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nglyphs * 4) + 3) & libc.CplInt32(3))) 12641 } else { 12642 x11.X_XSend(tls, dpy, gids, (int32(nglyphs * 4))) 12643 } 12644 } 12645 12646 { 12647 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nglyphs * Sz_xGlyphInfo))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 12648 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, glyphs, uint32((nglyphs * Sz_xGlyphInfo))) 12649 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nglyphs * Sz_xGlyphInfo) + 3) & libc.CplInt32(3))) 12650 } else { 12651 x11.X_XSend(tls, dpy, glyphs, (int32(nglyphs * Sz_xGlyphInfo))) 12652 } 12653 } 12654 12655 { 12656 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbyte_images))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12657 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, images, uint32(nbyte_images)) 12658 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nbyte_images) + 3) & libc.CplInt32(3))) 12659 } else { 12660 x11.X_XSend(tls, dpy, images, int32(nbyte_images)) 12661 } 12662 } 12663 12664 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12665 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12666 } 12667 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12668 (*struct { 12669 f func(*libc.TLS, uintptr) int32 12670 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12671 } 12672 } 12673 12674 func XXRenderFreeGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, nglyphs int32) { /* Glyph.c:116:1: */ 12675 bp := tls.Alloc(4) 12676 defer tls.Free(4) 12677 12678 var info uintptr = XXRenderFindDisplay(tls, dpy) 12679 var req uintptr 12680 var len int32 12681 12682 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12683 return 12684 } 12685 12686 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12687 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12688 } 12689 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphs), uint32(Sz_xRenderFreeGlyphsReq)) 12690 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12691 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphs) 12692 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Fglyphset = glyphset 12693 len = int32(nglyphs) 12694 if (uint32(int32((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 12695 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 12696 { 12697 // var _BRdat CARD32 at bp, 4 12698 var _BRlen CARD32 = (CARD32(int32((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) - 1)) 12699 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 12700 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 12701 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 12702 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 12703 { 12704 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 12705 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 12706 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 12707 } else { 12708 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 12709 } 12710 } 12711 12712 } 12713 } else { 12714 len = len 12715 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 12716 } 12717 } else { 12718 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 12719 } 12720 len <<= 2 12721 { 12722 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 12723 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, gids, uint32(int32(len))) 12724 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3))) 12725 } else { 12726 x11.X_XSend(tls, dpy, gids, len) 12727 } 12728 } 12729 12730 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12731 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12732 } 12733 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12734 (*struct { 12735 f func(*libc.TLS, uintptr) int32 12736 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12737 } 12738 } 12739 12740 func XXRenderCompositeString8(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:140:1: */ 12741 var info uintptr = XXRenderFindDisplay(tls, dpy) 12742 var req uintptr 12743 var len int32 12744 var elt uintptr 12745 var nbytes int32 12746 12747 if !(nchar != 0) { 12748 return 12749 } 12750 12751 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12752 return 12753 } 12754 12755 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12756 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12757 } 12758 12759 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint32(Sz_xRenderCompositeGlyphs8Req)) 12760 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12761 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8) 12762 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 12763 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src 12764 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst 12765 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 12766 if maskFormat != 0 { 12767 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 12768 } 12769 return uint32(None) 12770 }() 12771 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset 12772 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 12773 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 12774 12775 // xGlyphElt must be aligned on a 32-bit boundary; this is 12776 // easily done by filling no more than 252 glyphs in each 12777 // bucket 12778 12779 len = (int32((Sz_xGlyphElt * (((nchar + 252) - 1) / 252)) + nchar)) 12780 12781 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + 3) >> 2)) // convert to number of 32-bit words 12782 12783 // If the entire request does not fit into the remaining space in the 12784 // buffer, flush the buffer first. 12785 12786 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12787 x11.X_XFlush(tls, dpy) 12788 } 12789 12790 for nchar > 252 { 12791 nbytes = (252 + Sz_xGlyphElt) 12792 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12793 x11.X_XFlush(tls, dpy) 12794 } 12795 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12796 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 12797 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes)) 12798 12799 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(252) 12800 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 12801 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 12802 xDst = 0 12803 yDst = 0 12804 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, uint32(252)) 12805 nchar = (nchar - 252) 12806 string += uintptr(252) 12807 } 12808 12809 if nchar != 0 { 12810 nbytes = (((nchar + Sz_xGlyphElt) + 3) & libc.CplInt32(3)) 12811 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12812 x11.X_XFlush(tls, dpy) 12813 } 12814 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12815 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 12816 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes)) 12817 12818 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 12819 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 12820 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 12821 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, uint32(nchar)) 12822 } 12823 12824 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12825 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12826 } 12827 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12828 (*struct { 12829 f func(*libc.TLS, uintptr) int32 12830 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12831 } 12832 } 12833 12834 func XXRenderCompositeString16(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:225:1: */ 12835 var info uintptr = XXRenderFindDisplay(tls, dpy) 12836 var req uintptr 12837 var len int32 12838 var elt uintptr 12839 var nbytes int32 12840 12841 if !(nchar != 0) { 12842 return 12843 } 12844 12845 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12846 return 12847 } 12848 12849 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12850 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12851 } 12852 12853 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint32(Sz_xRenderCompositeGlyphs16Req)) 12854 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12855 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16) 12856 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 12857 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src 12858 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst 12859 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 12860 if maskFormat != 0 { 12861 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 12862 } 12863 return uint32(None) 12864 }() 12865 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset 12866 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 12867 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 12868 12869 len = (int32((Sz_xGlyphElt * (((nchar + 254) - 1) / 254)) + (nchar * 2))) 12870 12871 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + 3) >> 2)) // convert to number of 32-bit words 12872 12873 // If the entire request does not fit into the remaining space in the 12874 // buffer, flush the buffer first. 12875 12876 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12877 x11.X_XFlush(tls, dpy) 12878 } 12879 12880 for nchar > 254 { 12881 nbytes = ((254 * 2) + Sz_xGlyphElt) 12882 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12883 x11.X_XFlush(tls, dpy) 12884 } 12885 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12886 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 12887 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes)) 12888 12889 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254) 12890 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 12891 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 12892 xDst = 0 12893 yDst = 0 12894 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint32(254 * 2))) 12895 nchar = (nchar - 254) 12896 string += 2 * (uintptr(254)) 12897 } 12898 12899 if nchar != 0 { 12900 nbytes = ((((nchar * 2) + Sz_xGlyphElt) + 3) & libc.CplInt32(3)) 12901 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12902 x11.X_XFlush(tls, dpy) 12903 } 12904 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12905 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 12906 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes)) 12907 12908 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 12909 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 12910 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 12911 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint32(nchar * 2))) 12912 } 12913 12914 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12915 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12916 } 12917 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12918 (*struct { 12919 f func(*libc.TLS, uintptr) int32 12920 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12921 } 12922 } 12923 12924 func XXRenderCompositeString32(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:305:1: */ 12925 var info uintptr = XXRenderFindDisplay(tls, dpy) 12926 var req uintptr 12927 var len int32 12928 var elt uintptr 12929 var nbytes int32 12930 12931 if !(nchar != 0) { 12932 return 12933 } 12934 12935 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12936 return 12937 } 12938 12939 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12940 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12941 } 12942 12943 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint32(Sz_xRenderCompositeGlyphs32Req)) 12944 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12945 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32) 12946 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 12947 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src 12948 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst 12949 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 12950 if maskFormat != 0 { 12951 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 12952 } 12953 return uint32(None) 12954 }() 12955 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset 12956 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 12957 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 12958 12959 len = (int32((Sz_xGlyphElt * (((nchar + 254) - 1) / 254)) + (nchar * 4))) 12960 12961 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + 3) >> 2)) // convert to number of 32-bit words 12962 12963 // If the entire request does not fit into the remaining space in the 12964 // buffer, flush the buffer first. 12965 12966 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12967 x11.X_XFlush(tls, dpy) 12968 } 12969 12970 for nchar > 254 { 12971 nbytes = ((254 * 4) + Sz_xGlyphElt) 12972 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12973 x11.X_XFlush(tls, dpy) 12974 } 12975 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12976 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 12977 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes)) 12978 12979 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254) 12980 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 12981 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 12982 xDst = 0 12983 yDst = 0 12984 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint32(254 * 4))) 12985 nchar = (nchar - 254) 12986 string += 4 * (uintptr(254)) 12987 } 12988 12989 if nchar != 0 { 12990 nbytes = ((nchar * 4) + Sz_xGlyphElt) 12991 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12992 x11.X_XFlush(tls, dpy) 12993 } 12994 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12995 libc.Xmemset(tls, elt, 0, uint32(nbytes)) 12996 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(nbytes)) 12997 12998 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 12999 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13000 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13001 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint32(nchar * 4))) 13002 } 13003 13004 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13005 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13006 } 13007 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13008 (*struct { 13009 f func(*libc.TLS, uintptr) int32 13010 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13011 } 13012 } 13013 13014 func XXRenderCompositeText8(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:385:1: */ 13015 bp := tls.Alloc(4) 13016 defer tls.Free(4) 13017 13018 var info uintptr = XXRenderFindDisplay(tls, dpy) 13019 var req uintptr 13020 // var glyphset GlyphSet at bp, 4 13021 13022 var len int32 13023 var elen int32 13024 var elt uintptr 13025 var i int32 13026 var chars uintptr 13027 var nchars int32 13028 13029 if !(nelt != 0) { 13030 return 13031 } 13032 13033 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13034 return 13035 } 13036 13037 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13038 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13039 } 13040 13041 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint32(Sz_xRenderCompositeGlyphs8Req)) 13042 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13043 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8) 13044 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13045 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src 13046 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst 13047 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13048 if maskFormat != 0 { 13049 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 13050 } 13051 return uint32(None) 13052 }() 13053 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset 13054 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13055 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13056 13057 // Compute the space necessary 13058 len = 0 13059 13060 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset 13061 for i = 0; i < nelt; i++ { 13062 // Check for glyphset change 13063 if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13064 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13065 len = len + (int32((Sz_xGlyphElt + 4)) >> 2) 13066 } 13067 nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13068 // xGlyphElt must be aligned on a 32-bit boundary; this is 13069 // easily done by filling no more than 252 glyphs in each 13070 // bucket 13071 elen = (int32((Sz_xGlyphElt * (((nchars + 252) - 1) / 252)) + nchars)) 13072 len = len + ((elen + 3) >> 2) 13073 } 13074 13075 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 13076 13077 // Send the glyphs 13078 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset 13079 for i = 0; i < nelt; i++ { 13080 // Switch glyphsets 13081 if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13082 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13083 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13084 x11.X_XFlush(tls, dpy) 13085 } 13086 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13087 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13088 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13089 13090 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13091 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13092 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13093 { 13094 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 13095 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &glyphset */, uint32(4)) 13096 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 13097 } else { 13098 x11.X_XSend(tls, dpy, bp /* &glyphset */, 4) 13099 } 13100 } 13101 13102 } 13103 nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13104 xDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).FxOff 13105 yDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).FyOff 13106 chars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20)).Fchars 13107 for nchars != 0 { 13108 var this_chars int32 13109 if nchars > 252 { 13110 this_chars = 252 13111 } else { 13112 this_chars = nchars 13113 } 13114 13115 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13116 x11.X_XFlush(tls, dpy) 13117 } 13118 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13119 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13120 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13121 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13122 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13123 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13124 xDst = 0 13125 yDst = 0 13126 { 13127 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((this_chars))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13128 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint32(this_chars)) 13129 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((this_chars) + 3) & libc.CplInt32(3))) 13130 } else { 13131 x11.X_XSend(tls, dpy, chars, int32(this_chars)) 13132 } 13133 } 13134 13135 nchars = nchars - (this_chars) 13136 chars += uintptr(this_chars) 13137 } 13138 } 13139 13140 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13141 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13142 } 13143 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13144 (*struct { 13145 f func(*libc.TLS, uintptr) int32 13146 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13147 } 13148 } 13149 13150 func XXRenderCompositeText16(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:498:1: */ 13151 bp := tls.Alloc(4) 13152 defer tls.Free(4) 13153 13154 var info uintptr = XXRenderFindDisplay(tls, dpy) 13155 var req uintptr 13156 // var glyphset GlyphSet at bp, 4 13157 13158 var len int32 13159 var elen int32 13160 var elt uintptr 13161 var i int32 13162 var chars uintptr 13163 var nchars int32 13164 13165 if !(nelt != 0) { 13166 return 13167 } 13168 13169 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13170 return 13171 } 13172 13173 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13174 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13175 } 13176 13177 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint32(Sz_xRenderCompositeGlyphs16Req)) 13178 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13179 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16) 13180 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13181 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fsrc = src 13182 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fdst = dst 13183 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13184 if maskFormat != 0 { 13185 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 13186 } 13187 return uint32(None) 13188 }() 13189 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fglyphset = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset 13190 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13191 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13192 13193 // Compute the space necessary 13194 len = 0 13195 13196 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset 13197 for i = 0; i < nelt; i++ { 13198 // Check for glyphset change 13199 if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13200 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13201 len = len + (int32((Sz_xGlyphElt + 4)) >> 2) 13202 } 13203 nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13204 // xGlyphElt must be aligned on a 32-bit boundary; this is 13205 // easily done by filling no more than 254 glyphs in each 13206 // bucket 13207 elen = (int32((Sz_xGlyphElt * (((nchars + 254) - 1) / 254)) + (nchars * 2))) 13208 len = len + ((elen + 3) >> 2) 13209 } 13210 13211 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 13212 13213 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset 13214 for i = 0; i < nelt; i++ { 13215 // Switch glyphsets 13216 if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13217 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13218 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13219 x11.X_XFlush(tls, dpy) 13220 } 13221 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13222 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13223 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13224 13225 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13226 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13227 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13228 { 13229 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 13230 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &glyphset */, uint32(4)) 13231 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 13232 } else { 13233 x11.X_XSend(tls, dpy, bp /* &glyphset */, 4) 13234 } 13235 } 13236 13237 } 13238 nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13239 xDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).FxOff 13240 yDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).FyOff 13241 chars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20)).Fchars 13242 for nchars != 0 { 13243 var this_chars int32 13244 if nchars > 254 { 13245 this_chars = 254 13246 } else { 13247 this_chars = nchars 13248 } 13249 var this_bytes int32 = (this_chars * 2) 13250 13251 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13252 x11.X_XFlush(tls, dpy) 13253 } 13254 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13255 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13256 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13257 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13258 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13259 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13260 xDst = 0 13261 yDst = 0 13262 { 13263 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((this_bytes))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 13264 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint32(this_bytes)) 13265 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((this_bytes) + 3) & libc.CplInt32(3))) 13266 } else { 13267 x11.X_XSend(tls, dpy, chars, int32(this_bytes)) 13268 } 13269 } 13270 13271 nchars = nchars - (this_chars) 13272 chars += 2 * (uintptr(this_chars)) 13273 } 13274 } 13275 13276 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13277 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13278 } 13279 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13280 (*struct { 13281 f func(*libc.TLS, uintptr) int32 13282 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13283 } 13284 } 13285 13286 func XXRenderCompositeText32(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:609:1: */ 13287 bp := tls.Alloc(4) 13288 defer tls.Free(4) 13289 13290 var info uintptr = XXRenderFindDisplay(tls, dpy) 13291 var req uintptr 13292 // var glyphset GlyphSet at bp, 4 13293 13294 var len int32 13295 var elen int32 13296 var elt uintptr 13297 var i int32 13298 var chars uintptr 13299 var nchars int32 13300 13301 if !(nelt != 0) { 13302 return 13303 } 13304 13305 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13306 return 13307 } 13308 13309 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13310 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13311 } 13312 13313 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint32(Sz_xRenderCompositeGlyphs32Req)) 13314 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13315 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32) 13316 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13317 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fsrc = src 13318 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fdst = dst 13319 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13320 if maskFormat != 0 { 13321 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 13322 } 13323 return uint32(None) 13324 }() 13325 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fglyphset = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset 13326 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13327 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13328 13329 // Compute the space necessary 13330 len = 0 13331 13332 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset 13333 for i = 0; i < nelt; i++ { 13334 // Check for glyphset change 13335 if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13336 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13337 len = len + (int32((Sz_xGlyphElt + 4)) >> 2) 13338 } 13339 nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13340 elen = (int32((Sz_xGlyphElt * (((nchars + 254) - 1) / 254)) + (nchars * 4))) 13341 len = len + ((elen + 3) >> 2) 13342 } 13343 13344 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 13345 13346 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset 13347 for i = 0; i < nelt; i++ { 13348 // Switch glyphsets 13349 if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*20)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13350 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fglyphset 13351 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13352 x11.X_XFlush(tls, dpy) 13353 } 13354 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13355 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13356 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13357 13358 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13359 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13360 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13361 { 13362 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 13363 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &glyphset */, uint32(4)) 13364 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 13365 } else { 13366 x11.X_XSend(tls, dpy, bp /* &glyphset */, 4) 13367 } 13368 } 13369 13370 } 13371 nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fnchars 13372 xDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).FxOff 13373 yDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).FyOff 13374 chars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20)).Fchars 13375 for nchars != 0 { 13376 var this_chars int32 13377 if nchars > 254 { 13378 this_chars = 254 13379 } else { 13380 this_chars = nchars 13381 } 13382 var this_bytes int32 = (this_chars * 4) 13383 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13384 x11.X_XFlush(tls, dpy) 13385 } 13386 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13387 libc.Xmemset(tls, elt, 0, uint32(Sz_xGlyphElt)) 13388 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13389 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13390 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13391 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13392 xDst = 0 13393 yDst = 0 13394 { 13395 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((this_bytes))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13396 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint32(this_bytes)) 13397 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((this_bytes) + 3) & libc.CplInt32(3))) 13398 } else { 13399 x11.X_XSend(tls, dpy, chars, int32(this_bytes)) 13400 } 13401 } 13402 13403 nchars = nchars - (this_chars) 13404 chars += 4 * (uintptr(this_chars)) 13405 } 13406 } 13407 13408 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13409 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13410 } 13411 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13412 (*struct { 13413 f func(*libc.TLS, uintptr) int32 13414 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13415 } 13416 } 13417 13418 // Xlib uses long for 32-bit values. Xrender uses int. This 13419 // matters on alpha. Note that this macro assumes that int is 32 bits 13420 // except on WORD64 machines where it is 64 bits. 13421 13422 //*********************************************************************** 13423 // 13424 // Copyright 1987, 1998 The Open Group 13425 // 13426 // Permission to use, copy, modify, distribute, and sell this software and its 13427 // documentation for any purpose is hereby granted without fee, provided that 13428 // the above copyright notice appear in all copies and that both that 13429 // copyright notice and this permission notice appear in supporting 13430 // documentation. 13431 // 13432 // The above copyright notice and this permission notice shall be included in 13433 // all copies or substantial portions of the Software. 13434 // 13435 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13436 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13437 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13438 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 13439 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 13440 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 13441 // 13442 // Except as contained in this notice, the name of The Open Group shall not be 13443 // used in advertising or otherwise to promote the sale, use or other dealings 13444 // in this Software without prior written authorization from The Open Group. 13445 // 13446 // 13447 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 13448 // 13449 // All Rights Reserved 13450 // 13451 // Permission to use, copy, modify, and distribute this software and its 13452 // documentation for any purpose and without fee is hereby granted, 13453 // provided that the above copyright notice appear in all copies and that 13454 // both that copyright notice and this permission notice appear in 13455 // supporting documentation, and that the name of Digital not be 13456 // used in advertising or publicity pertaining to distribution of the 13457 // software without specific, written prior permission. 13458 // 13459 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 13460 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 13461 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 13462 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 13463 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 13464 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 13465 // SOFTWARE. 13466 // 13467 // *********************************************************************** 13468 13469 type Box = struct { 13470 Fx1 int16 13471 Fx2 int16 13472 Fy1 int16 13473 Fy2 int16 13474 } /* Xregion.h:53:3 */ 13475 type BOX = struct { 13476 Fx1 int16 13477 Fx2 int16 13478 Fy1 int16 13479 Fy2 int16 13480 } /* Xregion.h:53:8 */ 13481 type BoxRec = struct { 13482 Fx1 int16 13483 Fx2 int16 13484 Fy1 int16 13485 Fy2 int16 13486 } /* Xregion.h:53:13 */ 13487 type BoxPtr = uintptr /* Xregion.h:53:21 */ 13488 13489 type RECTANGLE = struct { 13490 Fx int16 13491 Fy int16 13492 Fwidth int16 13493 Fheight int16 13494 } /* Xregion.h:57:2 */ 13495 type RectangleRec = struct { 13496 Fx int16 13497 Fy int16 13498 Fwidth int16 13499 Fheight int16 13500 } /* Xregion.h:57:13 */ 13501 type RectanglePtr = uintptr /* Xregion.h:57:27 */ 13502 13503 // clip region 13504 13505 type REGION = X_XRegion /* Xregion.h:80:3 */ 13506 13507 // Xutil.h contains the declaration: 13508 // typedef struct _XRegion *Region; 13509 13510 // 1 if two BOXs overlap. 13511 // 0 if two BOXs do not overlap. 13512 // Remember, x2 and y2 are not in the region 13513 13514 // update region extents 13515 13516 // Check to see if there is enough memory in the present region. 13517 13518 // this routine checks to see if the previous rectangle is the same 13519 // or subsumes the new rectangle to add. 13520 13521 // add a rectangle to the given Region 13522 13523 // add a rectangle to the given Region 13524 13525 // number of points to buffer before sending them off 13526 // to scanlines() : Must be an even number 13527 13528 // used to allocate buffers for points and link 13529 // the buffers together 13530 type X_POINTBLOCK = struct { 13531 Fpts [200]XPoint 13532 Fnext uintptr 13533 } /* Xregion.h:185:9 */ 13534 13535 // Xutil.h contains the declaration: 13536 // typedef struct _XRegion *Region; 13537 13538 // 1 if two BOXs overlap. 13539 // 0 if two BOXs do not overlap. 13540 // Remember, x2 and y2 are not in the region 13541 13542 // update region extents 13543 13544 // Check to see if there is enough memory in the present region. 13545 13546 // this routine checks to see if the previous rectangle is the same 13547 // or subsumes the new rectangle to add. 13548 13549 // add a rectangle to the given Region 13550 13551 // add a rectangle to the given Region 13552 13553 // number of points to buffer before sending them off 13554 // to scanlines() : Must be an even number 13555 13556 // used to allocate buffers for points and link 13557 // the buffers together 13558 type POINTBLOCK = X_POINTBLOCK /* Xregion.h:188:3 */ 13559 13560 func _XRenderProcessPictureAttributes(tls *libc.TLS, dpy uintptr, req uintptr, valuemask uint32, attributes uintptr) { /* Picture.c:32:1: */ 13561 bp := tls.Alloc(128) 13562 defer tls.Free(128) 13563 13564 // var values [32]uint32 at bp, 128 13565 13566 var value uintptr = bp /* values */ 13567 var nvalues uint32 13568 13569 if (valuemask & (uint32(int32(1) << 0))) != 0 { 13570 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Frepeat) 13571 } 13572 if (valuemask & (uint32(int32(1) << 1))) != 0 { 13573 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_map 13574 } 13575 if (valuemask & (uint32(int32(1) << 2))) != 0 { 13576 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_x_origin) 13577 } 13578 if (valuemask & (uint32(int32(1) << 3))) != 0 { 13579 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_y_origin) 13580 } 13581 if (valuemask & (uint32(int32(1) << 4))) != 0 { 13582 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_x_origin) 13583 } 13584 if (valuemask & (uint32(int32(1) << 5))) != 0 { 13585 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_y_origin) 13586 } 13587 if (valuemask & (uint32(int32(1) << 6))) != 0 { 13588 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_mask 13589 } 13590 if (valuemask & (uint32(int32(1) << 7))) != 0 { 13591 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fgraphics_exposures) 13592 } 13593 if (valuemask & (uint32(int32(1) << 8))) != 0 { 13594 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fsubwindow_mode) 13595 } 13596 if (valuemask & (uint32(int32(1) << 9))) != 0 { 13597 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_edge) 13598 } 13599 if (valuemask & (uint32(int32(1) << 10))) != 0 { 13600 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_mode) 13601 } 13602 if (valuemask & (uint32(int32(1) << 11))) != 0 { 13603 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fdither 13604 } 13605 if (valuemask & (uint32(int32(1) << 12))) != 0 { 13606 *(*uint32)(unsafe.Pointer(libc.PostIncUintptr(&value, 4))) = uint32((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fcomponent_alpha) 13607 } 13608 13609 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((libc.AssignUint32(&nvalues, (uint32(int32((value - bp /* &values[0] */) / 4)))))) 13610 13611 nvalues <<= 2 /* watch out for macros... */ 13612 { 13613 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((int32(nvalues)))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 13614 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* values */, uint32(int32(int32(nvalues)))) 13615 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((int32(nvalues)) + 3) & libc.CplInt32(3))) 13616 } else { 13617 x11.X_XSend(tls, dpy, bp /* values */, int32(nvalues)) 13618 } 13619 } 13620 13621 } 13622 13623 func XXRenderCreatePicture(tls *libc.TLS, dpy uintptr, drawable Drawable, format uintptr, valuemask uint32, attributes uintptr) Picture { /* Picture.c:75:1: */ 13624 var info uintptr = XXRenderFindDisplay(tls, dpy) 13625 var pid Picture 13626 var req uintptr 13627 13628 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13629 return Picture(0) 13630 } 13631 13632 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13633 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13634 } 13635 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreatePicture), uint32(Sz_xRenderCreatePictureReq)) 13636 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13637 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreatePicture) 13638 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 13639 Fext_data uintptr 13640 Fprivate1 uintptr 13641 Ffd int32 13642 Fprivate2 int32 13643 Fproto_major_version int32 13644 Fproto_minor_version int32 13645 Fvendor uintptr 13646 Fprivate3 XID 13647 Fprivate4 XID 13648 Fprivate5 XID 13649 Fprivate6 int32 13650 Fresource_alloc uintptr 13651 Fbyte_order int32 13652 Fbitmap_unit int32 13653 Fbitmap_pad int32 13654 Fbitmap_bit_order int32 13655 Fnformats int32 13656 Fpixmap_format uintptr 13657 Fprivate8 int32 13658 Frelease int32 13659 Fprivate9 uintptr 13660 Fprivate10 uintptr 13661 Fqlen int32 13662 Flast_request_read uint32 13663 Frequest uint32 13664 Fprivate11 XPointer 13665 Fprivate12 XPointer 13666 Fprivate13 XPointer 13667 Fprivate14 XPointer 13668 Fmax_request_size uint32 13669 Fdb uintptr 13670 Fprivate15 uintptr 13671 Fdisplay_name uintptr 13672 Fdefault_screen int32 13673 Fnscreens int32 13674 Fscreens uintptr 13675 Fmotion_buffer uint32 13676 Fprivate16 uint32 13677 Fmin_keycode int32 13678 Fmax_keycode int32 13679 Fprivate17 XPointer 13680 Fprivate18 XPointer 13681 Fprivate19 int32 13682 Fxdefaults uintptr 13683 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)) 13684 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fdrawable = drawable 13685 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fformat = (*XRenderPictFormat)(unsafe.Pointer(format)).Fid 13686 if libc.AssignPtrUint32(req+16 /* &.mask */, valuemask) != 0 { 13687 _XRenderProcessPictureAttributes(tls, dpy, 13688 req, 13689 valuemask, 13690 attributes) 13691 } 13692 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13693 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13694 } 13695 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13696 (*struct { 13697 f func(*libc.TLS, uintptr) int32 13698 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13699 } 13700 return pid 13701 } 13702 13703 func XXRenderChangePicture(tls *libc.TLS, dpy uintptr, picture Picture, valuemask uint32, attributes uintptr) { /* Picture.c:104:1: */ 13704 var info uintptr = XXRenderFindDisplay(tls, dpy) 13705 var req uintptr 13706 13707 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13708 return 13709 } 13710 13711 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13712 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13713 } 13714 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderChangePicture), uint32(Sz_xRenderChangePictureReq)) 13715 (*XRenderChangePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13716 (*XRenderChangePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderChangePicture) 13717 (*XRenderChangePictureReq)(unsafe.Pointer(req)).Fpicture = picture 13718 (*XRenderChangePictureReq)(unsafe.Pointer(req)).Fmask = valuemask 13719 _XRenderProcessPictureAttributes(tls, dpy, 13720 req, 13721 valuemask, 13722 attributes) 13723 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13724 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13725 } 13726 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13727 (*struct { 13728 f func(*libc.TLS, uintptr) int32 13729 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13730 } 13731 } 13732 13733 func _XRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, info uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:128:1: */ 13734 bp := tls.Alloc(4) 13735 defer tls.Free(4) 13736 13737 var req uintptr 13738 var len int32 13739 13740 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureClipRectangles), uint32(Sz_xRenderSetPictureClipRectanglesReq)) 13741 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13742 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureClipRectangles) 13743 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Fpicture = picture 13744 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FxOrigin = INT16(xOrigin) 13745 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FyOrigin = INT16(yOrigin) 13746 len = ((int32(n)) << 1) 13747 if (uint32(int32((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 13748 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 13749 { 13750 // var _BRdat CARD32 at bp, 4 13751 var _BRlen CARD32 = (CARD32(int32((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) - 1)) 13752 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 13753 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 13754 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 13755 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 13756 { 13757 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 13758 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 13759 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 13760 } else { 13761 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 13762 } 13763 } 13764 13765 } 13766 } else { 13767 len = 1 13768 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 13769 } 13770 } else { 13771 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 13772 } 13773 len <<= 2 13774 { 13775 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 13776 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rects, uint32(int32(len))) 13777 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3))) 13778 } else { 13779 x11.X_XSend(tls, dpy, rects, len) 13780 } 13781 } 13782 13783 } 13784 13785 func XXRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:152:1: */ 13786 var info uintptr = XXRenderFindDisplay(tls, dpy) 13787 13788 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13789 return 13790 } 13791 13792 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13793 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13794 } 13795 _XRenderSetPictureClipRectangles(tls, dpy, info, picture, 13796 xOrigin, yOrigin, rects, n) 13797 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13798 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13799 } 13800 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13801 (*struct { 13802 f func(*libc.TLS, uintptr) int32 13803 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13804 } 13805 } 13806 13807 func XXRenderSetPictureClipRegion(tls *libc.TLS, dpy uintptr, picture Picture, r Region) { /* Picture.c:170:1: */ 13808 var info uintptr = XXRenderFindDisplay(tls, dpy) 13809 var i int32 13810 var xr uintptr 13811 var pr uintptr 13812 var pb uintptr 13813 var total uint32 13814 13815 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13816 return 13817 } 13818 13819 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13820 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13821 } 13822 total = (uint32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) * uint32(unsafe.Sizeof(XRectangle{}))) 13823 if libc.AssignUintptr(&xr, x11.X_XAllocTemp(tls, dpy, total)) != 0 { 13824 pr = xr 13825 pb = (*X_XRegion)(unsafe.Pointer(r)).Frects 13826 i = int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) 13827 __1: 13828 if !(libc.PreDecInt32(&i, 1) >= 0) { 13829 goto __3 13830 } 13831 { 13832 (*XRectangle)(unsafe.Pointer(pr)).Fx = (*BOX)(unsafe.Pointer(pb)).Fx1 13833 (*XRectangle)(unsafe.Pointer(pr)).Fy = (*BOX)(unsafe.Pointer(pb)).Fy1 13834 (*XRectangle)(unsafe.Pointer(pr)).Fwidth = (uint16(int32((*BOX)(unsafe.Pointer(pb)).Fx2) - int32((*BOX)(unsafe.Pointer(pb)).Fx1))) 13835 (*XRectangle)(unsafe.Pointer(pr)).Fheight = (uint16(int32((*BOX)(unsafe.Pointer(pb)).Fy2) - int32((*BOX)(unsafe.Pointer(pb)).Fy1))) 13836 13837 } 13838 goto __2 13839 __2: 13840 pr += 8 13841 pb += 8 13842 goto __1 13843 goto __3 13844 __3: 13845 } 13846 if (xr != 0) || !(int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) != 0) { 13847 _XRenderSetPictureClipRectangles(tls, dpy, info, picture, 0, 0, 13848 xr, int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects)) 13849 } 13850 if xr != 0 { 13851 x11.X_XFreeTemp(tls, dpy, xr, total) 13852 } 13853 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13854 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13855 } 13856 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13857 (*struct { 13858 f func(*libc.TLS, uintptr) int32 13859 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13860 } 13861 } 13862 13863 func XXRenderSetPictureTransform(tls *libc.TLS, dpy uintptr, picture Picture, transform uintptr) { /* Picture.c:201:1: */ 13864 var info uintptr = XXRenderFindDisplay(tls, dpy) 13865 var req uintptr 13866 13867 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13868 return 13869 } 13870 13871 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13872 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13873 } 13874 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureTransform), uint32(Sz_xRenderSetPictureTransformReq)) 13875 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13876 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureTransform) 13877 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Fpicture = picture 13878 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix11 = INT32(*(*XFixed)(unsafe.Pointer((transform /* &.matrix */)))) 13879 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix12 = INT32(*(*XFixed)(unsafe.Pointer((transform /* &.matrix */) + 1*4))) 13880 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix13 = INT32(*(*XFixed)(unsafe.Pointer((transform /* &.matrix */) + 2*4))) 13881 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix21 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12)))) 13882 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix22 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12) + 1*4))) 13883 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix23 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12) + 2*4))) 13884 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix31 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12)))) 13885 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix32 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12) + 1*4))) 13886 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix33 = INT32(*(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12) + 2*4))) 13887 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13888 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13889 } 13890 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13891 (*struct { 13892 f func(*libc.TLS, uintptr) int32 13893 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13894 } 13895 13896 } 13897 13898 func XXRenderFreePicture(tls *libc.TLS, dpy uintptr, picture Picture) { /* Picture.c:229:1: */ 13899 var info uintptr = XXRenderFindDisplay(tls, dpy) 13900 var req uintptr 13901 13902 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13903 return 13904 } 13905 13906 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13907 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13908 } 13909 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreePicture), uint32(Sz_xRenderFreePictureReq)) 13910 (*XRenderFreePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13911 (*XRenderFreePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreePicture) 13912 (*XRenderFreePictureReq)(unsafe.Pointer(req)).Fpicture = picture 13913 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13914 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13915 } 13916 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13917 (*struct { 13918 f func(*libc.TLS, uintptr) int32 13919 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13920 } 13921 } 13922 13923 func XXRenderCreateSolidFill(tls *libc.TLS, dpy uintptr, color uintptr) Picture { /* Picture.c:246:9: */ 13924 var info uintptr = XXRenderFindDisplay(tls, dpy) 13925 var pid Picture 13926 var req uintptr 13927 13928 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13929 return Picture(0) 13930 } 13931 13932 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13933 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13934 } 13935 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateSolidFill), uint32(Sz_xRenderCreateSolidFillReq)) 13936 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13937 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateSolidFill) 13938 13939 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 13940 Fext_data uintptr 13941 Fprivate1 uintptr 13942 Ffd int32 13943 Fprivate2 int32 13944 Fproto_major_version int32 13945 Fproto_minor_version int32 13946 Fvendor uintptr 13947 Fprivate3 XID 13948 Fprivate4 XID 13949 Fprivate5 XID 13950 Fprivate6 int32 13951 Fresource_alloc uintptr 13952 Fbyte_order int32 13953 Fbitmap_unit int32 13954 Fbitmap_pad int32 13955 Fbitmap_bit_order int32 13956 Fnformats int32 13957 Fpixmap_format uintptr 13958 Fprivate8 int32 13959 Frelease int32 13960 Fprivate9 uintptr 13961 Fprivate10 uintptr 13962 Fqlen int32 13963 Flast_request_read uint32 13964 Frequest uint32 13965 Fprivate11 XPointer 13966 Fprivate12 XPointer 13967 Fprivate13 XPointer 13968 Fprivate14 XPointer 13969 Fmax_request_size uint32 13970 Fdb uintptr 13971 Fprivate15 uintptr 13972 Fdisplay_name uintptr 13973 Fdefault_screen int32 13974 Fnscreens int32 13975 Fscreens uintptr 13976 Fmotion_buffer uint32 13977 Fprivate16 uint32 13978 Fmin_keycode int32 13979 Fmax_keycode int32 13980 Fprivate17 XPointer 13981 Fprivate18 XPointer 13982 Fprivate19 int32 13983 Fxdefaults uintptr 13984 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)) 13985 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 13986 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 13987 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 13988 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 13989 13990 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13991 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13992 } 13993 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13994 (*struct { 13995 f func(*libc.TLS, uintptr) int32 13996 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13997 } 13998 return pid 13999 } 14000 14001 func XXRenderCreateLinearGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:271:9: */ 14002 bp := tls.Alloc(4) 14003 defer tls.Free(4) 14004 14005 var info uintptr = XXRenderFindDisplay(tls, dpy) 14006 var pid Picture 14007 var req uintptr 14008 var len int32 14009 14010 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14011 return Picture(0) 14012 } 14013 14014 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14015 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14016 } 14017 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateLinearGradient), uint32(Sz_xRenderCreateLinearGradientReq)) 14018 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14019 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateLinearGradient) 14020 14021 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14022 Fext_data uintptr 14023 Fprivate1 uintptr 14024 Ffd int32 14025 Fprivate2 int32 14026 Fproto_major_version int32 14027 Fproto_minor_version int32 14028 Fvendor uintptr 14029 Fprivate3 XID 14030 Fprivate4 XID 14031 Fprivate5 XID 14032 Fprivate6 int32 14033 Fresource_alloc uintptr 14034 Fbyte_order int32 14035 Fbitmap_unit int32 14036 Fbitmap_pad int32 14037 Fbitmap_bit_order int32 14038 Fnformats int32 14039 Fpixmap_format uintptr 14040 Fprivate8 int32 14041 Frelease int32 14042 Fprivate9 uintptr 14043 Fprivate10 uintptr 14044 Fqlen int32 14045 Flast_request_read uint32 14046 Frequest uint32 14047 Fprivate11 XPointer 14048 Fprivate12 XPointer 14049 Fprivate13 XPointer 14050 Fprivate14 XPointer 14051 Fmax_request_size uint32 14052 Fdb uintptr 14053 Fprivate15 uintptr 14054 Fdisplay_name uintptr 14055 Fdefault_screen int32 14056 Fnscreens int32 14057 Fscreens uintptr 14058 Fmotion_buffer uint32 14059 Fprivate16 uint32 14060 Fmin_keycode int32 14061 Fmax_keycode int32 14062 Fprivate17 XPointer 14063 Fprivate18 XPointer 14064 Fprivate19 int32 14065 Fxdefaults uintptr 14066 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)) 14067 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fx = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fx) 14068 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fy = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fy) 14069 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fx = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fx) 14070 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fy = INT32((*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fy) 14071 14072 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14073 len = (int32(nStops) * 3) 14074 if (uint32(int32((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 14075 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14076 { 14077 // var _BRdat CARD32 at bp, 4 14078 var _BRlen CARD32 = (CARD32(int32((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) - 1)) 14079 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14080 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 14081 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 14082 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 14083 { 14084 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14085 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 14086 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 14087 } else { 14088 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 14089 } 14090 } 14091 14092 } 14093 } else { 14094 len = 6 14095 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14096 } 14097 } else { 14098 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14099 } 14100 { 14101 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14102 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint32((nStops * 4))) 14103 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3))) 14104 } else { 14105 x11.X_XSend(tls, dpy, stops, (int32(nStops * 4))) 14106 } 14107 } 14108 14109 { 14110 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14111 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint32((nStops * 8))) 14112 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3))) 14113 } else { 14114 x11.X_XSend(tls, dpy, colors, (int32(nStops * 8))) 14115 } 14116 } 14117 14118 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14119 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14120 } 14121 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14122 (*struct { 14123 f func(*libc.TLS, uintptr) int32 14124 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14125 } 14126 return pid 14127 } 14128 14129 func XXRenderCreateRadialGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:305:9: */ 14130 bp := tls.Alloc(4) 14131 defer tls.Free(4) 14132 14133 var info uintptr = XXRenderFindDisplay(tls, dpy) 14134 var pid Picture 14135 var req uintptr 14136 var len int32 14137 14138 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14139 return Picture(0) 14140 } 14141 14142 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14143 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14144 } 14145 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateRadialGradient), uint32(Sz_xRenderCreateRadialGradientReq)) 14146 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14147 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateRadialGradient) 14148 14149 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14150 Fext_data uintptr 14151 Fprivate1 uintptr 14152 Ffd int32 14153 Fprivate2 int32 14154 Fproto_major_version int32 14155 Fproto_minor_version int32 14156 Fvendor uintptr 14157 Fprivate3 XID 14158 Fprivate4 XID 14159 Fprivate5 XID 14160 Fprivate6 int32 14161 Fresource_alloc uintptr 14162 Fbyte_order int32 14163 Fbitmap_unit int32 14164 Fbitmap_pad int32 14165 Fbitmap_bit_order int32 14166 Fnformats int32 14167 Fpixmap_format uintptr 14168 Fprivate8 int32 14169 Frelease int32 14170 Fprivate9 uintptr 14171 Fprivate10 uintptr 14172 Fqlen int32 14173 Flast_request_read uint32 14174 Frequest uint32 14175 Fprivate11 XPointer 14176 Fprivate12 XPointer 14177 Fprivate13 XPointer 14178 Fprivate14 XPointer 14179 Fmax_request_size uint32 14180 Fdb uintptr 14181 Fprivate15 uintptr 14182 Fdisplay_name uintptr 14183 Fdefault_screen int32 14184 Fnscreens int32 14185 Fscreens uintptr 14186 Fmotion_buffer uint32 14187 Fprivate16 uint32 14188 Fmin_keycode int32 14189 Fmax_keycode int32 14190 Fprivate17 XPointer 14191 Fprivate18 XPointer 14192 Fprivate19 int32 14193 Fxdefaults uintptr 14194 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)) 14195 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fx = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fx) 14196 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fy = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fy) 14197 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fx = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fx) 14198 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fy = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fy) 14199 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner_radius = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fradius) 14200 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter_radius = INT32((*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fradius) 14201 14202 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14203 len = (int32(nStops) * 3) 14204 if (uint32(int32((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 14205 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14206 { 14207 // var _BRdat CARD32 at bp, 4 14208 var _BRlen CARD32 = (CARD32(int32((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) - 1)) 14209 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14210 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 14211 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 14212 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 14213 { 14214 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14215 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 14216 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 14217 } else { 14218 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 14219 } 14220 } 14221 14222 } 14223 } else { 14224 len = 6 14225 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14226 } 14227 } else { 14228 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14229 } 14230 { 14231 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14232 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint32((nStops * 4))) 14233 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3))) 14234 } else { 14235 x11.X_XSend(tls, dpy, stops, (int32(nStops * 4))) 14236 } 14237 } 14238 14239 { 14240 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14241 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint32((nStops * 8))) 14242 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3))) 14243 } else { 14244 x11.X_XSend(tls, dpy, colors, (int32(nStops * 8))) 14245 } 14246 } 14247 14248 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14249 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14250 } 14251 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14252 (*struct { 14253 f func(*libc.TLS, uintptr) int32 14254 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14255 } 14256 return pid 14257 } 14258 14259 func XXRenderCreateConicalGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:341:9: */ 14260 bp := tls.Alloc(4) 14261 defer tls.Free(4) 14262 14263 var info uintptr = XXRenderFindDisplay(tls, dpy) 14264 var pid Picture 14265 var req uintptr 14266 var len int32 14267 14268 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14269 return Picture(0) 14270 } 14271 14272 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14273 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14274 } 14275 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateConicalGradient), uint32(Sz_xRenderCreateConicalGradientReq)) 14276 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14277 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateConicalGradient) 14278 14279 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fpid = libc.AssignUint32(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14280 Fext_data uintptr 14281 Fprivate1 uintptr 14282 Ffd int32 14283 Fprivate2 int32 14284 Fproto_major_version int32 14285 Fproto_minor_version int32 14286 Fvendor uintptr 14287 Fprivate3 XID 14288 Fprivate4 XID 14289 Fprivate5 XID 14290 Fprivate6 int32 14291 Fresource_alloc uintptr 14292 Fbyte_order int32 14293 Fbitmap_unit int32 14294 Fbitmap_pad int32 14295 Fbitmap_bit_order int32 14296 Fnformats int32 14297 Fpixmap_format uintptr 14298 Fprivate8 int32 14299 Frelease int32 14300 Fprivate9 uintptr 14301 Fprivate10 uintptr 14302 Fqlen int32 14303 Flast_request_read uint32 14304 Frequest uint32 14305 Fprivate11 XPointer 14306 Fprivate12 XPointer 14307 Fprivate13 XPointer 14308 Fprivate14 XPointer 14309 Fmax_request_size uint32 14310 Fdb uintptr 14311 Fprivate15 uintptr 14312 Fdisplay_name uintptr 14313 Fdefault_screen int32 14314 Fnscreens int32 14315 Fscreens uintptr 14316 Fmotion_buffer uint32 14317 Fprivate16 uint32 14318 Fmin_keycode int32 14319 Fmax_keycode int32 14320 Fprivate17 XPointer 14321 Fprivate18 XPointer 14322 Fprivate19 int32 14323 Fxdefaults uintptr 14324 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy)) 14325 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fx = INT32((*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fx) 14326 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fy = INT32((*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fy) 14327 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fangle = INT32((*XConicalGradient)(unsafe.Pointer(gradient)).Fangle) 14328 14329 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14330 len = (int32(nStops) * 3) 14331 if (uint32(int32((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 14332 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14333 { 14334 // var _BRdat CARD32 at bp, 4 14335 var _BRlen CARD32 = (CARD32(int32((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) - 1)) 14336 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14337 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 14338 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 14339 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 14340 { 14341 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14342 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 14343 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 14344 } else { 14345 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 14346 } 14347 } 14348 14349 } 14350 } else { 14351 len = 6 14352 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14353 } 14354 } else { 14355 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14356 } 14357 { 14358 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14359 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint32((nStops * 4))) 14360 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3))) 14361 } else { 14362 x11.X_XSend(tls, dpy, stops, (int32(nStops * 4))) 14363 } 14364 } 14365 14366 { 14367 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14368 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint32((nStops * 8))) 14369 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3))) 14370 } else { 14371 x11.X_XSend(tls, dpy, colors, (int32(nStops * 8))) 14372 } 14373 } 14374 14375 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14376 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14377 } 14378 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14379 (*struct { 14380 f func(*libc.TLS, uintptr) int32 14381 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14382 } 14383 return pid 14384 } 14385 14386 // Xlib uses long for 32-bit values. Xrender uses int. This 14387 // matters on alpha. Note that this macro assumes that int is 32 bits 14388 // except on WORD64 machines where it is 64 bits. 14389 14390 type X_Edge = struct { 14391 Fedge XLineFixed1 14392 Fcurrent_x XFixed 14393 FclockWise int32 14394 Fnext uintptr 14395 Fprev uintptr 14396 } /* Poly.c:29:9 */ 14397 14398 // Xlib uses long for 32-bit values. Xrender uses int. This 14399 // matters on alpha. Note that this macro assumes that int is 32 bits 14400 // except on WORD64 machines where it is 64 bits. 14401 14402 type Edge = X_Edge /* Poly.c:29:22 */ 14403 14404 func sCompareEdge(tls *libc.TLS, o1 uintptr, o2 uintptr) int32 { /* Poly.c:39:1: */ 14405 var e1 uintptr = o1 14406 var e2 uintptr = o2 14407 14408 return ((*Edge)(unsafe.Pointer(e1)).Fedge.Fp1.Fy - (*Edge)(unsafe.Pointer(e2)).Fedge.Fp1.Fy) 14409 } 14410 14411 func sXRenderComputeX(tls *libc.TLS, line uintptr, y XFixed) XFixed { /* Poly.c:47:1: */ 14412 var dx XFixed = ((*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fx - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx) 14413 var ex float64 = ((float64(y - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy)) * float64(dx)) 14414 var dy XFixed = ((*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fy - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy) 14415 14416 return ((*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx + (libc.Int32FromFloat64(ex / float64(dy)))) 14417 } 14418 14419 func sXRenderComputeInverseSlope(tls *libc.TLS, l uintptr) float64 { /* Poly.c:57:1: */ 14420 return (((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp2.Fx - (*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx)) / float64(65536)) / ((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp2.Fy - (*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy)) / float64(65536))) 14421 } 14422 14423 func sXRenderComputeXIntercept(tls *libc.TLS, l uintptr, inverse_slope float64) float64 { /* Poly.c:64:1: */ 14424 return (((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx)) / float64(65536)) - (inverse_slope * ((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy)) / float64(65536)))) 14425 } 14426 14427 func sXRenderComputeIntersect(tls *libc.TLS, l1 uintptr, l2 uintptr) XFixed { /* Poly.c:70:1: */ 14428 // x = m1y + b1 14429 // x = m2y + b2 14430 // m1y + b1 = m2y + b2 14431 // y * (m1 - m2) = b2 - b1 14432 // y = (b2 - b1) / (m1 - m2) 14433 var m1 float64 = sXRenderComputeInverseSlope(tls, l1) 14434 var b1 float64 = sXRenderComputeXIntercept(tls, l1, m1) 14435 var m2 float64 = sXRenderComputeInverseSlope(tls, l2) 14436 var b2 float64 = sXRenderComputeXIntercept(tls, l2, m2) 14437 14438 return (libc.Int32FromFloat64(((b2 - b1) / (m1 - m2)) * float64(65536))) 14439 } 14440 14441 func sXRenderComputeTrapezoids(tls *libc.TLS, edges uintptr, nedges int32, winding int32, traps uintptr) int32 { /* Poly.c:88:1: */ 14442 var ntraps int32 = 0 14443 var inactive int32 14444 var active uintptr 14445 var e uintptr 14446 var en uintptr 14447 var next uintptr 14448 var y XFixed 14449 var next_y XFixed 14450 var intersect XFixed 14451 14452 libc.Xqsort(tls, edges, uint32(nedges), uint32(unsafe.Sizeof(Edge{})), *(*uintptr)(unsafe.Pointer(&struct { 14453 f func(*libc.TLS, uintptr, uintptr) int32 14454 }{sCompareEdge}))) 14455 14456 y = (*Edge)(unsafe.Pointer(edges)).Fedge.Fp1.Fy 14457 active = uintptr(0) 14458 inactive = 0 14459 for (active != 0) || (inactive < nedges) { 14460 // insert new active edges into list 14461 for inactive < nedges { 14462 e = (edges + uintptr(inactive)*32) 14463 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp1.Fy > y { 14464 break 14465 } 14466 // move this edge into the active list 14467 inactive++ 14468 (*Edge)(unsafe.Pointer(e)).Fnext = active 14469 (*Edge)(unsafe.Pointer(e)).Fprev = uintptr(0) 14470 if active != 0 { 14471 (*Edge)(unsafe.Pointer(active)).Fprev = e 14472 } 14473 active = e 14474 } 14475 // compute x coordinates along this group 14476 for e = active; e != 0; e = (*Edge)(unsafe.Pointer(e)).Fnext { 14477 (*Edge)(unsafe.Pointer(e)).Fcurrent_x = sXRenderComputeX(tls, (e /* &.edge */), y) 14478 } 14479 14480 // sort active list 14481 for e = active; e != 0; e = next { 14482 next = (*Edge)(unsafe.Pointer(e)).Fnext 14483 // Find one later in the list that belongs before the 14484 // current one 14485 for en = next; en != 0; en = (*Edge)(unsafe.Pointer(en)).Fnext { 14486 if ((*Edge)(unsafe.Pointer(en)).Fcurrent_x < (*Edge)(unsafe.Pointer(e)).Fcurrent_x) || (((*Edge)(unsafe.Pointer(en)).Fcurrent_x == (*Edge)(unsafe.Pointer(e)).Fcurrent_x) && ((*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx < (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx)) { 14487 // insert en before e 14488 // 14489 // extract en 14490 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(en)).Fnext 14491 if (*Edge)(unsafe.Pointer(en)).Fnext != 0 { 14492 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(en)).Fprev 14493 } 14494 // insert en 14495 if (*Edge)(unsafe.Pointer(e)).Fprev != 0 { 14496 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = en 14497 } else { 14498 active = en 14499 } 14500 (*Edge)(unsafe.Pointer(en)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev 14501 (*Edge)(unsafe.Pointer(e)).Fprev = en 14502 (*Edge)(unsafe.Pointer(en)).Fnext = e 14503 // start over at en 14504 next = en 14505 break 14506 } 14507 } 14508 } 14509 // find next inflection point 14510 next_y = (*Edge)(unsafe.Pointer(active)).Fedge.Fp2.Fy 14511 for e = active; e != 0; e = en { 14512 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy < next_y { 14513 next_y = (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy 14514 } 14515 en = (*Edge)(unsafe.Pointer(e)).Fnext 14516 // check intersect 14517 if (en != 0) && ((*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx > (*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx) { 14518 intersect = sXRenderComputeIntersect(tls, (e /* &.edge */), ((*Edge)(unsafe.Pointer(e)).Fnext /* &.edge */)) 14519 // make sure this point is below the actual intersection 14520 intersect = (intersect + 1) 14521 if intersect < next_y { 14522 next_y = intersect 14523 } 14524 } 14525 } 14526 // check next inactive point 14527 if (inactive < nedges) && ((*Edge)(unsafe.Pointer(edges+uintptr(inactive)*32)).Fedge.Fp1.Fy < next_y) { 14528 next_y = (*Edge)(unsafe.Pointer(edges + uintptr(inactive)*32)).Fedge.Fp1.Fy 14529 } 14530 14531 // walk the list generating trapezoids 14532 for e = active; (e != 0) && (libc.AssignUintptr(&en, (*Edge)(unsafe.Pointer(e)).Fnext) != 0); e = (*Edge)(unsafe.Pointer(en)).Fnext { 14533 (*XTrapezoid1)(unsafe.Pointer(traps)).Ftop = y 14534 (*XTrapezoid1)(unsafe.Pointer(traps)).Fbottom = next_y 14535 (*XTrapezoid1)(unsafe.Pointer(traps)).Fleft = (*Edge)(unsafe.Pointer(e)).Fedge 14536 (*XTrapezoid1)(unsafe.Pointer(traps)).Fright = (*Edge)(unsafe.Pointer(en)).Fedge 14537 traps += 40 14538 ntraps++ 14539 } 14540 14541 y = next_y 14542 14543 // delete inactive edges from list 14544 for e = active; e != 0; e = next { 14545 next = (*Edge)(unsafe.Pointer(e)).Fnext 14546 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy <= y { 14547 if (*Edge)(unsafe.Pointer(e)).Fprev != 0 { 14548 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(e)).Fnext 14549 } else { 14550 active = (*Edge)(unsafe.Pointer(e)).Fnext 14551 } 14552 if (*Edge)(unsafe.Pointer(e)).Fnext != 0 { 14553 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev 14554 } 14555 } 14556 } 14557 } 14558 return ntraps 14559 } 14560 14561 func XXRenderCompositeDoublePoly(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, fpoints uintptr, npoints int32, winding int32) { /* Poly.c:225:1: */ 14562 var edges uintptr 14563 var traps uintptr 14564 var i int32 14565 var nedges int32 14566 var ntraps int32 14567 var x XFixed 14568 var y XFixed 14569 var prevx XFixed = 0 14570 var prevy XFixed = 0 14571 var firstx XFixed = 0 14572 var firsty XFixed = 0 14573 var top XFixed = 0 14574 var bottom XFixed = 0 // GCCism 14575 14576 edges = libc.Xmalloc(tls, func() uint32 { 14577 if ((uint32(npoints) * uint32(unsafe.Sizeof(Edge{}))) + ((uint32(npoints * npoints)) * uint32(unsafe.Sizeof(XTrapezoid1{})))) == uint32(0) { 14578 return uint32(1) 14579 } 14580 return ((uint32(npoints) * uint32(unsafe.Sizeof(Edge{}))) + ((uint32(npoints * npoints)) * uint32(unsafe.Sizeof(XTrapezoid1{})))) 14581 }()) 14582 if !(edges != 0) { 14583 return 14584 } 14585 traps = (edges + uintptr(npoints)*32) 14586 nedges = 0 14587 for i = 0; i <= npoints; i++ { 14588 if i == npoints { 14589 x = firstx 14590 y = firsty 14591 } else { 14592 x = (libc.Int32FromFloat64(((*XPointDouble)(unsafe.Pointer(fpoints + uintptr(i)*16)).Fx) * float64(65536))) 14593 y = (libc.Int32FromFloat64(((*XPointDouble)(unsafe.Pointer(fpoints + uintptr(i)*16)).Fy) * float64(65536))) 14594 } 14595 if i != 0 { 14596 if y < top { 14597 top = y 14598 } else if y > bottom { 14599 bottom = y 14600 } 14601 if prevy < y { 14602 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fx = prevx 14603 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fy = prevy 14604 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fx = x 14605 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fy = y 14606 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).FclockWise = True 14607 nedges++ 14608 } else if prevy > y { 14609 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fx = x 14610 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp1.Fy = y 14611 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fx = prevx 14612 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).Fedge.Fp2.Fy = prevy 14613 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*32)).FclockWise = False 14614 nedges++ 14615 } 14616 // drop horizontal edges 14617 } else { 14618 top = y 14619 bottom = y 14620 firstx = x 14621 firsty = y 14622 } 14623 prevx = x 14624 prevy = y 14625 } 14626 ntraps = sXRenderComputeTrapezoids(tls, edges, nedges, winding, traps) 14627 // XXX adjust xSrc/xDst 14628 XXRenderCompositeTrapezoids(tls, dpy, op, src, dst, maskFormat, xSrc, ySrc, traps, ntraps) 14629 libc.Xfree(tls, edges) 14630 } 14631 14632 // Xlib uses long for 32-bit values. Xrender uses int. This 14633 // matters on alpha. Note that this macro assumes that int is 32 bits 14634 // except on WORD64 machines where it is 64 bits. 14635 14636 func XXRenderCompositeTrapezoids(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, traps uintptr, ntrap int32) { /* Trap.c:30:1: */ 14637 bp := tls.Alloc(4) 14638 defer tls.Free(4) 14639 14640 var info uintptr = XXRenderFindDisplay(tls, dpy) 14641 var req uintptr 14642 var n int32 14643 var len int32 14644 var max_req uint32 14645 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14646 max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size 14647 } else { 14648 max_req = uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size) 14649 } 14650 14651 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14652 return 14653 } 14654 14655 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14656 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14657 } 14658 for ntrap != 0 { 14659 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTrapezoids), uint32(Sz_xRenderTrapezoidsReq)) 14660 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14661 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTrapezoids) 14662 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14663 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fsrc = src 14664 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fdst = dst 14665 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14666 if maskFormat != 0 { 14667 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 14668 } 14669 return uint32(0) 14670 }() 14671 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14672 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14673 n = ntrap 14674 len = ((int32(n)) * (int32(Sz_xTrapezoid) >> 2)) 14675 if uint32(len) > (max_req - uint32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) { 14676 n = (int32((max_req - uint32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xTrapezoid) >> 2)))) 14677 len = ((int32(n)) * (int32(Sz_xTrapezoid) >> 2)) 14678 } 14679 if (uint32(int32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 14680 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14681 { 14682 // var _BRdat CARD32 at bp, 4 14683 var _BRlen CARD32 = (CARD32(int32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) - 1)) 14684 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14685 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 14686 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 14687 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 14688 { 14689 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14690 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 14691 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 14692 } else { 14693 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 14694 } 14695 } 14696 14697 } 14698 } else { 14699 len = len 14700 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14701 } 14702 } else { 14703 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14704 } 14705 len <<= 2 14706 { 14707 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14708 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint32(int32(len))) 14709 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3))) 14710 } else { 14711 x11.X_XSend(tls, dpy, traps, len) 14712 } 14713 } 14714 14715 ntrap = ntrap - (n) 14716 traps += 40 * (uintptr(n)) 14717 } 14718 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14719 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14720 } 14721 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14722 (*struct { 14723 f func(*libc.TLS, uintptr) int32 14724 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14725 } 14726 } 14727 14728 // Xlib uses long for 32-bit values. Xrender uses int. This 14729 // matters on alpha. Note that this macro assumes that int is 32 bits 14730 // except on WORD64 machines where it is 64 bits. 14731 14732 func XXRenderCompositeTriangles(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, triangles uintptr, ntriangle int32) { /* Tri.c:30:1: */ 14733 bp := tls.Alloc(4) 14734 defer tls.Free(4) 14735 14736 var info uintptr = XXRenderFindDisplay(tls, dpy) 14737 var req uintptr 14738 var n int32 14739 var len int32 14740 14741 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14742 return 14743 } 14744 14745 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14746 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14747 } 14748 for ntriangle != 0 { 14749 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriangles), uint32(Sz_xRenderTrianglesReq)) 14750 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14751 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriangles) 14752 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14753 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fsrc = src 14754 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fdst = dst 14755 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14756 if maskFormat != 0 { 14757 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 14758 } 14759 return uint32(0) 14760 }() 14761 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14762 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14763 n = ntriangle 14764 len = ((int32(n)) * (int32(Sz_xTriangle) >> 2)) 14765 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (uint32(len) > (uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)))) { 14766 n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xTriangle) >> 2)))) 14767 len = ((int32(n)) * (int32(Sz_xTriangle) >> 2)) 14768 } 14769 if (uint32(int32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 14770 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14771 { 14772 // var _BRdat CARD32 at bp, 4 14773 var _BRlen CARD32 = (CARD32(int32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) - 1)) 14774 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14775 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 14776 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 14777 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 14778 { 14779 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14780 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 14781 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 14782 } else { 14783 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 14784 } 14785 } 14786 14787 } 14788 } else { 14789 len = len 14790 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14791 } 14792 } else { 14793 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14794 } 14795 len <<= 2 14796 { 14797 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14798 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, triangles, uint32(int32(len))) 14799 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3))) 14800 } else { 14801 x11.X_XSend(tls, dpy, triangles, len) 14802 } 14803 } 14804 14805 ntriangle = ntriangle - (n) 14806 triangles += 24 * (uintptr(n)) 14807 } 14808 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14809 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14810 } 14811 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14812 (*struct { 14813 f func(*libc.TLS, uintptr) int32 14814 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14815 } 14816 } 14817 14818 func XXRenderCompositeTriStrip(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, points uintptr, npoint int32) { /* Tri.c:75:1: */ 14819 bp := tls.Alloc(4) 14820 defer tls.Free(4) 14821 14822 var info uintptr = XXRenderFindDisplay(tls, dpy) 14823 var req uintptr 14824 var n int32 14825 var len int32 14826 14827 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14828 return 14829 } 14830 14831 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14832 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14833 } 14834 for npoint > 2 { 14835 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriStrip), uint32(Sz_xRenderTriStripReq)) 14836 (*XRenderTriStripReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14837 (*XRenderTriStripReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriStrip) 14838 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14839 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fsrc = src 14840 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fdst = dst 14841 (*XRenderTriStripReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14842 if maskFormat != 0 { 14843 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 14844 } 14845 return uint32(0) 14846 }() 14847 (*XRenderTriStripReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14848 (*XRenderTriStripReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14849 n = npoint 14850 len = ((int32(n)) * (int32(Sz_xPointFixed) >> 2)) 14851 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (uint32(len) > (uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)))) { 14852 n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xPointFixed) >> 2)))) 14853 len = ((int32(n)) * (int32(Sz_xPointFixed) >> 2)) 14854 } 14855 if (uint32(int32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 14856 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14857 { 14858 // var _BRdat CARD32 at bp, 4 14859 var _BRlen CARD32 = (CARD32(int32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) - 1)) 14860 (*XRenderTriStripReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14861 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 14862 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 14863 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 14864 { 14865 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14866 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 14867 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 14868 } else { 14869 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 14870 } 14871 } 14872 14873 } 14874 } else { 14875 len = len 14876 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14877 } 14878 } else { 14879 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14880 } 14881 len <<= 2 14882 { 14883 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14884 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint32(int32(len))) 14885 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3))) 14886 } else { 14887 x11.X_XSend(tls, dpy, points, len) 14888 } 14889 } 14890 14891 npoint = npoint - (n - 2) 14892 points += 8 * (uintptr(n - 2)) 14893 } 14894 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14895 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14896 } 14897 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14898 (*struct { 14899 f func(*libc.TLS, uintptr) int32 14900 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14901 } 14902 } 14903 14904 func XXRenderCompositeTriFan(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, points uintptr, npoint int32) { /* Tri.c:120:1: */ 14905 bp := tls.Alloc(4) 14906 defer tls.Free(4) 14907 14908 var info uintptr = XXRenderFindDisplay(tls, dpy) 14909 var first uintptr = points 14910 var p uintptr 14911 var req uintptr 14912 var n int32 14913 var len int32 14914 14915 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14916 return 14917 } 14918 14919 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14920 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14921 } 14922 points += 8 14923 npoint-- 14924 for npoint > 1 { 14925 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriFan), (uint32(Sz_xRenderTriFanReq + Sz_xPointFixed))) 14926 (*XRenderTriFanReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14927 (*XRenderTriFanReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriFan) 14928 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14929 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fsrc = src 14930 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fdst = dst 14931 (*XRenderTriFanReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14932 if maskFormat != 0 { 14933 return (*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid 14934 } 14935 return uint32(0) 14936 }() 14937 (*XRenderTriFanReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14938 (*XRenderTriFanReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14939 p = (req + uintptr(1)*24) 14940 (*XPointFixed)(unsafe.Pointer(p)).Fx = INT32((*XPointFixed1)(unsafe.Pointer(first)).Fx) 14941 (*XPointFixed)(unsafe.Pointer(p)).Fy = INT32((*XPointFixed1)(unsafe.Pointer(first)).Fy) 14942 n = npoint 14943 len = ((int32(n)) * (int32(Sz_xPointFixed) >> 2)) 14944 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (uint32(len) > (uint32((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)))) { 14945 n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xPointFixed) >> 2)))) 14946 len = ((int32(n)) * (int32(Sz_xPointFixed) >> 2)) 14947 } 14948 if (uint32(int32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) + len)) > uint32(uint32(65535)) { 14949 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14950 { 14951 // var _BRdat CARD32 at bp, 4 14952 var _BRlen CARD32 = (CARD32(int32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) - 1)) 14953 (*XRenderTriFanReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14954 *(*CARD32)(unsafe.Pointer(bp /* _BRdat */)) = *(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4)) 14955 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint32((_BRlen - CARD32(1)) << 2))) 14956 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = ((_BRlen + CARD32(len)) + CARD32(2)) 14957 { 14958 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((4))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14959 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, bp /* &_BRdat */, uint32(4)) 14960 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((4) + 3) & libc.CplInt32(3))) 14961 } else { 14962 x11.X_XSend(tls, dpy, bp /* &_BRdat */, 4) 14963 } 14964 } 14965 14966 } 14967 } else { 14968 len = len 14969 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14970 } 14971 } else { 14972 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14973 } 14974 len <<= 2 14975 { 14976 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14977 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint32(int32(len))) 14978 *(*uintptr)(unsafe.Pointer(dpy + 108 /* &.bufptr */)) += (uintptr(((len) + 3) & libc.CplInt32(3))) 14979 } else { 14980 x11.X_XSend(tls, dpy, points, len) 14981 } 14982 } 14983 14984 npoint = npoint - (n - 1) 14985 points += 8 * (uintptr(n - 1)) 14986 } 14987 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14988 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14989 } 14990 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14991 (*struct { 14992 f func(*libc.TLS, uintptr) int32 14993 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14994 } 14995 } 14996 14997 // Xlib uses long for 32-bit values. Xrender uses int. This 14998 // matters on alpha. Note that this macro assumes that int is 32 bits 14999 // except on WORD64 machines where it is 64 bits. 15000 15001 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 15002 // 15003 // This file is part of GCC. 15004 // 15005 // GCC is free software; you can redistribute it and/or modify it under 15006 // the terms of the GNU General Public License as published by the Free 15007 // Software Foundation; either version 3, or (at your option) any later 15008 // version. 15009 // 15010 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 15011 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 15012 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15013 // for more details. 15014 // 15015 // Under Section 7 of GPL version 3, you are granted additional 15016 // permissions described in the GCC Runtime Library Exception, version 15017 // 3.1, as published by the Free Software Foundation. 15018 // 15019 // You should have received a copy of the GNU General Public License and 15020 // a copy of the GCC Runtime Library Exception along with this program; 15021 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 15022 // <http://www.gnu.org/licenses/>. 15023 15024 // This administrivia gets added to the beginning of limits.h 15025 // if the system has its own version of limits.h. 15026 15027 // We use _GCC_LIMITS_H_ because we want this not to match 15028 // any macros that the system's limits.h uses for its own purposes. 15029 15030 // Use "..." so that we find syslimits.h only in this same directory. 15031 // syslimits.h stands for the system's own limits.h file. 15032 // If we can use it ok unmodified, then we install this text. 15033 // If fixincludes fixes it, then the fixed version is installed 15034 // instead of this text. 15035 15036 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15037 // This file is part of the GNU C Library. 15038 // 15039 // The GNU C Library is free software; you can redistribute it and/or 15040 // modify it under the terms of the GNU Lesser General Public 15041 // License as published by the Free Software Foundation; either 15042 // version 2.1 of the License, or (at your option) any later version. 15043 // 15044 // The GNU C Library is distributed in the hope that it will be useful, 15045 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15046 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15047 // Lesser General Public License for more details. 15048 // 15049 // You should have received a copy of the GNU Lesser General Public 15050 // License along with the GNU C Library; if not, see 15051 // <https://www.gnu.org/licenses/>. 15052 15053 // ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h> 15054 15055 // Handle feature test macros at the start of a header. 15056 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 15057 // This file is part of the GNU C Library. 15058 // 15059 // The GNU C Library is free software; you can redistribute it and/or 15060 // modify it under the terms of the GNU Lesser General Public 15061 // License as published by the Free Software Foundation; either 15062 // version 2.1 of the License, or (at your option) any later version. 15063 // 15064 // The GNU C Library is distributed in the hope that it will be useful, 15065 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15066 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15067 // Lesser General Public License for more details. 15068 // 15069 // You should have received a copy of the GNU Lesser General Public 15070 // License along with the GNU C Library; if not, see 15071 // <https://www.gnu.org/licenses/>. 15072 15073 // This header is internal to glibc and should not be included outside 15074 // of glibc headers. Headers including it must define 15075 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 15076 // cannot have multiple include guards because ISO C feature test 15077 // macros depend on the definition of the macro when an affected 15078 // header is included, not when the first system header is 15079 // included. 15080 15081 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15082 // This file is part of the GNU C Library. 15083 // 15084 // The GNU C Library is free software; you can redistribute it and/or 15085 // modify it under the terms of the GNU Lesser General Public 15086 // License as published by the Free Software Foundation; either 15087 // version 2.1 of the License, or (at your option) any later version. 15088 // 15089 // The GNU C Library is distributed in the hope that it will be useful, 15090 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15091 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15092 // Lesser General Public License for more details. 15093 // 15094 // You should have received a copy of the GNU Lesser General Public 15095 // License along with the GNU C Library; if not, see 15096 // <https://www.gnu.org/licenses/>. 15097 15098 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 15099 // macro. 15100 15101 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 15102 // macro. Most but not all symbols enabled by that macro in TS 15103 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 15104 // still require that macro in C2X. 15105 15106 // ISO/IEC TS 18661-4:2015 defines the 15107 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 15108 // functions, the symbols from this TS are enabled unconditionally in 15109 // C2X. 15110 15111 // ISO/IEC TS 18661-3:2015 defines the 15112 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 15113 15114 // Maximum length of any multibyte character in any locale. 15115 // We define this value here since the gcc header does not define 15116 // the correct value. 15117 15118 // If we are not using GNU CC we have to define all the symbols ourself. 15119 // Otherwise use gcc's definitions (see below). 15120 15121 // Get the compiler's limits.h, which defines almost all the ISO constants. 15122 // 15123 // We put this #include_next outside the double inclusion check because 15124 // it should be possible to include this file more than once and still get 15125 // the definitions from gcc's header. 15126 15127 // The <limits.h> files in some gcc versions don't define LLONG_MIN, 15128 // LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for 15129 // ages are available. 15130 15131 // The integer width macros are not defined by GCC's <limits.h> before 15132 // GCC 7, or if _GNU_SOURCE rather than 15133 // __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. 15134 15135 // POSIX adds things to <limits.h>. 15136 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15137 // This file is part of the GNU C Library. 15138 // 15139 // The GNU C Library is free software; you can redistribute it and/or 15140 // modify it under the terms of the GNU Lesser General Public 15141 // License as published by the Free Software Foundation; either 15142 // version 2.1 of the License, or (at your option) any later version. 15143 // 15144 // The GNU C Library is distributed in the hope that it will be useful, 15145 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15146 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15147 // Lesser General Public License for more details. 15148 // 15149 // You should have received a copy of the GNU Lesser General Public 15150 // License along with the GNU C Library; if not, see 15151 // <https://www.gnu.org/licenses/>. 15152 15153 // POSIX Standard: 2.9.2 Minimum Values Added to <limits.h> 15154 // 15155 // Never include this file directly; use <limits.h> instead. 15156 15157 // Determine the wordsize from the preprocessor defines. 15158 15159 // These are the standard-mandated minimum values. 15160 15161 // Minimum number of operations in one list I/O call. 15162 15163 // Minimal number of outstanding asynchronous I/O operations. 15164 15165 // Maximum length of arguments to `execve', including environment. 15166 15167 // Maximum simultaneous processes per real user ID. 15168 15169 // Minimal number of timer expiration overruns. 15170 15171 // Maximum length of a host name (not including the terminating null) 15172 // as returned from the GETHOSTNAME function. 15173 15174 // Maximum link count of a file. 15175 15176 // Maximum length of login name. 15177 15178 // Number of bytes in a terminal canonical input queue. 15179 15180 // Number of bytes for which space will be 15181 // available in a terminal input queue. 15182 15183 // Maximum number of message queues open for a process. 15184 15185 // Maximum number of supported message priorities. 15186 15187 // Number of bytes in a filename. 15188 15189 // Number of simultaneous supplementary group IDs per process. 15190 15191 // Number of files one process can have open at once. 15192 15193 // Number of bytes in a pathname. 15194 15195 // Number of bytes than can be written atomically to a pipe. 15196 15197 // The number of repeated occurrences of a BRE permitted by the 15198 // REGEXEC and REGCOMP functions when using the interval notation. 15199 15200 // Minimal number of realtime signals reserved for the application. 15201 15202 // Number of semaphores a process can have. 15203 15204 // Maximal value of a semaphore. 15205 15206 // Number of pending realtime signals. 15207 15208 // Largest value of a `ssize_t'. 15209 15210 // Number of streams a process can have open at once. 15211 15212 // The number of bytes in a symbolic link. 15213 15214 // The number of symbolic links that can be traversed in the 15215 // resolution of a pathname in the absence of a loop. 15216 15217 // Number of timer for a process. 15218 15219 // Maximum number of characters in a tty name. 15220 15221 // Maximum length of a timezone name (element of `tzname'). 15222 15223 // Maximum clock resolution in nanoseconds. 15224 15225 // Get the implementation-specific values for the above. 15226 // Minimum guaranteed maximum values for system limits. Linux version. 15227 // Copyright (C) 1993-2020 Free Software Foundation, Inc. 15228 // This file is part of the GNU C Library. 15229 // 15230 // The GNU C Library is free software; you can redistribute it and/or 15231 // modify it under the terms of the GNU Lesser General Public License as 15232 // published by the Free Software Foundation; either version 2.1 of the 15233 // License, or (at your option) any later version. 15234 // 15235 // The GNU C Library is distributed in the hope that it will be useful, 15236 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15237 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15238 // Lesser General Public License for more details. 15239 // 15240 // You should have received a copy of the GNU Lesser General Public 15241 // License along with the GNU C Library; see the file COPYING.LIB. If 15242 // not, see <https://www.gnu.org/licenses/>. 15243 15244 // The kernel header pollutes the namespace with the NR_OPEN symbol 15245 // and defines LINK_MAX although filesystems have different maxima. A 15246 // similar thing is true for OPEN_MAX: the limit can be changed at 15247 // runtime and therefore the macro must not be defined. Remove this 15248 // after including the header if necessary. 15249 15250 // The kernel sources contain a file with all the needed information. 15251 // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note 15252 15253 // Have to remove NR_OPEN? 15254 // Have to remove LINK_MAX? 15255 // Have to remove OPEN_MAX? 15256 // Have to remove ARG_MAX? 15257 15258 // The number of data keys per process. 15259 // This is the value this implementation supports. 15260 15261 // Controlling the iterations of destructors for thread-specific data. 15262 // Number of iterations this implementation does. 15263 15264 // The number of threads per process. 15265 // We have no predefined limit on the number of threads. 15266 15267 // Maximum amount by which a process can descrease its asynchronous I/O 15268 // priority level. 15269 15270 // Minimum size for a thread. We are free to choose a reasonable value. 15271 15272 // Maximum number of timer expiration overruns. 15273 15274 // Maximum tty name length. 15275 15276 // Maximum login name length. This is arbitrary. 15277 15278 // Maximum host name length. 15279 15280 // Maximum message queue priority level. 15281 15282 // Maximum value the semaphore can have. 15283 15284 // ssize_t is not formally required to be the signed type 15285 // corresponding to size_t, but it is for all configurations supported 15286 // by glibc. 15287 15288 // This value is a guaranteed minimum maximum. 15289 // The current maximum can be got from `sysconf'. 15290 15291 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15292 // This file is part of the GNU C Library. 15293 // 15294 // The GNU C Library is free software; you can redistribute it and/or 15295 // modify it under the terms of the GNU Lesser General Public 15296 // License as published by the Free Software Foundation; either 15297 // version 2.1 of the License, or (at your option) any later version. 15298 // 15299 // The GNU C Library is distributed in the hope that it will be useful, 15300 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15301 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15302 // Lesser General Public License for more details. 15303 // 15304 // You should have received a copy of the GNU Lesser General Public 15305 // License along with the GNU C Library; if not, see 15306 // <https://www.gnu.org/licenses/>. 15307 15308 // Never include this file directly; include <limits.h> instead. 15309 15310 // The maximum `ibase' and `obase' values allowed by the `bc' utility. 15311 15312 // The maximum number of elements allowed in an array by the `bc' utility. 15313 15314 // The maximum `scale' value allowed by the `bc' utility. 15315 15316 // The maximum length of a string constant accepted by the `bc' utility. 15317 15318 // The maximum number of weights that can be assigned to an entry of 15319 // the LC_COLLATE `order' keyword in the locale definition file. 15320 15321 // The maximum number of expressions that can be nested 15322 // within parentheses by the `expr' utility. 15323 15324 // The maximum length, in bytes, of an input line. 15325 15326 // The maximum number of repeated occurrences of a regular expression 15327 // permitted when using the interval notation `\{M,N\}'. 15328 15329 // The maximum number of bytes in a character class name. We have no 15330 // fixed limit, 2048 is a high number. 15331 15332 // These values are implementation-specific, 15333 // and may vary within the implementation. 15334 // Their precise values can be obtained from sysconf. 15335 15336 // This value is defined like this in regex.h. 15337 15338 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15339 // 15340 // This file is part of GCC. 15341 // 15342 // GCC is free software; you can redistribute it and/or modify it under 15343 // the terms of the GNU General Public License as published by the Free 15344 // Software Foundation; either version 3, or (at your option) any later 15345 // version. 15346 // 15347 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 15348 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 15349 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15350 // for more details. 15351 // 15352 // Under Section 7 of GPL version 3, you are granted additional 15353 // permissions described in the GCC Runtime Library Exception, version 15354 // 3.1, as published by the Free Software Foundation. 15355 // 15356 // You should have received a copy of the GNU General Public License and 15357 // a copy of the GCC Runtime Library Exception along with this program; 15358 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 15359 // <http://www.gnu.org/licenses/>. 15360 15361 // Number of bits in a `char'. 15362 15363 // Maximum length of a multibyte character. 15364 15365 // Minimum and maximum values a `signed char' can hold. 15366 15367 // Maximum value an `unsigned char' can hold. (Minimum is 0). 15368 15369 // Minimum and maximum values a `char' can hold. 15370 15371 // Minimum and maximum values a `signed short int' can hold. 15372 15373 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 15374 15375 // Minimum and maximum values a `signed int' can hold. 15376 15377 // Maximum value an `unsigned int' can hold. (Minimum is 0). 15378 15379 // Minimum and maximum values a `signed long int' can hold. 15380 // (Same as `int'). 15381 15382 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 15383 15384 // Minimum and maximum values a `signed long long int' can hold. 15385 15386 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 15387 15388 // This administrivia gets added to the end of limits.h 15389 // if the system has its own version of limits.h. 15390 15391 var XXRenderExtensionInfo XRenderExtInfo /* Xrender.c:31:16: */ 15392 var XXRenderExtensionName = *(*[7]int8)(unsafe.Pointer(ts + 6 /* "RENDER" */)) /* Xrender.c:32:6 */ 15393 15394 // XRenderExtFindDisplay - look for a display in this extension; keeps a 15395 // cache of the most-recently used for efficiency. (Replaces 15396 // XextFindDisplay.) 15397 func sXRenderExtFindDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) uintptr { /* Xrender.c:41:30: */ 15398 var dpyinfo uintptr 15399 15400 // see if this was the most recently accessed display 15401 if (libc.AssignUintptr(&dpyinfo, (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur) != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy) { 15402 return dpyinfo 15403 } 15404 15405 // look for display in list 15406 if x11.X_XLockMutex_fn != 0 { 15407 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15408 } 15409 for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext { 15410 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy { 15411 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo // cache most recently used 15412 if x11.X_XUnlockMutex_fn != 0 { 15413 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15414 } 15415 return dpyinfo 15416 } 15417 } 15418 if x11.X_XUnlockMutex_fn != 0 { 15419 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15420 } 15421 15422 return uintptr(0) 15423 } 15424 15425 // If the server is missing support for any of the required depths on 15426 // any screen, tell the application that Render is not present. 15427 15428 // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps 15429 15430 type X_DepthCheckRec = struct { 15431 Fnext uintptr 15432 Fdpy uintptr 15433 Fmissing CARD32 15434 Fserial uint32 15435 } /* Xrender.c:86:9 */ 15436 15437 // If the server is missing support for any of the required depths on 15438 // any screen, tell the application that Render is not present. 15439 15440 // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps 15441 15442 type DepthCheckRec = X_DepthCheckRec /* Xrender.c:91:3 */ 15443 type DepthCheckPtr = uintptr /* Xrender.c:91:18 */ 15444 15445 var depthChecks DepthCheckPtr /* Xrender.c:93:22: */ 15446 15447 func sXRenderDepthCheckErrorHandler(tls *libc.TLS, dpy uintptr, evt uintptr) int32 { /* Xrender.c:96:1: */ 15448 if (int32((*XErrorEvent)(unsafe.Pointer(evt)).Frequest_code) == X_CreatePixmap) && (int32((*XErrorEvent)(unsafe.Pointer(evt)).Ferror_code) == BadValue) { 15449 var d DepthCheckPtr 15450 if x11.X_XLockMutex_fn != 0 { 15451 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15452 } 15453 for d = depthChecks; d != 0; d = (*X_DepthCheckRec)(unsafe.Pointer(d)).Fnext { 15454 if (*X_DepthCheckRec)(unsafe.Pointer(d)).Fdpy == dpy { 15455 if (int32((*XErrorEvent)(unsafe.Pointer(evt)).Fserial - (*X_DepthCheckRec)(unsafe.Pointer(d)).Fserial)) >= 0 { 15456 *(*CARD32)(unsafe.Pointer(d + 8 /* &.missing */)) |= (CARD32(uint32(1) << (((*XErrorEvent)(unsafe.Pointer(evt)).Fresourceid) - XID(1)))) 15457 } 15458 break 15459 } 15460 } 15461 if x11.X_XUnlockMutex_fn != 0 { 15462 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15463 } 15464 } 15465 return 0 15466 } 15467 15468 func sXRenderHasDepths(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:115:1: */ 15469 bp := tls.Alloc(16) 15470 defer tls.Free(16) 15471 15472 var s int32 15473 15474 for s = 0; s < ((*struct { 15475 Fext_data uintptr 15476 Fprivate1 uintptr 15477 Ffd int32 15478 Fprivate2 int32 15479 Fproto_major_version int32 15480 Fproto_minor_version int32 15481 Fvendor uintptr 15482 Fprivate3 XID 15483 Fprivate4 XID 15484 Fprivate5 XID 15485 Fprivate6 int32 15486 Fresource_alloc uintptr 15487 Fbyte_order int32 15488 Fbitmap_unit int32 15489 Fbitmap_pad int32 15490 Fbitmap_bit_order int32 15491 Fnformats int32 15492 Fpixmap_format uintptr 15493 Fprivate8 int32 15494 Frelease int32 15495 Fprivate9 uintptr 15496 Fprivate10 uintptr 15497 Fqlen int32 15498 Flast_request_read uint32 15499 Frequest uint32 15500 Fprivate11 XPointer 15501 Fprivate12 XPointer 15502 Fprivate13 XPointer 15503 Fprivate14 XPointer 15504 Fmax_request_size uint32 15505 Fdb uintptr 15506 Fprivate15 uintptr 15507 Fdisplay_name uintptr 15508 Fdefault_screen int32 15509 Fnscreens int32 15510 Fscreens uintptr 15511 Fmotion_buffer uint32 15512 Fprivate16 uint32 15513 Fmin_keycode int32 15514 Fmax_keycode int32 15515 Fprivate17 XPointer 15516 Fprivate18 XPointer 15517 Fprivate19 int32 15518 Fxdefaults uintptr 15519 })(unsafe.Pointer(dpy)).Fnscreens); s++ { 15520 var depths CARD32 = CARD32(0) 15521 var missing CARD32 15522 var scr uintptr = ((*struct { 15523 Fext_data uintptr 15524 Fprivate1 uintptr 15525 Ffd int32 15526 Fprivate2 int32 15527 Fproto_major_version int32 15528 Fproto_minor_version int32 15529 Fvendor uintptr 15530 Fprivate3 XID 15531 Fprivate4 XID 15532 Fprivate5 XID 15533 Fprivate6 int32 15534 Fresource_alloc uintptr 15535 Fbyte_order int32 15536 Fbitmap_unit int32 15537 Fbitmap_pad int32 15538 Fbitmap_bit_order int32 15539 Fnformats int32 15540 Fpixmap_format uintptr 15541 Fprivate8 int32 15542 Frelease int32 15543 Fprivate9 uintptr 15544 Fprivate10 uintptr 15545 Fqlen int32 15546 Flast_request_read uint32 15547 Frequest uint32 15548 Fprivate11 XPointer 15549 Fprivate12 XPointer 15550 Fprivate13 XPointer 15551 Fprivate14 XPointer 15552 Fmax_request_size uint32 15553 Fdb uintptr 15554 Fprivate15 uintptr 15555 Fdisplay_name uintptr 15556 Fdefault_screen int32 15557 Fnscreens int32 15558 Fscreens uintptr 15559 Fmotion_buffer uint32 15560 Fprivate16 uint32 15561 Fmin_keycode int32 15562 Fmax_keycode int32 15563 Fprivate17 XPointer 15564 Fprivate18 XPointer 15565 Fprivate19 int32 15566 Fxdefaults uintptr 15567 })(unsafe.Pointer((dpy))).Fscreens + uintptr(s)*80) 15568 var d int32 15569 15570 for d = 0; d < (*Screen)(unsafe.Pointer(scr)).Fndepths; d++ { 15571 depths = depths | (CARD32(uint32(1) << (((*Depth)(unsafe.Pointer((*Screen)(unsafe.Pointer(scr)).Fdepths + uintptr(d)*12)).Fdepth) - 1))) 15572 } 15573 missing = (^depths & (((((uint32(1) << ((1) - 1)) | (uint32(1) << ((4) - 1))) | (uint32(1) << ((8) - 1))) | (uint32(1) << ((24) - 1))) | (uint32(1) << ((32) - 1)))) 15574 if missing != 0 { 15575 // var dc DepthCheckRec at bp, 16 15576 15577 var dp uintptr 15578 var previousHandler XErrorHandler 15579 15580 // Ok, this is ugly. It should be sufficient at this 15581 // point to just return False, but Xinerama is broken at 15582 // this point and only advertises depths which have an 15583 // associated visual. Of course, the other depths still 15584 // work, but the only way to find out is to try them. 15585 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fdpy = dpy 15586 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing = CARD32(0) 15587 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fserial = x11.XXNextRequest(tls, dpy) 15588 if x11.X_XLockMutex_fn != 0 { 15589 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15590 } 15591 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext = depthChecks 15592 depthChecks = bp /* &dc */ 15593 if x11.X_XUnlockMutex_fn != 0 { 15594 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15595 } 15596 // I suspect this is not really thread safe, but Xlib doesn't 15597 // provide a lot of options here 15598 previousHandler = x11.XXSetErrorHandler(tls, *(*uintptr)(unsafe.Pointer(&struct { 15599 f func(*libc.TLS, uintptr, uintptr) int32 15600 }{sXRenderDepthCheckErrorHandler}))) 15601 // Try each missing depth and see if pixmap creation succeeds 15602 for d = 1; d <= 32; d++ { 15603 // don't check depth 1 == Xcursor recurses... 15604 if ((missing & (CARD32(uint32(1) << ((d) - 1)))) != 0) && (d != 1) { 15605 var p Pixmap 15606 p = x11.XXCreatePixmap(tls, dpy, (*Screen)(unsafe.Pointer(((*struct { 15607 Fext_data uintptr 15608 Fprivate1 uintptr 15609 Ffd int32 15610 Fprivate2 int32 15611 Fproto_major_version int32 15612 Fproto_minor_version int32 15613 Fvendor uintptr 15614 Fprivate3 XID 15615 Fprivate4 XID 15616 Fprivate5 XID 15617 Fprivate6 int32 15618 Fresource_alloc uintptr 15619 Fbyte_order int32 15620 Fbitmap_unit int32 15621 Fbitmap_pad int32 15622 Fbitmap_bit_order int32 15623 Fnformats int32 15624 Fpixmap_format uintptr 15625 Fprivate8 int32 15626 Frelease int32 15627 Fprivate9 uintptr 15628 Fprivate10 uintptr 15629 Fqlen int32 15630 Flast_request_read uint32 15631 Frequest uint32 15632 Fprivate11 XPointer 15633 Fprivate12 XPointer 15634 Fprivate13 XPointer 15635 Fprivate14 XPointer 15636 Fmax_request_size uint32 15637 Fdb uintptr 15638 Fprivate15 uintptr 15639 Fdisplay_name uintptr 15640 Fdefault_screen int32 15641 Fnscreens int32 15642 Fscreens uintptr 15643 Fmotion_buffer uint32 15644 Fprivate16 uint32 15645 Fmin_keycode int32 15646 Fmax_keycode int32 15647 Fprivate17 XPointer 15648 Fprivate18 XPointer 15649 Fprivate19 int32 15650 Fxdefaults uintptr 15651 })(unsafe.Pointer((dpy))).Fscreens + uintptr(s)*80))).Froot, uint32(1), uint32(1), uint32(d)) 15652 x11.XXFreePixmap(tls, dpy, p) 15653 } 15654 } 15655 x11.XXSync(tls, dpy, False) 15656 x11.XXSetErrorHandler(tls, previousHandler) 15657 // Unhook from the list of depth check records 15658 if x11.X_XLockMutex_fn != 0 { 15659 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15660 } 15661 for dp = uintptr(unsafe.Pointer(&depthChecks)); *(*uintptr)(unsafe.Pointer(dp)) != 0; dp = (*(*uintptr)(unsafe.Pointer(dp)) /* &.next */) { 15662 if *(*uintptr)(unsafe.Pointer(dp)) == bp /* &dc */ { 15663 *(*uintptr)(unsafe.Pointer(dp)) = (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext 15664 break 15665 } 15666 } 15667 if x11.X_XUnlockMutex_fn != 0 { 15668 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15669 } 15670 if (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing != 0 { 15671 return False 15672 } 15673 } 15674 } 15675 return True 15676 } 15677 15678 // XRenderExtAddDisplay - add a display to this extension. (Replaces 15679 // XextAddDisplay) 15680 func sXRenderExtAddDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr, ext_name uintptr) uintptr { /* Xrender.c:190:30: */ 15681 var dpyinfo uintptr 15682 15683 dpyinfo = libc.Xmalloc(tls, func() uint32 { 15684 if (uint32(unsafe.Sizeof(XRenderExtDisplayInfo{}))) == uint32(0) { 15685 return uint32(1) 15686 } 15687 return uint32(unsafe.Sizeof(XRenderExtDisplayInfo{})) 15688 }()) 15689 if !(dpyinfo != 0) { 15690 return uintptr(0) 15691 } 15692 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay = dpy 15693 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Finfo = uintptr(0) 15694 15695 if sXRenderHasDepths(tls, dpy) != 0 { 15696 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = x11.XXInitExtension(tls, dpy, ext_name) 15697 } else { 15698 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = uintptr(0) 15699 } 15700 15701 // if the server has the extension, then we can initialize the 15702 // appropriate function vectors 15703 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes != 0 { 15704 x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes)).Fextension, 15705 *(*uintptr)(unsafe.Pointer(&struct { 15706 f func(*libc.TLS, uintptr, uintptr) int32 15707 }{sXRenderCloseDisplay}))) 15708 } else { 15709 // The server doesn't have this extension. 15710 // Use a private Xlib-internal extension to hang the close_display 15711 // hook on so that the "cache" (extinfo->cur) is properly cleaned. 15712 // (XBUG 7955) 15713 var codes uintptr = x11.XXAddExtension(tls, dpy) 15714 if !(codes != 0) { 15715 x11.XXFree(tls, dpyinfo) 15716 return uintptr(0) 15717 } 15718 x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer(codes)).Fextension, *(*uintptr)(unsafe.Pointer(&struct { 15719 f func(*libc.TLS, uintptr, uintptr) int32 15720 }{sXRenderCloseDisplay}))) 15721 } 15722 15723 // now, chain it onto the list 15724 if x11.X_XLockMutex_fn != 0 { 15725 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15726 } 15727 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead 15728 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = dpyinfo 15729 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo 15730 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays++ 15731 if x11.X_XUnlockMutex_fn != 0 { 15732 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15733 } 15734 return dpyinfo 15735 } 15736 15737 // XRenderExtRemoveDisplay - remove the indicated display from the 15738 // extension object. (Replaces XextRemoveDisplay.) 15739 func sXRenderExtRemoveDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) int32 { /* Xrender.c:246:1: */ 15740 var dpyinfo uintptr 15741 var prev uintptr 15742 15743 // locate this display and its back link so that it can be removed 15744 if x11.X_XLockMutex_fn != 0 { 15745 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15746 } 15747 prev = uintptr(0) 15748 for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext { 15749 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy { 15750 break 15751 } 15752 prev = dpyinfo 15753 } 15754 if !(dpyinfo != 0) { 15755 if x11.X_XUnlockMutex_fn != 0 { 15756 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15757 } 15758 return 0 // hmm, actually an error 15759 } 15760 15761 // remove the display from the list; handles going to zero 15762 if prev != 0 { 15763 (*XRenderExtDisplayInfo)(unsafe.Pointer(prev)).Fnext = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext 15764 } else { 15765 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext 15766 } 15767 15768 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays-- 15769 if dpyinfo == (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur { 15770 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = uintptr(0) 15771 } // flush cache 15772 if x11.X_XUnlockMutex_fn != 0 { 15773 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15774 } 15775 15776 libc.Xfree(tls, dpyinfo) 15777 return 1 15778 } 15779 15780 func XXRenderFindDisplay(tls *libc.TLS, dpy uintptr) uintptr { /* Xrender.c:282:23: */ 15781 var dpyinfo uintptr 15782 15783 dpyinfo = sXRenderExtFindDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy) 15784 if !(dpyinfo != 0) { 15785 dpyinfo = sXRenderExtAddDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy, 15786 uintptr(unsafe.Pointer(&XXRenderExtensionName))) 15787 } 15788 return dpyinfo 15789 } 15790 15791 func sXRenderCloseDisplay(tls *libc.TLS, dpy uintptr, codes uintptr) int32 { /* Xrender.c:295:1: */ 15792 var info uintptr = XXRenderFindDisplay(tls, dpy) 15793 if (info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0) { 15794 x11.XXFree(tls, (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo) 15795 } 15796 15797 return sXRenderExtRemoveDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy) 15798 } 15799 15800 // *************************************************************************** 15801 // 15802 // * 15803 // Render public interfaces * 15804 // * 15805 // 15806 15807 func XXRenderQueryExtension(tls *libc.TLS, dpy uintptr, event_basep uintptr, error_basep uintptr) int32 { /* Xrender.c:309:6: */ 15808 var info uintptr = XXRenderFindDisplay(tls, dpy) 15809 15810 if (info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 15811 *(*int32)(unsafe.Pointer(event_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_event 15812 *(*int32)(unsafe.Pointer(error_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_error 15813 return True 15814 } else { 15815 return False 15816 } 15817 return int32(0) 15818 } 15819 15820 func XXRenderQueryVersion(tls *libc.TLS, dpy uintptr, major_versionp uintptr, minor_versionp uintptr) int32 { /* Xrender.c:323:8: */ 15821 var info uintptr = XXRenderFindDisplay(tls, dpy) 15822 var xri uintptr 15823 15824 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 15825 return 0 15826 } 15827 15828 if !(XXRenderQueryFormats(tls, dpy) != 0) { 15829 return 0 15830 } 15831 15832 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 15833 *(*int32)(unsafe.Pointer(major_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version 15834 *(*int32)(unsafe.Pointer(minor_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version 15835 return 1 15836 } 15837 15838 func _XRenderFindFormat(tls *libc.TLS, xri uintptr, format PictFormat) uintptr { /* Xrender.c:342:26: */ 15839 var nf int32 15840 15841 for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ { 15842 if (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fid == format { 15843 return ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32) 15844 } 15845 } 15846 return uintptr(0) 15847 } 15848 15849 func _XRenderFindVisual(tls *libc.TLS, dpy uintptr, vid VisualID) uintptr { /* Xrender.c:353:15: */ 15850 return x11.X_XVIDtoVisual(tls, dpy, vid) 15851 } 15852 15853 type X_renderVersionState = struct { 15854 Fversion_seq uint32 15855 Ferror int32 15856 Fmajor_version int32 15857 Fminor_version int32 15858 } /* Xrender.c:359:9 */ 15859 15860 type X_XrenderVersionState = X_renderVersionState /* Xrender.c:365:3 */ 15861 15862 func _XRenderVersionHandler(tls *libc.TLS, dpy uintptr, rep uintptr, buf uintptr, len int32, data XPointer) int32 { /* Xrender.c:368:1: */ 15863 bp := tls.Alloc(32) 15864 defer tls.Free(32) 15865 15866 // var replbuf XRenderQueryVersionReply at bp, 32 15867 15868 var repl uintptr 15869 var state uintptr = data 15870 15871 if (*Display)(unsafe.Pointer(dpy)).Flast_request_read != (*X_XrenderVersionState)(unsafe.Pointer(state)).Fversion_seq { 15872 return False 15873 } 15874 if int32((*XGenericReply)(unsafe.Pointer(rep)).Ftype) == X_Error { 15875 (*X_XrenderVersionState)(unsafe.Pointer(state)).Ferror = True 15876 return False 15877 } 15878 repl = x11.X_XGetAsyncReply(tls, dpy, bp /* &replbuf */, rep, buf, len, 15879 (int32((Sz_xRenderQueryVersionReply - Sz_xReply)) >> 2), 15880 True) 15881 (*X_XrenderVersionState)(unsafe.Pointer(state)).Fmajor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FmajorVersion) 15882 (*X_XrenderVersionState)(unsafe.Pointer(state)).Fminor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FminorVersion) 15883 return True 15884 } 15885 15886 func XXRenderQueryFormats(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:395:1: */ 15887 bp := tls.Alloc(60) 15888 defer tls.Free(60) 15889 15890 var info uintptr = XXRenderFindDisplay(tls, dpy) 15891 // var async X_XAsyncHandler at bp+16, 12 15892 15893 // var async_state X_XrenderVersionState at bp, 16 15894 15895 var vreq uintptr 15896 // var rep XRenderQueryPictFormatsReply at bp+28, 32 15897 15898 var req uintptr 15899 var xri uintptr 15900 var format uintptr 15901 var screen uintptr 15902 var depth uintptr 15903 var visual uintptr 15904 var xFormat uintptr 15905 var xScreen uintptr 15906 var xDepth uintptr 15907 var xVisual uintptr 15908 var xSubpixel uintptr 15909 var xData uintptr 15910 var nf int32 15911 var ns int32 15912 var nd int32 15913 var nv int32 15914 var rlength uint32 15915 var nbytes uint32 15916 15917 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 15918 return 0 15919 } 15920 15921 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15922 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 15923 } 15924 if (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 { 15925 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15926 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 15927 } 15928 return 1 15929 } 15930 vreq = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryVersion), uint32(Sz_xRenderQueryVersionReq)) 15931 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 15932 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FrenderReqType = CARD8(X_RenderQueryVersion) 15933 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FmajorVersion = CARD32(RENDER_MAJOR) 15934 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FminorVersion = CARD32(RENDER_MINOR) 15935 15936 (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fversion_seq = (*Display)(unsafe.Pointer(dpy)).Frequest 15937 (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror = False 15938 (*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fnext = (*Display)(unsafe.Pointer(dpy)).Fasync_handlers 15939 (*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fhandler = *(*uintptr)(unsafe.Pointer(&struct { 15940 f func(*libc.TLS, uintptr, uintptr, uintptr, int32, XPointer) int32 15941 }{_XRenderVersionHandler})) 15942 (*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fdata = bp /* &async_state */ 15943 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = bp + 16 /* &async */ 15944 15945 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictFormats), uint32(Sz_xRenderQueryPictFormatsReq)) 15946 (*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 15947 (*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictFormats) 15948 15949 if !(x11.X_XReply(tls, dpy, bp+28 /* &rep */, 0, XFalse) != 0) { 15950 { 15951 if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == (bp + 16 /* &async */) { 15952 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fnext 15953 } else { 15954 x11.X_XDeqAsyncHandler(tls, dpy, bp+16 /* &async */) 15955 } 15956 } 15957 15958 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15959 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 15960 } 15961 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 15962 (*struct { 15963 f func(*libc.TLS, uintptr) int32 15964 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 15965 } 15966 return 0 15967 } 15968 { 15969 if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == (bp + 16 /* &async */) { 15970 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 16 /* &async */)).Fnext 15971 } else { 15972 x11.X_XDeqAsyncHandler(tls, dpy, bp+16 /* &async */) 15973 } 15974 } 15975 15976 if (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror != 0 { 15977 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15978 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 15979 } 15980 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 15981 (*struct { 15982 f func(*libc.TLS, uintptr) int32 15983 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 15984 } 15985 return 0 15986 } 15987 // Check for the lack of sub-pixel data 15988 if ((*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version == 0) && ((*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version < 6) { 15989 (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumSubpixel = CARD32(0) 15990 } 15991 15992 if ((((((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(XRenderPictFormat{})))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumScreens < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(XRenderScreen{}))))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(XRenderDepth{}))))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumVisuals < ((uint32(0x7fffffff / 4)) / uint32(unsafe.Sizeof(XRenderVisual{}))))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumSubpixel < (CARD32((0x7fffffff / 4) / 4)))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) { 15993 xri = libc.Xmalloc(tls, func() uint32 { 15994 if ((((CARD32(unsafe.Sizeof(XRenderInfo{})) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats * CARD32(unsafe.Sizeof(XRenderPictFormat{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumScreens * CARD32(unsafe.Sizeof(XRenderScreen{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths * CARD32(unsafe.Sizeof(XRenderDepth{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumVisuals * CARD32(unsafe.Sizeof(XRenderVisual{})))) == CARD32(0) { 15995 return uint32(1) 15996 } 15997 return (uint32((((CARD32(unsafe.Sizeof(XRenderInfo{})) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats * CARD32(unsafe.Sizeof(XRenderPictFormat{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumScreens * CARD32(unsafe.Sizeof(XRenderScreen{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths * CARD32(unsafe.Sizeof(XRenderDepth{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumVisuals * CARD32(unsafe.Sizeof(XRenderVisual{}))))) 15998 }()) 15999 rlength = ((((((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats * CARD32(unsafe.Sizeof(XPictFormInfo{}))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumScreens * CARD32(unsafe.Sizeof(XPictScreen{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths * CARD32(unsafe.Sizeof(XPictDepth{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumVisuals * CARD32(unsafe.Sizeof(XPictVisual{})))) + ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumSubpixel * CARD32(4))) 16000 xData = libc.Xmalloc(tls, func() uint32 { 16001 if (rlength) == uint32(0) { 16002 return uint32(1) 16003 } 16004 return uint32(rlength) 16005 }()) 16006 nbytes = ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength << 2) 16007 } else { 16008 xri = uintptr(0) 16009 xData = uintptr(0) 16010 rlength = libc.AssignUint32(&nbytes, uint32(0)) 16011 } 16012 16013 if (!(xri != 0) || !(xData != 0)) || (nbytes < rlength) { 16014 if xri != 0 { 16015 libc.Xfree(tls, xri) 16016 } 16017 if xData != 0 { 16018 libc.Xfree(tls, xData) 16019 } 16020 x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength) 16021 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16022 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16023 } 16024 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16025 (*struct { 16026 f func(*libc.TLS, uintptr) int32 16027 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16028 } 16029 return 0 16030 } 16031 (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version 16032 (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version 16033 (*XRenderInfo)(unsafe.Pointer(xri)).Fformat = (xri + uintptr(1)*64) 16034 (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumFormats) 16035 (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen = ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats)*32) 16036 (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumScreens) 16037 (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth = ((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumScreens)*16) 16038 (*XRenderInfo)(unsafe.Pointer(xri)).Fndepth = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumDepths) 16039 (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual = ((*XRenderInfo)(unsafe.Pointer(xri)).Fdepth + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths)*12) 16040 (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28 /* &rep */)).FnumVisuals) 16041 x11.X_XRead(tls, dpy, xData, int32(rlength)) 16042 format = (*XRenderInfo)(unsafe.Pointer(xri)).Fformat 16043 xFormat = xData 16044 for nf = 0; CARD32(nf) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumFormats; nf++ { 16045 (*XRenderPictFormat)(unsafe.Pointer(format)).Fid = (*XPictFormInfo)(unsafe.Pointer(xFormat)).Fid 16046 (*XRenderPictFormat)(unsafe.Pointer(format)).Ftype = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Ftype) 16047 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdepth = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdepth) 16048 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fred = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fred) 16049 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FredMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FredMask) 16050 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fgreen = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fgreen) 16051 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FgreenMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FgreenMask) 16052 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fblue = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fblue) 16053 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FblueMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FblueMask) 16054 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Falpha = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Falpha) 16055 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FalphaMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FalphaMask) 16056 (*XRenderPictFormat)(unsafe.Pointer(format)).Fcolormap = (*XPictFormInfo)(unsafe.Pointer(xFormat)).Fcolormap 16057 format += 32 16058 xFormat += 28 16059 } 16060 xScreen = xFormat 16061 screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen 16062 depth = (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth 16063 visual = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual 16064 for ns = 0; ns < (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen; ns++ { 16065 (*XRenderScreen)(unsafe.Pointer(screen)).Fdepths = depth 16066 (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths = int32((*XPictScreen)(unsafe.Pointer(xScreen)).FnDepth) 16067 (*XRenderScreen)(unsafe.Pointer(screen)).Ffallback = _XRenderFindFormat(tls, xri, (*XPictScreen)(unsafe.Pointer(xScreen)).Ffallback) 16068 (*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = SubPixelUnknown 16069 xDepth = (xScreen + uintptr(1)*8) 16070 if CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumDepths { 16071 libc.Xfree(tls, xri) 16072 libc.Xfree(tls, xData) 16073 x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength) 16074 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16075 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16076 } 16077 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16078 (*struct { 16079 f func(*libc.TLS, uintptr) int32 16080 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16081 } 16082 return 0 16083 } 16084 *(*CARD32)(unsafe.Pointer(bp + 28 /* &rep */ + 16 /* &.numDepths */)) -= (CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths)) 16085 for nd = 0; nd < (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths; nd++ { 16086 (*XRenderDepth)(unsafe.Pointer(depth)).Fdepth = int32((*XPictDepth)(unsafe.Pointer(xDepth)).Fdepth) 16087 (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals = int32((*XPictDepth)(unsafe.Pointer(xDepth)).FnPictVisuals) 16088 (*XRenderDepth)(unsafe.Pointer(depth)).Fvisuals = visual 16089 xVisual = (xDepth + uintptr(1)*8) 16090 if CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumVisuals { 16091 libc.Xfree(tls, xri) 16092 libc.Xfree(tls, xData) 16093 x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).Flength) 16094 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16095 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16096 } 16097 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16098 (*struct { 16099 f func(*libc.TLS, uintptr) int32 16100 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16101 } 16102 return 0 16103 } 16104 *(*CARD32)(unsafe.Pointer(bp + 28 /* &rep */ + 20 /* &.numVisuals */)) -= (CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals)) 16105 for nv = 0; nv < (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals; nv++ { 16106 (*XRenderVisual)(unsafe.Pointer(visual)).Fvisual = _XRenderFindVisual(tls, dpy, (*XPictVisual)(unsafe.Pointer(xVisual)).Fvisual) 16107 (*XRenderVisual)(unsafe.Pointer(visual)).Fformat = _XRenderFindFormat(tls, xri, (*XPictVisual)(unsafe.Pointer(xVisual)).Fformat) 16108 visual += 8 16109 xVisual += 8 16110 } 16111 depth += 12 16112 xDepth = xVisual 16113 } 16114 screen += 16 16115 xScreen = xDepth 16116 } 16117 xSubpixel = xScreen 16118 screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen 16119 for ns = 0; CARD32(ns) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+28 /* &rep */)).FnumSubpixel; ns++ { 16120 (*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = int32(*(*CARD32)(unsafe.Pointer(xSubpixel))) 16121 xSubpixel += 4 16122 screen += 16 16123 } 16124 (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo = xri 16125 // Skip any extra data 16126 if nbytes > rlength { 16127 x11.X_XEatData(tls, dpy, (nbytes - rlength)) 16128 } 16129 16130 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16131 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16132 } 16133 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16134 (*struct { 16135 f func(*libc.TLS, uintptr) int32 16136 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16137 } 16138 libc.Xfree(tls, xData) 16139 return 1 16140 } 16141 16142 func XXRenderQuerySubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32) int32 { /* Xrender.c:595:1: */ 16143 var info uintptr = XXRenderFindDisplay(tls, dpy) 16144 var xri uintptr 16145 16146 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 16147 return SubPixelUnknown 16148 } 16149 16150 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16151 return SubPixelUnknown 16152 } 16153 16154 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16155 return (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*16)).Fsubpixel 16156 } 16157 16158 func XXRenderSetSubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32, subpixel int32) int32 { /* Xrender.c:611:1: */ 16159 var info uintptr = XXRenderFindDisplay(tls, dpy) 16160 var xri uintptr 16161 16162 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 16163 return False 16164 } 16165 16166 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16167 return False 16168 } 16169 16170 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16171 (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*16)).Fsubpixel = subpixel 16172 return True 16173 } 16174 16175 func XXRenderFindVisualFormat(tls *libc.TLS, dpy uintptr, visual uintptr) uintptr { /* Xrender.c:627:19: */ 16176 var info uintptr = XXRenderFindDisplay(tls, dpy) 16177 var nv int32 16178 var xri uintptr 16179 var xrv uintptr 16180 16181 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 16182 return uintptr(0) 16183 } 16184 16185 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16186 return uintptr(0) 16187 } 16188 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16189 nv = 0 16190 xrv = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual 16191 __1: 16192 if !(nv < (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual) { 16193 goto __3 16194 } 16195 if (*XRenderVisual)(unsafe.Pointer(xrv)).Fvisual == visual { 16196 return (*XRenderVisual)(unsafe.Pointer(xrv)).Fformat 16197 } 16198 goto __2 16199 __2: 16200 nv++ 16201 xrv += 8 16202 goto __1 16203 goto __3 16204 __3: 16205 ; 16206 return uintptr(0) 16207 } 16208 16209 func XXRenderFindFormat(tls *libc.TLS, dpy uintptr, mask uint32, template uintptr, count int32) uintptr { /* Xrender.c:645:19: */ 16210 var info uintptr = XXRenderFindDisplay(tls, dpy) 16211 var nf int32 16212 var xri uintptr 16213 16214 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 16215 return uintptr(0) 16216 } 16217 16218 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16219 return uintptr(0) 16220 } 16221 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16222 for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ { 16223 if (mask & (uint32(int32(1) << 0))) != 0 { 16224 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fid != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fid { 16225 continue 16226 } 16227 } 16228 if (mask & (uint32(int32(1) << 1))) != 0 { 16229 if (*XRenderPictFormat)(unsafe.Pointer(template)).Ftype != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Ftype { 16230 continue 16231 } 16232 } 16233 if (mask & (uint32(int32(1) << 2))) != 0 { 16234 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fdepth != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdepth { 16235 continue 16236 } 16237 } 16238 if (mask & (uint32(int32(1) << 3))) != 0 { 16239 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fred) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Fred) { 16240 continue 16241 } 16242 } 16243 if (mask & (uint32(int32(1) << 4))) != 0 { 16244 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FredMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FredMask) { 16245 continue 16246 } 16247 } 16248 if (mask & (uint32(int32(1) << 5))) != 0 { 16249 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fgreen) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Fgreen) { 16250 continue 16251 } 16252 } 16253 if (mask & (uint32(int32(1) << 6))) != 0 { 16254 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FgreenMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FgreenMask) { 16255 continue 16256 } 16257 } 16258 if (mask & (uint32(int32(1) << 7))) != 0 { 16259 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fblue) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Fblue) { 16260 continue 16261 } 16262 } 16263 if (mask & (uint32(int32(1) << 8))) != 0 { 16264 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FblueMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FblueMask) { 16265 continue 16266 } 16267 } 16268 if (mask & (uint32(int32(1) << 9))) != 0 { 16269 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Falpha) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.Falpha) { 16270 continue 16271 } 16272 } 16273 if (mask & (uint32(int32(1) << 10))) != 0 { 16274 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FalphaMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fdirect.FalphaMask) { 16275 continue 16276 } 16277 } 16278 if (mask & (uint32(int32(1) << 11))) != 0 { 16279 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fcolormap != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*32)).Fcolormap { 16280 continue 16281 } 16282 } 16283 if libc.PostDecInt32(&count, 1) == 0 { 16284 return ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32) 16285 } 16286 } 16287 return uintptr(0) 16288 } 16289 16290 func XXRenderFindStandardFormat(tls *libc.TLS, dpy uintptr, format int32) uintptr { /* Xrender.c:703:19: */ 16291 16292 if (0 <= format) && (format < PictStandardNUM) { 16293 return XXRenderFindFormat(tls, dpy, 16294 standardFormats[format].Fmask, 16295 (uintptr(unsafe.Pointer(&standardFormats)) + uintptr(format)*36 /* &.templ */), 16296 0) 16297 } 16298 return uintptr(0) 16299 } 16300 16301 var standardFormats = [5]struct { 16302 Ftempl XRenderPictFormat 16303 Fmask uint32 16304 }{{ 16305 // PictStandardARGB32 16306 Ftempl: XRenderPictFormat{ // id 16307 Ftype: PictTypeDirect, // type 16308 Fdepth: 32, // depth 16309 Fdirect: XRenderDirectFormat{ // direct 16310 Fred: int16(16), // direct.red 16311 FredMask: int16(0xff), // direct.redMask 16312 Fgreen: int16(8), // direct.green 16313 FgreenMask: int16(0xff), // direct.blue 16314 FblueMask: int16(0xff), // direct.blueMask 16315 Falpha: int16(24), // direct.alpha 16316 FalphaMask: int16(0xff), // direct.alphaMask 16317 }, // colormap 16318 }, 16319 Fmask: (uint32((((((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 3)) | (int32(1) << 4)) | (int32(1) << 5)) | (int32(1) << 6)) | (int32(1) << 7)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))), 16320 }, 16321 // PictStandardRGB24 16322 { 16323 Ftempl: XRenderPictFormat{ // id 16324 Ftype: PictTypeDirect, // type 16325 Fdepth: 24, // depth 16326 Fdirect: XRenderDirectFormat{ // direct 16327 Fred: int16(16), // direct.red 16328 FredMask: int16(0xff), // direct.redMask 16329 Fgreen: int16(8), // direct.green 16330 FgreenMask: int16(0xff), // direct.blue 16331 FblueMask: int16(0xff), // direct.alphaMask 16332 }, // colormap 16333 }, 16334 Fmask: (uint32(((((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 3)) | (int32(1) << 4)) | (int32(1) << 5)) | (int32(1) << 6)) | (int32(1) << 7)) | (int32(1) << 8)) | (int32(1) << 10))), 16335 }, 16336 // PictStandardA8 16337 { 16338 Ftempl: XRenderPictFormat{ // id 16339 Ftype: PictTypeDirect, // type 16340 Fdepth: 8, // depth 16341 Fdirect: XRenderDirectFormat{ // direct.alpha 16342 FalphaMask: int16(0xff), // direct.alphaMask 16343 }, // colormap 16344 }, 16345 Fmask: (uint32(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))), 16346 }, 16347 // PictStandardA4 16348 { 16349 Ftempl: XRenderPictFormat{ // id 16350 Ftype: PictTypeDirect, // type 16351 Fdepth: 4, // depth 16352 Fdirect: XRenderDirectFormat{ // direct.alpha 16353 FalphaMask: int16(0x0f), // direct.alphaMask 16354 }, // colormap 16355 }, 16356 Fmask: (uint32(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))), 16357 }, 16358 // PictStandardA1 16359 { 16360 Ftempl: XRenderPictFormat{ // id 16361 Ftype: PictTypeDirect, // type 16362 Fdepth: 1, // depth 16363 Fdirect: XRenderDirectFormat{ // direct.alpha 16364 FalphaMask: int16(0x01), // direct.alphaMask 16365 }, // colormap 16366 }, 16367 Fmask: (uint32(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))), 16368 }, 16369 } /* Xrender.c:710:7 */ 16370 16371 func XXRenderQueryPictIndexValues(tls *libc.TLS, dpy uintptr, format uintptr, num uintptr) uintptr { /* Xrender.c:856:13: */ 16372 bp := tls.Alloc(44) 16373 defer tls.Free(44) 16374 16375 var info uintptr = XXRenderFindDisplay(tls, dpy) 16376 var req uintptr 16377 // var rep XRenderQueryPictIndexValuesReply at bp, 32 16378 16379 var values uintptr 16380 var nbytes uint32 16381 var nread uint32 16382 var rlength uint32 16383 var i uint32 16384 16385 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 16386 return uintptr(0) 16387 } 16388 16389 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16390 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 16391 } 16392 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictIndexValues), uint32(Sz_xRenderQueryPictIndexValuesReq)) 16393 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 16394 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictIndexValues) 16395 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).Fformat = (*XRenderPictFormat)(unsafe.Pointer(format)).Fid 16396 if !(x11.X_XReply(tls, dpy, bp /* &rep */, 0, XFalse) != 0) { 16397 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16398 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16399 } 16400 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16401 (*struct { 16402 f func(*libc.TLS, uintptr) int32 16403 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16404 } 16405 return uintptr(0) 16406 } 16407 16408 if ((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) && ((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues < (uint32(0x7fffffff) / uint32(unsafe.Sizeof(XIndexValue1{})))) { 16409 // request data length 16410 nbytes = (uint32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength << 2)) 16411 // bytes of actual data in the request 16412 nread = (uint32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues * CARD32(Sz_xIndexValue))) 16413 // size of array returned to application 16414 rlength = (uint32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues * CARD32(unsafe.Sizeof(XIndexValue1{})))) 16415 16416 // allocate returned data 16417 values = libc.Xmalloc(tls, func() uint32 { 16418 if (rlength) == uint32(0) { 16419 return uint32(1) 16420 } 16421 return rlength 16422 }()) 16423 } else { 16424 nbytes = libc.AssignUint32(&nread, libc.AssignUint32(&rlength, uint32(0))) 16425 values = uintptr(0) 16426 } 16427 16428 if !(values != 0) { 16429 x11.X_XEatDataWords(tls, dpy, (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength) 16430 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16431 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16432 } 16433 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16434 (*struct { 16435 f func(*libc.TLS, uintptr) int32 16436 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16437 } 16438 return uintptr(0) 16439 } 16440 16441 // read the values one at a time and convert 16442 *(*int32)(unsafe.Pointer(num)) = int32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues) 16443 for i = uint32(0); CARD32(i) < (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues; i++ { 16444 // var value XIndexValue at bp+32, 12 16445 16446 x11.X_XRead(tls, dpy, bp+32 /* &value */, Sz_xIndexValue) 16447 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fpixel = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fpixel 16448 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fred = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fred 16449 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fgreen = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fgreen 16450 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Fblue = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fblue 16451 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*12)).Falpha = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Falpha 16452 } 16453 // skip any padding 16454 if nbytes > nread { 16455 x11.X_XEatData(tls, dpy, (uint32(nbytes - nread))) 16456 } 16457 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16458 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16459 } 16460 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16461 (*struct { 16462 f func(*libc.TLS, uintptr) int32 16463 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16464 } 16465 return values 16466 } 16467 16468 var ts1 = "rgba:\x00RENDER\x00" 16469 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data