modernc.org/xrender@v1.0.9/lib/xrender_linux_amd64.go (about) 1 // Code generated by 'ccgo -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -lmodernc.org/x11/lib -o lib/xrender_linux_amd64.go -pkgname xrender -trace-translation-units /tmp/go-generate-2647540015/cdb.json libXrender.a', DO NOT EDIT. 2 3 package xrender 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 11 "modernc.org/libc" 12 "modernc.org/libc/sys/types" 13 "modernc.org/x11/lib" 14 ) 15 16 var _ = math.Pi 17 var _ reflect.Kind 18 var _ atomic.Value 19 var _ unsafe.Pointer 20 var _ types.Size_t 21 22 const ( 23 Above = 0 24 AllHints = 127 25 AllTemporary = 0 26 AllValues = 0x000F 27 AllocAll = 1 28 AllocNone = 0 29 AllowExposures = 1 30 AlreadyGrabbed = 1 31 Always = 2 32 AnyButton = 0 33 AnyKey = 0 34 AnyModifier = 32768 35 AnyPropertyType = 0 36 ArcChord = 0 37 ArcPieSlice = 1 38 AsyncBoth = 6 39 AsyncKeyboard = 3 40 AsyncPointer = 0 41 AutoRepeatModeDefault = 2 42 AutoRepeatModeOff = 0 43 AutoRepeatModeOn = 1 44 B16 = 0 45 B32 = 0 46 BIG_ENDIAN = 4321 47 BUFSIZE = 2048 48 BYTE_ORDER = 1234 49 BadAccess = 10 50 BadAlloc = 11 51 BadAtom = 5 52 BadColor = 12 53 BadCursor = 6 54 BadDrawable = 9 55 BadFont = 7 56 BadGC = 13 57 BadGlyph = 4 58 BadGlyphSet = 3 59 BadIDChoice = 14 60 BadImplementation = 17 61 BadLength = 16 62 BadMatch = 8 63 BadName = 15 64 BadPictFormat = 0 65 BadPictOp = 2 66 BadPicture = 1 67 BadPixmap = 4 68 BadRequest = 1 69 BadValue = 2 70 BadWindow = 3 71 Below = 1 72 BitmapFileInvalid = 2 73 BitmapNoMemory = 3 74 BitmapOpenFailed = 1 75 BitmapSuccess = 0 76 BottomIf = 3 77 Button1 = 1 78 Button1Mask = 256 79 Button1MotionMask = 256 80 Button2 = 2 81 Button2Mask = 512 82 Button2MotionMask = 512 83 Button3 = 3 84 Button3Mask = 1024 85 Button3MotionMask = 1024 86 Button4 = 4 87 Button4Mask = 2048 88 Button4MotionMask = 2048 89 Button5 = 5 90 Button5Mask = 4096 91 Button5MotionMask = 4096 92 ButtonMotionMask = 8192 93 ButtonPress = 4 94 ButtonPressMask = 4 95 ButtonRelease = 5 96 ButtonReleaseMask = 8 97 CPAlphaMap = 2 98 CPAlphaXOrigin = 4 99 CPAlphaYOrigin = 8 100 CPClipMask = 64 101 CPClipXOrigin = 16 102 CPClipYOrigin = 32 103 CPComponentAlpha = 4096 104 CPDither = 2048 105 CPGraphicsExposure = 128 106 CPLastBit = 12 107 CPPolyEdge = 512 108 CPPolyMode = 1024 109 CPRepeat = 1 110 CPSubwindowMode = 256 111 CURSORFONT = "cursor" 112 CWBackPixel = 2 113 CWBackPixmap = 1 114 CWBackingPixel = 256 115 CWBackingPlanes = 128 116 CWBackingStore = 64 117 CWBitGravity = 16 118 CWBorderPixel = 8 119 CWBorderPixmap = 4 120 CWBorderWidth = 16 121 CWColormap = 8192 122 CWCursor = 16384 123 CWDontPropagate = 4096 124 CWEventMask = 2048 125 CWHeight = 8 126 CWOverrideRedirect = 512 127 CWSaveUnder = 1024 128 CWSibling = 32 129 CWStackMode = 64 130 CWWidth = 4 131 CWWinGravity = 32 132 CWX = 1 133 CWY = 2 134 CapButt = 1 135 CapNotLast = 0 136 CapProjecting = 3 137 CapRound = 2 138 CenterGravity = 5 139 CirculateNotify = 26 140 CirculateRequest = 27 141 ClientMessage = 33 142 ClipByChildren = 0 143 ColormapChangeMask = 8388608 144 ColormapInstalled = 1 145 ColormapNotify = 32 146 ColormapUninstalled = 0 147 Complex = 0 148 ConfigureNotify = 22 149 ConfigureRequest = 23 150 ControlMapIndex = 2 151 ControlMask = 4 152 Convex = 2 153 CoordModeOrigin = 0 154 CoordModePrevious = 1 155 CopyFromParent = 0 156 CreateNotify = 16 157 CurrentTime = 0 158 CursorShape = 0 159 DefaultBlanking = 2 160 DefaultExposures = 2 161 DestroyAll = 0 162 DestroyNotify = 17 163 DirectColor = 5 164 DisableAccess = 0 165 DisableScreenInterval = 0 166 DisableScreenSaver = 0 167 DoBlue = 4 168 DoGreen = 2 169 DoRed = 1 170 DontAllowExposures = 0 171 DontCareState = 0 172 DontPreferBlanking = 0 173 E2BIG = 7 174 EACCES = 13 175 EADDRINUSE = 98 176 EADDRNOTAVAIL = 99 177 EADV = 68 178 EAFNOSUPPORT = 97 179 EAGAIN = 11 180 EALREADY = 114 181 EBADE = 52 182 EBADF = 9 183 EBADFD = 77 184 EBADMSG = 74 185 EBADR = 53 186 EBADRQC = 56 187 EBADSLT = 57 188 EBFONT = 59 189 EBUSY = 16 190 ECANCELED = 125 191 ECHILD = 10 192 ECHRNG = 44 193 ECOMM = 70 194 ECONNABORTED = 103 195 ECONNREFUSED = 111 196 ECONNRESET = 104 197 EDEADLK = 35 198 EDEADLOCK = 35 199 EDESTADDRREQ = 89 200 EDOM = 33 201 EDOTDOT = 73 202 EDQUOT = 122 203 EEXIST = 17 204 EFAULT = 14 205 EFBIG = 27 206 EHOSTDOWN = 112 207 EHOSTUNREACH = 113 208 EHWPOISON = 133 209 EIDRM = 43 210 EILSEQ = 84 211 EINPROGRESS = 115 212 EINTR = 4 213 EINVAL = 22 214 EIO = 5 215 EISCONN = 106 216 EISDIR = 21 217 EISNAM = 120 218 EKEYEXPIRED = 127 219 EKEYREJECTED = 129 220 EKEYREVOKED = 128 221 EL2HLT = 51 222 EL2NSYNC = 45 223 EL3HLT = 46 224 EL3RST = 47 225 ELFlagFocus = 1 226 ELFlagSameScreen = 2 227 ELIBACC = 79 228 ELIBBAD = 80 229 ELIBEXEC = 83 230 ELIBMAX = 82 231 ELIBSCN = 81 232 ELNRNG = 48 233 ELOOP = 40 234 EMEDIUMTYPE = 124 235 EMFILE = 24 236 EMLINK = 31 237 EMSGSIZE = 90 238 EMULTIHOP = 72 239 ENAMETOOLONG = 36 240 ENAVAIL = 119 241 ENETDOWN = 100 242 ENETRESET = 102 243 ENETUNREACH = 101 244 ENFILE = 23 245 ENOANO = 55 246 ENOBUFS = 105 247 ENOCSI = 50 248 ENODATA = 61 249 ENODEV = 19 250 ENOENT = 2 251 ENOEXEC = 8 252 ENOKEY = 126 253 ENOLCK = 37 254 ENOLINK = 67 255 ENOMEDIUM = 123 256 ENOMEM = 12 257 ENOMSG = 42 258 ENONET = 64 259 ENOPKG = 65 260 ENOPROTOOPT = 92 261 ENOSPC = 28 262 ENOSR = 63 263 ENOSTR = 60 264 ENOSYS = 38 265 ENOTBLK = 15 266 ENOTCONN = 107 267 ENOTDIR = 20 268 ENOTEMPTY = 39 269 ENOTNAM = 118 270 ENOTRECOVERABLE = 131 271 ENOTSOCK = 88 272 ENOTSUP = 95 273 ENOTTY = 25 274 ENOTUNIQ = 76 275 ENXIO = 6 276 EOPNOTSUPP = 95 277 EOVERFLOW = 75 278 EOWNERDEAD = 130 279 EPERM = 1 280 EPFNOSUPPORT = 96 281 EPIPE = 32 282 EPROTO = 71 283 EPROTONOSUPPORT = 93 284 EPROTOTYPE = 91 285 ERANGE = 34 286 EREMCHG = 78 287 EREMOTE = 66 288 EREMOTEIO = 121 289 ERESTART = 85 290 ERFKILL = 132 291 EROFS = 30 292 ESHUTDOWN = 108 293 ESOCKTNOSUPPORT = 94 294 ESPIPE = 29 295 ESRCH = 3 296 ESRMNT = 69 297 ESTALE = 116 298 ESTRPIPE = 86 299 ETIME = 62 300 ETIMEDOUT = 110 301 ETOOMANYREFS = 109 302 ETXTBSY = 26 303 EUCLEAN = 117 304 EUNATCH = 49 305 EUSERS = 87 306 EWOULDBLOCK = 11 307 EXDEV = 18 308 EXFULL = 54 309 EXIT_FAILURE = 1 310 EXIT_SUCCESS = 0 311 EastGravity = 6 312 EnableAccess = 1 313 EnterNotify = 7 314 EnterWindowMask = 16 315 EvenOddRule = 0 316 Expose = 12 317 ExposureMask = 32768 318 FARCSPERBATCH = 256 319 FD_SETSIZE = 1024 320 FRCTSPERBATCH = 256 321 FUNCPROTO = 15 322 False = 0 323 FamilyChaos = 2 324 FamilyDECnet = 1 325 FamilyInternet = 0 326 FamilyInternet6 = 6 327 FamilyServerInterpreted = 5 328 FillOpaqueStippled = 3 329 FillSolid = 0 330 FillStippled = 2 331 FillTiled = 1 332 FilterAliasNone = -1 333 FilterBest = "best" 334 FilterBilinear = "bilinear" 335 FilterConvolution = "convolution" 336 FilterFast = "fast" 337 FilterGood = "good" 338 FilterNearest = "nearest" 339 FirstExtensionError = 128 340 FocusChangeMask = 2097152 341 FocusIn = 9 342 FocusOut = 10 343 FontChange = 255 344 FontLeftToRight = 0 345 FontRightToLeft = 1 346 ForgetGravity = 0 347 GCArcMode = 4194304 348 GCBackground = 8 349 GCCapStyle = 64 350 GCClipMask = 524288 351 GCClipXOrigin = 131072 352 GCClipYOrigin = 262144 353 GCDashList = 2097152 354 GCDashOffset = 1048576 355 GCFillRule = 512 356 GCFillStyle = 256 357 GCFont = 16384 358 GCForeground = 4 359 GCFunction = 1 360 GCGraphicsExposures = 65536 361 GCJoinStyle = 128 362 GCLastBit = 22 363 GCLineStyle = 32 364 GCLineWidth = 16 365 GCPlaneMask = 2 366 GCStipple = 2048 367 GCSubwindowMode = 32768 368 GCTile = 1024 369 GCTileStipXOrigin = 4096 370 GCTileStipYOrigin = 8192 371 GXand = 0x1 372 GXandInverted = 0x4 373 GXandReverse = 0x2 374 GXclear = 0x0 375 GXcopy = 0x3 376 GXcopyInverted = 0xc 377 GXequiv = 0x9 378 GXinvert = 0xa 379 GXnand = 0xe 380 GXnoop = 0x5 381 GXnor = 0x8 382 GXor = 0x7 383 GXorInverted = 0xd 384 GXorReverse = 0xb 385 GXset = 0xf 386 GXxor = 0x6 387 GenericEvent = 35 388 GrabFrozen = 4 389 GrabInvalidTime = 2 390 GrabModeAsync = 1 391 GrabModeSync = 0 392 GrabNotViewable = 3 393 GrabSuccess = 0 394 GraphicsExpose = 13 395 GravityNotify = 24 396 GrayScale = 1 397 HAVE_CONFIG_H = 1 398 HAVE_DLFCN_H = 1 399 HAVE_INTTYPES_H = 1 400 HAVE_MEMORY_H = 1 401 HAVE_STDINT_H = 1 402 HAVE_STDLIB_H = 1 403 HAVE_STRINGS_H = 1 404 HAVE_STRING_H = 1 405 HAVE_SYS_STAT_H = 1 406 HAVE_SYS_TYPES_H = 1 407 HAVE_UNISTD_H = 1 408 HeightValue = 0x0008 409 HostDelete = 1 410 HostInsert = 0 411 INT16_MAX = 32767 412 INT16_MIN = -32768 413 INT32_MAX = 2147483647 414 INT32_MIN = -2147483648 415 INT64_MAX = 9223372036854775807 416 INT64_MIN = -9223372036854775808 417 INT8_MAX = 127 418 INT8_MIN = -128 419 INTMAX_MAX = 9223372036854775807 420 INTMAX_MIN = -9223372036854775808 421 INTPTR_MAX = 9223372036854775807 422 INTPTR_MIN = -9223372036854775808 423 INT_FAST16_MAX = 9223372036854775807 424 INT_FAST16_MIN = -9223372036854775808 425 INT_FAST32_MAX = 9223372036854775807 426 INT_FAST32_MIN = -9223372036854775808 427 INT_FAST64_MAX = 9223372036854775807 428 INT_FAST64_MIN = -9223372036854775808 429 INT_FAST8_MAX = 127 430 INT_FAST8_MIN = -128 431 INT_LEAST16_MAX = 32767 432 INT_LEAST16_MIN = -32768 433 INT_LEAST32_MAX = 2147483647 434 INT_LEAST32_MIN = -2147483648 435 INT_LEAST64_MAX = 9223372036854775807 436 INT_LEAST64_MIN = -9223372036854775808 437 INT_LEAST8_MAX = 127 438 INT_LEAST8_MIN = -128 439 IconMaskHint = 32 440 IconPixmapHint = 4 441 IconPositionHint = 16 442 IconWindowHint = 8 443 IconicState = 3 444 InactiveState = 4 445 IncludeInferiors = 1 446 InputFocus = 1 447 InputHint = 1 448 InputOnly = 2 449 InputOutput = 1 450 IsUnmapped = 0 451 IsUnviewable = 1 452 IsViewable = 2 453 JoinBevel = 2 454 JoinMiter = 0 455 JoinRound = 1 456 KBAutoRepeatMode = 128 457 KBBellDuration = 8 458 KBBellPercent = 2 459 KBBellPitch = 4 460 KBKey = 64 461 KBKeyClickPercent = 1 462 KBLed = 16 463 KBLedMode = 32 464 KeyPress = 2 465 KeyPressMask = 1 466 KeyRelease = 3 467 KeyReleaseMask = 2 468 KeymapNotify = 11 469 KeymapStateMask = 16384 470 LASTEvent = 36 471 LITTLE_ENDIAN = 1234 472 LOCKED = 1 473 LONG64 = 0 474 LSBFirst = 0 475 LT_OBJDIR = ".libs/" 476 LastExtensionError = 255 477 LeaveNotify = 8 478 LeaveWindowMask = 32 479 LedModeOff = 0 480 LedModeOn = 1 481 LineDoubleDash = 2 482 LineOnOffDash = 1 483 LineSolid = 0 484 LockMapIndex = 1 485 LockMask = 2 486 LowerHighest = 1 487 MALLOC_0_RETURNS_NULL = 1 488 MSBFirst = 1 489 MapNotify = 19 490 MapRequest = 20 491 MappingBusy = 1 492 MappingFailed = 2 493 MappingKeyboard = 1 494 MappingModifier = 0 495 MappingNotify = 34 496 MappingPointer = 2 497 MappingSuccess = 0 498 Mod1MapIndex = 3 499 Mod1Mask = 8 500 Mod2MapIndex = 4 501 Mod2Mask = 16 502 Mod3MapIndex = 5 503 Mod3Mask = 32 504 Mod4MapIndex = 6 505 Mod4Mask = 64 506 Mod5MapIndex = 7 507 Mod5Mask = 128 508 MotionNotify = 6 509 NARROWPROTO = 0 510 NLOCAL = 256 511 NeedFunctionPrototypes = 1 512 NeedNestedPrototypes = 1 513 NeedVarargsPrototypes = 1 514 NeedWidePrototypes = 0 515 NoEventMask = 0 516 NoExpose = 14 517 NoSymbol = 0 518 NoValue = 0x0000 519 Nonconvex = 1 520 None = 0 521 NormalState = 1 522 NorthEastGravity = 3 523 NorthGravity = 2 524 NorthWestGravity = 1 525 NotUseful = 0 526 NotifyAncestor = 0 527 NotifyDetailNone = 7 528 NotifyGrab = 1 529 NotifyHint = 1 530 NotifyInferior = 2 531 NotifyNonlinear = 3 532 NotifyNonlinearVirtual = 4 533 NotifyNormal = 0 534 NotifyPointer = 5 535 NotifyPointerRoot = 6 536 NotifyUngrab = 2 537 NotifyVirtual = 1 538 NotifyWhileGrabbed = 3 539 Opposite = 4 540 OwnerGrabButtonMask = 16777216 541 PACKAGE = "libXrender" 542 PACKAGE_BUGREPORT = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" 543 PACKAGE_NAME = "libXrender" 544 PACKAGE_STRING = "libXrender 0.9.10" 545 PACKAGE_TARNAME = "libXrender" 546 PACKAGE_URL = "" 547 PACKAGE_VERSION = "0.9.10" 548 PACKAGE_VERSION_MAJOR = 0 549 PACKAGE_VERSION_MINOR = 9 550 PACKAGE_VERSION_PATCHLEVEL = 10 551 PAllHints = 252 552 PAspect = 128 553 PBaseSize = 256 554 PDP_ENDIAN = 3412 555 PMaxSize = 32 556 PMinSize = 16 557 PPosition = 4 558 PResizeInc = 64 559 PSize = 8 560 PTRDIFF_MAX = 9223372036854775807 561 PTRDIFF_MIN = -9223372036854775808 562 PTSPERBATCH = 1024 563 PWinGravity = 512 564 ParentRelative = 1 565 PictFormatAlpha = 512 566 PictFormatAlphaMask = 1024 567 PictFormatBlue = 128 568 PictFormatBlueMask = 256 569 PictFormatColormap = 2048 570 PictFormatDepth = 4 571 PictFormatGreen = 32 572 PictFormatGreenMask = 64 573 PictFormatID = 1 574 PictFormatRed = 8 575 PictFormatRedMask = 16 576 PictFormatType = 2 577 PictOpAdd = 12 578 PictOpAtop = 9 579 PictOpAtopReverse = 10 580 PictOpBlendMaximum = 0x3e 581 PictOpBlendMinimum = 0x30 582 PictOpClear = 0 583 PictOpColorBurn = 0x36 584 PictOpColorDodge = 0x35 585 PictOpConjointAtop = 0x29 586 PictOpConjointAtopReverse = 0x2a 587 PictOpConjointClear = 0x20 588 PictOpConjointDst = 0x22 589 PictOpConjointIn = 0x25 590 PictOpConjointInReverse = 0x26 591 PictOpConjointMaximum = 0x2b 592 PictOpConjointMinimum = 0x20 593 PictOpConjointOut = 0x27 594 PictOpConjointOutReverse = 0x28 595 PictOpConjointOver = 0x23 596 PictOpConjointOverReverse = 0x24 597 PictOpConjointSrc = 0x21 598 PictOpConjointXor = 0x2b 599 PictOpDarken = 0x33 600 PictOpDifference = 0x39 601 PictOpDisjointAtop = 0x19 602 PictOpDisjointAtopReverse = 0x1a 603 PictOpDisjointClear = 0x10 604 PictOpDisjointDst = 0x12 605 PictOpDisjointIn = 0x15 606 PictOpDisjointInReverse = 0x16 607 PictOpDisjointMaximum = 0x1b 608 PictOpDisjointMinimum = 0x10 609 PictOpDisjointOut = 0x17 610 PictOpDisjointOutReverse = 0x18 611 PictOpDisjointOver = 0x13 612 PictOpDisjointOverReverse = 0x14 613 PictOpDisjointSrc = 0x11 614 PictOpDisjointXor = 0x1b 615 PictOpDst = 2 616 PictOpExclusion = 0x3a 617 PictOpHSLColor = 0x3d 618 PictOpHSLHue = 0x3b 619 PictOpHSLLuminosity = 0x3e 620 PictOpHSLSaturation = 0x3c 621 PictOpHardLight = 0x37 622 PictOpIn = 5 623 PictOpInReverse = 6 624 PictOpLighten = 0x34 625 PictOpMaximum = 13 626 PictOpMinimum = 0 627 PictOpMultiply = 0x30 628 PictOpOut = 7 629 PictOpOutReverse = 8 630 PictOpOver = 3 631 PictOpOverReverse = 4 632 PictOpOverlay = 0x32 633 PictOpSaturate = 13 634 PictOpScreen = 0x31 635 PictOpSoftLight = 0x38 636 PictOpSrc = 1 637 PictOpXor = 11 638 PictStandardA1 = 4 639 PictStandardA4 = 3 640 PictStandardA8 = 2 641 PictStandardARGB32 = 0 642 PictStandardNUM = 5 643 PictStandardRGB24 = 1 644 PictTypeDirect = 1 645 PictTypeIndexed = 0 646 PlaceOnBottom = 1 647 PlaceOnTop = 0 648 PointerMotionHintMask = 128 649 PointerMotionMask = 64 650 PointerRoot = 1 651 PointerWindow = 0 652 PolyEdgeSharp = 0 653 PolyEdgeSmooth = 1 654 PolyModeImprecise = 1 655 PolyModePrecise = 0 656 PreferBlanking = 1 657 PropModeAppend = 2 658 PropModePrepend = 1 659 PropModeReplace = 0 660 PropertyChangeMask = 4194304 661 PropertyDelete = 1 662 PropertyNewValue = 0 663 PropertyNotify = 28 664 PseudoColor = 3 665 QueuedAfterFlush = 2 666 QueuedAfterReading = 1 667 QueuedAlready = 0 668 RAND_MAX = 2147483647 669 RENDER_MAJOR = 0 670 RENDER_MINOR = 11 671 RENDER_NAME = "RENDER" 672 RaiseLowest = 0 673 RectangleIn = 1 674 RectangleOut = 0 675 RectanglePart = 2 676 RenderNumberErrors = 5 677 RenderNumberRequests = 37 678 ReparentNotify = 21 679 RepeatNone = 0 680 RepeatNormal = 1 681 RepeatPad = 2 682 RepeatReflect = 3 683 ReplayKeyboard = 5 684 ReplayPointer = 2 685 ResizeRedirectMask = 262144 686 ResizeRequest = 25 687 RetainPermanent = 1 688 RetainTemporary = 2 689 RevertToParent = 2 690 SIG_ATOMIC_MAX = 2147483647 691 SIG_ATOMIC_MIN = -2147483648 692 SIZE_MAX = 18446744073709551615 693 STDC_HEADERS = 1 694 ScreenSaverActive = 1 695 ScreenSaverReset = 0 696 SelectionClear = 29 697 SelectionNotify = 31 698 SelectionRequest = 30 699 SetModeDelete = 1 700 SetModeInsert = 0 701 ShiftMapIndex = 0 702 ShiftMask = 1 703 SouthEastGravity = 9 704 SouthGravity = 8 705 SouthWestGravity = 7 706 StateHint = 2 707 StaticColor = 2 708 StaticGravity = 10 709 StaticGray = 0 710 StippleShape = 2 711 StructureNotifyMask = 131072 712 SubPixelHorizontalBGR = 2 713 SubPixelHorizontalRGB = 1 714 SubPixelNone = 5 715 SubPixelUnknown = 0 716 SubPixelVerticalBGR = 4 717 SubPixelVerticalRGB = 3 718 SubstructureNotifyMask = 524288 719 SubstructureRedirectMask = 1048576 720 Success = 0 721 SyncBoth = 7 722 SyncKeyboard = 4 723 SyncPointer = 1 724 TileShape = 1 725 TopIf = 2 726 True = 1 727 TrueColor = 4 728 UINT16_MAX = 65535 729 UINT32_MAX = 4294967295 730 UINT64_MAX = 18446744073709551615 731 UINT8_MAX = 255 732 UINTMAX_MAX = 18446744073709551615 733 UINTPTR_MAX = 18446744073709551615 734 UINT_FAST16_MAX = 18446744073709551615 735 UINT_FAST32_MAX = 18446744073709551615 736 UINT_FAST64_MAX = 18446744073709551615 737 UINT_FAST8_MAX = 255 738 UINT_LEAST16_MAX = 65535 739 UINT_LEAST32_MAX = 4294967295 740 UINT_LEAST64_MAX = 18446744073709551615 741 UINT_LEAST8_MAX = 255 742 UNLOCKED = 0 743 USPosition = 1 744 USSize = 2 745 UnmapGravity = 0 746 UnmapNotify = 18 747 Unsorted = 0 748 VERSION = "0.9.10" 749 VisibilityChangeMask = 65536 750 VisibilityFullyObscured = 2 751 VisibilityNotify = 15 752 VisibilityPartiallyObscured = 1 753 VisibilityUnobscured = 0 754 VisualAllMask = 0x1FF 755 VisualBitsPerRGBMask = 0x100 756 VisualBlueMaskMask = 0x40 757 VisualClassMask = 0x8 758 VisualColormapSizeMask = 0x80 759 VisualDepthMask = 0x4 760 VisualGreenMaskMask = 0x20 761 VisualIDMask = 0x1 762 VisualNoMask = 0x0 763 VisualRedMaskMask = 0x10 764 VisualScreenMask = 0x2 765 WCHAR_MAX = 2147483647 766 WCHAR_MIN = -2147483648 767 WCONTINUED = 8 768 WEXITED = 4 769 WINT_MAX = 4294967295 770 WINT_MIN = 0 771 WLNSPERBATCH = 50 772 WNOHANG = 1 773 WNOWAIT = 0x01000000 774 WORD64ALIGN = 0 775 WRCTSPERBATCH = 10 776 WSTOPPED = 2 777 WUNTRACED = 2 778 WestGravity = 4 779 WhenMapped = 1 780 WidthValue = 0x0004 781 WindingRule = 1 782 WindowGroupHint = 64 783 WithdrawnState = 0 784 XBufferOverflow = -1 785 XCNOENT = 2 786 XCNOMEM = 1 787 XCSUCCESS = 0 788 XConverterNotFound = -3 789 XIMHighlight = 4 790 XIMHotKeyStateOFF = 2 791 XIMHotKeyStateON = 1 792 XIMInitialState = 1 793 XIMPreeditArea = 0x0001 794 XIMPreeditCallbacks = 0x0002 795 XIMPreeditDisable = 2 796 XIMPreeditEnable = 1 797 XIMPreeditNone = 0x0010 798 XIMPreeditNothing = 0x0008 799 XIMPreeditPosition = 0x0004 800 XIMPreeditUnKnown = 0 801 XIMPreserveState = 2 802 XIMPrimary = 32 803 XIMReverse = 1 804 XIMSecondary = 64 805 XIMStatusArea = 0x0100 806 XIMStatusCallbacks = 0x0200 807 XIMStatusNone = 0x0800 808 XIMStatusNothing = 0x0400 809 XIMStringConversionBottomEdge = 8 810 XIMStringConversionBuffer = 1 811 XIMStringConversionChar = 4 812 XIMStringConversionConcealed = 16 813 XIMStringConversionLeftEdge = 1 814 XIMStringConversionLine = 2 815 XIMStringConversionRetrieval = 2 816 XIMStringConversionRightEdge = 2 817 XIMStringConversionSubstitution = 1 818 XIMStringConversionTopEdge = 4 819 XIMStringConversionWord = 3 820 XIMStringConversionWrapped = 32 821 XIMTertiary = 128 822 XIMUnderline = 2 823 XIMVisibleToBackword = 512 824 XIMVisibleToCenter = 1024 825 XIMVisibleToForward = 256 826 XK_0 = 0x0030 827 XK_1 = 0x0031 828 XK_2 = 0x0032 829 XK_3 = 0x0033 830 XK_4 = 0x0034 831 XK_5 = 0x0035 832 XK_6 = 0x0036 833 XK_7 = 0x0037 834 XK_8 = 0x0038 835 XK_9 = 0x0039 836 XK_A = 0x0041 837 XK_AE = 0x00c6 838 XK_ARABIC = 0 839 XK_ARMENIAN = 0 840 XK_Aacute = 0x00c1 841 XK_Abelowdot = 0x1001ea0 842 XK_Abreve = 0x01c3 843 XK_Abreveacute = 0x1001eae 844 XK_Abrevebelowdot = 0x1001eb6 845 XK_Abrevegrave = 0x1001eb0 846 XK_Abrevehook = 0x1001eb2 847 XK_Abrevetilde = 0x1001eb4 848 XK_AccessX_Enable = 0xfe70 849 XK_AccessX_Feedback_Enable = 0xfe71 850 XK_Acircumflex = 0x00c2 851 XK_Acircumflexacute = 0x1001ea4 852 XK_Acircumflexbelowdot = 0x1001eac 853 XK_Acircumflexgrave = 0x1001ea6 854 XK_Acircumflexhook = 0x1001ea8 855 XK_Acircumflextilde = 0x1001eaa 856 XK_Adiaeresis = 0x00c4 857 XK_Agrave = 0x00c0 858 XK_Ahook = 0x1001ea2 859 XK_Alt_L = 0xffe9 860 XK_Alt_R = 0xffea 861 XK_Amacron = 0x03c0 862 XK_Aogonek = 0x01a1 863 XK_Arabic_0 = 0x1000660 864 XK_Arabic_1 = 0x1000661 865 XK_Arabic_2 = 0x1000662 866 XK_Arabic_3 = 0x1000663 867 XK_Arabic_4 = 0x1000664 868 XK_Arabic_5 = 0x1000665 869 XK_Arabic_6 = 0x1000666 870 XK_Arabic_7 = 0x1000667 871 XK_Arabic_8 = 0x1000668 872 XK_Arabic_9 = 0x1000669 873 XK_Arabic_ain = 0x05d9 874 XK_Arabic_alef = 0x05c7 875 XK_Arabic_alefmaksura = 0x05e9 876 XK_Arabic_beh = 0x05c8 877 XK_Arabic_comma = 0x05ac 878 XK_Arabic_dad = 0x05d6 879 XK_Arabic_dal = 0x05cf 880 XK_Arabic_damma = 0x05ef 881 XK_Arabic_dammatan = 0x05ec 882 XK_Arabic_ddal = 0x1000688 883 XK_Arabic_farsi_yeh = 0x10006cc 884 XK_Arabic_fatha = 0x05ee 885 XK_Arabic_fathatan = 0x05eb 886 XK_Arabic_feh = 0x05e1 887 XK_Arabic_fullstop = 0x10006d4 888 XK_Arabic_gaf = 0x10006af 889 XK_Arabic_ghain = 0x05da 890 XK_Arabic_ha = 0x05e7 891 XK_Arabic_hah = 0x05cd 892 XK_Arabic_hamza = 0x05c1 893 XK_Arabic_hamza_above = 0x1000654 894 XK_Arabic_hamza_below = 0x1000655 895 XK_Arabic_hamzaonalef = 0x05c3 896 XK_Arabic_hamzaonwaw = 0x05c4 897 XK_Arabic_hamzaonyeh = 0x05c6 898 XK_Arabic_hamzaunderalef = 0x05c5 899 XK_Arabic_heh = 0x05e7 900 XK_Arabic_heh_doachashmee = 0x10006be 901 XK_Arabic_heh_goal = 0x10006c1 902 XK_Arabic_jeem = 0x05cc 903 XK_Arabic_jeh = 0x1000698 904 XK_Arabic_kaf = 0x05e3 905 XK_Arabic_kasra = 0x05f0 906 XK_Arabic_kasratan = 0x05ed 907 XK_Arabic_keheh = 0x10006a9 908 XK_Arabic_khah = 0x05ce 909 XK_Arabic_lam = 0x05e4 910 XK_Arabic_madda_above = 0x1000653 911 XK_Arabic_maddaonalef = 0x05c2 912 XK_Arabic_meem = 0x05e5 913 XK_Arabic_noon = 0x05e6 914 XK_Arabic_noon_ghunna = 0x10006ba 915 XK_Arabic_peh = 0x100067e 916 XK_Arabic_percent = 0x100066a 917 XK_Arabic_qaf = 0x05e2 918 XK_Arabic_question_mark = 0x05bf 919 XK_Arabic_ra = 0x05d1 920 XK_Arabic_rreh = 0x1000691 921 XK_Arabic_sad = 0x05d5 922 XK_Arabic_seen = 0x05d3 923 XK_Arabic_semicolon = 0x05bb 924 XK_Arabic_shadda = 0x05f1 925 XK_Arabic_sheen = 0x05d4 926 XK_Arabic_sukun = 0x05f2 927 XK_Arabic_superscript_alef = 0x1000670 928 XK_Arabic_switch = 0xff7e 929 XK_Arabic_tah = 0x05d7 930 XK_Arabic_tatweel = 0x05e0 931 XK_Arabic_tcheh = 0x1000686 932 XK_Arabic_teh = 0x05ca 933 XK_Arabic_tehmarbuta = 0x05c9 934 XK_Arabic_thal = 0x05d0 935 XK_Arabic_theh = 0x05cb 936 XK_Arabic_tteh = 0x1000679 937 XK_Arabic_veh = 0x10006a4 938 XK_Arabic_waw = 0x05e8 939 XK_Arabic_yeh = 0x05ea 940 XK_Arabic_yeh_baree = 0x10006d2 941 XK_Arabic_zah = 0x05d8 942 XK_Arabic_zain = 0x05d2 943 XK_Aring = 0x00c5 944 XK_Armenian_AT = 0x1000538 945 XK_Armenian_AYB = 0x1000531 946 XK_Armenian_BEN = 0x1000532 947 XK_Armenian_CHA = 0x1000549 948 XK_Armenian_DA = 0x1000534 949 XK_Armenian_DZA = 0x1000541 950 XK_Armenian_E = 0x1000537 951 XK_Armenian_FE = 0x1000556 952 XK_Armenian_GHAT = 0x1000542 953 XK_Armenian_GIM = 0x1000533 954 XK_Armenian_HI = 0x1000545 955 XK_Armenian_HO = 0x1000540 956 XK_Armenian_INI = 0x100053b 957 XK_Armenian_JE = 0x100054b 958 XK_Armenian_KE = 0x1000554 959 XK_Armenian_KEN = 0x100053f 960 XK_Armenian_KHE = 0x100053d 961 XK_Armenian_LYUN = 0x100053c 962 XK_Armenian_MEN = 0x1000544 963 XK_Armenian_NU = 0x1000546 964 XK_Armenian_O = 0x1000555 965 XK_Armenian_PE = 0x100054a 966 XK_Armenian_PYUR = 0x1000553 967 XK_Armenian_RA = 0x100054c 968 XK_Armenian_RE = 0x1000550 969 XK_Armenian_SE = 0x100054d 970 XK_Armenian_SHA = 0x1000547 971 XK_Armenian_TCHE = 0x1000543 972 XK_Armenian_TO = 0x1000539 973 XK_Armenian_TSA = 0x100053e 974 XK_Armenian_TSO = 0x1000551 975 XK_Armenian_TYUN = 0x100054f 976 XK_Armenian_VEV = 0x100054e 977 XK_Armenian_VO = 0x1000548 978 XK_Armenian_VYUN = 0x1000552 979 XK_Armenian_YECH = 0x1000535 980 XK_Armenian_ZA = 0x1000536 981 XK_Armenian_ZHE = 0x100053a 982 XK_Armenian_accent = 0x100055b 983 XK_Armenian_amanak = 0x100055c 984 XK_Armenian_apostrophe = 0x100055a 985 XK_Armenian_at = 0x1000568 986 XK_Armenian_ayb = 0x1000561 987 XK_Armenian_ben = 0x1000562 988 XK_Armenian_but = 0x100055d 989 XK_Armenian_cha = 0x1000579 990 XK_Armenian_da = 0x1000564 991 XK_Armenian_dza = 0x1000571 992 XK_Armenian_e = 0x1000567 993 XK_Armenian_exclam = 0x100055c 994 XK_Armenian_fe = 0x1000586 995 XK_Armenian_full_stop = 0x1000589 996 XK_Armenian_ghat = 0x1000572 997 XK_Armenian_gim = 0x1000563 998 XK_Armenian_hi = 0x1000575 999 XK_Armenian_ho = 0x1000570 1000 XK_Armenian_hyphen = 0x100058a 1001 XK_Armenian_ini = 0x100056b 1002 XK_Armenian_je = 0x100057b 1003 XK_Armenian_ke = 0x1000584 1004 XK_Armenian_ken = 0x100056f 1005 XK_Armenian_khe = 0x100056d 1006 XK_Armenian_ligature_ew = 0x1000587 1007 XK_Armenian_lyun = 0x100056c 1008 XK_Armenian_men = 0x1000574 1009 XK_Armenian_nu = 0x1000576 1010 XK_Armenian_o = 0x1000585 1011 XK_Armenian_paruyk = 0x100055e 1012 XK_Armenian_pe = 0x100057a 1013 XK_Armenian_pyur = 0x1000583 1014 XK_Armenian_question = 0x100055e 1015 XK_Armenian_ra = 0x100057c 1016 XK_Armenian_re = 0x1000580 1017 XK_Armenian_se = 0x100057d 1018 XK_Armenian_separation_mark = 0x100055d 1019 XK_Armenian_sha = 0x1000577 1020 XK_Armenian_shesht = 0x100055b 1021 XK_Armenian_tche = 0x1000573 1022 XK_Armenian_to = 0x1000569 1023 XK_Armenian_tsa = 0x100056e 1024 XK_Armenian_tso = 0x1000581 1025 XK_Armenian_tyun = 0x100057f 1026 XK_Armenian_verjaket = 0x1000589 1027 XK_Armenian_vev = 0x100057e 1028 XK_Armenian_vo = 0x1000578 1029 XK_Armenian_vyun = 0x1000582 1030 XK_Armenian_yech = 0x1000565 1031 XK_Armenian_yentamna = 0x100058a 1032 XK_Armenian_za = 0x1000566 1033 XK_Armenian_zhe = 0x100056a 1034 XK_Atilde = 0x00c3 1035 XK_AudibleBell_Enable = 0xfe7a 1036 XK_B = 0x0042 1037 XK_BRAILLE = 0 1038 XK_Babovedot = 0x1001e02 1039 XK_BackSpace = 0xff08 1040 XK_Begin = 0xff58 1041 XK_BounceKeys_Enable = 0xfe74 1042 XK_Break = 0xff6b 1043 XK_Byelorussian_SHORTU = 0x06be 1044 XK_Byelorussian_shortu = 0x06ae 1045 XK_C = 0x0043 1046 XK_CAUCASUS = 0 1047 XK_CH = 0xfea2 1048 XK_CURRENCY = 0 1049 XK_CYRILLIC = 0 1050 XK_C_H = 0xfea5 1051 XK_C_h = 0xfea4 1052 XK_Cabovedot = 0x02c5 1053 XK_Cacute = 0x01c6 1054 XK_Cancel = 0xff69 1055 XK_Caps_Lock = 0xffe5 1056 XK_Ccaron = 0x01c8 1057 XK_Ccedilla = 0x00c7 1058 XK_Ccircumflex = 0x02c6 1059 XK_Ch = 0xfea1 1060 XK_Clear = 0xff0b 1061 XK_Codeinput = 0xff37 1062 XK_ColonSign = 0x10020a1 1063 XK_Control_L = 0xffe3 1064 XK_Control_R = 0xffe4 1065 XK_CruzeiroSign = 0x10020a2 1066 XK_Cyrillic_A = 0x06e1 1067 XK_Cyrillic_BE = 0x06e2 1068 XK_Cyrillic_CHE = 0x06fe 1069 XK_Cyrillic_CHE_descender = 0x10004b6 1070 XK_Cyrillic_CHE_vertstroke = 0x10004b8 1071 XK_Cyrillic_DE = 0x06e4 1072 XK_Cyrillic_DZHE = 0x06bf 1073 XK_Cyrillic_E = 0x06fc 1074 XK_Cyrillic_EF = 0x06e6 1075 XK_Cyrillic_EL = 0x06ec 1076 XK_Cyrillic_EM = 0x06ed 1077 XK_Cyrillic_EN = 0x06ee 1078 XK_Cyrillic_EN_descender = 0x10004a2 1079 XK_Cyrillic_ER = 0x06f2 1080 XK_Cyrillic_ES = 0x06f3 1081 XK_Cyrillic_GHE = 0x06e7 1082 XK_Cyrillic_GHE_bar = 0x1000492 1083 XK_Cyrillic_HA = 0x06e8 1084 XK_Cyrillic_HARDSIGN = 0x06ff 1085 XK_Cyrillic_HA_descender = 0x10004b2 1086 XK_Cyrillic_I = 0x06e9 1087 XK_Cyrillic_IE = 0x06e5 1088 XK_Cyrillic_IO = 0x06b3 1089 XK_Cyrillic_I_macron = 0x10004e2 1090 XK_Cyrillic_JE = 0x06b8 1091 XK_Cyrillic_KA = 0x06eb 1092 XK_Cyrillic_KA_descender = 0x100049a 1093 XK_Cyrillic_KA_vertstroke = 0x100049c 1094 XK_Cyrillic_LJE = 0x06b9 1095 XK_Cyrillic_NJE = 0x06ba 1096 XK_Cyrillic_O = 0x06ef 1097 XK_Cyrillic_O_bar = 0x10004e8 1098 XK_Cyrillic_PE = 0x06f0 1099 XK_Cyrillic_SCHWA = 0x10004d8 1100 XK_Cyrillic_SHA = 0x06fb 1101 XK_Cyrillic_SHCHA = 0x06fd 1102 XK_Cyrillic_SHHA = 0x10004ba 1103 XK_Cyrillic_SHORTI = 0x06ea 1104 XK_Cyrillic_SOFTSIGN = 0x06f8 1105 XK_Cyrillic_TE = 0x06f4 1106 XK_Cyrillic_TSE = 0x06e3 1107 XK_Cyrillic_U = 0x06f5 1108 XK_Cyrillic_U_macron = 0x10004ee 1109 XK_Cyrillic_U_straight = 0x10004ae 1110 XK_Cyrillic_U_straight_bar = 0x10004b0 1111 XK_Cyrillic_VE = 0x06f7 1112 XK_Cyrillic_YA = 0x06f1 1113 XK_Cyrillic_YERU = 0x06f9 1114 XK_Cyrillic_YU = 0x06e0 1115 XK_Cyrillic_ZE = 0x06fa 1116 XK_Cyrillic_ZHE = 0x06f6 1117 XK_Cyrillic_ZHE_descender = 0x1000496 1118 XK_Cyrillic_a = 0x06c1 1119 XK_Cyrillic_be = 0x06c2 1120 XK_Cyrillic_che = 0x06de 1121 XK_Cyrillic_che_descender = 0x10004b7 1122 XK_Cyrillic_che_vertstroke = 0x10004b9 1123 XK_Cyrillic_de = 0x06c4 1124 XK_Cyrillic_dzhe = 0x06af 1125 XK_Cyrillic_e = 0x06dc 1126 XK_Cyrillic_ef = 0x06c6 1127 XK_Cyrillic_el = 0x06cc 1128 XK_Cyrillic_em = 0x06cd 1129 XK_Cyrillic_en = 0x06ce 1130 XK_Cyrillic_en_descender = 0x10004a3 1131 XK_Cyrillic_er = 0x06d2 1132 XK_Cyrillic_es = 0x06d3 1133 XK_Cyrillic_ghe = 0x06c7 1134 XK_Cyrillic_ghe_bar = 0x1000493 1135 XK_Cyrillic_ha = 0x06c8 1136 XK_Cyrillic_ha_descender = 0x10004b3 1137 XK_Cyrillic_hardsign = 0x06df 1138 XK_Cyrillic_i = 0x06c9 1139 XK_Cyrillic_i_macron = 0x10004e3 1140 XK_Cyrillic_ie = 0x06c5 1141 XK_Cyrillic_io = 0x06a3 1142 XK_Cyrillic_je = 0x06a8 1143 XK_Cyrillic_ka = 0x06cb 1144 XK_Cyrillic_ka_descender = 0x100049b 1145 XK_Cyrillic_ka_vertstroke = 0x100049d 1146 XK_Cyrillic_lje = 0x06a9 1147 XK_Cyrillic_nje = 0x06aa 1148 XK_Cyrillic_o = 0x06cf 1149 XK_Cyrillic_o_bar = 0x10004e9 1150 XK_Cyrillic_pe = 0x06d0 1151 XK_Cyrillic_schwa = 0x10004d9 1152 XK_Cyrillic_sha = 0x06db 1153 XK_Cyrillic_shcha = 0x06dd 1154 XK_Cyrillic_shha = 0x10004bb 1155 XK_Cyrillic_shorti = 0x06ca 1156 XK_Cyrillic_softsign = 0x06d8 1157 XK_Cyrillic_te = 0x06d4 1158 XK_Cyrillic_tse = 0x06c3 1159 XK_Cyrillic_u = 0x06d5 1160 XK_Cyrillic_u_macron = 0x10004ef 1161 XK_Cyrillic_u_straight = 0x10004af 1162 XK_Cyrillic_u_straight_bar = 0x10004b1 1163 XK_Cyrillic_ve = 0x06d7 1164 XK_Cyrillic_ya = 0x06d1 1165 XK_Cyrillic_yeru = 0x06d9 1166 XK_Cyrillic_yu = 0x06c0 1167 XK_Cyrillic_ze = 0x06da 1168 XK_Cyrillic_zhe = 0x06d6 1169 XK_Cyrillic_zhe_descender = 0x1000497 1170 XK_D = 0x0044 1171 XK_Dabovedot = 0x1001e0a 1172 XK_Dcaron = 0x01cf 1173 XK_Delete = 0xffff 1174 XK_DongSign = 0x10020ab 1175 XK_Down = 0xff54 1176 XK_Dstroke = 0x01d0 1177 XK_E = 0x0045 1178 XK_ENG = 0x03bd 1179 XK_ETH = 0x00d0 1180 XK_EZH = 0x10001b7 1181 XK_Eabovedot = 0x03cc 1182 XK_Eacute = 0x00c9 1183 XK_Ebelowdot = 0x1001eb8 1184 XK_Ecaron = 0x01cc 1185 XK_Ecircumflex = 0x00ca 1186 XK_Ecircumflexacute = 0x1001ebe 1187 XK_Ecircumflexbelowdot = 0x1001ec6 1188 XK_Ecircumflexgrave = 0x1001ec0 1189 XK_Ecircumflexhook = 0x1001ec2 1190 XK_Ecircumflextilde = 0x1001ec4 1191 XK_EcuSign = 0x10020a0 1192 XK_Ediaeresis = 0x00cb 1193 XK_Egrave = 0x00c8 1194 XK_Ehook = 0x1001eba 1195 XK_Eisu_Shift = 0xff2f 1196 XK_Eisu_toggle = 0xff30 1197 XK_Emacron = 0x03aa 1198 XK_End = 0xff57 1199 XK_Eogonek = 0x01ca 1200 XK_Escape = 0xff1b 1201 XK_Eth = 0x00d0 1202 XK_Etilde = 0x1001ebc 1203 XK_EuroSign = 0x20ac 1204 XK_Execute = 0xff62 1205 XK_F = 0x0046 1206 XK_F1 = 0xffbe 1207 XK_F10 = 0xffc7 1208 XK_F11 = 0xffc8 1209 XK_F12 = 0xffc9 1210 XK_F13 = 0xffca 1211 XK_F14 = 0xffcb 1212 XK_F15 = 0xffcc 1213 XK_F16 = 0xffcd 1214 XK_F17 = 0xffce 1215 XK_F18 = 0xffcf 1216 XK_F19 = 0xffd0 1217 XK_F2 = 0xffbf 1218 XK_F20 = 0xffd1 1219 XK_F21 = 0xffd2 1220 XK_F22 = 0xffd3 1221 XK_F23 = 0xffd4 1222 XK_F24 = 0xffd5 1223 XK_F25 = 0xffd6 1224 XK_F26 = 0xffd7 1225 XK_F27 = 0xffd8 1226 XK_F28 = 0xffd9 1227 XK_F29 = 0xffda 1228 XK_F3 = 0xffc0 1229 XK_F30 = 0xffdb 1230 XK_F31 = 0xffdc 1231 XK_F32 = 0xffdd 1232 XK_F33 = 0xffde 1233 XK_F34 = 0xffdf 1234 XK_F35 = 0xffe0 1235 XK_F4 = 0xffc1 1236 XK_F5 = 0xffc2 1237 XK_F6 = 0xffc3 1238 XK_F7 = 0xffc4 1239 XK_F8 = 0xffc5 1240 XK_F9 = 0xffc6 1241 XK_FFrancSign = 0x10020a3 1242 XK_Fabovedot = 0x1001e1e 1243 XK_Farsi_0 = 0x10006f0 1244 XK_Farsi_1 = 0x10006f1 1245 XK_Farsi_2 = 0x10006f2 1246 XK_Farsi_3 = 0x10006f3 1247 XK_Farsi_4 = 0x10006f4 1248 XK_Farsi_5 = 0x10006f5 1249 XK_Farsi_6 = 0x10006f6 1250 XK_Farsi_7 = 0x10006f7 1251 XK_Farsi_8 = 0x10006f8 1252 XK_Farsi_9 = 0x10006f9 1253 XK_Farsi_yeh = 0x10006cc 1254 XK_Find = 0xff68 1255 XK_First_Virtual_Screen = 0xfed0 1256 XK_G = 0x0047 1257 XK_GEORGIAN = 0 1258 XK_GREEK = 0 1259 XK_Gabovedot = 0x02d5 1260 XK_Gbreve = 0x02ab 1261 XK_Gcaron = 0x10001e6 1262 XK_Gcedilla = 0x03ab 1263 XK_Gcircumflex = 0x02d8 1264 XK_Georgian_an = 0x10010d0 1265 XK_Georgian_ban = 0x10010d1 1266 XK_Georgian_can = 0x10010ea 1267 XK_Georgian_char = 0x10010ed 1268 XK_Georgian_chin = 0x10010e9 1269 XK_Georgian_cil = 0x10010ec 1270 XK_Georgian_don = 0x10010d3 1271 XK_Georgian_en = 0x10010d4 1272 XK_Georgian_fi = 0x10010f6 1273 XK_Georgian_gan = 0x10010d2 1274 XK_Georgian_ghan = 0x10010e6 1275 XK_Georgian_hae = 0x10010f0 1276 XK_Georgian_har = 0x10010f4 1277 XK_Georgian_he = 0x10010f1 1278 XK_Georgian_hie = 0x10010f2 1279 XK_Georgian_hoe = 0x10010f5 1280 XK_Georgian_in = 0x10010d8 1281 XK_Georgian_jhan = 0x10010ef 1282 XK_Georgian_jil = 0x10010eb 1283 XK_Georgian_kan = 0x10010d9 1284 XK_Georgian_khar = 0x10010e5 1285 XK_Georgian_las = 0x10010da 1286 XK_Georgian_man = 0x10010db 1287 XK_Georgian_nar = 0x10010dc 1288 XK_Georgian_on = 0x10010dd 1289 XK_Georgian_par = 0x10010de 1290 XK_Georgian_phar = 0x10010e4 1291 XK_Georgian_qar = 0x10010e7 1292 XK_Georgian_rae = 0x10010e0 1293 XK_Georgian_san = 0x10010e1 1294 XK_Georgian_shin = 0x10010e8 1295 XK_Georgian_tan = 0x10010d7 1296 XK_Georgian_tar = 0x10010e2 1297 XK_Georgian_un = 0x10010e3 1298 XK_Georgian_vin = 0x10010d5 1299 XK_Georgian_we = 0x10010f3 1300 XK_Georgian_xan = 0x10010ee 1301 XK_Georgian_zen = 0x10010d6 1302 XK_Georgian_zhar = 0x10010df 1303 XK_Greek_ALPHA = 0x07c1 1304 XK_Greek_ALPHAaccent = 0x07a1 1305 XK_Greek_BETA = 0x07c2 1306 XK_Greek_CHI = 0x07d7 1307 XK_Greek_DELTA = 0x07c4 1308 XK_Greek_EPSILON = 0x07c5 1309 XK_Greek_EPSILONaccent = 0x07a2 1310 XK_Greek_ETA = 0x07c7 1311 XK_Greek_ETAaccent = 0x07a3 1312 XK_Greek_GAMMA = 0x07c3 1313 XK_Greek_IOTA = 0x07c9 1314 XK_Greek_IOTAaccent = 0x07a4 1315 XK_Greek_IOTAdiaeresis = 0x07a5 1316 XK_Greek_IOTAdieresis = 0x07a5 1317 XK_Greek_KAPPA = 0x07ca 1318 XK_Greek_LAMBDA = 0x07cb 1319 XK_Greek_LAMDA = 0x07cb 1320 XK_Greek_MU = 0x07cc 1321 XK_Greek_NU = 0x07cd 1322 XK_Greek_OMEGA = 0x07d9 1323 XK_Greek_OMEGAaccent = 0x07ab 1324 XK_Greek_OMICRON = 0x07cf 1325 XK_Greek_OMICRONaccent = 0x07a7 1326 XK_Greek_PHI = 0x07d6 1327 XK_Greek_PI = 0x07d0 1328 XK_Greek_PSI = 0x07d8 1329 XK_Greek_RHO = 0x07d1 1330 XK_Greek_SIGMA = 0x07d2 1331 XK_Greek_TAU = 0x07d4 1332 XK_Greek_THETA = 0x07c8 1333 XK_Greek_UPSILON = 0x07d5 1334 XK_Greek_UPSILONaccent = 0x07a8 1335 XK_Greek_UPSILONdieresis = 0x07a9 1336 XK_Greek_XI = 0x07ce 1337 XK_Greek_ZETA = 0x07c6 1338 XK_Greek_accentdieresis = 0x07ae 1339 XK_Greek_alpha = 0x07e1 1340 XK_Greek_alphaaccent = 0x07b1 1341 XK_Greek_beta = 0x07e2 1342 XK_Greek_chi = 0x07f7 1343 XK_Greek_delta = 0x07e4 1344 XK_Greek_epsilon = 0x07e5 1345 XK_Greek_epsilonaccent = 0x07b2 1346 XK_Greek_eta = 0x07e7 1347 XK_Greek_etaaccent = 0x07b3 1348 XK_Greek_finalsmallsigma = 0x07f3 1349 XK_Greek_gamma = 0x07e3 1350 XK_Greek_horizbar = 0x07af 1351 XK_Greek_iota = 0x07e9 1352 XK_Greek_iotaaccent = 0x07b4 1353 XK_Greek_iotaaccentdieresis = 0x07b6 1354 XK_Greek_iotadieresis = 0x07b5 1355 XK_Greek_kappa = 0x07ea 1356 XK_Greek_lambda = 0x07eb 1357 XK_Greek_lamda = 0x07eb 1358 XK_Greek_mu = 0x07ec 1359 XK_Greek_nu = 0x07ed 1360 XK_Greek_omega = 0x07f9 1361 XK_Greek_omegaaccent = 0x07bb 1362 XK_Greek_omicron = 0x07ef 1363 XK_Greek_omicronaccent = 0x07b7 1364 XK_Greek_phi = 0x07f6 1365 XK_Greek_pi = 0x07f0 1366 XK_Greek_psi = 0x07f8 1367 XK_Greek_rho = 0x07f1 1368 XK_Greek_sigma = 0x07f2 1369 XK_Greek_switch = 0xff7e 1370 XK_Greek_tau = 0x07f4 1371 XK_Greek_theta = 0x07e8 1372 XK_Greek_upsilon = 0x07f5 1373 XK_Greek_upsilonaccent = 0x07b8 1374 XK_Greek_upsilonaccentdieresis = 0x07ba 1375 XK_Greek_upsilondieresis = 0x07b9 1376 XK_Greek_xi = 0x07ee 1377 XK_Greek_zeta = 0x07e6 1378 XK_H = 0x0048 1379 XK_HEBREW = 0 1380 XK_Hangul = 0xff31 1381 XK_Hangul_A = 0x0ebf 1382 XK_Hangul_AE = 0x0ec0 1383 XK_Hangul_AraeA = 0x0ef6 1384 XK_Hangul_AraeAE = 0x0ef7 1385 XK_Hangul_Banja = 0xff39 1386 XK_Hangul_Cieuc = 0x0eba 1387 XK_Hangul_Codeinput = 0xff37 1388 XK_Hangul_Dikeud = 0x0ea7 1389 XK_Hangul_E = 0x0ec4 1390 XK_Hangul_EO = 0x0ec3 1391 XK_Hangul_EU = 0x0ed1 1392 XK_Hangul_End = 0xff33 1393 XK_Hangul_Hanja = 0xff34 1394 XK_Hangul_Hieuh = 0x0ebe 1395 XK_Hangul_I = 0x0ed3 1396 XK_Hangul_Ieung = 0x0eb7 1397 XK_Hangul_J_Cieuc = 0x0eea 1398 XK_Hangul_J_Dikeud = 0x0eda 1399 XK_Hangul_J_Hieuh = 0x0eee 1400 XK_Hangul_J_Ieung = 0x0ee8 1401 XK_Hangul_J_Jieuj = 0x0ee9 1402 XK_Hangul_J_Khieuq = 0x0eeb 1403 XK_Hangul_J_Kiyeog = 0x0ed4 1404 XK_Hangul_J_KiyeogSios = 0x0ed6 1405 XK_Hangul_J_KkogjiDalrinIeung = 0x0ef9 1406 XK_Hangul_J_Mieum = 0x0ee3 1407 XK_Hangul_J_Nieun = 0x0ed7 1408 XK_Hangul_J_NieunHieuh = 0x0ed9 1409 XK_Hangul_J_NieunJieuj = 0x0ed8 1410 XK_Hangul_J_PanSios = 0x0ef8 1411 XK_Hangul_J_Phieuf = 0x0eed 1412 XK_Hangul_J_Pieub = 0x0ee4 1413 XK_Hangul_J_PieubSios = 0x0ee5 1414 XK_Hangul_J_Rieul = 0x0edb 1415 XK_Hangul_J_RieulHieuh = 0x0ee2 1416 XK_Hangul_J_RieulKiyeog = 0x0edc 1417 XK_Hangul_J_RieulMieum = 0x0edd 1418 XK_Hangul_J_RieulPhieuf = 0x0ee1 1419 XK_Hangul_J_RieulPieub = 0x0ede 1420 XK_Hangul_J_RieulSios = 0x0edf 1421 XK_Hangul_J_RieulTieut = 0x0ee0 1422 XK_Hangul_J_Sios = 0x0ee6 1423 XK_Hangul_J_SsangKiyeog = 0x0ed5 1424 XK_Hangul_J_SsangSios = 0x0ee7 1425 XK_Hangul_J_Tieut = 0x0eec 1426 XK_Hangul_J_YeorinHieuh = 0x0efa 1427 XK_Hangul_Jamo = 0xff35 1428 XK_Hangul_Jeonja = 0xff38 1429 XK_Hangul_Jieuj = 0x0eb8 1430 XK_Hangul_Khieuq = 0x0ebb 1431 XK_Hangul_Kiyeog = 0x0ea1 1432 XK_Hangul_KiyeogSios = 0x0ea3 1433 XK_Hangul_KkogjiDalrinIeung = 0x0ef3 1434 XK_Hangul_Mieum = 0x0eb1 1435 XK_Hangul_MultipleCandidate = 0xff3d 1436 XK_Hangul_Nieun = 0x0ea4 1437 XK_Hangul_NieunHieuh = 0x0ea6 1438 XK_Hangul_NieunJieuj = 0x0ea5 1439 XK_Hangul_O = 0x0ec7 1440 XK_Hangul_OE = 0x0eca 1441 XK_Hangul_PanSios = 0x0ef2 1442 XK_Hangul_Phieuf = 0x0ebd 1443 XK_Hangul_Pieub = 0x0eb2 1444 XK_Hangul_PieubSios = 0x0eb4 1445 XK_Hangul_PostHanja = 0xff3b 1446 XK_Hangul_PreHanja = 0xff3a 1447 XK_Hangul_PreviousCandidate = 0xff3e 1448 XK_Hangul_Rieul = 0x0ea9 1449 XK_Hangul_RieulHieuh = 0x0eb0 1450 XK_Hangul_RieulKiyeog = 0x0eaa 1451 XK_Hangul_RieulMieum = 0x0eab 1452 XK_Hangul_RieulPhieuf = 0x0eaf 1453 XK_Hangul_RieulPieub = 0x0eac 1454 XK_Hangul_RieulSios = 0x0ead 1455 XK_Hangul_RieulTieut = 0x0eae 1456 XK_Hangul_RieulYeorinHieuh = 0x0eef 1457 XK_Hangul_Romaja = 0xff36 1458 XK_Hangul_SingleCandidate = 0xff3c 1459 XK_Hangul_Sios = 0x0eb5 1460 XK_Hangul_Special = 0xff3f 1461 XK_Hangul_SsangDikeud = 0x0ea8 1462 XK_Hangul_SsangJieuj = 0x0eb9 1463 XK_Hangul_SsangKiyeog = 0x0ea2 1464 XK_Hangul_SsangPieub = 0x0eb3 1465 XK_Hangul_SsangSios = 0x0eb6 1466 XK_Hangul_Start = 0xff32 1467 XK_Hangul_SunkyeongeumMieum = 0x0ef0 1468 XK_Hangul_SunkyeongeumPhieuf = 0x0ef4 1469 XK_Hangul_SunkyeongeumPieub = 0x0ef1 1470 XK_Hangul_Tieut = 0x0ebc 1471 XK_Hangul_U = 0x0ecc 1472 XK_Hangul_WA = 0x0ec8 1473 XK_Hangul_WAE = 0x0ec9 1474 XK_Hangul_WE = 0x0ece 1475 XK_Hangul_WEO = 0x0ecd 1476 XK_Hangul_WI = 0x0ecf 1477 XK_Hangul_YA = 0x0ec1 1478 XK_Hangul_YAE = 0x0ec2 1479 XK_Hangul_YE = 0x0ec6 1480 XK_Hangul_YEO = 0x0ec5 1481 XK_Hangul_YI = 0x0ed2 1482 XK_Hangul_YO = 0x0ecb 1483 XK_Hangul_YU = 0x0ed0 1484 XK_Hangul_YeorinHieuh = 0x0ef5 1485 XK_Hangul_switch = 0xff7e 1486 XK_Hankaku = 0xff29 1487 XK_Hcircumflex = 0x02a6 1488 XK_Hebrew_switch = 0xff7e 1489 XK_Help = 0xff6a 1490 XK_Henkan = 0xff23 1491 XK_Henkan_Mode = 0xff23 1492 XK_Hiragana = 0xff25 1493 XK_Hiragana_Katakana = 0xff27 1494 XK_Home = 0xff50 1495 XK_Hstroke = 0x02a1 1496 XK_Hyper_L = 0xffed 1497 XK_Hyper_R = 0xffee 1498 XK_I = 0x0049 1499 XK_ISO_Center_Object = 0xfe33 1500 XK_ISO_Continuous_Underline = 0xfe30 1501 XK_ISO_Discontinuous_Underline = 0xfe31 1502 XK_ISO_Emphasize = 0xfe32 1503 XK_ISO_Enter = 0xfe34 1504 XK_ISO_Fast_Cursor_Down = 0xfe2f 1505 XK_ISO_Fast_Cursor_Left = 0xfe2c 1506 XK_ISO_Fast_Cursor_Right = 0xfe2d 1507 XK_ISO_Fast_Cursor_Up = 0xfe2e 1508 XK_ISO_First_Group = 0xfe0c 1509 XK_ISO_First_Group_Lock = 0xfe0d 1510 XK_ISO_Group_Latch = 0xfe06 1511 XK_ISO_Group_Lock = 0xfe07 1512 XK_ISO_Group_Shift = 0xff7e 1513 XK_ISO_Last_Group = 0xfe0e 1514 XK_ISO_Last_Group_Lock = 0xfe0f 1515 XK_ISO_Left_Tab = 0xfe20 1516 XK_ISO_Level2_Latch = 0xfe02 1517 XK_ISO_Level3_Latch = 0xfe04 1518 XK_ISO_Level3_Lock = 0xfe05 1519 XK_ISO_Level3_Shift = 0xfe03 1520 XK_ISO_Level5_Latch = 0xfe12 1521 XK_ISO_Level5_Lock = 0xfe13 1522 XK_ISO_Level5_Shift = 0xfe11 1523 XK_ISO_Lock = 0xfe01 1524 XK_ISO_Move_Line_Down = 0xfe22 1525 XK_ISO_Move_Line_Up = 0xfe21 1526 XK_ISO_Next_Group = 0xfe08 1527 XK_ISO_Next_Group_Lock = 0xfe09 1528 XK_ISO_Partial_Line_Down = 0xfe24 1529 XK_ISO_Partial_Line_Up = 0xfe23 1530 XK_ISO_Partial_Space_Left = 0xfe25 1531 XK_ISO_Partial_Space_Right = 0xfe26 1532 XK_ISO_Prev_Group = 0xfe0a 1533 XK_ISO_Prev_Group_Lock = 0xfe0b 1534 XK_ISO_Release_Both_Margins = 0xfe2b 1535 XK_ISO_Release_Margin_Left = 0xfe29 1536 XK_ISO_Release_Margin_Right = 0xfe2a 1537 XK_ISO_Set_Margin_Left = 0xfe27 1538 XK_ISO_Set_Margin_Right = 0xfe28 1539 XK_Iabovedot = 0x02a9 1540 XK_Iacute = 0x00cd 1541 XK_Ibelowdot = 0x1001eca 1542 XK_Ibreve = 0x100012c 1543 XK_Icircumflex = 0x00ce 1544 XK_Idiaeresis = 0x00cf 1545 XK_Igrave = 0x00cc 1546 XK_Ihook = 0x1001ec8 1547 XK_Imacron = 0x03cf 1548 XK_Insert = 0xff63 1549 XK_Iogonek = 0x03c7 1550 XK_Itilde = 0x03a5 1551 XK_J = 0x004a 1552 XK_Jcircumflex = 0x02ac 1553 XK_K = 0x004b 1554 XK_KATAKANA = 0 1555 XK_KOREAN = 0 1556 XK_KP_0 = 0xffb0 1557 XK_KP_1 = 0xffb1 1558 XK_KP_2 = 0xffb2 1559 XK_KP_3 = 0xffb3 1560 XK_KP_4 = 0xffb4 1561 XK_KP_5 = 0xffb5 1562 XK_KP_6 = 0xffb6 1563 XK_KP_7 = 0xffb7 1564 XK_KP_8 = 0xffb8 1565 XK_KP_9 = 0xffb9 1566 XK_KP_Add = 0xffab 1567 XK_KP_Begin = 0xff9d 1568 XK_KP_Decimal = 0xffae 1569 XK_KP_Delete = 0xff9f 1570 XK_KP_Divide = 0xffaf 1571 XK_KP_Down = 0xff99 1572 XK_KP_End = 0xff9c 1573 XK_KP_Enter = 0xff8d 1574 XK_KP_Equal = 0xffbd 1575 XK_KP_F1 = 0xff91 1576 XK_KP_F2 = 0xff92 1577 XK_KP_F3 = 0xff93 1578 XK_KP_F4 = 0xff94 1579 XK_KP_Home = 0xff95 1580 XK_KP_Insert = 0xff9e 1581 XK_KP_Left = 0xff96 1582 XK_KP_Multiply = 0xffaa 1583 XK_KP_Next = 0xff9b 1584 XK_KP_Page_Down = 0xff9b 1585 XK_KP_Page_Up = 0xff9a 1586 XK_KP_Prior = 0xff9a 1587 XK_KP_Right = 0xff98 1588 XK_KP_Separator = 0xffac 1589 XK_KP_Space = 0xff80 1590 XK_KP_Subtract = 0xffad 1591 XK_KP_Tab = 0xff89 1592 XK_KP_Up = 0xff97 1593 XK_Kana_Lock = 0xff2d 1594 XK_Kana_Shift = 0xff2e 1595 XK_Kanji = 0xff21 1596 XK_Kanji_Bangou = 0xff37 1597 XK_Katakana = 0xff26 1598 XK_Kcedilla = 0x03d3 1599 XK_Korean_Won = 0x0eff 1600 XK_L = 0x004c 1601 XK_L1 = 0xffc8 1602 XK_L10 = 0xffd1 1603 XK_L2 = 0xffc9 1604 XK_L3 = 0xffca 1605 XK_L4 = 0xffcb 1606 XK_L5 = 0xffcc 1607 XK_L6 = 0xffcd 1608 XK_L7 = 0xffce 1609 XK_L8 = 0xffcf 1610 XK_L9 = 0xffd0 1611 XK_LATIN1 = 0 1612 XK_LATIN2 = 0 1613 XK_LATIN3 = 0 1614 XK_LATIN4 = 0 1615 XK_LATIN8 = 0 1616 XK_LATIN9 = 0 1617 XK_Lacute = 0x01c5 1618 XK_Last_Virtual_Screen = 0xfed4 1619 XK_Lbelowdot = 0x1001e36 1620 XK_Lcaron = 0x01a5 1621 XK_Lcedilla = 0x03a6 1622 XK_Left = 0xff51 1623 XK_Linefeed = 0xff0a 1624 XK_LiraSign = 0x10020a4 1625 XK_Lstroke = 0x01a3 1626 XK_M = 0x004d 1627 XK_MATHEMATICAL = 0 1628 XK_MISCELLANY = 0 1629 XK_Mabovedot = 0x1001e40 1630 XK_Macedonia_DSE = 0x06b5 1631 XK_Macedonia_GJE = 0x06b2 1632 XK_Macedonia_KJE = 0x06bc 1633 XK_Macedonia_dse = 0x06a5 1634 XK_Macedonia_gje = 0x06a2 1635 XK_Macedonia_kje = 0x06ac 1636 XK_Mae_Koho = 0xff3e 1637 XK_Massyo = 0xff2c 1638 XK_Menu = 0xff67 1639 XK_Meta_L = 0xffe7 1640 XK_Meta_R = 0xffe8 1641 XK_MillSign = 0x10020a5 1642 XK_Mode_switch = 0xff7e 1643 XK_MouseKeys_Accel_Enable = 0xfe77 1644 XK_MouseKeys_Enable = 0xfe76 1645 XK_Muhenkan = 0xff22 1646 XK_Multi_key = 0xff20 1647 XK_MultipleCandidate = 0xff3d 1648 XK_N = 0x004e 1649 XK_Nacute = 0x01d1 1650 XK_NairaSign = 0x10020a6 1651 XK_Ncaron = 0x01d2 1652 XK_Ncedilla = 0x03d1 1653 XK_NewSheqelSign = 0x10020aa 1654 XK_Next = 0xff56 1655 XK_Next_Virtual_Screen = 0xfed2 1656 XK_Ntilde = 0x00d1 1657 XK_Num_Lock = 0xff7f 1658 XK_O = 0x004f 1659 XK_OE = 0x13bc 1660 XK_Oacute = 0x00d3 1661 XK_Obarred = 0x100019f 1662 XK_Obelowdot = 0x1001ecc 1663 XK_Ocaron = 0x10001d1 1664 XK_Ocircumflex = 0x00d4 1665 XK_Ocircumflexacute = 0x1001ed0 1666 XK_Ocircumflexbelowdot = 0x1001ed8 1667 XK_Ocircumflexgrave = 0x1001ed2 1668 XK_Ocircumflexhook = 0x1001ed4 1669 XK_Ocircumflextilde = 0x1001ed6 1670 XK_Odiaeresis = 0x00d6 1671 XK_Odoubleacute = 0x01d5 1672 XK_Ograve = 0x00d2 1673 XK_Ohook = 0x1001ece 1674 XK_Ohorn = 0x10001a0 1675 XK_Ohornacute = 0x1001eda 1676 XK_Ohornbelowdot = 0x1001ee2 1677 XK_Ohorngrave = 0x1001edc 1678 XK_Ohornhook = 0x1001ede 1679 XK_Ohorntilde = 0x1001ee0 1680 XK_Omacron = 0x03d2 1681 XK_Ooblique = 0x00d8 1682 XK_Oslash = 0x00d8 1683 XK_Otilde = 0x00d5 1684 XK_Overlay1_Enable = 0xfe78 1685 XK_Overlay2_Enable = 0xfe79 1686 XK_P = 0x0050 1687 XK_Pabovedot = 0x1001e56 1688 XK_Page_Down = 0xff56 1689 XK_Page_Up = 0xff55 1690 XK_Pause = 0xff13 1691 XK_PesetaSign = 0x10020a7 1692 XK_Pointer_Accelerate = 0xfefa 1693 XK_Pointer_Button1 = 0xfee9 1694 XK_Pointer_Button2 = 0xfeea 1695 XK_Pointer_Button3 = 0xfeeb 1696 XK_Pointer_Button4 = 0xfeec 1697 XK_Pointer_Button5 = 0xfeed 1698 XK_Pointer_Button_Dflt = 0xfee8 1699 XK_Pointer_DblClick1 = 0xfeef 1700 XK_Pointer_DblClick2 = 0xfef0 1701 XK_Pointer_DblClick3 = 0xfef1 1702 XK_Pointer_DblClick4 = 0xfef2 1703 XK_Pointer_DblClick5 = 0xfef3 1704 XK_Pointer_DblClick_Dflt = 0xfeee 1705 XK_Pointer_DfltBtnNext = 0xfefb 1706 XK_Pointer_DfltBtnPrev = 0xfefc 1707 XK_Pointer_Down = 0xfee3 1708 XK_Pointer_DownLeft = 0xfee6 1709 XK_Pointer_DownRight = 0xfee7 1710 XK_Pointer_Drag1 = 0xfef5 1711 XK_Pointer_Drag2 = 0xfef6 1712 XK_Pointer_Drag3 = 0xfef7 1713 XK_Pointer_Drag4 = 0xfef8 1714 XK_Pointer_Drag5 = 0xfefd 1715 XK_Pointer_Drag_Dflt = 0xfef4 1716 XK_Pointer_EnableKeys = 0xfef9 1717 XK_Pointer_Left = 0xfee0 1718 XK_Pointer_Right = 0xfee1 1719 XK_Pointer_Up = 0xfee2 1720 XK_Pointer_UpLeft = 0xfee4 1721 XK_Pointer_UpRight = 0xfee5 1722 XK_Prev_Virtual_Screen = 0xfed1 1723 XK_PreviousCandidate = 0xff3e 1724 XK_Print = 0xff61 1725 XK_Prior = 0xff55 1726 XK_Q = 0x0051 1727 XK_R = 0x0052 1728 XK_R1 = 0xffd2 1729 XK_R10 = 0xffdb 1730 XK_R11 = 0xffdc 1731 XK_R12 = 0xffdd 1732 XK_R13 = 0xffde 1733 XK_R14 = 0xffdf 1734 XK_R15 = 0xffe0 1735 XK_R2 = 0xffd3 1736 XK_R3 = 0xffd4 1737 XK_R4 = 0xffd5 1738 XK_R5 = 0xffd6 1739 XK_R6 = 0xffd7 1740 XK_R7 = 0xffd8 1741 XK_R8 = 0xffd9 1742 XK_R9 = 0xffda 1743 XK_Racute = 0x01c0 1744 XK_Rcaron = 0x01d8 1745 XK_Rcedilla = 0x03a3 1746 XK_Redo = 0xff66 1747 XK_RepeatKeys_Enable = 0xfe72 1748 XK_Return = 0xff0d 1749 XK_Right = 0xff53 1750 XK_Romaji = 0xff24 1751 XK_RupeeSign = 0x10020a8 1752 XK_S = 0x0053 1753 XK_SCHWA = 0x100018f 1754 XK_SINHALA = 0 1755 XK_Sabovedot = 0x1001e60 1756 XK_Sacute = 0x01a6 1757 XK_Scaron = 0x01a9 1758 XK_Scedilla = 0x01aa 1759 XK_Scircumflex = 0x02de 1760 XK_Scroll_Lock = 0xff14 1761 XK_Select = 0xff60 1762 XK_Serbian_DJE = 0x06b1 1763 XK_Serbian_DZE = 0x06bf 1764 XK_Serbian_JE = 0x06b8 1765 XK_Serbian_LJE = 0x06b9 1766 XK_Serbian_NJE = 0x06ba 1767 XK_Serbian_TSHE = 0x06bb 1768 XK_Serbian_dje = 0x06a1 1769 XK_Serbian_dze = 0x06af 1770 XK_Serbian_je = 0x06a8 1771 XK_Serbian_lje = 0x06a9 1772 XK_Serbian_nje = 0x06aa 1773 XK_Serbian_tshe = 0x06ab 1774 XK_Shift_L = 0xffe1 1775 XK_Shift_Lock = 0xffe6 1776 XK_Shift_R = 0xffe2 1777 XK_SingleCandidate = 0xff3c 1778 XK_Sinh_a = 0x1000d85 1779 XK_Sinh_aa = 0x1000d86 1780 XK_Sinh_aa2 = 0x1000dcf 1781 XK_Sinh_ae = 0x1000d87 1782 XK_Sinh_ae2 = 0x1000dd0 1783 XK_Sinh_aee = 0x1000d88 1784 XK_Sinh_aee2 = 0x1000dd1 1785 XK_Sinh_ai = 0x1000d93 1786 XK_Sinh_ai2 = 0x1000ddb 1787 XK_Sinh_al = 0x1000dca 1788 XK_Sinh_au = 0x1000d96 1789 XK_Sinh_au2 = 0x1000dde 1790 XK_Sinh_ba = 0x1000db6 1791 XK_Sinh_bha = 0x1000db7 1792 XK_Sinh_ca = 0x1000da0 1793 XK_Sinh_cha = 0x1000da1 1794 XK_Sinh_dda = 0x1000da9 1795 XK_Sinh_ddha = 0x1000daa 1796 XK_Sinh_dha = 0x1000daf 1797 XK_Sinh_dhha = 0x1000db0 1798 XK_Sinh_e = 0x1000d91 1799 XK_Sinh_e2 = 0x1000dd9 1800 XK_Sinh_ee = 0x1000d92 1801 XK_Sinh_ee2 = 0x1000dda 1802 XK_Sinh_fa = 0x1000dc6 1803 XK_Sinh_ga = 0x1000d9c 1804 XK_Sinh_gha = 0x1000d9d 1805 XK_Sinh_h2 = 0x1000d83 1806 XK_Sinh_ha = 0x1000dc4 1807 XK_Sinh_i = 0x1000d89 1808 XK_Sinh_i2 = 0x1000dd2 1809 XK_Sinh_ii = 0x1000d8a 1810 XK_Sinh_ii2 = 0x1000dd3 1811 XK_Sinh_ja = 0x1000da2 1812 XK_Sinh_jha = 0x1000da3 1813 XK_Sinh_jnya = 0x1000da5 1814 XK_Sinh_ka = 0x1000d9a 1815 XK_Sinh_kha = 0x1000d9b 1816 XK_Sinh_kunddaliya = 0x1000df4 1817 XK_Sinh_la = 0x1000dbd 1818 XK_Sinh_lla = 0x1000dc5 1819 XK_Sinh_lu = 0x1000d8f 1820 XK_Sinh_lu2 = 0x1000ddf 1821 XK_Sinh_luu = 0x1000d90 1822 XK_Sinh_luu2 = 0x1000df3 1823 XK_Sinh_ma = 0x1000db8 1824 XK_Sinh_mba = 0x1000db9 1825 XK_Sinh_na = 0x1000db1 1826 XK_Sinh_ndda = 0x1000dac 1827 XK_Sinh_ndha = 0x1000db3 1828 XK_Sinh_ng = 0x1000d82 1829 XK_Sinh_ng2 = 0x1000d9e 1830 XK_Sinh_nga = 0x1000d9f 1831 XK_Sinh_nja = 0x1000da6 1832 XK_Sinh_nna = 0x1000dab 1833 XK_Sinh_nya = 0x1000da4 1834 XK_Sinh_o = 0x1000d94 1835 XK_Sinh_o2 = 0x1000ddc 1836 XK_Sinh_oo = 0x1000d95 1837 XK_Sinh_oo2 = 0x1000ddd 1838 XK_Sinh_pa = 0x1000db4 1839 XK_Sinh_pha = 0x1000db5 1840 XK_Sinh_ra = 0x1000dbb 1841 XK_Sinh_ri = 0x1000d8d 1842 XK_Sinh_rii = 0x1000d8e 1843 XK_Sinh_ru2 = 0x1000dd8 1844 XK_Sinh_ruu2 = 0x1000df2 1845 XK_Sinh_sa = 0x1000dc3 1846 XK_Sinh_sha = 0x1000dc1 1847 XK_Sinh_ssha = 0x1000dc2 1848 XK_Sinh_tha = 0x1000dad 1849 XK_Sinh_thha = 0x1000dae 1850 XK_Sinh_tta = 0x1000da7 1851 XK_Sinh_ttha = 0x1000da8 1852 XK_Sinh_u = 0x1000d8b 1853 XK_Sinh_u2 = 0x1000dd4 1854 XK_Sinh_uu = 0x1000d8c 1855 XK_Sinh_uu2 = 0x1000dd6 1856 XK_Sinh_va = 0x1000dc0 1857 XK_Sinh_ya = 0x1000dba 1858 XK_SlowKeys_Enable = 0xfe73 1859 XK_StickyKeys_Enable = 0xfe75 1860 XK_Super_L = 0xffeb 1861 XK_Super_R = 0xffec 1862 XK_Sys_Req = 0xff15 1863 XK_T = 0x0054 1864 XK_THAI = 0 1865 XK_THORN = 0x00de 1866 XK_Tab = 0xff09 1867 XK_Tabovedot = 0x1001e6a 1868 XK_Tcaron = 0x01ab 1869 XK_Tcedilla = 0x01de 1870 XK_Terminate_Server = 0xfed5 1871 XK_Thai_baht = 0x0ddf 1872 XK_Thai_bobaimai = 0x0dba 1873 XK_Thai_chochan = 0x0da8 1874 XK_Thai_chochang = 0x0daa 1875 XK_Thai_choching = 0x0da9 1876 XK_Thai_chochoe = 0x0dac 1877 XK_Thai_dochada = 0x0dae 1878 XK_Thai_dodek = 0x0db4 1879 XK_Thai_fofa = 0x0dbd 1880 XK_Thai_fofan = 0x0dbf 1881 XK_Thai_hohip = 0x0dcb 1882 XK_Thai_honokhuk = 0x0dce 1883 XK_Thai_khokhai = 0x0da2 1884 XK_Thai_khokhon = 0x0da5 1885 XK_Thai_khokhuat = 0x0da3 1886 XK_Thai_khokhwai = 0x0da4 1887 XK_Thai_khorakhang = 0x0da6 1888 XK_Thai_kokai = 0x0da1 1889 XK_Thai_lakkhangyao = 0x0de5 1890 XK_Thai_lekchet = 0x0df7 1891 XK_Thai_lekha = 0x0df5 1892 XK_Thai_lekhok = 0x0df6 1893 XK_Thai_lekkao = 0x0df9 1894 XK_Thai_leknung = 0x0df1 1895 XK_Thai_lekpaet = 0x0df8 1896 XK_Thai_leksam = 0x0df3 1897 XK_Thai_leksi = 0x0df4 1898 XK_Thai_leksong = 0x0df2 1899 XK_Thai_leksun = 0x0df0 1900 XK_Thai_lochula = 0x0dcc 1901 XK_Thai_loling = 0x0dc5 1902 XK_Thai_lu = 0x0dc6 1903 XK_Thai_maichattawa = 0x0deb 1904 XK_Thai_maiek = 0x0de8 1905 XK_Thai_maihanakat = 0x0dd1 1906 XK_Thai_maihanakat_maitho = 0x0dde 1907 XK_Thai_maitaikhu = 0x0de7 1908 XK_Thai_maitho = 0x0de9 1909 XK_Thai_maitri = 0x0dea 1910 XK_Thai_maiyamok = 0x0de6 1911 XK_Thai_moma = 0x0dc1 1912 XK_Thai_ngongu = 0x0da7 1913 XK_Thai_nikhahit = 0x0ded 1914 XK_Thai_nonen = 0x0db3 1915 XK_Thai_nonu = 0x0db9 1916 XK_Thai_oang = 0x0dcd 1917 XK_Thai_paiyannoi = 0x0dcf 1918 XK_Thai_phinthu = 0x0dda 1919 XK_Thai_phophan = 0x0dbe 1920 XK_Thai_phophung = 0x0dbc 1921 XK_Thai_phosamphao = 0x0dc0 1922 XK_Thai_popla = 0x0dbb 1923 XK_Thai_rorua = 0x0dc3 1924 XK_Thai_ru = 0x0dc4 1925 XK_Thai_saraa = 0x0dd0 1926 XK_Thai_saraaa = 0x0dd2 1927 XK_Thai_saraae = 0x0de1 1928 XK_Thai_saraaimaimalai = 0x0de4 1929 XK_Thai_saraaimaimuan = 0x0de3 1930 XK_Thai_saraam = 0x0dd3 1931 XK_Thai_sarae = 0x0de0 1932 XK_Thai_sarai = 0x0dd4 1933 XK_Thai_saraii = 0x0dd5 1934 XK_Thai_sarao = 0x0de2 1935 XK_Thai_sarau = 0x0dd8 1936 XK_Thai_saraue = 0x0dd6 1937 XK_Thai_sarauee = 0x0dd7 1938 XK_Thai_sarauu = 0x0dd9 1939 XK_Thai_sorusi = 0x0dc9 1940 XK_Thai_sosala = 0x0dc8 1941 XK_Thai_soso = 0x0dab 1942 XK_Thai_sosua = 0x0dca 1943 XK_Thai_thanthakhat = 0x0dec 1944 XK_Thai_thonangmontho = 0x0db1 1945 XK_Thai_thophuthao = 0x0db2 1946 XK_Thai_thothahan = 0x0db7 1947 XK_Thai_thothan = 0x0db0 1948 XK_Thai_thothong = 0x0db8 1949 XK_Thai_thothung = 0x0db6 1950 XK_Thai_topatak = 0x0daf 1951 XK_Thai_totao = 0x0db5 1952 XK_Thai_wowaen = 0x0dc7 1953 XK_Thai_yoyak = 0x0dc2 1954 XK_Thai_yoying = 0x0dad 1955 XK_Thorn = 0x00de 1956 XK_Touroku = 0xff2b 1957 XK_Tslash = 0x03ac 1958 XK_U = 0x0055 1959 XK_Uacute = 0x00da 1960 XK_Ubelowdot = 0x1001ee4 1961 XK_Ubreve = 0x02dd 1962 XK_Ucircumflex = 0x00db 1963 XK_Udiaeresis = 0x00dc 1964 XK_Udoubleacute = 0x01db 1965 XK_Ugrave = 0x00d9 1966 XK_Uhook = 0x1001ee6 1967 XK_Uhorn = 0x10001af 1968 XK_Uhornacute = 0x1001ee8 1969 XK_Uhornbelowdot = 0x1001ef0 1970 XK_Uhorngrave = 0x1001eea 1971 XK_Uhornhook = 0x1001eec 1972 XK_Uhorntilde = 0x1001eee 1973 XK_Ukrainian_GHE_WITH_UPTURN = 0x06bd 1974 XK_Ukrainian_I = 0x06b6 1975 XK_Ukrainian_IE = 0x06b4 1976 XK_Ukrainian_YI = 0x06b7 1977 XK_Ukrainian_ghe_with_upturn = 0x06ad 1978 XK_Ukrainian_i = 0x06a6 1979 XK_Ukrainian_ie = 0x06a4 1980 XK_Ukrainian_yi = 0x06a7 1981 XK_Ukranian_I = 0x06b6 1982 XK_Ukranian_JE = 0x06b4 1983 XK_Ukranian_YI = 0x06b7 1984 XK_Ukranian_i = 0x06a6 1985 XK_Ukranian_je = 0x06a4 1986 XK_Ukranian_yi = 0x06a7 1987 XK_Umacron = 0x03de 1988 XK_Undo = 0xff65 1989 XK_Uogonek = 0x03d9 1990 XK_Up = 0xff52 1991 XK_Uring = 0x01d9 1992 XK_Utilde = 0x03dd 1993 XK_V = 0x0056 1994 XK_VIETNAMESE = 0 1995 XK_VoidSymbol = 0xffffff 1996 XK_W = 0x0057 1997 XK_Wacute = 0x1001e82 1998 XK_Wcircumflex = 0x1000174 1999 XK_Wdiaeresis = 0x1001e84 2000 XK_Wgrave = 0x1001e80 2001 XK_WonSign = 0x10020a9 2002 XK_X = 0x0058 2003 XK_XKB_KEYS = 0 2004 XK_Xabovedot = 0x1001e8a 2005 XK_Y = 0x0059 2006 XK_Yacute = 0x00dd 2007 XK_Ybelowdot = 0x1001ef4 2008 XK_Ycircumflex = 0x1000176 2009 XK_Ydiaeresis = 0x13be 2010 XK_Ygrave = 0x1001ef2 2011 XK_Yhook = 0x1001ef6 2012 XK_Ytilde = 0x1001ef8 2013 XK_Z = 0x005a 2014 XK_Zabovedot = 0x01af 2015 XK_Zacute = 0x01ac 2016 XK_Zcaron = 0x01ae 2017 XK_Zen_Koho = 0xff3d 2018 XK_Zenkaku = 0xff28 2019 XK_Zenkaku_Hankaku = 0xff2a 2020 XK_Zstroke = 0x10001b5 2021 XK_a = 0x0061 2022 XK_aacute = 0x00e1 2023 XK_abelowdot = 0x1001ea1 2024 XK_abovedot = 0x01ff 2025 XK_abreve = 0x01e3 2026 XK_abreveacute = 0x1001eaf 2027 XK_abrevebelowdot = 0x1001eb7 2028 XK_abrevegrave = 0x1001eb1 2029 XK_abrevehook = 0x1001eb3 2030 XK_abrevetilde = 0x1001eb5 2031 XK_acircumflex = 0x00e2 2032 XK_acircumflexacute = 0x1001ea5 2033 XK_acircumflexbelowdot = 0x1001ead 2034 XK_acircumflexgrave = 0x1001ea7 2035 XK_acircumflexhook = 0x1001ea9 2036 XK_acircumflextilde = 0x1001eab 2037 XK_acute = 0x00b4 2038 XK_adiaeresis = 0x00e4 2039 XK_ae = 0x00e6 2040 XK_agrave = 0x00e0 2041 XK_ahook = 0x1001ea3 2042 XK_amacron = 0x03e0 2043 XK_ampersand = 0x0026 2044 XK_aogonek = 0x01b1 2045 XK_apostrophe = 0x0027 2046 XK_approxeq = 0x1002248 2047 XK_aring = 0x00e5 2048 XK_asciicircum = 0x005e 2049 XK_asciitilde = 0x007e 2050 XK_asterisk = 0x002a 2051 XK_at = 0x0040 2052 XK_atilde = 0x00e3 2053 XK_b = 0x0062 2054 XK_babovedot = 0x1001e03 2055 XK_backslash = 0x005c 2056 XK_bar = 0x007c 2057 XK_because = 0x1002235 2058 XK_braceleft = 0x007b 2059 XK_braceright = 0x007d 2060 XK_bracketleft = 0x005b 2061 XK_bracketright = 0x005d 2062 XK_braille_blank = 0x1002800 2063 XK_braille_dot_1 = 0xfff1 2064 XK_braille_dot_10 = 0xfffa 2065 XK_braille_dot_2 = 0xfff2 2066 XK_braille_dot_3 = 0xfff3 2067 XK_braille_dot_4 = 0xfff4 2068 XK_braille_dot_5 = 0xfff5 2069 XK_braille_dot_6 = 0xfff6 2070 XK_braille_dot_7 = 0xfff7 2071 XK_braille_dot_8 = 0xfff8 2072 XK_braille_dot_9 = 0xfff9 2073 XK_braille_dots_1 = 0x1002801 2074 XK_braille_dots_12 = 0x1002803 2075 XK_braille_dots_123 = 0x1002807 2076 XK_braille_dots_1234 = 0x100280f 2077 XK_braille_dots_12345 = 0x100281f 2078 XK_braille_dots_123456 = 0x100283f 2079 XK_braille_dots_1234567 = 0x100287f 2080 XK_braille_dots_12345678 = 0x10028ff 2081 XK_braille_dots_1234568 = 0x10028bf 2082 XK_braille_dots_123457 = 0x100285f 2083 XK_braille_dots_1234578 = 0x10028df 2084 XK_braille_dots_123458 = 0x100289f 2085 XK_braille_dots_12346 = 0x100282f 2086 XK_braille_dots_123467 = 0x100286f 2087 XK_braille_dots_1234678 = 0x10028ef 2088 XK_braille_dots_123468 = 0x10028af 2089 XK_braille_dots_12347 = 0x100284f 2090 XK_braille_dots_123478 = 0x10028cf 2091 XK_braille_dots_12348 = 0x100288f 2092 XK_braille_dots_1235 = 0x1002817 2093 XK_braille_dots_12356 = 0x1002837 2094 XK_braille_dots_123567 = 0x1002877 2095 XK_braille_dots_1235678 = 0x10028f7 2096 XK_braille_dots_123568 = 0x10028b7 2097 XK_braille_dots_12357 = 0x1002857 2098 XK_braille_dots_123578 = 0x10028d7 2099 XK_braille_dots_12358 = 0x1002897 2100 XK_braille_dots_1236 = 0x1002827 2101 XK_braille_dots_12367 = 0x1002867 2102 XK_braille_dots_123678 = 0x10028e7 2103 XK_braille_dots_12368 = 0x10028a7 2104 XK_braille_dots_1237 = 0x1002847 2105 XK_braille_dots_12378 = 0x10028c7 2106 XK_braille_dots_1238 = 0x1002887 2107 XK_braille_dots_124 = 0x100280b 2108 XK_braille_dots_1245 = 0x100281b 2109 XK_braille_dots_12456 = 0x100283b 2110 XK_braille_dots_124567 = 0x100287b 2111 XK_braille_dots_1245678 = 0x10028fb 2112 XK_braille_dots_124568 = 0x10028bb 2113 XK_braille_dots_12457 = 0x100285b 2114 XK_braille_dots_124578 = 0x10028db 2115 XK_braille_dots_12458 = 0x100289b 2116 XK_braille_dots_1246 = 0x100282b 2117 XK_braille_dots_12467 = 0x100286b 2118 XK_braille_dots_124678 = 0x10028eb 2119 XK_braille_dots_12468 = 0x10028ab 2120 XK_braille_dots_1247 = 0x100284b 2121 XK_braille_dots_12478 = 0x10028cb 2122 XK_braille_dots_1248 = 0x100288b 2123 XK_braille_dots_125 = 0x1002813 2124 XK_braille_dots_1256 = 0x1002833 2125 XK_braille_dots_12567 = 0x1002873 2126 XK_braille_dots_125678 = 0x10028f3 2127 XK_braille_dots_12568 = 0x10028b3 2128 XK_braille_dots_1257 = 0x1002853 2129 XK_braille_dots_12578 = 0x10028d3 2130 XK_braille_dots_1258 = 0x1002893 2131 XK_braille_dots_126 = 0x1002823 2132 XK_braille_dots_1267 = 0x1002863 2133 XK_braille_dots_12678 = 0x10028e3 2134 XK_braille_dots_1268 = 0x10028a3 2135 XK_braille_dots_127 = 0x1002843 2136 XK_braille_dots_1278 = 0x10028c3 2137 XK_braille_dots_128 = 0x1002883 2138 XK_braille_dots_13 = 0x1002805 2139 XK_braille_dots_134 = 0x100280d 2140 XK_braille_dots_1345 = 0x100281d 2141 XK_braille_dots_13456 = 0x100283d 2142 XK_braille_dots_134567 = 0x100287d 2143 XK_braille_dots_1345678 = 0x10028fd 2144 XK_braille_dots_134568 = 0x10028bd 2145 XK_braille_dots_13457 = 0x100285d 2146 XK_braille_dots_134578 = 0x10028dd 2147 XK_braille_dots_13458 = 0x100289d 2148 XK_braille_dots_1346 = 0x100282d 2149 XK_braille_dots_13467 = 0x100286d 2150 XK_braille_dots_134678 = 0x10028ed 2151 XK_braille_dots_13468 = 0x10028ad 2152 XK_braille_dots_1347 = 0x100284d 2153 XK_braille_dots_13478 = 0x10028cd 2154 XK_braille_dots_1348 = 0x100288d 2155 XK_braille_dots_135 = 0x1002815 2156 XK_braille_dots_1356 = 0x1002835 2157 XK_braille_dots_13567 = 0x1002875 2158 XK_braille_dots_135678 = 0x10028f5 2159 XK_braille_dots_13568 = 0x10028b5 2160 XK_braille_dots_1357 = 0x1002855 2161 XK_braille_dots_13578 = 0x10028d5 2162 XK_braille_dots_1358 = 0x1002895 2163 XK_braille_dots_136 = 0x1002825 2164 XK_braille_dots_1367 = 0x1002865 2165 XK_braille_dots_13678 = 0x10028e5 2166 XK_braille_dots_1368 = 0x10028a5 2167 XK_braille_dots_137 = 0x1002845 2168 XK_braille_dots_1378 = 0x10028c5 2169 XK_braille_dots_138 = 0x1002885 2170 XK_braille_dots_14 = 0x1002809 2171 XK_braille_dots_145 = 0x1002819 2172 XK_braille_dots_1456 = 0x1002839 2173 XK_braille_dots_14567 = 0x1002879 2174 XK_braille_dots_145678 = 0x10028f9 2175 XK_braille_dots_14568 = 0x10028b9 2176 XK_braille_dots_1457 = 0x1002859 2177 XK_braille_dots_14578 = 0x10028d9 2178 XK_braille_dots_1458 = 0x1002899 2179 XK_braille_dots_146 = 0x1002829 2180 XK_braille_dots_1467 = 0x1002869 2181 XK_braille_dots_14678 = 0x10028e9 2182 XK_braille_dots_1468 = 0x10028a9 2183 XK_braille_dots_147 = 0x1002849 2184 XK_braille_dots_1478 = 0x10028c9 2185 XK_braille_dots_148 = 0x1002889 2186 XK_braille_dots_15 = 0x1002811 2187 XK_braille_dots_156 = 0x1002831 2188 XK_braille_dots_1567 = 0x1002871 2189 XK_braille_dots_15678 = 0x10028f1 2190 XK_braille_dots_1568 = 0x10028b1 2191 XK_braille_dots_157 = 0x1002851 2192 XK_braille_dots_1578 = 0x10028d1 2193 XK_braille_dots_158 = 0x1002891 2194 XK_braille_dots_16 = 0x1002821 2195 XK_braille_dots_167 = 0x1002861 2196 XK_braille_dots_1678 = 0x10028e1 2197 XK_braille_dots_168 = 0x10028a1 2198 XK_braille_dots_17 = 0x1002841 2199 XK_braille_dots_178 = 0x10028c1 2200 XK_braille_dots_18 = 0x1002881 2201 XK_braille_dots_2 = 0x1002802 2202 XK_braille_dots_23 = 0x1002806 2203 XK_braille_dots_234 = 0x100280e 2204 XK_braille_dots_2345 = 0x100281e 2205 XK_braille_dots_23456 = 0x100283e 2206 XK_braille_dots_234567 = 0x100287e 2207 XK_braille_dots_2345678 = 0x10028fe 2208 XK_braille_dots_234568 = 0x10028be 2209 XK_braille_dots_23457 = 0x100285e 2210 XK_braille_dots_234578 = 0x10028de 2211 XK_braille_dots_23458 = 0x100289e 2212 XK_braille_dots_2346 = 0x100282e 2213 XK_braille_dots_23467 = 0x100286e 2214 XK_braille_dots_234678 = 0x10028ee 2215 XK_braille_dots_23468 = 0x10028ae 2216 XK_braille_dots_2347 = 0x100284e 2217 XK_braille_dots_23478 = 0x10028ce 2218 XK_braille_dots_2348 = 0x100288e 2219 XK_braille_dots_235 = 0x1002816 2220 XK_braille_dots_2356 = 0x1002836 2221 XK_braille_dots_23567 = 0x1002876 2222 XK_braille_dots_235678 = 0x10028f6 2223 XK_braille_dots_23568 = 0x10028b6 2224 XK_braille_dots_2357 = 0x1002856 2225 XK_braille_dots_23578 = 0x10028d6 2226 XK_braille_dots_2358 = 0x1002896 2227 XK_braille_dots_236 = 0x1002826 2228 XK_braille_dots_2367 = 0x1002866 2229 XK_braille_dots_23678 = 0x10028e6 2230 XK_braille_dots_2368 = 0x10028a6 2231 XK_braille_dots_237 = 0x1002846 2232 XK_braille_dots_2378 = 0x10028c6 2233 XK_braille_dots_238 = 0x1002886 2234 XK_braille_dots_24 = 0x100280a 2235 XK_braille_dots_245 = 0x100281a 2236 XK_braille_dots_2456 = 0x100283a 2237 XK_braille_dots_24567 = 0x100287a 2238 XK_braille_dots_245678 = 0x10028fa 2239 XK_braille_dots_24568 = 0x10028ba 2240 XK_braille_dots_2457 = 0x100285a 2241 XK_braille_dots_24578 = 0x10028da 2242 XK_braille_dots_2458 = 0x100289a 2243 XK_braille_dots_246 = 0x100282a 2244 XK_braille_dots_2467 = 0x100286a 2245 XK_braille_dots_24678 = 0x10028ea 2246 XK_braille_dots_2468 = 0x10028aa 2247 XK_braille_dots_247 = 0x100284a 2248 XK_braille_dots_2478 = 0x10028ca 2249 XK_braille_dots_248 = 0x100288a 2250 XK_braille_dots_25 = 0x1002812 2251 XK_braille_dots_256 = 0x1002832 2252 XK_braille_dots_2567 = 0x1002872 2253 XK_braille_dots_25678 = 0x10028f2 2254 XK_braille_dots_2568 = 0x10028b2 2255 XK_braille_dots_257 = 0x1002852 2256 XK_braille_dots_2578 = 0x10028d2 2257 XK_braille_dots_258 = 0x1002892 2258 XK_braille_dots_26 = 0x1002822 2259 XK_braille_dots_267 = 0x1002862 2260 XK_braille_dots_2678 = 0x10028e2 2261 XK_braille_dots_268 = 0x10028a2 2262 XK_braille_dots_27 = 0x1002842 2263 XK_braille_dots_278 = 0x10028c2 2264 XK_braille_dots_28 = 0x1002882 2265 XK_braille_dots_3 = 0x1002804 2266 XK_braille_dots_34 = 0x100280c 2267 XK_braille_dots_345 = 0x100281c 2268 XK_braille_dots_3456 = 0x100283c 2269 XK_braille_dots_34567 = 0x100287c 2270 XK_braille_dots_345678 = 0x10028fc 2271 XK_braille_dots_34568 = 0x10028bc 2272 XK_braille_dots_3457 = 0x100285c 2273 XK_braille_dots_34578 = 0x10028dc 2274 XK_braille_dots_3458 = 0x100289c 2275 XK_braille_dots_346 = 0x100282c 2276 XK_braille_dots_3467 = 0x100286c 2277 XK_braille_dots_34678 = 0x10028ec 2278 XK_braille_dots_3468 = 0x10028ac 2279 XK_braille_dots_347 = 0x100284c 2280 XK_braille_dots_3478 = 0x10028cc 2281 XK_braille_dots_348 = 0x100288c 2282 XK_braille_dots_35 = 0x1002814 2283 XK_braille_dots_356 = 0x1002834 2284 XK_braille_dots_3567 = 0x1002874 2285 XK_braille_dots_35678 = 0x10028f4 2286 XK_braille_dots_3568 = 0x10028b4 2287 XK_braille_dots_357 = 0x1002854 2288 XK_braille_dots_3578 = 0x10028d4 2289 XK_braille_dots_358 = 0x1002894 2290 XK_braille_dots_36 = 0x1002824 2291 XK_braille_dots_367 = 0x1002864 2292 XK_braille_dots_3678 = 0x10028e4 2293 XK_braille_dots_368 = 0x10028a4 2294 XK_braille_dots_37 = 0x1002844 2295 XK_braille_dots_378 = 0x10028c4 2296 XK_braille_dots_38 = 0x1002884 2297 XK_braille_dots_4 = 0x1002808 2298 XK_braille_dots_45 = 0x1002818 2299 XK_braille_dots_456 = 0x1002838 2300 XK_braille_dots_4567 = 0x1002878 2301 XK_braille_dots_45678 = 0x10028f8 2302 XK_braille_dots_4568 = 0x10028b8 2303 XK_braille_dots_457 = 0x1002858 2304 XK_braille_dots_4578 = 0x10028d8 2305 XK_braille_dots_458 = 0x1002898 2306 XK_braille_dots_46 = 0x1002828 2307 XK_braille_dots_467 = 0x1002868 2308 XK_braille_dots_4678 = 0x10028e8 2309 XK_braille_dots_468 = 0x10028a8 2310 XK_braille_dots_47 = 0x1002848 2311 XK_braille_dots_478 = 0x10028c8 2312 XK_braille_dots_48 = 0x1002888 2313 XK_braille_dots_5 = 0x1002810 2314 XK_braille_dots_56 = 0x1002830 2315 XK_braille_dots_567 = 0x1002870 2316 XK_braille_dots_5678 = 0x10028f0 2317 XK_braille_dots_568 = 0x10028b0 2318 XK_braille_dots_57 = 0x1002850 2319 XK_braille_dots_578 = 0x10028d0 2320 XK_braille_dots_58 = 0x1002890 2321 XK_braille_dots_6 = 0x1002820 2322 XK_braille_dots_67 = 0x1002860 2323 XK_braille_dots_678 = 0x10028e0 2324 XK_braille_dots_68 = 0x10028a0 2325 XK_braille_dots_7 = 0x1002840 2326 XK_braille_dots_78 = 0x10028c0 2327 XK_braille_dots_8 = 0x1002880 2328 XK_breve = 0x01a2 2329 XK_brokenbar = 0x00a6 2330 XK_c = 0x0063 2331 XK_c_h = 0xfea3 2332 XK_cabovedot = 0x02e5 2333 XK_cacute = 0x01e6 2334 XK_caron = 0x01b7 2335 XK_ccaron = 0x01e8 2336 XK_ccedilla = 0x00e7 2337 XK_ccircumflex = 0x02e6 2338 XK_cedilla = 0x00b8 2339 XK_cent = 0x00a2 2340 XK_ch = 0xfea0 2341 XK_colon = 0x003a 2342 XK_comma = 0x002c 2343 XK_containsas = 0x100220B 2344 XK_copyright = 0x00a9 2345 XK_cuberoot = 0x100221B 2346 XK_currency = 0x00a4 2347 XK_d = 0x0064 2348 XK_dabovedot = 0x1001e0b 2349 XK_dcaron = 0x01ef 2350 XK_dead_A = 0xfe81 2351 XK_dead_E = 0xfe83 2352 XK_dead_I = 0xfe85 2353 XK_dead_O = 0xfe87 2354 XK_dead_U = 0xfe89 2355 XK_dead_a = 0xfe80 2356 XK_dead_abovecomma = 0xfe64 2357 XK_dead_abovedot = 0xfe56 2358 XK_dead_abovereversedcomma = 0xfe65 2359 XK_dead_abovering = 0xfe58 2360 XK_dead_aboveverticalline = 0xfe91 2361 XK_dead_acute = 0xfe51 2362 XK_dead_belowbreve = 0xfe6b 2363 XK_dead_belowcircumflex = 0xfe69 2364 XK_dead_belowcomma = 0xfe6e 2365 XK_dead_belowdiaeresis = 0xfe6c 2366 XK_dead_belowdot = 0xfe60 2367 XK_dead_belowmacron = 0xfe68 2368 XK_dead_belowring = 0xfe67 2369 XK_dead_belowtilde = 0xfe6a 2370 XK_dead_belowverticalline = 0xfe92 2371 XK_dead_breve = 0xfe55 2372 XK_dead_capital_schwa = 0xfe8b 2373 XK_dead_caron = 0xfe5a 2374 XK_dead_cedilla = 0xfe5b 2375 XK_dead_circumflex = 0xfe52 2376 XK_dead_currency = 0xfe6f 2377 XK_dead_dasia = 0xfe65 2378 XK_dead_diaeresis = 0xfe57 2379 XK_dead_doubleacute = 0xfe59 2380 XK_dead_doublegrave = 0xfe66 2381 XK_dead_e = 0xfe82 2382 XK_dead_grave = 0xfe50 2383 XK_dead_greek = 0xfe8c 2384 XK_dead_hook = 0xfe61 2385 XK_dead_horn = 0xfe62 2386 XK_dead_i = 0xfe84 2387 XK_dead_invertedbreve = 0xfe6d 2388 XK_dead_iota = 0xfe5d 2389 XK_dead_longsolidusoverlay = 0xfe93 2390 XK_dead_lowline = 0xfe90 2391 XK_dead_macron = 0xfe54 2392 XK_dead_o = 0xfe86 2393 XK_dead_ogonek = 0xfe5c 2394 XK_dead_perispomeni = 0xfe53 2395 XK_dead_psili = 0xfe64 2396 XK_dead_semivoiced_sound = 0xfe5f 2397 XK_dead_small_schwa = 0xfe8a 2398 XK_dead_stroke = 0xfe63 2399 XK_dead_tilde = 0xfe53 2400 XK_dead_u = 0xfe88 2401 XK_dead_voiced_sound = 0xfe5e 2402 XK_degree = 0x00b0 2403 XK_diaeresis = 0x00a8 2404 XK_dintegral = 0x100222C 2405 XK_division = 0x00f7 2406 XK_dollar = 0x0024 2407 XK_doubleacute = 0x01bd 2408 XK_dstroke = 0x01f0 2409 XK_e = 0x0065 2410 XK_eabovedot = 0x03ec 2411 XK_eacute = 0x00e9 2412 XK_ebelowdot = 0x1001eb9 2413 XK_ecaron = 0x01ec 2414 XK_ecircumflex = 0x00ea 2415 XK_ecircumflexacute = 0x1001ebf 2416 XK_ecircumflexbelowdot = 0x1001ec7 2417 XK_ecircumflexgrave = 0x1001ec1 2418 XK_ecircumflexhook = 0x1001ec3 2419 XK_ecircumflextilde = 0x1001ec5 2420 XK_ediaeresis = 0x00eb 2421 XK_egrave = 0x00e8 2422 XK_ehook = 0x1001ebb 2423 XK_eightsubscript = 0x1002088 2424 XK_eightsuperior = 0x1002078 2425 XK_elementof = 0x1002208 2426 XK_emacron = 0x03ba 2427 XK_emptyset = 0x1002205 2428 XK_eng = 0x03bf 2429 XK_eogonek = 0x01ea 2430 XK_equal = 0x003d 2431 XK_eth = 0x00f0 2432 XK_etilde = 0x1001ebd 2433 XK_exclam = 0x0021 2434 XK_exclamdown = 0x00a1 2435 XK_ezh = 0x1000292 2436 XK_f = 0x0066 2437 XK_fabovedot = 0x1001e1f 2438 XK_fivesubscript = 0x1002085 2439 XK_fivesuperior = 0x1002075 2440 XK_foursubscript = 0x1002084 2441 XK_foursuperior = 0x1002074 2442 XK_fourthroot = 0x100221C 2443 XK_g = 0x0067 2444 XK_gabovedot = 0x02f5 2445 XK_gbreve = 0x02bb 2446 XK_gcaron = 0x10001e7 2447 XK_gcedilla = 0x03bb 2448 XK_gcircumflex = 0x02f8 2449 XK_grave = 0x0060 2450 XK_greater = 0x003e 2451 XK_guillemotleft = 0x00ab 2452 XK_guillemotright = 0x00bb 2453 XK_h = 0x0068 2454 XK_hcircumflex = 0x02b6 2455 XK_hebrew_aleph = 0x0ce0 2456 XK_hebrew_ayin = 0x0cf2 2457 XK_hebrew_bet = 0x0ce1 2458 XK_hebrew_beth = 0x0ce1 2459 XK_hebrew_chet = 0x0ce7 2460 XK_hebrew_dalet = 0x0ce3 2461 XK_hebrew_daleth = 0x0ce3 2462 XK_hebrew_doublelowline = 0x0cdf 2463 XK_hebrew_finalkaph = 0x0cea 2464 XK_hebrew_finalmem = 0x0ced 2465 XK_hebrew_finalnun = 0x0cef 2466 XK_hebrew_finalpe = 0x0cf3 2467 XK_hebrew_finalzade = 0x0cf5 2468 XK_hebrew_finalzadi = 0x0cf5 2469 XK_hebrew_gimel = 0x0ce2 2470 XK_hebrew_gimmel = 0x0ce2 2471 XK_hebrew_he = 0x0ce4 2472 XK_hebrew_het = 0x0ce7 2473 XK_hebrew_kaph = 0x0ceb 2474 XK_hebrew_kuf = 0x0cf7 2475 XK_hebrew_lamed = 0x0cec 2476 XK_hebrew_mem = 0x0cee 2477 XK_hebrew_nun = 0x0cf0 2478 XK_hebrew_pe = 0x0cf4 2479 XK_hebrew_qoph = 0x0cf7 2480 XK_hebrew_resh = 0x0cf8 2481 XK_hebrew_samech = 0x0cf1 2482 XK_hebrew_samekh = 0x0cf1 2483 XK_hebrew_shin = 0x0cf9 2484 XK_hebrew_taf = 0x0cfa 2485 XK_hebrew_taw = 0x0cfa 2486 XK_hebrew_tet = 0x0ce8 2487 XK_hebrew_teth = 0x0ce8 2488 XK_hebrew_waw = 0x0ce5 2489 XK_hebrew_yod = 0x0ce9 2490 XK_hebrew_zade = 0x0cf6 2491 XK_hebrew_zadi = 0x0cf6 2492 XK_hebrew_zain = 0x0ce6 2493 XK_hebrew_zayin = 0x0ce6 2494 XK_hstroke = 0x02b1 2495 XK_hyphen = 0x00ad 2496 XK_i = 0x0069 2497 XK_iacute = 0x00ed 2498 XK_ibelowdot = 0x1001ecb 2499 XK_ibreve = 0x100012d 2500 XK_icircumflex = 0x00ee 2501 XK_idiaeresis = 0x00ef 2502 XK_idotless = 0x02b9 2503 XK_igrave = 0x00ec 2504 XK_ihook = 0x1001ec9 2505 XK_imacron = 0x03ef 2506 XK_iogonek = 0x03e7 2507 XK_itilde = 0x03b5 2508 XK_j = 0x006a 2509 XK_jcircumflex = 0x02bc 2510 XK_k = 0x006b 2511 XK_kana_A = 0x04b1 2512 XK_kana_CHI = 0x04c1 2513 XK_kana_E = 0x04b4 2514 XK_kana_FU = 0x04cc 2515 XK_kana_HA = 0x04ca 2516 XK_kana_HE = 0x04cd 2517 XK_kana_HI = 0x04cb 2518 XK_kana_HO = 0x04ce 2519 XK_kana_HU = 0x04cc 2520 XK_kana_I = 0x04b2 2521 XK_kana_KA = 0x04b6 2522 XK_kana_KE = 0x04b9 2523 XK_kana_KI = 0x04b7 2524 XK_kana_KO = 0x04ba 2525 XK_kana_KU = 0x04b8 2526 XK_kana_MA = 0x04cf 2527 XK_kana_ME = 0x04d2 2528 XK_kana_MI = 0x04d0 2529 XK_kana_MO = 0x04d3 2530 XK_kana_MU = 0x04d1 2531 XK_kana_N = 0x04dd 2532 XK_kana_NA = 0x04c5 2533 XK_kana_NE = 0x04c8 2534 XK_kana_NI = 0x04c6 2535 XK_kana_NO = 0x04c9 2536 XK_kana_NU = 0x04c7 2537 XK_kana_O = 0x04b5 2538 XK_kana_RA = 0x04d7 2539 XK_kana_RE = 0x04da 2540 XK_kana_RI = 0x04d8 2541 XK_kana_RO = 0x04db 2542 XK_kana_RU = 0x04d9 2543 XK_kana_SA = 0x04bb 2544 XK_kana_SE = 0x04be 2545 XK_kana_SHI = 0x04bc 2546 XK_kana_SO = 0x04bf 2547 XK_kana_SU = 0x04bd 2548 XK_kana_TA = 0x04c0 2549 XK_kana_TE = 0x04c3 2550 XK_kana_TI = 0x04c1 2551 XK_kana_TO = 0x04c4 2552 XK_kana_TSU = 0x04c2 2553 XK_kana_TU = 0x04c2 2554 XK_kana_U = 0x04b3 2555 XK_kana_WA = 0x04dc 2556 XK_kana_WO = 0x04a6 2557 XK_kana_YA = 0x04d4 2558 XK_kana_YO = 0x04d6 2559 XK_kana_YU = 0x04d5 2560 XK_kana_a = 0x04a7 2561 XK_kana_closingbracket = 0x04a3 2562 XK_kana_comma = 0x04a4 2563 XK_kana_conjunctive = 0x04a5 2564 XK_kana_e = 0x04aa 2565 XK_kana_fullstop = 0x04a1 2566 XK_kana_i = 0x04a8 2567 XK_kana_middledot = 0x04a5 2568 XK_kana_o = 0x04ab 2569 XK_kana_openingbracket = 0x04a2 2570 XK_kana_switch = 0xff7e 2571 XK_kana_tsu = 0x04af 2572 XK_kana_tu = 0x04af 2573 XK_kana_u = 0x04a9 2574 XK_kana_ya = 0x04ac 2575 XK_kana_yo = 0x04ae 2576 XK_kana_yu = 0x04ad 2577 XK_kappa = 0x03a2 2578 XK_kcedilla = 0x03f3 2579 XK_kra = 0x03a2 2580 XK_l = 0x006c 2581 XK_lacute = 0x01e5 2582 XK_lbelowdot = 0x1001e37 2583 XK_lcaron = 0x01b5 2584 XK_lcedilla = 0x03b6 2585 XK_less = 0x003c 2586 XK_lstroke = 0x01b3 2587 XK_m = 0x006d 2588 XK_mabovedot = 0x1001e41 2589 XK_macron = 0x00af 2590 XK_masculine = 0x00ba 2591 XK_minus = 0x002d 2592 XK_mu = 0x00b5 2593 XK_multiply = 0x00d7 2594 XK_n = 0x006e 2595 XK_nacute = 0x01f1 2596 XK_ncaron = 0x01f2 2597 XK_ncedilla = 0x03f1 2598 XK_ninesubscript = 0x1002089 2599 XK_ninesuperior = 0x1002079 2600 XK_nobreakspace = 0x00a0 2601 XK_notapproxeq = 0x1002247 2602 XK_notelementof = 0x1002209 2603 XK_notidentical = 0x1002262 2604 XK_notsign = 0x00ac 2605 XK_ntilde = 0x00f1 2606 XK_numbersign = 0x0023 2607 XK_numerosign = 0x06b0 2608 XK_o = 0x006f 2609 XK_oacute = 0x00f3 2610 XK_obarred = 0x1000275 2611 XK_obelowdot = 0x1001ecd 2612 XK_ocaron = 0x10001d2 2613 XK_ocircumflex = 0x00f4 2614 XK_ocircumflexacute = 0x1001ed1 2615 XK_ocircumflexbelowdot = 0x1001ed9 2616 XK_ocircumflexgrave = 0x1001ed3 2617 XK_ocircumflexhook = 0x1001ed5 2618 XK_ocircumflextilde = 0x1001ed7 2619 XK_odiaeresis = 0x00f6 2620 XK_odoubleacute = 0x01f5 2621 XK_oe = 0x13bd 2622 XK_ogonek = 0x01b2 2623 XK_ograve = 0x00f2 2624 XK_ohook = 0x1001ecf 2625 XK_ohorn = 0x10001a1 2626 XK_ohornacute = 0x1001edb 2627 XK_ohornbelowdot = 0x1001ee3 2628 XK_ohorngrave = 0x1001edd 2629 XK_ohornhook = 0x1001edf 2630 XK_ohorntilde = 0x1001ee1 2631 XK_omacron = 0x03f2 2632 XK_onehalf = 0x00bd 2633 XK_onequarter = 0x00bc 2634 XK_onesubscript = 0x1002081 2635 XK_onesuperior = 0x00b9 2636 XK_ooblique = 0x00f8 2637 XK_ordfeminine = 0x00aa 2638 XK_oslash = 0x00f8 2639 XK_otilde = 0x00f5 2640 XK_overline = 0x047e 2641 XK_p = 0x0070 2642 XK_pabovedot = 0x1001e57 2643 XK_paragraph = 0x00b6 2644 XK_parenleft = 0x0028 2645 XK_parenright = 0x0029 2646 XK_partdifferential = 0x1002202 2647 XK_percent = 0x0025 2648 XK_period = 0x002e 2649 XK_periodcentered = 0x00b7 2650 XK_plus = 0x002b 2651 XK_plusminus = 0x00b1 2652 XK_prolongedsound = 0x04b0 2653 XK_q = 0x0071 2654 XK_question = 0x003f 2655 XK_questiondown = 0x00bf 2656 XK_quotedbl = 0x0022 2657 XK_quoteleft = 0x0060 2658 XK_quoteright = 0x0027 2659 XK_r = 0x0072 2660 XK_racute = 0x01e0 2661 XK_rcaron = 0x01f8 2662 XK_rcedilla = 0x03b3 2663 XK_registered = 0x00ae 2664 XK_s = 0x0073 2665 XK_sabovedot = 0x1001e61 2666 XK_sacute = 0x01b6 2667 XK_scaron = 0x01b9 2668 XK_scedilla = 0x01ba 2669 XK_schwa = 0x1000259 2670 XK_scircumflex = 0x02fe 2671 XK_script_switch = 0xff7e 2672 XK_section = 0x00a7 2673 XK_semicolon = 0x003b 2674 XK_semivoicedsound = 0x04df 2675 XK_sevensubscript = 0x1002087 2676 XK_sevensuperior = 0x1002077 2677 XK_sixsubscript = 0x1002086 2678 XK_sixsuperior = 0x1002076 2679 XK_slash = 0x002f 2680 XK_space = 0x0020 2681 XK_squareroot = 0x100221A 2682 XK_ssharp = 0x00df 2683 XK_sterling = 0x00a3 2684 XK_stricteq = 0x1002263 2685 XK_t = 0x0074 2686 XK_tabovedot = 0x1001e6b 2687 XK_tcaron = 0x01bb 2688 XK_tcedilla = 0x01fe 2689 XK_thorn = 0x00fe 2690 XK_threequarters = 0x00be 2691 XK_threesubscript = 0x1002083 2692 XK_threesuperior = 0x00b3 2693 XK_tintegral = 0x100222D 2694 XK_tslash = 0x03bc 2695 XK_twosubscript = 0x1002082 2696 XK_twosuperior = 0x00b2 2697 XK_u = 0x0075 2698 XK_uacute = 0x00fa 2699 XK_ubelowdot = 0x1001ee5 2700 XK_ubreve = 0x02fd 2701 XK_ucircumflex = 0x00fb 2702 XK_udiaeresis = 0x00fc 2703 XK_udoubleacute = 0x01fb 2704 XK_ugrave = 0x00f9 2705 XK_uhook = 0x1001ee7 2706 XK_uhorn = 0x10001b0 2707 XK_uhornacute = 0x1001ee9 2708 XK_uhornbelowdot = 0x1001ef1 2709 XK_uhorngrave = 0x1001eeb 2710 XK_uhornhook = 0x1001eed 2711 XK_uhorntilde = 0x1001eef 2712 XK_umacron = 0x03fe 2713 XK_underscore = 0x005f 2714 XK_uogonek = 0x03f9 2715 XK_uring = 0x01f9 2716 XK_utilde = 0x03fd 2717 XK_v = 0x0076 2718 XK_voicedsound = 0x04de 2719 XK_w = 0x0077 2720 XK_wacute = 0x1001e83 2721 XK_wcircumflex = 0x1000175 2722 XK_wdiaeresis = 0x1001e85 2723 XK_wgrave = 0x1001e81 2724 XK_x = 0x0078 2725 XK_xabovedot = 0x1001e8b 2726 XK_y = 0x0079 2727 XK_yacute = 0x00fd 2728 XK_ybelowdot = 0x1001ef5 2729 XK_ycircumflex = 0x1000177 2730 XK_ydiaeresis = 0x00ff 2731 XK_yen = 0x00a5 2732 XK_ygrave = 0x1001ef3 2733 XK_yhook = 0x1001ef7 2734 XK_ytilde = 0x1001ef9 2735 XK_z = 0x007a 2736 XK_zabovedot = 0x01bf 2737 XK_zacute = 0x01bc 2738 XK_zcaron = 0x01be 2739 XK_zerosubscript = 0x1002080 2740 XK_zerosuperior = 0x1002070 2741 XK_zstroke = 0x10001b6 2742 XLocaleNotSupported = -2 2743 XLookupBoth = 4 2744 XLookupChars = 2 2745 XLookupKeySym = 3 2746 XLookupNone = 1 2747 XMD_H = 1 2748 XNArea = "area" 2749 XNAreaNeeded = "areaNeeded" 2750 XNBackground = "background" 2751 XNBackgroundPixmap = "backgroundPixmap" 2752 XNBaseFontName = "baseFontName" 2753 XNClientWindow = "clientWindow" 2754 XNColormap = "colorMap" 2755 XNContextualDrawing = "contextualDrawing" 2756 XNCursor = "cursor" 2757 XNDefaultString = "defaultString" 2758 XNDestroyCallback = "destroyCallback" 2759 XNDirectionalDependentDrawing = "directionalDependentDrawing" 2760 XNFilterEvents = "filterEvents" 2761 XNFocusWindow = "focusWindow" 2762 XNFontInfo = "fontInfo" 2763 XNFontSet = "fontSet" 2764 XNForeground = "foreground" 2765 XNGeometryCallback = "geometryCallback" 2766 XNHotKey = "hotKey" 2767 XNHotKeyState = "hotKeyState" 2768 XNInputStyle = "inputStyle" 2769 XNLineSpace = "lineSpace" 2770 XNMissingCharSet = "missingCharSet" 2771 XNOMAutomatic = "omAutomatic" 2772 XNOrientation = "orientation" 2773 XNPreeditAttributes = "preeditAttributes" 2774 XNPreeditCaretCallback = "preeditCaretCallback" 2775 XNPreeditDoneCallback = "preeditDoneCallback" 2776 XNPreeditDrawCallback = "preeditDrawCallback" 2777 XNPreeditStartCallback = "preeditStartCallback" 2778 XNPreeditState = "preeditState" 2779 XNPreeditStateNotifyCallback = "preeditStateNotifyCallback" 2780 XNQueryICValuesList = "queryICValuesList" 2781 XNQueryIMValuesList = "queryIMValuesList" 2782 XNQueryInputStyle = "queryInputStyle" 2783 XNQueryOrientation = "queryOrientation" 2784 XNR6PreeditCallback = "r6PreeditCallback" 2785 XNRequiredCharSet = "requiredCharSet" 2786 XNResetState = "resetState" 2787 XNResourceClass = "resourceClass" 2788 XNResourceName = "resourceName" 2789 XNSeparatorofNestedList = "separatorofNestedList" 2790 XNSpotLocation = "spotLocation" 2791 XNStatusAttributes = "statusAttributes" 2792 XNStatusDoneCallback = "statusDoneCallback" 2793 XNStatusDrawCallback = "statusDrawCallback" 2794 XNStatusStartCallback = "statusStartCallback" 2795 XNStdColormap = "stdColorMap" 2796 XNStringConversion = "stringConversion" 2797 XNStringConversionCallback = "stringConversionCallback" 2798 XNVaNestedList = "XNVaNestedList" 2799 XNVisiblePosition = "visiblePosition" 2800 XNegative = 0x0010 2801 XNoMemory = -1 2802 XPROTOSTRUCTS_H = 0 2803 XPROTO_H = 0 2804 XTHREADS = 1 2805 XUSE_MTSAFE_API = 1 2806 XUrgencyHint = 256 2807 XValue = 0x0001 2808 XYBitmap = 0 2809 XYPixmap = 1 2810 X_AllocColor = 84 2811 X_AllocColorCells = 86 2812 X_AllocColorPlanes = 87 2813 X_AllocNamedColor = 85 2814 X_AllowEvents = 35 2815 X_Bell = 104 2816 X_ChangeActivePointerGrab = 30 2817 X_ChangeGC = 56 2818 X_ChangeHosts = 109 2819 X_ChangeKeyboardControl = 102 2820 X_ChangeKeyboardMapping = 100 2821 X_ChangePointerControl = 105 2822 X_ChangeProperty = 18 2823 X_ChangeSaveSet = 6 2824 X_ChangeWindowAttributes = 2 2825 X_CirculateWindow = 13 2826 X_ClearArea = 61 2827 X_CloseFont = 46 2828 X_ConfigureWindow = 12 2829 X_ConvertSelection = 24 2830 X_CopyArea = 62 2831 X_CopyColormapAndFree = 80 2832 X_CopyGC = 57 2833 X_CopyPlane = 63 2834 X_CreateColormap = 78 2835 X_CreateCursor = 93 2836 X_CreateGC = 55 2837 X_CreateGlyphCursor = 94 2838 X_CreatePixmap = 53 2839 X_CreateWindow = 1 2840 X_DeleteProperty = 19 2841 X_DestroySubwindows = 5 2842 X_DestroyWindow = 4 2843 X_Error = 0 2844 X_FillPoly = 69 2845 X_ForceScreenSaver = 115 2846 X_FreeColormap = 79 2847 X_FreeColors = 88 2848 X_FreeCursor = 95 2849 X_FreeGC = 60 2850 X_FreePixmap = 54 2851 X_GetAtomName = 17 2852 X_GetFontPath = 52 2853 X_GetGeometry = 14 2854 X_GetImage = 73 2855 X_GetInputFocus = 43 2856 X_GetKeyboardControl = 103 2857 X_GetKeyboardMapping = 101 2858 X_GetModifierMapping = 119 2859 X_GetMotionEvents = 39 2860 X_GetPointerControl = 106 2861 X_GetPointerMapping = 117 2862 X_GetProperty = 20 2863 X_GetScreenSaver = 108 2864 X_GetSelectionOwner = 23 2865 X_GetWindowAttributes = 3 2866 X_GrabButton = 28 2867 X_GrabKey = 33 2868 X_GrabKeyboard = 31 2869 X_GrabPointer = 26 2870 X_GrabServer = 36 2871 X_H = 0 2872 X_HAVE_UTF8_STRING = 1 2873 X_ImageText16 = 77 2874 X_ImageText8 = 76 2875 X_InstallColormap = 81 2876 X_InternAtom = 16 2877 X_KillClient = 113 2878 X_ListExtensions = 99 2879 X_ListFonts = 49 2880 X_ListFontsWithInfo = 50 2881 X_ListHosts = 110 2882 X_ListInstalledColormaps = 83 2883 X_ListProperties = 21 2884 X_LookupColor = 92 2885 X_MapSubwindows = 9 2886 X_MapWindow = 8 2887 X_NoOperation = 127 2888 X_OpenFont = 45 2889 X_PROTOCOL = 11 2890 X_PROTOCOL_REVISION = 0 2891 X_PolyArc = 68 2892 X_PolyFillArc = 71 2893 X_PolyFillRectangle = 70 2894 X_PolyLine = 65 2895 X_PolyPoint = 64 2896 X_PolyRectangle = 67 2897 X_PolySegment = 66 2898 X_PolyText16 = 75 2899 X_PolyText8 = 74 2900 X_PutImage = 72 2901 X_QueryBestSize = 97 2902 X_QueryColors = 91 2903 X_QueryExtension = 98 2904 X_QueryFont = 47 2905 X_QueryKeymap = 44 2906 X_QueryPointer = 38 2907 X_QueryTextExtents = 48 2908 X_QueryTree = 15 2909 X_RecolorCursor = 96 2910 X_RenderAddGlyphs = 20 2911 X_RenderAddGlyphsFromPicture = 21 2912 X_RenderAddTraps = 32 2913 X_RenderChangePicture = 5 2914 X_RenderColorTrapezoids = 14 2915 X_RenderColorTriangles = 15 2916 X_RenderComposite = 8 2917 X_RenderCompositeGlyphs16 = 24 2918 X_RenderCompositeGlyphs32 = 25 2919 X_RenderCompositeGlyphs8 = 23 2920 X_RenderCreateAnimCursor = 31 2921 X_RenderCreateConicalGradient = 36 2922 X_RenderCreateCursor = 27 2923 X_RenderCreateGlyphSet = 17 2924 X_RenderCreateLinearGradient = 34 2925 X_RenderCreatePicture = 4 2926 X_RenderCreateRadialGradient = 35 2927 X_RenderCreateSolidFill = 33 2928 X_RenderFillRectangles = 26 2929 X_RenderFreeGlyphSet = 19 2930 X_RenderFreeGlyphs = 22 2931 X_RenderFreePicture = 7 2932 X_RenderQueryDithers = 3 2933 X_RenderQueryFilters = 29 2934 X_RenderQueryPictFormats = 1 2935 X_RenderQueryPictIndexValues = 2 2936 X_RenderQueryVersion = 0 2937 X_RenderReferenceGlyphSet = 18 2938 X_RenderScale = 9 2939 X_RenderSetPictureClipRectangles = 6 2940 X_RenderSetPictureFilter = 30 2941 X_RenderSetPictureTransform = 28 2942 X_RenderTrapezoids = 10 2943 X_RenderTriFan = 13 2944 X_RenderTriStrip = 12 2945 X_RenderTriangles = 11 2946 X_ReparentWindow = 7 2947 X_Reply = 1 2948 X_RotateProperties = 114 2949 X_SendEvent = 25 2950 X_SetAccessControl = 111 2951 X_SetClipRectangles = 59 2952 X_SetCloseDownMode = 112 2953 X_SetDashes = 58 2954 X_SetFontPath = 51 2955 X_SetInputFocus = 42 2956 X_SetModifierMapping = 118 2957 X_SetPointerMapping = 116 2958 X_SetScreenSaver = 107 2959 X_SetSelectionOwner = 22 2960 X_StoreColors = 89 2961 X_StoreNamedColor = 90 2962 X_TCP_PORT = 6000 2963 X_TranslateCoords = 40 2964 X_UngrabButton = 29 2965 X_UngrabKey = 34 2966 X_UngrabKeyboard = 32 2967 X_UngrabPointer = 27 2968 X_UngrabServer = 37 2969 X_UninstallColormap = 82 2970 X_UnmapSubwindows = 11 2971 X_UnmapWindow = 10 2972 X_WarpPointer = 41 2973 XlibDisplayClosing = 2 2974 XlibDisplayDfltRMDB = 128 2975 XlibDisplayIOError = 1 2976 XlibDisplayNoXkb = 4 2977 XlibDisplayPrivSync = 8 2978 XlibDisplayProcConni = 16 2979 XlibDisplayReadEvents = 32 2980 XlibDisplayReply = 32 2981 XlibDisplayWriting = 64 2982 XlibSpecificationRelease = 6 2983 YNegative = 0x0020 2984 YSorted = 1 2985 YValue = 0x0002 2986 YXBanded = 3 2987 YXSorted = 2 2988 ZLNSPERBATCH = 1024 2989 ZPixmap = 2 2990 ZRCTSPERBATCH = 256 2991 ZoomState = 2 2992 X_ALLOCA_H = 1 2993 X_ANSI_STDDEF_H = 0 2994 X_ASM_GENERIC_ERRNO_BASE_H = 0 2995 X_ASM_GENERIC_ERRNO_H = 0 2996 X_ATFILE_SOURCE = 1 2997 X_BITS_BYTESWAP_H = 1 2998 X_BITS_ENDIANNESS_H = 1 2999 X_BITS_ENDIAN_H = 1 3000 X_BITS_ERRNO_H = 1 3001 X_BITS_FLOATN_COMMON_H = 0 3002 X_BITS_FLOATN_H = 0 3003 X_BITS_PTHREADTYPES_ARCH_H = 1 3004 X_BITS_PTHREADTYPES_COMMON_H = 1 3005 X_BITS_STDINT_INTN_H = 1 3006 X_BITS_STDINT_UINTN_H = 1 3007 X_BITS_TIME64_H = 1 3008 X_BITS_TYPESIZES_H = 1 3009 X_BITS_TYPES_H = 1 3010 X_BITS_TYPES_LOCALE_T_H = 1 3011 X_BITS_TYPES___LOCALE_T_H = 1 3012 X_BITS_UINTN_IDENTITY_H = 1 3013 X_BITS_WCHAR_H = 1 3014 X_BSD_PTRDIFF_T_ = 0 3015 X_BSD_SIZE_T_ = 0 3016 X_BSD_SIZE_T_DEFINED_ = 0 3017 X_DEFAULT_SOURCE = 1 3018 X_ENDIAN_H = 1 3019 X_ERRNO_H = 1 3020 X_FEATURES_H = 1 3021 X_FILE_OFFSET_BITS = 64 3022 X_GCC_MAX_ALIGN_T = 0 3023 X_GCC_PTRDIFF_T = 0 3024 X_GCC_SIZE_T = 0 3025 X_GCC_WCHAR_T = 0 3026 X_GCC_WRAP_STDINT_H = 0 3027 X_LP64 = 1 3028 X_POSIX_C_SOURCE = 200809 3029 X_POSIX_SOURCE = 1 3030 X_PTRDIFF_T = 0 3031 X_PTRDIFF_T_ = 0 3032 X_PTRDIFF_T_DECLARED = 0 3033 X_RENDER_H_ = 0 3034 X_RWLOCK_INTERNAL_H = 0 3035 X_SIZET_ = 0 3036 X_SIZE_T = 0 3037 X_SIZE_T_ = 0 3038 X_SIZE_T_DECLARED = 0 3039 X_SIZE_T_DEFINED = 0 3040 X_SIZE_T_DEFINED_ = 0 3041 X_STDC_PREDEF_H = 1 3042 X_STDDEF_H = 0 3043 X_STDDEF_H_ = 0 3044 X_STDINT_H = 1 3045 X_STDLIB_H = 1 3046 X_STRINGS_H = 1 3047 X_STRING_H = 1 3048 X_STRUCT_TIMESPEC = 1 3049 X_SYS_CDEFS_H = 1 3050 X_SYS_SELECT_H = 1 3051 X_SYS_SIZE_T_H = 0 3052 X_SYS_TYPES_H = 1 3053 X_THREAD_MUTEX_INTERNAL_H = 1 3054 X_THREAD_SHARED_TYPES_H = 1 3055 X_T_PTRDIFF = 0 3056 X_T_PTRDIFF_ = 0 3057 X_T_SIZE = 0 3058 X_T_SIZE_ = 0 3059 X_T_WCHAR = 0 3060 X_T_WCHAR_ = 0 3061 X_WCHAR_T = 0 3062 X_WCHAR_T_ = 0 3063 X_WCHAR_T_DECLARED = 0 3064 X_WCHAR_T_DEFINED = 0 3065 X_WCHAR_T_DEFINED_ = 0 3066 X_WCHAR_T_H = 0 3067 X_X11_XLIBINT_H_ = 1 3068 X_X11_XLIB_H_ = 0 3069 X_X11_XUTIL_H_ = 0 3070 X_XDEFS_H = 0 3071 X_XFUNCPROTOBEGIN = 0 3072 X_XFUNCPROTOEND = 0 3073 X_XFUNCPROTO_H_ = 0 3074 X_XFUNCS_H_ = 0 3075 X_XFUNCS_H_INCLUDED_STRING_H = 0 3076 X_XLIBCONF_H_ = 0 3077 X_XOSDEFS_H_ = 0 3078 X_XRENDERINT_H_ = 0 3079 X_XRENDERP_H_ = 0 3080 X_XRENDER_H_ = 0 3081 X_XTYPEDEF_ATOM = 0 3082 X_XTYPEDEF_CLIENTPTR = 0 3083 X_XTYPEDEF_FONT = 0 3084 X_XTYPEDEF_FONTPTR = 0 3085 X_XTYPEDEF_MASK = 0 3086 X_XTYPEDEF_POINTER = 0 3087 X_XTYPEDEF_XID = 0 3088 X_X_NOTSAN = 0 3089 Linux = 1 3090 Sz_xAllocColorCellsReply = 32 3091 Sz_xAllocColorCellsReq = 12 3092 Sz_xAllocColorPlanesReply = 32 3093 Sz_xAllocColorPlanesReq = 16 3094 Sz_xAllocColorReply = 32 3095 Sz_xAllocColorReq = 16 3096 Sz_xAllocNamedColorReply = 32 3097 Sz_xAllocNamedColorReq = 12 3098 Sz_xAllowEventsReq = 8 3099 Sz_xAnimCursorElt = 8 3100 Sz_xArc = 12 3101 Sz_xBellReq = 4 3102 Sz_xChangeActivePointerGrabReq = 16 3103 Sz_xChangeGCReq = 12 3104 Sz_xChangeHostsReq = 8 3105 Sz_xChangeKeyboardControlReq = 8 3106 Sz_xChangeKeyboardMappingReq = 8 3107 Sz_xChangeModeReq = 4 3108 Sz_xChangePointerControlReq = 12 3109 Sz_xChangePropertyReq = 24 3110 Sz_xChangeSaveSetReq = 8 3111 Sz_xChangeWindowAttributesReq = 12 3112 Sz_xCharInfo = 12 3113 Sz_xCirculateWindowReq = 8 3114 Sz_xClearAreaReq = 16 3115 Sz_xColorItem = 12 3116 Sz_xConfigureWindowReq = 12 3117 Sz_xConnClientPrefix = 12 3118 Sz_xConnSetup = 32 3119 Sz_xConnSetupPrefix = 8 3120 Sz_xConvertSelectionReq = 24 3121 Sz_xCopyAreaReq = 28 3122 Sz_xCopyColormapAndFreeReq = 12 3123 Sz_xCopyGCReq = 16 3124 Sz_xCopyPlaneReq = 32 3125 Sz_xCreateColormapReq = 16 3126 Sz_xCreateCursorReq = 32 3127 Sz_xCreateGCReq = 16 3128 Sz_xCreateGlyphCursorReq = 32 3129 Sz_xCreatePixmapReq = 16 3130 Sz_xCreateWindowReq = 32 3131 Sz_xDeletePropertyReq = 12 3132 Sz_xDepth = 8 3133 Sz_xDirectFormat = 16 3134 Sz_xError = 32 3135 Sz_xEvent = 32 3136 Sz_xFillPolyReq = 16 3137 Sz_xFontProp = 8 3138 Sz_xForceScreenSaverReq = 4 3139 Sz_xFreeColorsReq = 12 3140 Sz_xGenericReply = 32 3141 Sz_xGetAtomNameReply = 32 3142 Sz_xGetFontPathReply = 32 3143 Sz_xGetGeometryReply = 32 3144 Sz_xGetImageReply = 32 3145 Sz_xGetImageReq = 20 3146 Sz_xGetInputFocusReply = 32 3147 Sz_xGetKeyboardControlReply = 52 3148 Sz_xGetKeyboardMappingReply = 32 3149 Sz_xGetKeyboardMappingReq = 8 3150 Sz_xGetModifierMappingReply = 32 3151 Sz_xGetMotionEventsReply = 32 3152 Sz_xGetMotionEventsReq = 16 3153 Sz_xGetPointerControlReply = 32 3154 Sz_xGetPointerMappingReply = 32 3155 Sz_xGetPropertyReply = 32 3156 Sz_xGetPropertyReq = 24 3157 Sz_xGetScreenSaverReply = 32 3158 Sz_xGetSelectionOwnerReply = 32 3159 Sz_xGetWindowAttributesReply = 44 3160 Sz_xGlyphElt = 8 3161 Sz_xGlyphInfo = 12 3162 Sz_xGrabButtonReq = 24 3163 Sz_xGrabKeyReq = 16 3164 Sz_xGrabKeyboardReply = 32 3165 Sz_xGrabKeyboardReq = 16 3166 Sz_xGrabPointerReply = 32 3167 Sz_xGrabPointerReq = 24 3168 Sz_xHostEntry = 4 3169 Sz_xImageText16Req = 16 3170 Sz_xImageText8Req = 16 3171 Sz_xImageTextReq = 16 3172 Sz_xIndexValue = 12 3173 Sz_xInternAtomReply = 32 3174 Sz_xInternAtomReq = 8 3175 Sz_xKeymapEvent = 32 3176 Sz_xLineFixed = 16 3177 Sz_xListExtensionsReply = 32 3178 Sz_xListFontsReply = 32 3179 Sz_xListFontsReq = 8 3180 Sz_xListFontsWithInfoReply = 60 3181 Sz_xListFontsWithInfoReq = 8 3182 Sz_xListHostsReply = 32 3183 Sz_xListHostsReq = 4 3184 Sz_xListInstalledColormapsReply = 32 3185 Sz_xListPropertiesReply = 32 3186 Sz_xLookupColorReply = 32 3187 Sz_xLookupColorReq = 12 3188 Sz_xOpenFontReq = 12 3189 Sz_xPictDepth = 8 3190 Sz_xPictFormInfo = 28 3191 Sz_xPictScreen = 8 3192 Sz_xPictVisual = 8 3193 Sz_xPixmapFormat = 8 3194 Sz_xPoint = 4 3195 Sz_xPointFixed = 8 3196 Sz_xPolyArcReq = 12 3197 Sz_xPolyFillArcReq = 12 3198 Sz_xPolyFillRectangleReq = 12 3199 Sz_xPolyLineReq = 12 3200 Sz_xPolyPointReq = 12 3201 Sz_xPolyRectangleReq = 12 3202 Sz_xPolySegmentReq = 12 3203 Sz_xPolyText16Req = 16 3204 Sz_xPolyText8Req = 16 3205 Sz_xPolyTextReq = 16 3206 Sz_xPropIconSize = 24 3207 Sz_xPutImageReq = 24 3208 Sz_xQueryBestSizeReply = 32 3209 Sz_xQueryBestSizeReq = 12 3210 Sz_xQueryColorsReply = 32 3211 Sz_xQueryColorsReq = 8 3212 Sz_xQueryExtensionReply = 32 3213 Sz_xQueryExtensionReq = 8 3214 Sz_xQueryFontReply = 60 3215 Sz_xQueryKeymapReply = 40 3216 Sz_xQueryPointerReply = 32 3217 Sz_xQueryTextExtentsReply = 32 3218 Sz_xQueryTextExtentsReq = 8 3219 Sz_xQueryTreeReply = 32 3220 Sz_xRecolorCursorReq = 20 3221 Sz_xRectangle = 8 3222 Sz_xRenderAddGlyphsReq = 12 3223 Sz_xRenderAddTrapsReq = 12 3224 Sz_xRenderChangePictureReq = 12 3225 Sz_xRenderColor = 8 3226 Sz_xRenderCompositeGlyphs16Req = 28 3227 Sz_xRenderCompositeGlyphs32Req = 28 3228 Sz_xRenderCompositeGlyphs8Req = 28 3229 Sz_xRenderCompositeReq = 36 3230 Sz_xRenderCreateAnimCursorReq = 8 3231 Sz_xRenderCreateConicalGradientReq = 24 3232 Sz_xRenderCreateCursorReq = 16 3233 Sz_xRenderCreateGlyphSetReq = 12 3234 Sz_xRenderCreateLinearGradientReq = 28 3235 Sz_xRenderCreatePictureReq = 20 3236 Sz_xRenderCreateRadialGradientReq = 36 3237 Sz_xRenderCreateSolidFillReq = 16 3238 Sz_xRenderFillRectanglesReq = 20 3239 Sz_xRenderFreeGlyphSetReq = 8 3240 Sz_xRenderFreeGlyphsReq = 8 3241 Sz_xRenderFreePictureReq = 8 3242 Sz_xRenderQueryFiltersReply = 32 3243 Sz_xRenderQueryFiltersReq = 8 3244 Sz_xRenderQueryPictFormatsReply = 32 3245 Sz_xRenderQueryPictFormatsReq = 4 3246 Sz_xRenderQueryPictIndexValuesReply = 32 3247 Sz_xRenderQueryPictIndexValuesReq = 8 3248 Sz_xRenderQueryVersionReply = 32 3249 Sz_xRenderQueryVersionReq = 12 3250 Sz_xRenderReferenceGlyphSetReq = 24 3251 Sz_xRenderScaleReq = 32 3252 Sz_xRenderSetPictureClipRectanglesReq = 12 3253 Sz_xRenderSetPictureFilterReq = 12 3254 Sz_xRenderSetPictureTransformReq = 44 3255 Sz_xRenderTransform = 36 3256 Sz_xRenderTrapezoidsReq = 24 3257 Sz_xRenderTriFanReq = 24 3258 Sz_xRenderTriStripReq = 24 3259 Sz_xRenderTrianglesReq = 24 3260 Sz_xReparentWindowReq = 16 3261 Sz_xReply = 32 3262 Sz_xReq = 4 3263 Sz_xResourceReq = 8 3264 Sz_xRotatePropertiesReq = 12 3265 Sz_xSegment = 8 3266 Sz_xSendEventReq = 44 3267 Sz_xSetAccessControlReq = 4 3268 Sz_xSetClipRectanglesReq = 12 3269 Sz_xSetCloseDownModeReq = 4 3270 Sz_xSetDashesReq = 12 3271 Sz_xSetFontPathReq = 8 3272 Sz_xSetInputFocusReq = 12 3273 Sz_xSetMappingReply = 32 3274 Sz_xSetModifierMappingReply = 32 3275 Sz_xSetModifierMappingReq = 4 3276 Sz_xSetPointerMappingReply = 32 3277 Sz_xSetPointerMappingReq = 4 3278 Sz_xSetScreenSaverReq = 12 3279 Sz_xSetSelectionOwnerReq = 16 3280 Sz_xSpanFix = 12 3281 Sz_xStoreColorsReq = 8 3282 Sz_xStoreNamedColorReq = 16 3283 Sz_xTextElt = 2 3284 Sz_xTimecoord = 8 3285 Sz_xTranslateCoordsReply = 32 3286 Sz_xTranslateCoordsReq = 16 3287 Sz_xTrap = 24 3288 Sz_xTrapezoid = 40 3289 Sz_xTriangle = 24 3290 Sz_xUngrabButtonReq = 12 3291 Sz_xUngrabKeyReq = 12 3292 Sz_xVisualType = 24 3293 Sz_xWarpPointerReq = 24 3294 Sz_xWindowRoot = 40 3295 Sz_xrgb = 8 3296 Unix = 1 3297 XFalse = 0 3298 XTrue = 1 3299 Size = 2068 3300 AIO_PRIO_DELTA_MAX = 20 3301 BC_BASE_MAX = 99 3302 BC_DIM_MAX = 2048 3303 BC_SCALE_MAX = 99 3304 BC_STRING_MAX = 1000 3305 CHARCLASS_NAME_MAX = 2048 3306 CHAR_BIT = 8 3307 CHAR_MAX = 127 3308 CHAR_MIN = -128 3309 COLL_WEIGHTS_MAX = 255 3310 DELAYTIMER_MAX = 2147483647 3311 EXPR_NEST_MAX = 32 3312 HOST_NAME_MAX = 64 3313 INT_MAX = 2147483647 3314 INT_MIN = -2147483648 3315 LINE_MAX = 2048 3316 LLONG_MAX = 9223372036854775807 3317 LLONG_MIN = -9223372036854775808 3318 LOGIN_NAME_MAX = 256 3319 LONG_MAX = 9223372036854775807 3320 LONG_MIN = -9223372036854775808 3321 MAX_CANON = 255 3322 MAX_INPUT = 255 3323 MB_LEN_MAX = 16 3324 MQ_PRIO_MAX = 32768 3325 NAME_MAX = 255 3326 NGROUPS_MAX = 65536 3327 PATH_MAX = 4096 3328 PIPE_BUF = 4096 3329 PTHREAD_DESTRUCTOR_ITERATIONS = 4 3330 PTHREAD_KEYS_MAX = 1024 3331 PTHREAD_STACK_MIN = 16384 3332 RE_DUP_MAX = 32767 3333 RTSIG_MAX = 32 3334 SCHAR_MAX = 127 3335 SCHAR_MIN = -128 3336 SEM_VALUE_MAX = 2147483647 3337 SHRT_MAX = 32767 3338 SHRT_MIN = -32768 3339 SSIZE_MAX = 9223372036854775807 3340 TTY_NAME_MAX = 32 3341 UCHAR_MAX = 255 3342 UINT_MAX = 4294967295 3343 ULLONG_MAX = 18446744073709551615 3344 ULONG_MAX = 18446744073709551615 3345 USHRT_MAX = 65535 3346 XATTR_LIST_MAX = 65536 3347 XATTR_NAME_MAX = 255 3348 XATTR_SIZE_MAX = 65536 3349 X_BITS_POSIX1_LIM_H = 1 3350 X_BITS_POSIX2_LIM_H = 1 3351 X_GCC_LIMITS_H_ = 0 3352 X_LIBC_LIMITS_H_ = 1 3353 X_LIMITS_H___ = 0 3354 X_LINUX_LIMITS_H = 0 3355 X_POSIX2_BC_BASE_MAX = 99 3356 X_POSIX2_BC_DIM_MAX = 2048 3357 X_POSIX2_BC_SCALE_MAX = 99 3358 X_POSIX2_BC_STRING_MAX = 1000 3359 X_POSIX2_CHARCLASS_NAME_MAX = 14 3360 X_POSIX2_COLL_WEIGHTS_MAX = 2 3361 X_POSIX2_EXPR_NEST_MAX = 32 3362 X_POSIX2_LINE_MAX = 2048 3363 X_POSIX2_RE_DUP_MAX = 255 3364 X_POSIX_AIO_LISTIO_MAX = 2 3365 X_POSIX_AIO_MAX = 1 3366 X_POSIX_ARG_MAX = 4096 3367 X_POSIX_CHILD_MAX = 25 3368 X_POSIX_CLOCKRES_MIN = 20000000 3369 X_POSIX_DELAYTIMER_MAX = 32 3370 X_POSIX_HOST_NAME_MAX = 255 3371 X_POSIX_LINK_MAX = 8 3372 X_POSIX_LOGIN_NAME_MAX = 9 3373 X_POSIX_MAX_CANON = 255 3374 X_POSIX_MAX_INPUT = 255 3375 X_POSIX_MQ_OPEN_MAX = 8 3376 X_POSIX_MQ_PRIO_MAX = 32 3377 X_POSIX_NAME_MAX = 14 3378 X_POSIX_NGROUPS_MAX = 8 3379 X_POSIX_OPEN_MAX = 20 3380 X_POSIX_PATH_MAX = 256 3381 X_POSIX_PIPE_BUF = 512 3382 X_POSIX_RE_DUP_MAX = 255 3383 X_POSIX_RTSIG_MAX = 8 3384 X_POSIX_SEM_NSEMS_MAX = 256 3385 X_POSIX_SEM_VALUE_MAX = 32767 3386 X_POSIX_SIGQUEUE_MAX = 32 3387 X_POSIX_SSIZE_MAX = 32767 3388 X_POSIX_STREAM_MAX = 8 3389 X_POSIX_SYMLINK_MAX = 255 3390 X_POSIX_SYMLOOP_MAX = 8 3391 X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4 3392 X_POSIX_THREAD_KEYS_MAX = 128 3393 X_POSIX_THREAD_THREADS_MAX = 64 3394 X_POSIX_TIMER_MAX = 32 3395 X_POSIX_TTY_NAME_MAX = 9 3396 X_POSIX_TZNAME_MAX = 6 3397 FALSE = 0 3398 MAXSHORT = 32767 3399 MINSHORT = -32767 3400 NUMPTSTOBUFFER = 200 3401 TRUE = 1 3402 X_X11_XREGION_H_ = 0 3403 REQUIRED_DEPTHS = 2155872393 3404 ) 3405 3406 const ( /* Xlib.h:1126:1: */ 3407 XOMOrientation_LTR_TTB = 0 3408 XOMOrientation_RTL_TTB = 1 3409 XOMOrientation_TTB_LTR = 2 3410 XOMOrientation_TTB_RTL = 3 3411 XOMOrientation_Context = 4 3412 ) 3413 3414 const ( /* Xlib.h:1315:1: */ 3415 XIMForwardChar = 0 3416 XIMBackwardChar = 1 3417 XIMForwardWord = 2 3418 XIMBackwardWord = 3 3419 XIMCaretUp = 4 3420 XIMCaretDown = 5 3421 XIMNextLine = 6 3422 XIMPreviousLine = 7 3423 XIMLineStart = 8 3424 XIMLineEnd = 9 3425 XIMAbsolutePosition = 10 3426 XIMDontChange = 11 3427 ) 3428 3429 const ( /* Xlib.h:1340:1: */ 3430 XIMIsInvisible = 0 // Disable caret feedback 3431 XIMIsPrimary = 1 // UI defined caret feedback 3432 XIMIsSecondary = 2 3433 ) 3434 3435 const ( /* Xlib.h:1352:1: */ 3436 XIMTextType = 0 3437 XIMBitmapType = 1 3438 ) 3439 3440 const ( /* Xutil.h:174:1: */ 3441 XStringStyle = 0 // STRING 3442 XCompoundTextStyle = 1 // COMPOUND_TEXT 3443 XTextStyle = 2 // text in owner's encoding (current locale) 3444 XStdICCTextStyle = 3 // STRING, else COMPOUND_TEXT 3445 // The following is an XFree86 extension, introduced in November 2000 3446 XUTF8StringStyle = 4 3447 ) 3448 3449 // the new Xfuncs.h 3450 3451 // the ANSI C way 3452 3453 // 3454 // O/S-dependent (mis)feature macro definitions 3455 // 3456 // Copyright 1991, 1998 The Open Group 3457 // 3458 // Permission to use, copy, modify, distribute, and sell this software and its 3459 // documentation for any purpose is hereby granted without fee, provided that 3460 // the above copyright notice appear in all copies and that both that 3461 // copyright notice and this permission notice appear in supporting 3462 // documentation. 3463 // 3464 // The above copyright notice and this permission notice shall be included in 3465 // all copies or substantial portions of the Software. 3466 // 3467 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 3468 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 3469 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 3470 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 3471 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 3472 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 3473 // 3474 // Except as contained in this notice, the name of The Open Group shall not be 3475 // used in advertising or otherwise to promote the sale, use or other dealings 3476 // in this Software without prior written authorization from The Open Group. 3477 // 3478 3479 // Utek leaves kernel macros around in include files (bleah) 3480 3481 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3482 // This file is part of the GNU C Library. 3483 // 3484 // The GNU C Library is free software; you can redistribute it and/or 3485 // modify it under the terms of the GNU Lesser General Public 3486 // License as published by the Free Software Foundation; either 3487 // version 2.1 of the License, or (at your option) any later version. 3488 // 3489 // The GNU C Library is distributed in the hope that it will be useful, 3490 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3491 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3492 // Lesser General Public License for more details. 3493 // 3494 // You should have received a copy of the GNU Lesser General Public 3495 // License along with the GNU C Library; if not, see 3496 // <https://www.gnu.org/licenses/>. 3497 3498 // ISO C99 Standard: 7.20 General utilities <stdlib.h> 3499 3500 // Handle feature test macros at the start of a header. 3501 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 3502 // This file is part of the GNU C Library. 3503 // 3504 // The GNU C Library is free software; you can redistribute it and/or 3505 // modify it under the terms of the GNU Lesser General Public 3506 // License as published by the Free Software Foundation; either 3507 // version 2.1 of the License, or (at your option) any later version. 3508 // 3509 // The GNU C Library is distributed in the hope that it will be useful, 3510 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3511 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3512 // Lesser General Public License for more details. 3513 // 3514 // You should have received a copy of the GNU Lesser General Public 3515 // License along with the GNU C Library; if not, see 3516 // <https://www.gnu.org/licenses/>. 3517 3518 // This header is internal to glibc and should not be included outside 3519 // of glibc headers. Headers including it must define 3520 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 3521 // cannot have multiple include guards because ISO C feature test 3522 // macros depend on the definition of the macro when an affected 3523 // header is included, not when the first system header is 3524 // included. 3525 3526 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3527 // This file is part of the GNU C Library. 3528 // 3529 // The GNU C Library is free software; you can redistribute it and/or 3530 // modify it under the terms of the GNU Lesser General Public 3531 // License as published by the Free Software Foundation; either 3532 // version 2.1 of the License, or (at your option) any later version. 3533 // 3534 // The GNU C Library is distributed in the hope that it will be useful, 3535 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3536 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3537 // Lesser General Public License for more details. 3538 // 3539 // You should have received a copy of the GNU Lesser General Public 3540 // License along with the GNU C Library; if not, see 3541 // <https://www.gnu.org/licenses/>. 3542 3543 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 3544 // macro. 3545 3546 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 3547 // macro. Most but not all symbols enabled by that macro in TS 3548 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 3549 // still require that macro in C2X. 3550 3551 // ISO/IEC TS 18661-4:2015 defines the 3552 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 3553 // functions, the symbols from this TS are enabled unconditionally in 3554 // C2X. 3555 3556 // ISO/IEC TS 18661-3:2015 defines the 3557 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 3558 3559 // Get size_t, wchar_t and NULL from <stddef.h>. 3560 // Copyright (C) 1989-2020 Free Software Foundation, Inc. 3561 // 3562 // This file is part of GCC. 3563 // 3564 // GCC is free software; you can redistribute it and/or modify 3565 // it under the terms of the GNU General Public License as published by 3566 // the Free Software Foundation; either version 3, or (at your option) 3567 // any later version. 3568 // 3569 // GCC is distributed in the hope that it will be useful, 3570 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3571 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 3572 // GNU General Public License for more details. 3573 // 3574 // Under Section 7 of GPL version 3, you are granted additional 3575 // permissions described in the GCC Runtime Library Exception, version 3576 // 3.1, as published by the Free Software Foundation. 3577 // 3578 // You should have received a copy of the GNU General Public License and 3579 // a copy of the GCC Runtime Library Exception along with this program; 3580 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 3581 // <http://www.gnu.org/licenses/>. 3582 3583 // ISO C Standard: 7.17 Common definitions <stddef.h> 3584 3585 // Any one of these symbols __need_* means that GNU libc 3586 // wants us just to define one data type. So don't define 3587 // the symbols that indicate this file's entire job has been done. 3588 3589 // This avoids lossage on SunOS but only if stdtypes.h comes first. 3590 // There's no way to win with the other order! Sun lossage. 3591 3592 // Sequent's header files use _PTRDIFF_T_ in some conflicting way. 3593 // Just ignore it. 3594 3595 // On VxWorks, <type/vxTypesBase.h> may have defined macros like 3596 // _TYPE_size_t which will typedef size_t. fixincludes patched the 3597 // vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is 3598 // not defined, and so that defining this macro defines _GCC_SIZE_T. 3599 // If we find that the macros are still defined at this point, we must 3600 // invoke them so that the type is defined as expected. 3601 3602 // In case nobody has defined these types, but we aren't running under 3603 // GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and 3604 // __WCHAR_TYPE__ have reasonable values. This can happen if the 3605 // parts of GCC is compiled by an older compiler, that actually 3606 // include gstddef.h, such as collect2. 3607 3608 // Signed type of difference of two pointers. 3609 3610 // Define this type if we are doing the whole job, 3611 // or if we want this type in particular. 3612 3613 // If this symbol has done its job, get rid of it. 3614 3615 // Unsigned type of `sizeof' something. 3616 3617 // Define this type if we are doing the whole job, 3618 // or if we want this type in particular. 3619 3620 // Wide character type. 3621 // Locale-writers should change this as necessary to 3622 // be big enough to hold unique values not between 0 and 127, 3623 // and not (wchar_t) -1, for each defined multibyte character. 3624 3625 // Define this type if we are doing the whole job, 3626 // or if we want this type in particular. 3627 3628 // A null pointer constant. 3629 3630 // Offset of member MEMBER in a struct of type TYPE. 3631 3632 // XPG requires a few symbols from <sys/wait.h> being defined. 3633 // Definitions of flag bits for `waitpid' et al. 3634 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 3635 // This file is part of the GNU C Library. 3636 // 3637 // The GNU C Library is free software; you can redistribute it and/or 3638 // modify it under the terms of the GNU Lesser General Public 3639 // License as published by the Free Software Foundation; either 3640 // version 2.1 of the License, or (at your option) any later version. 3641 // 3642 // The GNU C Library is distributed in the hope that it will be useful, 3643 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3644 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3645 // Lesser General Public License for more details. 3646 // 3647 // You should have received a copy of the GNU Lesser General Public 3648 // License along with the GNU C Library; if not, see 3649 // <https://www.gnu.org/licenses/>. 3650 3651 // Bits in the third argument to `waitpid'. 3652 3653 // Bits in the fourth argument to `waitid'. 3654 3655 // The following values are used by the `waitid' function. 3656 3657 // The Linux kernel defines these bare, rather than an enum, 3658 // which causes a conflict if the include order is reversed. 3659 3660 const ( /* waitflags.h:52:1: */ 3661 P_ALL = 0 // Wait for any child. 3662 P_PID = 1 // Wait for specified process. 3663 P_PGID = 2 3664 ) 3665 3666 type Ptrdiff_t = int64 /* <builtin>:3:26 */ 3667 3668 type Size_t = uint64 /* <builtin>:9:23 */ 3669 3670 type Wchar_t = int32 /* <builtin>:15:24 */ 3671 3672 type X__int128_t = struct { 3673 Flo int64 3674 Fhi int64 3675 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128 3676 type X__uint128_t = struct { 3677 Flo uint64 3678 Fhi uint64 3679 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128 3680 3681 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 3682 type X__float128 = float64 /* <builtin>:47:21 */ 3683 3684 // Copyright © 2004 Keith Packard 3685 // 3686 // Permission to use, copy, modify, distribute, and sell this software and its 3687 // documentation for any purpose is hereby granted without fee, provided that 3688 // the above copyright notice appear in all copies and that both that 3689 // copyright notice and this permission notice appear in supporting 3690 // documentation, and that the name of Keith Packard not be used in 3691 // advertising or publicity pertaining to distribution of the software without 3692 // specific, written prior permission. Keith Packard makes no 3693 // representations about the suitability of this software for any purpose. It 3694 // is provided "as is" without express or implied warranty. 3695 // 3696 // KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 3697 // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 3698 // EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 3699 // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 3700 // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 3701 // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 3702 // PERFORMANCE OF THIS SOFTWARE. 3703 3704 // config.h. Generated from config.h.in by configure. 3705 // config.h.in. Generated from configure.ac by autoheader. 3706 3707 // Define to 1 if you have the <dlfcn.h> header file. 3708 3709 // Define to 1 if you have the <inttypes.h> header file. 3710 3711 // Define to 1 if you have the <memory.h> header file. 3712 3713 // Define to 1 if you have the <stdint.h> header file. 3714 3715 // Define to 1 if you have the <stdlib.h> header file. 3716 3717 // Define to 1 if you have the <strings.h> header file. 3718 3719 // Define to 1 if you have the <string.h> header file. 3720 3721 // Define to 1 if you have the <sys/stat.h> header file. 3722 3723 // Define to 1 if you have the <sys/types.h> header file. 3724 3725 // Define to 1 if you have the <unistd.h> header file. 3726 3727 // Define to the sub-directory in which libtool stores uninstalled libraries. 3728 3729 // Name of package 3730 3731 // Define to the address where bug reports for this package should be sent. 3732 3733 // Define to the full name of this package. 3734 3735 // Define to the full name and version of this package. 3736 3737 // Define to the one symbol short name of this package. 3738 3739 // Define to the home page for this package. 3740 3741 // Define to the version of this package. 3742 3743 // Major version of this package 3744 3745 // Minor version of this package 3746 3747 // Patch version of this package 3748 3749 // Define to 1 if you have the ANSI C header files. 3750 3751 // Version number of package 3752 // 3753 // Copyright © 2000 SuSE, Inc. 3754 // 3755 // Permission to use, copy, modify, distribute, and sell this software and its 3756 // documentation for any purpose is hereby granted without fee, provided that 3757 // the above copyright notice appear in all copies and that both that 3758 // copyright notice and this permission notice appear in supporting 3759 // documentation, and that the name of SuSE not be used in advertising or 3760 // publicity pertaining to distribution of the software without specific, 3761 // written prior permission. SuSE makes no representations about the 3762 // suitability of this software for any purpose. It is provided "as is" 3763 // without express or implied warranty. 3764 // 3765 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 3766 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 3767 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 3768 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 3769 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 3770 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 3771 // 3772 // Author: Keith Packard, SuSE, Inc. 3773 3774 // config.h. Generated from config.h.in by configure. 3775 // config.h.in. Generated from configure.ac by autoheader. 3776 3777 // Define to 1 if you have the <dlfcn.h> header file. 3778 3779 // Define to 1 if you have the <inttypes.h> header file. 3780 3781 // Define to 1 if you have the <memory.h> header file. 3782 3783 // Define to 1 if you have the <stdint.h> header file. 3784 3785 // Define to 1 if you have the <stdlib.h> header file. 3786 3787 // Define to 1 if you have the <strings.h> header file. 3788 3789 // Define to 1 if you have the <string.h> header file. 3790 3791 // Define to 1 if you have the <sys/stat.h> header file. 3792 3793 // Define to 1 if you have the <sys/types.h> header file. 3794 3795 // Define to 1 if you have the <unistd.h> header file. 3796 3797 // Define to the sub-directory in which libtool stores uninstalled libraries. 3798 3799 // Name of package 3800 3801 // Define to the address where bug reports for this package should be sent. 3802 3803 // Define to the full name of this package. 3804 3805 // Define to the full name and version of this package. 3806 3807 // Define to the one symbol short name of this package. 3808 3809 // Define to the home page for this package. 3810 3811 // Define to the version of this package. 3812 3813 // Major version of this package 3814 3815 // Minor version of this package 3816 3817 // Patch version of this package 3818 3819 // Define to 1 if you have the ANSI C header files. 3820 3821 // Version number of package 3822 3823 // 3824 // 3825 // Copyright 1984, 1985, 1987, 1989, 1998 The Open Group 3826 // 3827 // Permission to use, copy, modify, distribute, and sell this software and its 3828 // documentation for any purpose is hereby granted without fee, provided that 3829 // the above copyright notice appear in all copies and that both that 3830 // copyright notice and this permission notice appear in supporting 3831 // documentation. 3832 // 3833 // The above copyright notice and this permission notice shall be included 3834 // in all copies or substantial portions of the Software. 3835 // 3836 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 3837 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 3838 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 3839 // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 3840 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 3841 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 3842 // OTHER DEALINGS IN THE SOFTWARE. 3843 // 3844 // Except as contained in this notice, the name of The Open Group shall 3845 // not be used in advertising or otherwise to promote the sale, use or 3846 // other dealings in this Software without prior written authorization 3847 // from The Open Group. 3848 // 3849 3850 // Xlibint.h - Header definition and support file for the internal 3851 // support routines used by the C subroutine interface 3852 // library (Xlib) to the X Window System. 3853 // 3854 // Warning, there be dragons here.... 3855 3856 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 3857 // This file is part of the GNU C Library. 3858 // 3859 // The GNU C Library is free software; you can redistribute it and/or 3860 // modify it under the terms of the GNU Lesser General Public 3861 // License as published by the Free Software Foundation; either 3862 // version 2.1 of the License, or (at your option) any later version. 3863 // 3864 // The GNU C Library is distributed in the hope that it will be useful, 3865 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3866 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3867 // Lesser General Public License for more details. 3868 // 3869 // You should have received a copy of the GNU Lesser General Public 3870 // License along with the GNU C Library; if not, see 3871 // <https://www.gnu.org/licenses/>. 3872 3873 // ISO C99: 7.18 Integer types <stdint.h> 3874 3875 // Handle feature test macros at the start of a header. 3876 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 3877 // This file is part of the GNU C Library. 3878 // 3879 // The GNU C Library is free software; you can redistribute it and/or 3880 // modify it under the terms of the GNU Lesser General Public 3881 // License as published by the Free Software Foundation; either 3882 // version 2.1 of the License, or (at your option) any later version. 3883 // 3884 // The GNU C Library is distributed in the hope that it will be useful, 3885 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3886 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3887 // Lesser General Public License for more details. 3888 // 3889 // You should have received a copy of the GNU Lesser General Public 3890 // License along with the GNU C Library; if not, see 3891 // <https://www.gnu.org/licenses/>. 3892 3893 // This header is internal to glibc and should not be included outside 3894 // of glibc headers. Headers including it must define 3895 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 3896 // cannot have multiple include guards because ISO C feature test 3897 // macros depend on the definition of the macro when an affected 3898 // header is included, not when the first system header is 3899 // included. 3900 3901 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 3902 // This file is part of the GNU C Library. 3903 // 3904 // The GNU C Library is free software; you can redistribute it and/or 3905 // modify it under the terms of the GNU Lesser General Public 3906 // License as published by the Free Software Foundation; either 3907 // version 2.1 of the License, or (at your option) any later version. 3908 // 3909 // The GNU C Library is distributed in the hope that it will be useful, 3910 // but WITHOUT ANY WARRANTY; without even the implied warranty of 3911 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3912 // Lesser General Public License for more details. 3913 // 3914 // You should have received a copy of the GNU Lesser General Public 3915 // License along with the GNU C Library; if not, see 3916 // <https://www.gnu.org/licenses/>. 3917 3918 // These are defined by the user (or the compiler) 3919 // to specify the desired environment: 3920 // 3921 // __STRICT_ANSI__ ISO Standard C. 3922 // _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. 3923 // _ISOC11_SOURCE Extensions to ISO C99 from ISO C11. 3924 // _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X. 3925 // __STDC_WANT_LIB_EXT2__ 3926 // Extensions to ISO C99 from TR 27431-2:2010. 3927 // __STDC_WANT_IEC_60559_BFP_EXT__ 3928 // Extensions to ISO C11 from TS 18661-1:2014. 3929 // __STDC_WANT_IEC_60559_FUNCS_EXT__ 3930 // Extensions to ISO C11 from TS 18661-4:2015. 3931 // __STDC_WANT_IEC_60559_TYPES_EXT__ 3932 // Extensions to ISO C11 from TS 18661-3:2015. 3933 // 3934 // _POSIX_SOURCE IEEE Std 1003.1. 3935 // _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; 3936 // if >=199309L, add IEEE Std 1003.1b-1993; 3937 // if >=199506L, add IEEE Std 1003.1c-1995; 3938 // if >=200112L, all of IEEE 1003.1-2004 3939 // if >=200809L, all of IEEE 1003.1-2008 3940 // _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if 3941 // Single Unix conformance is wanted, to 600 for the 3942 // sixth revision, to 700 for the seventh revision. 3943 // _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions. 3944 // _LARGEFILE_SOURCE Some more functions for correct standard I/O. 3945 // _LARGEFILE64_SOURCE Additional functionality from LFS for large files. 3946 // _FILE_OFFSET_BITS=N Select default filesystem interface. 3947 // _ATFILE_SOURCE Additional *at interfaces. 3948 // _GNU_SOURCE All of the above, plus GNU extensions. 3949 // _DEFAULT_SOURCE The default set of features (taking precedence over 3950 // __STRICT_ANSI__). 3951 // 3952 // _FORTIFY_SOURCE Add security hardening to many library functions. 3953 // Set to 1 or 2; 2 performs stricter checks than 1. 3954 // 3955 // _REENTRANT, _THREAD_SAFE 3956 // Obsolete; equivalent to _POSIX_C_SOURCE=199506L. 3957 // 3958 // The `-ansi' switch to the GNU C compiler, and standards conformance 3959 // options such as `-std=c99', define __STRICT_ANSI__. If none of 3960 // these are defined, or if _DEFAULT_SOURCE is defined, the default is 3961 // to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to 3962 // 200809L, as well as enabling miscellaneous functions from BSD and 3963 // SVID. If more than one of these are defined, they accumulate. For 3964 // example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together 3965 // give you ISO C, 1003.1, and 1003.2, but nothing else. 3966 // 3967 // These are defined by this file and are used by the 3968 // header files to decide what to declare or define: 3969 // 3970 // __GLIBC_USE (F) Define things from feature set F. This is defined 3971 // to 1 or 0; the subsequent macros are either defined 3972 // or undefined, and those tests should be moved to 3973 // __GLIBC_USE. 3974 // __USE_ISOC11 Define ISO C11 things. 3975 // __USE_ISOC99 Define ISO C99 things. 3976 // __USE_ISOC95 Define ISO C90 AMD1 (C95) things. 3977 // __USE_ISOCXX11 Define ISO C++11 things. 3978 // __USE_POSIX Define IEEE Std 1003.1 things. 3979 // __USE_POSIX2 Define IEEE Std 1003.2 things. 3980 // __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things. 3981 // __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things. 3982 // __USE_XOPEN Define XPG things. 3983 // __USE_XOPEN_EXTENDED Define X/Open Unix things. 3984 // __USE_UNIX98 Define Single Unix V2 things. 3985 // __USE_XOPEN2K Define XPG6 things. 3986 // __USE_XOPEN2KXSI Define XPG6 XSI things. 3987 // __USE_XOPEN2K8 Define XPG7 things. 3988 // __USE_XOPEN2K8XSI Define XPG7 XSI things. 3989 // __USE_LARGEFILE Define correct standard I/O things. 3990 // __USE_LARGEFILE64 Define LFS things with separate names. 3991 // __USE_FILE_OFFSET64 Define 64bit interface as default. 3992 // __USE_MISC Define things from 4.3BSD or System V Unix. 3993 // __USE_ATFILE Define *at interfaces and AT_* constants for them. 3994 // __USE_GNU Define GNU extensions. 3995 // __USE_FORTIFY_LEVEL Additional security measures used, according to level. 3996 // 3997 // The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are 3998 // defined by this file unconditionally. `__GNU_LIBRARY__' is provided 3999 // only for compatibility. All new code should use the other symbols 4000 // to test for features. 4001 // 4002 // All macros listed above as possibly being defined by this file are 4003 // explicitly undefined if they are not explicitly defined. 4004 // Feature-test macros that are not defined by the user or compiler 4005 // but are implied by the other feature-test macros defined (or by the 4006 // lack of any definitions) are defined by the file. 4007 // 4008 // ISO C feature test macros depend on the definition of the macro 4009 // when an affected header is included, not when the first system 4010 // header is included, and so they are handled in 4011 // <bits/libc-header-start.h>, which does not have a multiple include 4012 // guard. Feature test macros that can be handled from the first 4013 // system header included are handled here. 4014 4015 // Undefine everything, so we get a clean slate. 4016 4017 // Suppress kernel-name space pollution unless user expressedly asks 4018 // for it. 4019 4020 // Convenience macro to test the version of gcc. 4021 // Use like this: 4022 // #if __GNUC_PREREQ (2,8) 4023 // ... code requiring gcc 2.8 or later ... 4024 // #endif 4025 // Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was 4026 // added in 2.0. 4027 4028 // Similarly for clang. Features added to GCC after version 4.2 may 4029 // or may not also be available in clang, and clang's definitions of 4030 // __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such 4031 // features can be queried via __has_extension/__has_feature. 4032 4033 // Whether to use feature set F. 4034 4035 // _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for 4036 // _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not 4037 // issue a warning; the expectation is that the source is being 4038 // transitioned to use the new macro. 4039 4040 // If _GNU_SOURCE was defined by the user, turn on all the other features. 4041 4042 // If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, 4043 // define _DEFAULT_SOURCE. 4044 4045 // This is to enable the ISO C2X extension. 4046 4047 // This is to enable the ISO C11 extension. 4048 4049 // This is to enable the ISO C99 extension. 4050 4051 // This is to enable the ISO C90 Amendment 1:1995 extension. 4052 4053 // If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE 4054 // is defined, use POSIX.1-2008 (or another version depending on 4055 // _XOPEN_SOURCE). 4056 4057 // Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be 4058 // defined in all multithreaded code. GNU libc has not required this 4059 // for many years. We now treat them as compatibility synonyms for 4060 // _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with 4061 // comprehensive support for multithreaded code. Using them never 4062 // lowers the selected level of POSIX conformance, only raises it. 4063 4064 // The function 'gets' existed in C89, but is impossible to use 4065 // safely. It has been removed from ISO C11 and ISO C++14. Note: for 4066 // compatibility with various implementations of <cstdio>, this test 4067 // must consider only the value of __cplusplus when compiling C++. 4068 4069 // GNU formerly extended the scanf functions with modified format 4070 // specifiers %as, %aS, and %a[...] that allocate a buffer for the 4071 // input using malloc. This extension conflicts with ISO C99, which 4072 // defines %a as a standalone format specifier that reads a floating- 4073 // point number; moreover, POSIX.1-2008 provides the same feature 4074 // using the modifier letter 'm' instead (%ms, %mS, %m[...]). 4075 // 4076 // We now follow C99 unless GNU extensions are active and the compiler 4077 // is specifically in C89 or C++98 mode (strict or not). For 4078 // instance, with GCC, -std=gnu11 will have C99-compliant scanf with 4079 // or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the 4080 // old extension. 4081 4082 // Get definitions of __STDC_* predefined macros, if the compiler has 4083 // not preincluded this header automatically. 4084 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4085 // This file is part of the GNU C Library. 4086 // 4087 // The GNU C Library is free software; you can redistribute it and/or 4088 // modify it under the terms of the GNU Lesser General Public 4089 // License as published by the Free Software Foundation; either 4090 // version 2.1 of the License, or (at your option) any later version. 4091 // 4092 // The GNU C Library is distributed in the hope that it will be useful, 4093 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4094 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4095 // Lesser General Public License for more details. 4096 // 4097 // You should have received a copy of the GNU Lesser General Public 4098 // License along with the GNU C Library; if not, see 4099 // <https://www.gnu.org/licenses/>. 4100 4101 // This macro indicates that the installed library is the GNU C Library. 4102 // For historic reasons the value now is 6 and this will stay from now 4103 // on. The use of this variable is deprecated. Use __GLIBC__ and 4104 // __GLIBC_MINOR__ now (see below) when you want to test for a specific 4105 // GNU C library version and use the values in <gnu/lib-names.h> to get 4106 // the sonames of the shared libraries. 4107 4108 // Major and minor version number of the GNU C library package. Use 4109 // these macros to test for features in specific releases. 4110 4111 // This is here only because every header file already includes this one. 4112 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 4113 // This file is part of the GNU C Library. 4114 // 4115 // The GNU C Library is free software; you can redistribute it and/or 4116 // modify it under the terms of the GNU Lesser General Public 4117 // License as published by the Free Software Foundation; either 4118 // version 2.1 of the License, or (at your option) any later version. 4119 // 4120 // The GNU C Library is distributed in the hope that it will be useful, 4121 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4122 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4123 // Lesser General Public License for more details. 4124 // 4125 // You should have received a copy of the GNU Lesser General Public 4126 // License along with the GNU C Library; if not, see 4127 // <https://www.gnu.org/licenses/>. 4128 4129 // We are almost always included from features.h. 4130 4131 // The GNU libc does not support any K&R compilers or the traditional mode 4132 // of ISO C compilers anymore. Check for some of the combinations not 4133 // anymore supported. 4134 4135 // Some user header file might have defined this before. 4136 4137 // All functions, except those with callbacks or those that 4138 // synchronize memory, are leaf functions. 4139 4140 // GCC can always grok prototypes. For C++ programs we add throw() 4141 // to help it optimize the function calls. But this works only with 4142 // gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions 4143 // as non-throwing using a function attribute since programs can use 4144 // the -fexceptions options for C code as well. 4145 4146 // Compilers that are not clang may object to 4147 // #if defined __clang__ && __has_extension(...) 4148 // even though they do not need to evaluate the right-hand side of the &&. 4149 4150 // These two macros are not used in glibc anymore. They are kept here 4151 // only because some other projects expect the macros to be defined. 4152 4153 // For these things, GCC behaves the ANSI way normally, 4154 // and the non-ANSI way under -traditional. 4155 4156 // This is not a typedef so `const __ptr_t' does the right thing. 4157 4158 // C++ needs to know that types and declarations are C, not C++. 4159 4160 // Fortify support. 4161 4162 // Support for flexible arrays. 4163 // Headers that should use flexible arrays only if they're "real" 4164 // (e.g. only if they won't affect sizeof()) should test 4165 // #if __glibc_c99_flexarr_available. 4166 4167 // __asm__ ("xyz") is used throughout the headers to rename functions 4168 // at the assembly language level. This is wrapped by the __REDIRECT 4169 // macro, in order to support compilers that can do this some other 4170 // way. When compilers don't support asm-names at all, we have to do 4171 // preprocessor tricks instead (which don't have exactly the right 4172 // semantics, but it's the best we can do). 4173 // 4174 // Example: 4175 // int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); 4176 4177 // 4178 // #elif __SOME_OTHER_COMPILER__ 4179 // 4180 // # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias) 4181 4182 // GCC has various useful declarations that can be made with the 4183 // `__attribute__' syntax. All of the ways we use this do fine if 4184 // they are omitted for compilers that don't understand it. 4185 4186 // At some point during the gcc 2.96 development the `malloc' attribute 4187 // for functions was introduced. We don't want to use it unconditionally 4188 // (although this would be possible) since it generates warnings. 4189 4190 // Tell the compiler which arguments to an allocation function 4191 // indicate the size of the allocation. 4192 4193 // At some point during the gcc 2.96 development the `pure' attribute 4194 // for functions was introduced. We don't want to use it unconditionally 4195 // (although this would be possible) since it generates warnings. 4196 4197 // This declaration tells the compiler that the value is constant. 4198 4199 // At some point during the gcc 3.1 development the `used' attribute 4200 // for functions was introduced. We don't want to use it unconditionally 4201 // (although this would be possible) since it generates warnings. 4202 4203 // Since version 3.2, gcc allows marking deprecated functions. 4204 4205 // Since version 4.5, gcc also allows one to specify the message printed 4206 // when a deprecated function is used. clang claims to be gcc 4.2, but 4207 // may also support this feature. 4208 4209 // At some point during the gcc 2.8 development the `format_arg' attribute 4210 // for functions was introduced. We don't want to use it unconditionally 4211 // (although this would be possible) since it generates warnings. 4212 // If several `format_arg' attributes are given for the same function, in 4213 // gcc-3.0 and older, all but the last one are ignored. In newer gccs, 4214 // all designated arguments are considered. 4215 4216 // At some point during the gcc 2.97 development the `strfmon' format 4217 // attribute for functions was introduced. We don't want to use it 4218 // unconditionally (although this would be possible) since it 4219 // generates warnings. 4220 4221 // The nonull function attribute allows to mark pointer parameters which 4222 // must not be NULL. 4223 4224 // If fortification mode, we warn about unused results of certain 4225 // function calls which can lead to problems. 4226 4227 // Forces a function to be always inlined. 4228 // The Linux kernel defines __always_inline in stddef.h (283d7573), and 4229 // it conflicts with this definition. Therefore undefine it first to 4230 // allow either header to be included first. 4231 4232 // Associate error messages with the source location of the call site rather 4233 // than with the source location inside the function. 4234 4235 // GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 4236 // inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ 4237 // or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions 4238 // older than 4.3 may define these macros and still not guarantee GNU inlining 4239 // semantics. 4240 // 4241 // clang++ identifies itself as gcc-4.2, but has support for GNU inlining 4242 // semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and 4243 // __GNUC_GNU_INLINE__ macro definitions. 4244 4245 // GCC 4.3 and above allow passing all anonymous arguments of an 4246 // __extern_always_inline function to some other vararg function. 4247 4248 // It is possible to compile containing GCC extensions even if GCC is 4249 // run in pedantic mode if the uses are carefully marked using the 4250 // `__extension__' keyword. But this is not generally available before 4251 // version 2.8. 4252 4253 // __restrict is known in EGCS 1.2 and above. 4254 4255 // ISO C99 also allows to declare arrays as non-overlapping. The syntax is 4256 // array_name[restrict] 4257 // GCC 3.1 supports this. 4258 4259 // Describes a char array whose address can safely be passed as the first 4260 // argument to strncpy and strncat, as the char array is not necessarily 4261 // a NUL-terminated string. 4262 4263 // Undefine (also defined in libc-symbols.h). 4264 // Copies attributes from the declaration or type referenced by 4265 // the argument. 4266 4267 // Determine the wordsize from the preprocessor defines. 4268 4269 // Both x86-64 and x32 use the 64-bit system call interface. 4270 // Properties of long double type. ldbl-96 version. 4271 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 4272 // This file is part of the GNU C Library. 4273 // 4274 // The GNU C Library is free software; you can redistribute it and/or 4275 // modify it under the terms of the GNU Lesser General Public 4276 // License published by the Free Software Foundation; either 4277 // version 2.1 of the License, or (at your option) any later version. 4278 // 4279 // The GNU C Library is distributed in the hope that it will be useful, 4280 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4281 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4282 // Lesser General Public License for more details. 4283 // 4284 // You should have received a copy of the GNU Lesser General Public 4285 // License along with the GNU C Library; if not, see 4286 // <https://www.gnu.org/licenses/>. 4287 4288 // long double is distinct from double, so there is nothing to 4289 // define here. 4290 4291 // __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is 4292 // intended for use in preprocessor macros. 4293 // 4294 // Note: MESSAGE must be a _single_ string; concatenation of string 4295 // literals is not supported. 4296 4297 // Generic selection (ISO C11) is a C-only feature, available in GCC 4298 // since version 4.9. Previous versions do not provide generic 4299 // selection, even though they might set __STDC_VERSION__ to 201112L, 4300 // when in -std=c11 mode. Thus, we must check for !defined __GNUC__ 4301 // when testing __STDC_VERSION__ for generic selection support. 4302 // On the other hand, Clang also defines __GNUC__, so a clang-specific 4303 // check is required to enable the use of generic selection. 4304 4305 // If we don't have __REDIRECT, prototypes will be missing if 4306 // __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. 4307 4308 // Decide whether we can define 'extern inline' functions in headers. 4309 4310 // This is here only because every header file already includes this one. 4311 // Get the definitions of all the appropriate `__stub_FUNCTION' symbols. 4312 // <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub 4313 // that will always return failure (and set errno to ENOSYS). 4314 // This file is automatically generated. 4315 // This file selects the right generated file of `__stub_FUNCTION' macros 4316 // based on the architecture being compiled for. 4317 4318 // This file is automatically generated. 4319 // It defines a symbol `__stub_FUNCTION' for each function 4320 // in the C library which is a stub, meaning it will fail 4321 // every time called, usually setting errno to ENOSYS. 4322 4323 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 4324 // macro. 4325 4326 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 4327 // macro. Most but not all symbols enabled by that macro in TS 4328 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 4329 // still require that macro in C2X. 4330 4331 // ISO/IEC TS 18661-4:2015 defines the 4332 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 4333 // functions, the symbols from this TS are enabled unconditionally in 4334 // C2X. 4335 4336 // ISO/IEC TS 18661-3:2015 defines the 4337 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 4338 // bits/types.h -- definitions of __*_t types underlying *_t types. 4339 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4340 // This file is part of the GNU C Library. 4341 // 4342 // The GNU C Library is free software; you can redistribute it and/or 4343 // modify it under the terms of the GNU Lesser General Public 4344 // License as published by the Free Software Foundation; either 4345 // version 2.1 of the License, or (at your option) any later version. 4346 // 4347 // The GNU C Library is distributed in the hope that it will be useful, 4348 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4349 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4350 // Lesser General Public License for more details. 4351 // 4352 // You should have received a copy of the GNU Lesser General Public 4353 // License along with the GNU C Library; if not, see 4354 // <https://www.gnu.org/licenses/>. 4355 4356 // Never include this file directly; use <sys/types.h> instead. 4357 4358 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4359 // This file is part of the GNU C Library. 4360 // 4361 // The GNU C Library is free software; you can redistribute it and/or 4362 // modify it under the terms of the GNU Lesser General Public 4363 // License as published by the Free Software Foundation; either 4364 // version 2.1 of the License, or (at your option) any later version. 4365 // 4366 // The GNU C Library is distributed in the hope that it will be useful, 4367 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4368 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4369 // Lesser General Public License for more details. 4370 // 4371 // You should have received a copy of the GNU Lesser General Public 4372 // License along with the GNU C Library; if not, see 4373 // <https://www.gnu.org/licenses/>. 4374 4375 // Determine the wordsize from the preprocessor defines. 4376 4377 // Both x86-64 and x32 use the 64-bit system call interface. 4378 // Bit size of the time_t type at glibc build time, x86-64 and x32 case. 4379 // Copyright (C) 2018-2020 Free Software Foundation, Inc. 4380 // This file is part of the GNU C Library. 4381 // 4382 // The GNU C Library is free software; you can redistribute it and/or 4383 // modify it under the terms of the GNU Lesser General Public 4384 // License as published by the Free Software Foundation; either 4385 // version 2.1 of the License, or (at your option) any later version. 4386 // 4387 // The GNU C Library is distributed in the hope that it will be useful, 4388 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4389 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4390 // Lesser General Public License for more details. 4391 // 4392 // You should have received a copy of the GNU Lesser General Public 4393 // License along with the GNU C Library; if not, see 4394 // <https://www.gnu.org/licenses/>. 4395 4396 // For others, time size is word size. 4397 4398 // Convenience types. 4399 type X__u_char = uint8 /* types.h:31:23 */ 4400 type X__u_short = uint16 /* types.h:32:28 */ 4401 type X__u_int = uint32 /* types.h:33:22 */ 4402 type X__u_long = uint64 /* types.h:34:27 */ 4403 4404 // Fixed-size types, underlying types depend on word size and compiler. 4405 type X__int8_t = int8 /* types.h:37:21 */ 4406 type X__uint8_t = uint8 /* types.h:38:23 */ 4407 type X__int16_t = int16 /* types.h:39:26 */ 4408 type X__uint16_t = uint16 /* types.h:40:28 */ 4409 type X__int32_t = int32 /* types.h:41:20 */ 4410 type X__uint32_t = uint32 /* types.h:42:22 */ 4411 type X__int64_t = int64 /* types.h:44:25 */ 4412 type X__uint64_t = uint64 /* types.h:45:27 */ 4413 4414 // Smallest types with at least a given width. 4415 type X__int_least8_t = X__int8_t /* types.h:52:18 */ 4416 type X__uint_least8_t = X__uint8_t /* types.h:53:19 */ 4417 type X__int_least16_t = X__int16_t /* types.h:54:19 */ 4418 type X__uint_least16_t = X__uint16_t /* types.h:55:20 */ 4419 type X__int_least32_t = X__int32_t /* types.h:56:19 */ 4420 type X__uint_least32_t = X__uint32_t /* types.h:57:20 */ 4421 type X__int_least64_t = X__int64_t /* types.h:58:19 */ 4422 type X__uint_least64_t = X__uint64_t /* types.h:59:20 */ 4423 4424 // quad_t is also 64 bits. 4425 type X__quad_t = int64 /* types.h:63:18 */ 4426 type X__u_quad_t = uint64 /* types.h:64:27 */ 4427 4428 // Largest integral types. 4429 type X__intmax_t = int64 /* types.h:72:18 */ 4430 type X__uintmax_t = uint64 /* types.h:73:27 */ 4431 4432 // The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE 4433 // macros for each of the OS types we define below. The definitions 4434 // of those macros must use the following macros for underlying types. 4435 // We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned 4436 // variants of each of the following integer types on this machine. 4437 // 4438 // 16 -- "natural" 16-bit type (always short) 4439 // 32 -- "natural" 32-bit type (always int) 4440 // 64 -- "natural" 64-bit type (long or long long) 4441 // LONG32 -- 32-bit type, traditionally long 4442 // QUAD -- 64-bit type, traditionally long long 4443 // WORD -- natural type of __WORDSIZE bits (int or long) 4444 // LONGWORD -- type of __WORDSIZE bits, traditionally long 4445 // 4446 // We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the 4447 // conventional uses of `long' or `long long' type modifiers match the 4448 // types we define, even when a less-adorned type would be the same size. 4449 // This matters for (somewhat) portably writing printf/scanf formats for 4450 // these types, where using the appropriate l or ll format modifiers can 4451 // make the typedefs and the formats match up across all GNU platforms. If 4452 // we used `long' when it's 64 bits where `long long' is expected, then the 4453 // compiler would warn about the formats not matching the argument types, 4454 // and the programmer changing them to shut up the compiler would break the 4455 // program's portability. 4456 // 4457 // Here we assume what is presently the case in all the GCC configurations 4458 // we support: long long is always 64 bits, long is always word/address size, 4459 // and int is always 32 bits. 4460 4461 // No need to mark the typedef with __extension__. 4462 // bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version. 4463 // Copyright (C) 2012-2020 Free Software Foundation, Inc. 4464 // This file is part of the GNU C Library. 4465 // 4466 // The GNU C Library is free software; you can redistribute it and/or 4467 // modify it under the terms of the GNU Lesser General Public 4468 // License as published by the Free Software Foundation; either 4469 // version 2.1 of the License, or (at your option) any later version. 4470 // 4471 // The GNU C Library is distributed in the hope that it will be useful, 4472 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4473 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4474 // Lesser General Public License for more details. 4475 // 4476 // You should have received a copy of the GNU Lesser General Public 4477 // License along with the GNU C Library; if not, see 4478 // <https://www.gnu.org/licenses/>. 4479 4480 // See <bits/types.h> for the meaning of these macros. This file exists so 4481 // that <bits/types.h> need not vary across different GNU platforms. 4482 4483 // X32 kernel interface is 64-bit. 4484 4485 // Tell the libc code that off_t and off64_t are actually the same type 4486 // for all ABI purposes, even if possibly expressed as different base types 4487 // for C type-checking purposes. 4488 4489 // Same for ino_t and ino64_t. 4490 4491 // And for __rlim_t and __rlim64_t. 4492 4493 // And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. 4494 4495 // Number of descriptors that can fit in an `fd_set'. 4496 4497 // bits/time64.h -- underlying types for __time64_t. Generic version. 4498 // Copyright (C) 2018-2020 Free Software Foundation, Inc. 4499 // This file is part of the GNU C Library. 4500 // 4501 // The GNU C Library is free software; you can redistribute it and/or 4502 // modify it under the terms of the GNU Lesser General Public 4503 // License as published by the Free Software Foundation; either 4504 // version 2.1 of the License, or (at your option) any later version. 4505 // 4506 // The GNU C Library is distributed in the hope that it will be useful, 4507 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4508 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4509 // Lesser General Public License for more details. 4510 // 4511 // You should have received a copy of the GNU Lesser General Public 4512 // License along with the GNU C Library; if not, see 4513 // <https://www.gnu.org/licenses/>. 4514 4515 // Define __TIME64_T_TYPE so that it is always a 64-bit type. 4516 4517 // If we already have 64-bit time type then use it. 4518 4519 type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers. 4520 type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications. 4521 type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications. 4522 type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers. 4523 type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS). 4524 type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks. 4525 type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts. 4526 type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets. 4527 type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS). 4528 type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications. 4529 type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs. 4530 type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts. 4531 type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement. 4532 type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS). 4533 type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs. 4534 type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch. 4535 type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds. 4536 type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds. 4537 4538 type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address. 4539 type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key. 4540 4541 // Clock ID used in clock and timer functions. 4542 type X__clockid_t = int32 /* types.h:168:29 */ 4543 4544 // Timer ID returned by `timer_create'. 4545 type X__timer_t = uintptr /* types.h:171:12 */ 4546 4547 // Type to represent block size. 4548 type X__blksize_t = int64 /* types.h:174:29 */ 4549 4550 // Types from the Large File Support interface. 4551 4552 // Type to count number of disk blocks. 4553 type X__blkcnt_t = int64 /* types.h:179:28 */ 4554 type X__blkcnt64_t = int64 /* types.h:180:30 */ 4555 4556 // Type to count file system blocks. 4557 type X__fsblkcnt_t = uint64 /* types.h:183:30 */ 4558 type X__fsblkcnt64_t = uint64 /* types.h:184:32 */ 4559 4560 // Type to count file system nodes. 4561 type X__fsfilcnt_t = uint64 /* types.h:187:30 */ 4562 type X__fsfilcnt64_t = uint64 /* types.h:188:32 */ 4563 4564 // Type of miscellaneous file system fields. 4565 type X__fsword_t = int64 /* types.h:191:28 */ 4566 4567 type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error. 4568 4569 // Signed long type used in system calls. 4570 type X__syscall_slong_t = int64 /* types.h:196:33 */ 4571 // Unsigned long type used in system calls. 4572 type X__syscall_ulong_t = uint64 /* types.h:198:33 */ 4573 4574 // These few don't really vary by system, they always correspond 4575 // to one of the other defined types. 4576 type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS). 4577 type X__caddr_t = uintptr /* types.h:203:14 */ 4578 4579 // Duplicates info from stdint.h but this is used in unistd.h. 4580 type X__intptr_t = int64 /* types.h:206:25 */ 4581 4582 // Duplicate info from sys/socket.h. 4583 type X__socklen_t = uint32 /* types.h:209:23 */ 4584 4585 // C99: An integer type that can be accessed as an atomic entity, 4586 // even in the presence of asynchronous interrupts. 4587 // It is not currently necessary for this to be machine-specific. 4588 type X__sig_atomic_t = int32 /* types.h:214:13 */ 4589 4590 // Seconds since the Epoch, visible to user code when time_t is too 4591 // narrow only for consistency with the old way of widening too-narrow 4592 // types. User code should never use __time64_t. 4593 4594 // wchar_t type related definitions. 4595 // Copyright (C) 2000-2020 Free Software Foundation, Inc. 4596 // This file is part of the GNU C Library. 4597 // 4598 // The GNU C Library is free software; you can redistribute it and/or 4599 // modify it under the terms of the GNU Lesser General Public 4600 // License as published by the Free Software Foundation; either 4601 // version 2.1 of the License, or (at your option) any later version. 4602 // 4603 // The GNU C Library is distributed in the hope that it will be useful, 4604 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4605 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4606 // Lesser General Public License for more details. 4607 // 4608 // You should have received a copy of the GNU Lesser General Public 4609 // License along with the GNU C Library; if not, see 4610 // <https://www.gnu.org/licenses/>. 4611 4612 // The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__ 4613 // are not defined, give the right value and type as long as both int 4614 // and wchar_t are 32-bit types. Adding L'\0' to a constant value 4615 // ensures that the type is correct; it is necessary to use (L'\0' + 4616 // 0) rather than just L'\0' so that the type in C++ is the promoted 4617 // version of wchar_t rather than the distinct wchar_t type itself. 4618 // Because wchar_t in preprocessor #if expressions is treated as 4619 // intmax_t or uintmax_t, the expression (L'\0' - 1) would have the 4620 // wrong value for WCHAR_MAX in such expressions and so cannot be used 4621 // to define __WCHAR_MAX in the unsigned case. 4622 4623 // Determine the wordsize from the preprocessor defines. 4624 4625 // Both x86-64 and x32 use the 64-bit system call interface. 4626 4627 // Exact integral types. 4628 4629 // Signed. 4630 // Define intN_t types. 4631 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 4632 // This file is part of the GNU C Library. 4633 // 4634 // The GNU C Library is free software; you can redistribute it and/or 4635 // modify it under the terms of the GNU Lesser General Public 4636 // License as published by the Free Software Foundation; either 4637 // version 2.1 of the License, or (at your option) any later version. 4638 // 4639 // The GNU C Library is distributed in the hope that it will be useful, 4640 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4641 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4642 // Lesser General Public License for more details. 4643 // 4644 // You should have received a copy of the GNU Lesser General Public 4645 // License along with the GNU C Library; if not, see 4646 // <https://www.gnu.org/licenses/>. 4647 4648 // bits/types.h -- definitions of __*_t types underlying *_t types. 4649 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4650 // This file is part of the GNU C Library. 4651 // 4652 // The GNU C Library is free software; you can redistribute it and/or 4653 // modify it under the terms of the GNU Lesser General Public 4654 // License as published by the Free Software Foundation; either 4655 // version 2.1 of the License, or (at your option) any later version. 4656 // 4657 // The GNU C Library is distributed in the hope that it will be useful, 4658 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4659 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4660 // Lesser General Public License for more details. 4661 // 4662 // You should have received a copy of the GNU Lesser General Public 4663 // License along with the GNU C Library; if not, see 4664 // <https://www.gnu.org/licenses/>. 4665 4666 // Never include this file directly; use <sys/types.h> instead. 4667 4668 type Int8_t = X__int8_t /* stdint-intn.h:24:18 */ 4669 type Int16_t = X__int16_t /* stdint-intn.h:25:19 */ 4670 type Int32_t = X__int32_t /* stdint-intn.h:26:19 */ 4671 type Int64_t = X__int64_t /* stdint-intn.h:27:19 */ 4672 4673 // Unsigned. 4674 // Define uintN_t types. 4675 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 4676 // This file is part of the GNU C Library. 4677 // 4678 // The GNU C Library is free software; you can redistribute it and/or 4679 // modify it under the terms of the GNU Lesser General Public 4680 // License as published by the Free Software Foundation; either 4681 // version 2.1 of the License, or (at your option) any later version. 4682 // 4683 // The GNU C Library is distributed in the hope that it will be useful, 4684 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4685 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4686 // Lesser General Public License for more details. 4687 // 4688 // You should have received a copy of the GNU Lesser General Public 4689 // License along with the GNU C Library; if not, see 4690 // <https://www.gnu.org/licenses/>. 4691 4692 // bits/types.h -- definitions of __*_t types underlying *_t types. 4693 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4694 // This file is part of the GNU C Library. 4695 // 4696 // The GNU C Library is free software; you can redistribute it and/or 4697 // modify it under the terms of the GNU Lesser General Public 4698 // License as published by the Free Software Foundation; either 4699 // version 2.1 of the License, or (at your option) any later version. 4700 // 4701 // The GNU C Library is distributed in the hope that it will be useful, 4702 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4703 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4704 // Lesser General Public License for more details. 4705 // 4706 // You should have received a copy of the GNU Lesser General Public 4707 // License along with the GNU C Library; if not, see 4708 // <https://www.gnu.org/licenses/>. 4709 4710 // Never include this file directly; use <sys/types.h> instead. 4711 4712 type Uint8_t = X__uint8_t /* stdint-uintn.h:24:19 */ 4713 type Uint16_t = X__uint16_t /* stdint-uintn.h:25:20 */ 4714 type Uint32_t = X__uint32_t /* stdint-uintn.h:26:20 */ 4715 type Uint64_t = X__uint64_t /* stdint-uintn.h:27:20 */ 4716 4717 // Small types. 4718 4719 // Signed. 4720 type Int_least8_t = X__int_least8_t /* stdint.h:43:24 */ 4721 type Int_least16_t = X__int_least16_t /* stdint.h:44:25 */ 4722 type Int_least32_t = X__int_least32_t /* stdint.h:45:25 */ 4723 type Int_least64_t = X__int_least64_t /* stdint.h:46:25 */ 4724 4725 // Unsigned. 4726 type Uint_least8_t = X__uint_least8_t /* stdint.h:49:25 */ 4727 type Uint_least16_t = X__uint_least16_t /* stdint.h:50:26 */ 4728 type Uint_least32_t = X__uint_least32_t /* stdint.h:51:26 */ 4729 type Uint_least64_t = X__uint_least64_t /* stdint.h:52:26 */ 4730 4731 // Fast types. 4732 4733 // Signed. 4734 type Int_fast8_t = int8 /* stdint.h:58:22 */ 4735 type Int_fast16_t = int64 /* stdint.h:60:19 */ 4736 type Int_fast32_t = int64 /* stdint.h:61:19 */ 4737 type Int_fast64_t = int64 /* stdint.h:62:19 */ 4738 4739 // Unsigned. 4740 type Uint_fast8_t = uint8 /* stdint.h:71:24 */ 4741 type Uint_fast16_t = uint64 /* stdint.h:73:27 */ 4742 type Uint_fast32_t = uint64 /* stdint.h:74:27 */ 4743 type Uint_fast64_t = uint64 /* stdint.h:75:27 */ 4744 4745 // Types for `void *' pointers. 4746 type Intptr_t = int64 /* stdint.h:87:19 */ 4747 type Uintptr_t = uint64 /* stdint.h:90:27 */ 4748 4749 // Largest integral types. 4750 type Intmax_t = X__intmax_t /* stdint.h:101:21 */ 4751 type Uintmax_t = X__uintmax_t /* stdint.h:102:22 */ 4752 4753 // Limits of integral types. 4754 4755 // Minimum of signed integral types. 4756 // Maximum of signed integral types. 4757 4758 // Maximum of unsigned integral types. 4759 4760 // Minimum of signed integral types having a minimum size. 4761 // Maximum of signed integral types having a minimum size. 4762 4763 // Maximum of unsigned integral types having a minimum size. 4764 4765 // Minimum of fast signed integral types having a minimum size. 4766 // Maximum of fast signed integral types having a minimum size. 4767 4768 // Maximum of fast unsigned integral types having a minimum size. 4769 4770 // Values to test for integral types holding `void *' pointer. 4771 4772 // Minimum for largest signed integral type. 4773 // Maximum for largest signed integral type. 4774 4775 // Maximum for largest unsigned integral type. 4776 4777 // Limits of other integer types. 4778 4779 // Limits of `ptrdiff_t' type. 4780 4781 // Limits of `sig_atomic_t'. 4782 4783 // Limit of `size_t' type. 4784 4785 // Limits of `wchar_t'. 4786 // These constants might also be defined in <wchar.h>. 4787 4788 // Limits of `wint_t'. 4789 4790 // Signed. 4791 4792 // Unsigned. 4793 4794 // Maximal type. 4795 4796 // 4797 // 4798 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 4799 // 4800 // Permission to use, copy, modify, distribute, and sell this software and its 4801 // documentation for any purpose is hereby granted without fee, provided that 4802 // the above copyright notice appear in all copies and that both that 4803 // copyright notice and this permission notice appear in supporting 4804 // documentation. 4805 // 4806 // The above copyright notice and this permission notice shall be included in 4807 // all copies or substantial portions of the Software. 4808 // 4809 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 4810 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 4811 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 4812 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 4813 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 4814 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 4815 // 4816 // Except as contained in this notice, the name of The Open Group shall not be 4817 // used in advertising or otherwise to promote the sale, use or other dealings 4818 // in this Software without prior written authorization from The Open Group. 4819 // 4820 4821 // Xlib.h - Header definition and support file for the C subroutine 4822 // interface library (Xlib) to the X Window System Protocol (V11). 4823 // Structures and symbols starting with "_" are private to the library. 4824 4825 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4826 // This file is part of the GNU C Library. 4827 // 4828 // The GNU C Library is free software; you can redistribute it and/or 4829 // modify it under the terms of the GNU Lesser General Public 4830 // License as published by the Free Software Foundation; either 4831 // version 2.1 of the License, or (at your option) any later version. 4832 // 4833 // The GNU C Library is distributed in the hope that it will be useful, 4834 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4835 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4836 // Lesser General Public License for more details. 4837 // 4838 // You should have received a copy of the GNU Lesser General Public 4839 // License along with the GNU C Library; if not, see 4840 // <https://www.gnu.org/licenses/>. 4841 4842 // POSIX Standard: 2.6 Primitive System Data Types <sys/types.h> 4843 4844 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 4845 // This file is part of the GNU C Library. 4846 // 4847 // The GNU C Library is free software; you can redistribute it and/or 4848 // modify it under the terms of the GNU Lesser General Public 4849 // License as published by the Free Software Foundation; either 4850 // version 2.1 of the License, or (at your option) any later version. 4851 // 4852 // The GNU C Library is distributed in the hope that it will be useful, 4853 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4854 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4855 // Lesser General Public License for more details. 4856 // 4857 // You should have received a copy of the GNU Lesser General Public 4858 // License along with the GNU C Library; if not, see 4859 // <https://www.gnu.org/licenses/>. 4860 4861 // bits/types.h -- definitions of __*_t types underlying *_t types. 4862 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4863 // This file is part of the GNU C Library. 4864 // 4865 // The GNU C Library is free software; you can redistribute it and/or 4866 // modify it under the terms of the GNU Lesser General Public 4867 // License as published by the Free Software Foundation; either 4868 // version 2.1 of the License, or (at your option) any later version. 4869 // 4870 // The GNU C Library is distributed in the hope that it will be useful, 4871 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4872 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4873 // Lesser General Public License for more details. 4874 // 4875 // You should have received a copy of the GNU Lesser General Public 4876 // License along with the GNU C Library; if not, see 4877 // <https://www.gnu.org/licenses/>. 4878 4879 // Never include this file directly; use <sys/types.h> instead. 4880 4881 type U_char = X__u_char /* types.h:33:18 */ 4882 type U_short = X__u_short /* types.h:34:19 */ 4883 type U_int = X__u_int /* types.h:35:17 */ 4884 type U_long = X__u_long /* types.h:36:18 */ 4885 type Quad_t = X__quad_t /* types.h:37:18 */ 4886 type U_quad_t = X__u_quad_t /* types.h:38:20 */ 4887 type Fsid_t = X__fsid_t /* types.h:39:18 */ 4888 type Loff_t = X__loff_t /* types.h:42:18 */ 4889 4890 type Ino_t = X__ino64_t /* types.h:49:19 */ 4891 4892 type Dev_t = X__dev_t /* types.h:59:17 */ 4893 4894 type Gid_t = X__gid_t /* types.h:64:17 */ 4895 4896 type Mode_t = X__mode_t /* types.h:69:18 */ 4897 4898 type Nlink_t = X__nlink_t /* types.h:74:19 */ 4899 4900 type Uid_t = X__uid_t /* types.h:79:17 */ 4901 4902 type Off_t = X__off64_t /* types.h:87:19 */ 4903 4904 type Pid_t = X__pid_t /* types.h:97:17 */ 4905 4906 type Id_t = X__id_t /* types.h:103:16 */ 4907 4908 type Ssize_t = X__ssize_t /* types.h:108:19 */ 4909 4910 type Daddr_t = X__daddr_t /* types.h:114:19 */ 4911 type Caddr_t = X__caddr_t /* types.h:115:19 */ 4912 4913 type Key_t = X__key_t /* types.h:121:17 */ 4914 4915 // bits/types.h -- definitions of __*_t types underlying *_t types. 4916 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4917 // This file is part of the GNU C Library. 4918 // 4919 // The GNU C Library is free software; you can redistribute it and/or 4920 // modify it under the terms of the GNU Lesser General Public 4921 // License as published by the Free Software Foundation; either 4922 // version 2.1 of the License, or (at your option) any later version. 4923 // 4924 // The GNU C Library is distributed in the hope that it will be useful, 4925 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4926 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4927 // Lesser General Public License for more details. 4928 // 4929 // You should have received a copy of the GNU Lesser General Public 4930 // License along with the GNU C Library; if not, see 4931 // <https://www.gnu.org/licenses/>. 4932 4933 // Never include this file directly; use <sys/types.h> instead. 4934 4935 // Returned by `clock'. 4936 type Clock_t = X__clock_t /* clock_t.h:7:19 */ 4937 4938 // bits/types.h -- definitions of __*_t types underlying *_t types. 4939 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4940 // This file is part of the GNU C Library. 4941 // 4942 // The GNU C Library is free software; you can redistribute it and/or 4943 // modify it under the terms of the GNU Lesser General Public 4944 // License as published by the Free Software Foundation; either 4945 // version 2.1 of the License, or (at your option) any later version. 4946 // 4947 // The GNU C Library is distributed in the hope that it will be useful, 4948 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4949 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4950 // Lesser General Public License for more details. 4951 // 4952 // You should have received a copy of the GNU Lesser General Public 4953 // License along with the GNU C Library; if not, see 4954 // <https://www.gnu.org/licenses/>. 4955 4956 // Never include this file directly; use <sys/types.h> instead. 4957 4958 // Clock ID used in clock and timer functions. 4959 type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */ 4960 4961 // bits/types.h -- definitions of __*_t types underlying *_t types. 4962 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4963 // This file is part of the GNU C Library. 4964 // 4965 // The GNU C Library is free software; you can redistribute it and/or 4966 // modify it under the terms of the GNU Lesser General Public 4967 // License as published by the Free Software Foundation; either 4968 // version 2.1 of the License, or (at your option) any later version. 4969 // 4970 // The GNU C Library is distributed in the hope that it will be useful, 4971 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4972 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4973 // Lesser General Public License for more details. 4974 // 4975 // You should have received a copy of the GNU Lesser General Public 4976 // License along with the GNU C Library; if not, see 4977 // <https://www.gnu.org/licenses/>. 4978 4979 // Never include this file directly; use <sys/types.h> instead. 4980 4981 // Returned by `time'. 4982 type Time_t = X__time_t /* time_t.h:7:18 */ 4983 4984 // bits/types.h -- definitions of __*_t types underlying *_t types. 4985 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 4986 // This file is part of the GNU C Library. 4987 // 4988 // The GNU C Library is free software; you can redistribute it and/or 4989 // modify it under the terms of the GNU Lesser General Public 4990 // License as published by the Free Software Foundation; either 4991 // version 2.1 of the License, or (at your option) any later version. 4992 // 4993 // The GNU C Library is distributed in the hope that it will be useful, 4994 // but WITHOUT ANY WARRANTY; without even the implied warranty of 4995 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 4996 // Lesser General Public License for more details. 4997 // 4998 // You should have received a copy of the GNU Lesser General Public 4999 // License along with the GNU C Library; if not, see 5000 // <https://www.gnu.org/licenses/>. 5001 5002 // Never include this file directly; use <sys/types.h> instead. 5003 5004 // Timer ID returned by `timer_create'. 5005 type Timer_t = X__timer_t /* timer_t.h:7:19 */ 5006 5007 // Wide character type. 5008 // Locale-writers should change this as necessary to 5009 // be big enough to hold unique values not between 0 and 127, 5010 // and not (wchar_t) -1, for each defined multibyte character. 5011 5012 // Define this type if we are doing the whole job, 5013 // or if we want this type in particular. 5014 5015 // A null pointer constant. 5016 5017 // Old compatibility names for C types. 5018 type Ulong = uint64 /* types.h:148:27 */ 5019 type Ushort = uint16 /* types.h:149:28 */ 5020 type Uint = uint32 /* types.h:150:22 */ 5021 5022 // These size-specific names are used by some of the inet code. 5023 5024 // Define intN_t types. 5025 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5026 // This file is part of the GNU C Library. 5027 // 5028 // The GNU C Library is free software; you can redistribute it and/or 5029 // modify it under the terms of the GNU Lesser General Public 5030 // License as published by the Free Software Foundation; either 5031 // version 2.1 of the License, or (at your option) any later version. 5032 // 5033 // The GNU C Library is distributed in the hope that it will be useful, 5034 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5035 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5036 // Lesser General Public License for more details. 5037 // 5038 // You should have received a copy of the GNU Lesser General Public 5039 // License along with the GNU C Library; if not, see 5040 // <https://www.gnu.org/licenses/>. 5041 5042 // These were defined by ISO C without the first `_'. 5043 type U_int8_t = X__uint8_t /* types.h:158:19 */ 5044 type U_int16_t = X__uint16_t /* types.h:159:20 */ 5045 type U_int32_t = X__uint32_t /* types.h:160:20 */ 5046 type U_int64_t = X__uint64_t /* types.h:161:20 */ 5047 5048 type Register_t = int32 /* types.h:164:13 */ 5049 5050 // It also defines `fd_set' and the FD_* macros for `select'. 5051 // `fd_set' type and related macros, and `select'/`pselect' declarations. 5052 // Copyright (C) 1996-2020 Free Software Foundation, Inc. 5053 // This file is part of the GNU C Library. 5054 // 5055 // The GNU C Library is free software; you can redistribute it and/or 5056 // modify it under the terms of the GNU Lesser General Public 5057 // License as published by the Free Software Foundation; either 5058 // version 2.1 of the License, or (at your option) any later version. 5059 // 5060 // The GNU C Library is distributed in the hope that it will be useful, 5061 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5062 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5063 // Lesser General Public License for more details. 5064 // 5065 // You should have received a copy of the GNU Lesser General Public 5066 // License along with the GNU C Library; if not, see 5067 // <https://www.gnu.org/licenses/>. 5068 5069 // POSIX 1003.1g: 6.2 Select from File Descriptor Sets <sys/select.h> 5070 5071 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 5072 // This file is part of the GNU C Library. 5073 // 5074 // The GNU C Library is free software; you can redistribute it and/or 5075 // modify it under the terms of the GNU Lesser General Public 5076 // License as published by the Free Software Foundation; either 5077 // version 2.1 of the License, or (at your option) any later version. 5078 // 5079 // The GNU C Library is distributed in the hope that it will be useful, 5080 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5081 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5082 // Lesser General Public License for more details. 5083 // 5084 // You should have received a copy of the GNU Lesser General Public 5085 // License along with the GNU C Library; if not, see 5086 // <https://www.gnu.org/licenses/>. 5087 5088 // Get definition of needed basic types. 5089 // bits/types.h -- definitions of __*_t types underlying *_t types. 5090 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5091 // This file is part of the GNU C Library. 5092 // 5093 // The GNU C Library is free software; you can redistribute it and/or 5094 // modify it under the terms of the GNU Lesser General Public 5095 // License as published by the Free Software Foundation; either 5096 // version 2.1 of the License, or (at your option) any later version. 5097 // 5098 // The GNU C Library is distributed in the hope that it will be useful, 5099 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5100 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5101 // Lesser General Public License for more details. 5102 // 5103 // You should have received a copy of the GNU Lesser General Public 5104 // License along with the GNU C Library; if not, see 5105 // <https://www.gnu.org/licenses/>. 5106 5107 // Never include this file directly; use <sys/types.h> instead. 5108 5109 // Get __FD_* definitions. 5110 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 5111 // This file is part of the GNU C Library. 5112 // 5113 // The GNU C Library is free software; you can redistribute it and/or 5114 // modify it under the terms of the GNU Lesser General Public 5115 // License as published by the Free Software Foundation; either 5116 // version 2.1 of the License, or (at your option) any later version. 5117 // 5118 // The GNU C Library is distributed in the hope that it will be useful, 5119 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5120 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5121 // Lesser General Public License for more details. 5122 // 5123 // You should have received a copy of the GNU Lesser General Public 5124 // License along with the GNU C Library; if not, see 5125 // <https://www.gnu.org/licenses/>. 5126 5127 // Determine the wordsize from the preprocessor defines. 5128 5129 // Both x86-64 and x32 use the 64-bit system call interface. 5130 5131 // Get sigset_t. 5132 5133 type X__sigset_t = struct{ F__val [16]uint64 } /* __sigset_t.h:8:3 */ 5134 5135 // A set of signals to be blocked, unblocked, or waited for. 5136 type Sigset_t = X__sigset_t /* sigset_t.h:7:20 */ 5137 5138 // Get definition of timer specification structures. 5139 5140 // bits/types.h -- definitions of __*_t types underlying *_t types. 5141 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5142 // This file is part of the GNU C Library. 5143 // 5144 // The GNU C Library is free software; you can redistribute it and/or 5145 // modify it under the terms of the GNU Lesser General Public 5146 // License as published by the Free Software Foundation; either 5147 // version 2.1 of the License, or (at your option) any later version. 5148 // 5149 // The GNU C Library is distributed in the hope that it will be useful, 5150 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5151 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5152 // Lesser General Public License for more details. 5153 // 5154 // You should have received a copy of the GNU Lesser General Public 5155 // License along with the GNU C Library; if not, see 5156 // <https://www.gnu.org/licenses/>. 5157 5158 // Never include this file directly; use <sys/types.h> instead. 5159 5160 // A time value that is accurate to the nearest 5161 // microsecond but also has a range of years. 5162 type Timeval = struct { 5163 Ftv_sec X__time_t 5164 Ftv_usec X__suseconds_t 5165 } /* struct_timeval.h:8:1 */ 5166 5167 // NB: Include guard matches what <linux/time.h> uses. 5168 5169 // bits/types.h -- definitions of __*_t types underlying *_t types. 5170 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5171 // This file is part of the GNU C Library. 5172 // 5173 // The GNU C Library is free software; you can redistribute it and/or 5174 // modify it under the terms of the GNU Lesser General Public 5175 // License as published by the Free Software Foundation; either 5176 // version 2.1 of the License, or (at your option) any later version. 5177 // 5178 // The GNU C Library is distributed in the hope that it will be useful, 5179 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5180 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5181 // Lesser General Public License for more details. 5182 // 5183 // You should have received a copy of the GNU Lesser General Public 5184 // License along with the GNU C Library; if not, see 5185 // <https://www.gnu.org/licenses/>. 5186 5187 // Never include this file directly; use <sys/types.h> instead. 5188 5189 // Endian macros for string.h functions 5190 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 5191 // This file is part of the GNU C Library. 5192 // 5193 // The GNU C Library is free software; you can redistribute it and/or 5194 // modify it under the terms of the GNU Lesser General Public 5195 // License as published by the Free Software Foundation; either 5196 // version 2.1 of the License, or (at your option) any later version. 5197 // 5198 // The GNU C Library is distributed in the hope that it will be useful, 5199 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5200 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5201 // Lesser General Public License for more details. 5202 // 5203 // You should have received a copy of the GNU Lesser General Public 5204 // License along with the GNU C Library; if not, see 5205 // <http://www.gnu.org/licenses/>. 5206 5207 // POSIX.1b structure for a time value. This is like a `struct timeval' but 5208 // has nanoseconds instead of microseconds. 5209 type Timespec = struct { 5210 Ftv_sec X__time_t 5211 Ftv_nsec X__syscall_slong_t 5212 } /* struct_timespec.h:10:1 */ 5213 5214 type Suseconds_t = X__suseconds_t /* select.h:43:23 */ 5215 5216 // The fd_set member is required to be an array of longs. 5217 type X__fd_mask = int64 /* select.h:49:18 */ 5218 5219 // Some versions of <linux/posix_types.h> define this macros. 5220 // It's easier to assume 8-bit bytes than to get CHAR_BIT. 5221 5222 // fd_set for select and pselect. 5223 type Fd_set = struct{ F__fds_bits [16]X__fd_mask } /* select.h:70:5 */ 5224 5225 // Maximum number of file descriptors in `fd_set'. 5226 5227 // Sometimes the fd_set member is assumed to have this type. 5228 type Fd_mask = X__fd_mask /* select.h:77:19 */ 5229 5230 // Define some inlines helping to catch common problems. 5231 5232 type Blksize_t = X__blksize_t /* types.h:185:21 */ 5233 5234 // Types from the Large File Support interface. 5235 type Blkcnt_t = X__blkcnt64_t /* types.h:205:22 */ // Type to count number of disk blocks. 5236 type Fsblkcnt_t = X__fsblkcnt64_t /* types.h:209:24 */ // Type to count file system blocks. 5237 type Fsfilcnt_t = X__fsfilcnt64_t /* types.h:213:24 */ // Type to count file system inodes. 5238 5239 // Now add the thread types. 5240 // Declaration of common pthread types for all architectures. 5241 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5242 // This file is part of the GNU C Library. 5243 // 5244 // The GNU C Library is free software; you can redistribute it and/or 5245 // modify it under the terms of the GNU Lesser General Public 5246 // License as published by the Free Software Foundation; either 5247 // version 2.1 of the License, or (at your option) any later version. 5248 // 5249 // The GNU C Library is distributed in the hope that it will be useful, 5250 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5251 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5252 // Lesser General Public License for more details. 5253 // 5254 // You should have received a copy of the GNU Lesser General Public 5255 // License along with the GNU C Library; if not, see 5256 // <https://www.gnu.org/licenses/>. 5257 5258 // For internal mutex and condition variable definitions. 5259 // Common threading primitives definitions for both POSIX and C11. 5260 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5261 // This file is part of the GNU C Library. 5262 // 5263 // The GNU C Library is free software; you can redistribute it and/or 5264 // modify it under the terms of the GNU Lesser General Public 5265 // License as published by the Free Software Foundation; either 5266 // version 2.1 of the License, or (at your option) any later version. 5267 // 5268 // The GNU C Library is distributed in the hope that it will be useful, 5269 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5270 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5271 // Lesser General Public License for more details. 5272 // 5273 // You should have received a copy of the GNU Lesser General Public 5274 // License along with the GNU C Library; if not, see 5275 // <https://www.gnu.org/licenses/>. 5276 5277 // Arch-specific definitions. Each architecture must define the following 5278 // macros to define the expected sizes of pthread data types: 5279 // 5280 // __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. 5281 // __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. 5282 // __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. 5283 // __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. 5284 // __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. 5285 // __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. 5286 // __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. 5287 // __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. 5288 // __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. 5289 // 5290 // The additional macro defines any constraint for the lock alignment 5291 // inside the thread structures: 5292 // 5293 // __LOCK_ALIGNMENT - for internal lock/futex usage. 5294 // 5295 // Same idea but for the once locking primitive: 5296 // 5297 // __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. 5298 5299 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5300 // This file is part of the GNU C Library. 5301 // 5302 // The GNU C Library is free software; you can redistribute it and/or 5303 // modify it under the terms of the GNU Lesser General Public 5304 // License as published by the Free Software Foundation; either 5305 // version 2.1 of the License, or (at your option) any later version. 5306 // 5307 // The GNU C Library is distributed in the hope that it will be useful, 5308 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5309 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5310 // Lesser General Public License for more details. 5311 // 5312 // You should have received a copy of the GNU Lesser General Public 5313 // License along with the GNU C Library; if not, see 5314 // <https://www.gnu.org/licenses/>. 5315 5316 // Determine the wordsize from the preprocessor defines. 5317 5318 // Both x86-64 and x32 use the 64-bit system call interface. 5319 5320 // Common definition of pthread_mutex_t. 5321 5322 type X__pthread_internal_list = struct { 5323 F__prev uintptr 5324 F__next uintptr 5325 } /* thread-shared-types.h:49:9 */ 5326 5327 // Type to count file system inodes. 5328 5329 // Now add the thread types. 5330 // Declaration of common pthread types for all architectures. 5331 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5332 // This file is part of the GNU C Library. 5333 // 5334 // The GNU C Library is free software; you can redistribute it and/or 5335 // modify it under the terms of the GNU Lesser General Public 5336 // License as published by the Free Software Foundation; either 5337 // version 2.1 of the License, or (at your option) any later version. 5338 // 5339 // The GNU C Library is distributed in the hope that it will be useful, 5340 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5341 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5342 // Lesser General Public License for more details. 5343 // 5344 // You should have received a copy of the GNU Lesser General Public 5345 // License along with the GNU C Library; if not, see 5346 // <https://www.gnu.org/licenses/>. 5347 5348 // For internal mutex and condition variable definitions. 5349 // Common threading primitives definitions for both POSIX and C11. 5350 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 5351 // This file is part of the GNU C Library. 5352 // 5353 // The GNU C Library is free software; you can redistribute it and/or 5354 // modify it under the terms of the GNU Lesser General Public 5355 // License as published by the Free Software Foundation; either 5356 // version 2.1 of the License, or (at your option) any later version. 5357 // 5358 // The GNU C Library is distributed in the hope that it will be useful, 5359 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5360 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5361 // Lesser General Public License for more details. 5362 // 5363 // You should have received a copy of the GNU Lesser General Public 5364 // License along with the GNU C Library; if not, see 5365 // <https://www.gnu.org/licenses/>. 5366 5367 // Arch-specific definitions. Each architecture must define the following 5368 // macros to define the expected sizes of pthread data types: 5369 // 5370 // __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. 5371 // __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. 5372 // __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. 5373 // __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. 5374 // __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. 5375 // __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. 5376 // __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. 5377 // __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. 5378 // __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. 5379 // 5380 // The additional macro defines any constraint for the lock alignment 5381 // inside the thread structures: 5382 // 5383 // __LOCK_ALIGNMENT - for internal lock/futex usage. 5384 // 5385 // Same idea but for the once locking primitive: 5386 // 5387 // __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. 5388 5389 // Copyright (C) 2002-2020 Free Software Foundation, Inc. 5390 // This file is part of the GNU C Library. 5391 // 5392 // The GNU C Library is free software; you can redistribute it and/or 5393 // modify it under the terms of the GNU Lesser General Public 5394 // License as published by the Free Software Foundation; either 5395 // version 2.1 of the License, or (at your option) any later version. 5396 // 5397 // The GNU C Library is distributed in the hope that it will be useful, 5398 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5399 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5400 // Lesser General Public License for more details. 5401 // 5402 // You should have received a copy of the GNU Lesser General Public 5403 // License along with the GNU C Library; if not, see 5404 // <https://www.gnu.org/licenses/>. 5405 5406 // Determine the wordsize from the preprocessor defines. 5407 5408 // Both x86-64 and x32 use the 64-bit system call interface. 5409 5410 // Common definition of pthread_mutex_t. 5411 5412 type X__pthread_list_t = X__pthread_internal_list /* thread-shared-types.h:53:3 */ 5413 5414 type X__pthread_internal_slist = struct{ F__next uintptr } /* thread-shared-types.h:55:9 */ 5415 5416 type X__pthread_slist_t = X__pthread_internal_slist /* thread-shared-types.h:58:3 */ 5417 5418 // Arch-specific mutex definitions. A generic implementation is provided 5419 // by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture 5420 // can override it by defining: 5421 // 5422 // 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t 5423 // definition). It should contains at least the internal members 5424 // defined in the generic version. 5425 // 5426 // 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with 5427 // atomic operations. 5428 // 5429 // 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization. 5430 // It should initialize the mutex internal flag. 5431 5432 // x86 internal mutex struct definitions. 5433 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 5434 // This file is part of the GNU C Library. 5435 // 5436 // The GNU C Library is free software; you can redistribute it and/or 5437 // modify it under the terms of the GNU Lesser General Public 5438 // License as published by the Free Software Foundation; either 5439 // version 2.1 of the License, or (at your option) any later version. 5440 // 5441 // The GNU C Library is distributed in the hope that it will be useful, 5442 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5443 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5444 // Lesser General Public License for more details. 5445 // 5446 // You should have received a copy of the GNU Lesser General Public 5447 // License along with the GNU C Library; if not, see 5448 // <http://www.gnu.org/licenses/>. 5449 5450 type X__pthread_mutex_s = struct { 5451 F__lock int32 5452 F__count uint32 5453 F__owner int32 5454 F__nusers uint32 5455 F__kind int32 5456 F__spins int16 5457 F__elision int16 5458 F__list X__pthread_list_t 5459 } /* struct_mutex.h:22:1 */ 5460 5461 // Arch-sepecific read-write lock definitions. A generic implementation is 5462 // provided by struct_rwlock.h. If required, an architecture can override it 5463 // by defining: 5464 // 5465 // 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition). 5466 // It should contain at least the internal members defined in the 5467 // generic version. 5468 // 5469 // 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization. 5470 // It should initialize the rwlock internal type. 5471 5472 // x86 internal rwlock struct definitions. 5473 // Copyright (C) 2019-2020 Free Software Foundation, Inc. 5474 // 5475 // This file is part of the GNU C Library. 5476 // 5477 // The GNU C Library is free software; you can redistribute it and/or 5478 // modify it under the terms of the GNU Lesser General Public 5479 // License as published by the Free Software Foundation; either 5480 // version 2.1 of the License, or (at your option) any later version. 5481 // 5482 // The GNU C Library is distributed in the hope that it will be useful, 5483 // but WITHOUT ANY WARRANTY; without even the implied warranty of 5484 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 5485 // Lesser General Public License for more details. 5486 // 5487 // You should have received a copy of the GNU Lesser General Public 5488 // License along with the GNU C Library; if not, see 5489 // <http://www.gnu.org/licenses/>. 5490 5491 type X__pthread_rwlock_arch_t = struct { 5492 F__readers uint32 5493 F__writers uint32 5494 F__wrphase_futex uint32 5495 F__writers_futex uint32 5496 F__pad3 uint32 5497 F__pad4 uint32 5498 F__cur_writer int32 5499 F__shared int32 5500 F__rwelision int8 5501 F__pad1 [7]uint8 5502 F__pad2 uint64 5503 F__flags uint32 5504 F__ccgo_pad1 [4]byte 5505 } /* struct_rwlock.h:23:1 */ 5506 5507 // Common definition of pthread_cond_t. 5508 5509 type X__pthread_cond_s = struct { 5510 F__0 struct{ F__wseq uint64 } 5511 F__8 struct{ F__g1_start uint64 } 5512 F__g_refs [2]uint32 5513 F__g_size [2]uint32 5514 F__g1_orig_size uint32 5515 F__wrefs uint32 5516 F__g_signals [2]uint32 5517 } /* thread-shared-types.h:92:1 */ 5518 5519 // Thread identifiers. The structure of the attribute type is not 5520 // exposed on purpose. 5521 type Pthread_t = uint64 /* pthreadtypes.h:27:27 */ 5522 5523 // Data structures for mutex handling. The structure of the attribute 5524 // type is not exposed on purpose. 5525 type Pthread_mutexattr_t = struct { 5526 F__ccgo_pad1 [0]uint32 5527 F__size [4]int8 5528 } /* pthreadtypes.h:36:3 */ 5529 5530 // Data structure for condition variable handling. The structure of 5531 // the attribute type is not exposed on purpose. 5532 type Pthread_condattr_t = struct { 5533 F__ccgo_pad1 [0]uint32 5534 F__size [4]int8 5535 } /* pthreadtypes.h:45:3 */ 5536 5537 // Keys for thread-specific data 5538 type Pthread_key_t = uint32 /* pthreadtypes.h:49:22 */ 5539 5540 // Once-only execution 5541 type Pthread_once_t = int32 /* pthreadtypes.h:53:30 */ 5542 5543 type Pthread_attr_t1 = struct { 5544 F__ccgo_pad1 [0]uint64 5545 F__size [56]int8 5546 } /* pthreadtypes.h:56:1 */ 5547 5548 type Pthread_attr_t = Pthread_attr_t1 /* pthreadtypes.h:62:30 */ 5549 5550 type Pthread_mutex_t = struct{ F__data X__pthread_mutex_s } /* pthreadtypes.h:72:3 */ 5551 5552 type Pthread_cond_t = struct{ F__data X__pthread_cond_s } /* pthreadtypes.h:80:3 */ 5553 5554 // Data structure for reader-writer lock variable handling. The 5555 // structure of the attribute type is deliberately not exposed. 5556 type Pthread_rwlock_t = struct{ F__data X__pthread_rwlock_arch_t } /* pthreadtypes.h:91:3 */ 5557 5558 type Pthread_rwlockattr_t = struct { 5559 F__ccgo_pad1 [0]uint64 5560 F__size [8]int8 5561 } /* pthreadtypes.h:97:3 */ 5562 5563 // POSIX spinlock data type. 5564 type Pthread_spinlock_t = int32 /* pthreadtypes.h:103:22 */ 5565 5566 // POSIX barriers data type. The structure of the type is 5567 // deliberately not exposed. 5568 type Pthread_barrier_t = struct { 5569 F__ccgo_pad1 [0]uint64 5570 F__size [32]int8 5571 } /* pthreadtypes.h:112:3 */ 5572 5573 type Pthread_barrierattr_t = struct { 5574 F__ccgo_pad1 [0]uint32 5575 F__size [4]int8 5576 } /* pthreadtypes.h:118:3 */ 5577 5578 // Definitions for the X window system likely to be used by applications 5579 5580 //********************************************************** 5581 // 5582 // Copyright 1987, 1998 The Open Group 5583 // 5584 // Permission to use, copy, modify, distribute, and sell this software and its 5585 // documentation for any purpose is hereby granted without fee, provided that 5586 // the above copyright notice appear in all copies and that both that 5587 // copyright notice and this permission notice appear in supporting 5588 // documentation. 5589 // 5590 // The above copyright notice and this permission notice shall be included in 5591 // all copies or substantial portions of the Software. 5592 // 5593 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5594 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 5595 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 5596 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 5597 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 5598 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 5599 // 5600 // Except as contained in this notice, the name of The Open Group shall not be 5601 // used in advertising or otherwise to promote the sale, use or other dealings 5602 // in this Software without prior written authorization from The Open Group. 5603 // 5604 // 5605 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 5606 // 5607 // All Rights Reserved 5608 // 5609 // Permission to use, copy, modify, and distribute this software and its 5610 // documentation for any purpose and without fee is hereby granted, 5611 // provided that the above copyright notice appear in all copies and that 5612 // both that copyright notice and this permission notice appear in 5613 // supporting documentation, and that the name of Digital not be 5614 // used in advertising or publicity pertaining to distribution of the 5615 // software without specific, written prior permission. 5616 // 5617 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 5618 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 5619 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 5620 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 5621 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 5622 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 5623 // SOFTWARE. 5624 // 5625 // ***************************************************************** 5626 5627 // Resources 5628 5629 // _XSERVER64 must ONLY be defined when compiling X server sources on 5630 // systems where unsigned long is not 32 bits, must NOT be used in 5631 // client or library code. 5632 type XID = uint64 /* X.h:66:23 */ 5633 type Mask = uint64 /* X.h:70:23 */ 5634 type Atom = uint64 /* X.h:74:23 */ // Also in Xdefs.h 5635 type VisualID = uint64 /* X.h:76:23 */ 5636 type Time = uint64 /* X.h:77:23 */ 5637 5638 type Window = XID /* X.h:96:13 */ 5639 type Drawable = XID /* X.h:97:13 */ 5640 type Font = XID /* X.h:100:13 */ 5641 type Pixmap = XID /* X.h:102:13 */ 5642 type Cursor = XID /* X.h:103:13 */ 5643 type Colormap = XID /* X.h:104:13 */ 5644 type GContext = XID /* X.h:105:13 */ 5645 type KeySym = XID /* X.h:106:13 */ 5646 5647 type KeyCode = uint8 /* X.h:108:23 */ 5648 5649 // A null pointer constant. 5650 5651 // Offset of member MEMBER in a struct of type TYPE. 5652 5653 // Type whose alignment is supported in every context and is at least 5654 // as great as that of any standard type not using alignment 5655 // specifiers. 5656 type Max_align_t = struct { 5657 F__max_align_ll int64 5658 F__max_align_ld float64 5659 } /* stddef.h:426:3 */ 5660 5661 // API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in 5662 // November 2000. Its presence is indicated through the following macro. 5663 5664 // The Xlib structs are full of implicit padding to properly align members. 5665 // We can't clean that up without breaking ABI, so tell clang not to bother 5666 // complaining about it. 5667 5668 type XPointer = uintptr /* Xlib.h:80:14 */ 5669 5670 // macros for screen oriented applications (toolkit) 5671 5672 // Extensions need a way to hang private data on some structures. 5673 type X_XExtData = struct { 5674 Fnumber int32 5675 F__ccgo_pad1 [4]byte 5676 Fnext uintptr 5677 Ffree_private uintptr 5678 Fprivate_data XPointer 5679 } /* Xlib.h:148:9 */ 5680 5681 // macros for screen oriented applications (toolkit) 5682 5683 // Extensions need a way to hang private data on some structures. 5684 type XExtData = X_XExtData /* Xlib.h:155:3 */ 5685 5686 // This file contains structures used by the extension mechanism. 5687 type XExtCodes = struct { 5688 Fextension int32 5689 Fmajor_opcode int32 5690 Ffirst_event int32 5691 Ffirst_error int32 5692 } /* Xlib.h:165:3 */ 5693 5694 // Data structure for retrieving info about pixmap formats. 5695 5696 type XPixmapFormatValues = struct { 5697 Fdepth int32 5698 Fbits_per_pixel int32 5699 Fscanline_pad int32 5700 } /* Xlib.h:175:3 */ 5701 5702 // Data structure for setting graphics context. 5703 type XGCValues = struct { 5704 Ffunction int32 5705 F__ccgo_pad1 [4]byte 5706 Fplane_mask uint64 5707 Fforeground uint64 5708 Fbackground uint64 5709 Fline_width int32 5710 Fline_style int32 5711 Fcap_style int32 5712 Fjoin_style int32 5713 Ffill_style int32 5714 Ffill_rule int32 5715 Farc_mode int32 5716 F__ccgo_pad2 [4]byte 5717 Ftile Pixmap 5718 Fstipple Pixmap 5719 Fts_x_origin int32 5720 Fts_y_origin int32 5721 Ffont Font 5722 Fsubwindow_mode int32 5723 Fgraphics_exposures int32 5724 Fclip_x_origin int32 5725 Fclip_y_origin int32 5726 Fclip_mask Pixmap 5727 Fdash_offset int32 5728 Fdashes int8 5729 F__ccgo_pad3 [3]byte 5730 } /* Xlib.h:207:3 */ 5731 5732 // Graphics context. The contents of this structure are implementation 5733 // dependent. A GC should be treated as opaque by application code. 5734 5735 type X_XGC = struct { 5736 Fext_data uintptr 5737 Fgid GContext 5738 Frects int32 5739 Fdashes int32 5740 Fdirty uint64 5741 Fvalues XGCValues 5742 } /* Xlib.h:214:9 */ 5743 5744 // Graphics context. The contents of this structure are implementation 5745 // dependent. A GC should be treated as opaque by application code. 5746 5747 type GC = uintptr /* Xlib.h:222:1 */ 5748 5749 // Visual structure; contains information about colormapping possible. 5750 type Visual = struct { 5751 Fext_data uintptr 5752 Fvisualid VisualID 5753 Fclass int32 5754 F__ccgo_pad1 [4]byte 5755 Fred_mask uint64 5756 Fgreen_mask uint64 5757 Fblue_mask uint64 5758 Fbits_per_rgb int32 5759 Fmap_entries int32 5760 } /* Xlib.h:238:3 */ 5761 5762 // Depth structure; contains information for each possible depth. 5763 type Depth = struct { 5764 Fdepth int32 5765 Fnvisuals int32 5766 Fvisuals uintptr 5767 } /* Xlib.h:247:3 */ 5768 5769 // Information about the screen. The contents of this structure are 5770 // implementation dependent. A Screen should be treated as opaque 5771 // by application code. 5772 5773 type X_XDisplay = struct { 5774 Fext_data uintptr 5775 Ffree_funcs uintptr 5776 Ffd int32 5777 Fconn_checker int32 5778 Fproto_major_version int32 5779 Fproto_minor_version int32 5780 Fvendor uintptr 5781 Fresource_base XID 5782 Fresource_mask XID 5783 Fresource_id XID 5784 Fresource_shift int32 5785 F__ccgo_pad1 [4]byte 5786 Fresource_alloc uintptr 5787 Fbyte_order int32 5788 Fbitmap_unit int32 5789 Fbitmap_pad int32 5790 Fbitmap_bit_order int32 5791 Fnformats int32 5792 F__ccgo_pad2 [4]byte 5793 Fpixmap_format uintptr 5794 Fvnumber int32 5795 Frelease int32 5796 Fhead uintptr 5797 Ftail uintptr 5798 Fqlen int32 5799 F__ccgo_pad3 [4]byte 5800 Flast_request_read uint64 5801 Frequest uint64 5802 Flast_req uintptr 5803 Fbuffer uintptr 5804 Fbufptr uintptr 5805 Fbufmax uintptr 5806 Fmax_request_size uint32 5807 F__ccgo_pad4 [4]byte 5808 Fdb uintptr 5809 Fsynchandler uintptr 5810 Fdisplay_name uintptr 5811 Fdefault_screen int32 5812 Fnscreens int32 5813 Fscreens uintptr 5814 Fmotion_buffer uint64 5815 Fflags uint64 5816 Fmin_keycode int32 5817 Fmax_keycode int32 5818 Fkeysyms uintptr 5819 Fmodifiermap uintptr 5820 Fkeysyms_per_keycode int32 5821 F__ccgo_pad5 [4]byte 5822 Fxdefaults uintptr 5823 Fscratch_buffer uintptr 5824 Fscratch_length uint64 5825 Fext_number int32 5826 F__ccgo_pad6 [4]byte 5827 Fext_procs uintptr 5828 Fevent_vec [128]uintptr 5829 Fwire_vec [128]uintptr 5830 Flock_meaning KeySym 5831 Flock uintptr 5832 Fasync_handlers uintptr 5833 Fbigreq_size uint64 5834 Flock_fns uintptr 5835 Fidlist_alloc uintptr 5836 Fkey_bindings uintptr 5837 Fcursor_font Font 5838 Fatoms uintptr 5839 Fmode_switch uint32 5840 Fnum_lock uint32 5841 Fcontext_db uintptr 5842 Ferror_vec uintptr 5843 Fcms struct { 5844 FdefaultCCCs XPointer 5845 FclientCmaps XPointer 5846 FperVisualIntensityMaps XPointer 5847 } 5848 Fim_filters uintptr 5849 Fqfree uintptr 5850 Fnext_event_serial_num uint64 5851 Fflushes uintptr 5852 Fim_fd_info uintptr 5853 Fim_fd_length int32 5854 F__ccgo_pad7 [4]byte 5855 Fconn_watchers uintptr 5856 Fwatcher_count int32 5857 F__ccgo_pad8 [4]byte 5858 Ffiledes XPointer 5859 Fsavedsynchandler uintptr 5860 Fresource_max XID 5861 Fxcmisc_opcode int32 5862 F__ccgo_pad9 [4]byte 5863 Fxkb_info uintptr 5864 Ftrans_conn uintptr 5865 Fxcb uintptr 5866 Fnext_cookie uint32 5867 F__ccgo_pad10 [4]byte 5868 Fgeneric_event_vec [128]uintptr 5869 Fgeneric_event_copy_vec [128]uintptr 5870 Fcookiejar uintptr 5871 Ferror_threads uintptr 5872 Fexit_handler XIOErrorExitHandler 5873 Fexit_handler_data uintptr 5874 } /* Xlib.h:255:1 */ 5875 5876 // Forward declare before use for C++ 5877 5878 type Screen = struct { 5879 Fext_data uintptr 5880 Fdisplay uintptr 5881 Froot Window 5882 Fwidth int32 5883 Fheight int32 5884 Fmwidth int32 5885 Fmheight int32 5886 Fndepths int32 5887 F__ccgo_pad1 [4]byte 5888 Fdepths uintptr 5889 Froot_depth int32 5890 F__ccgo_pad2 [4]byte 5891 Froot_visual uintptr 5892 Fdefault_gc GC 5893 Fcmap Colormap 5894 Fwhite_pixel uint64 5895 Fblack_pixel uint64 5896 Fmax_maps int32 5897 Fmin_maps int32 5898 Fbacking_store int32 5899 Fsave_unders int32 5900 Froot_input_mask int64 5901 } /* Xlib.h:275:3 */ 5902 5903 // Format structure; describes ZFormat data the screen will understand. 5904 type ScreenFormat = struct { 5905 Fext_data uintptr 5906 Fdepth int32 5907 Fbits_per_pixel int32 5908 Fscanline_pad int32 5909 F__ccgo_pad1 [4]byte 5910 } /* Xlib.h:285:3 */ 5911 5912 // Data structure for setting window attributes. 5913 type XSetWindowAttributes = struct { 5914 Fbackground_pixmap Pixmap 5915 Fbackground_pixel uint64 5916 Fborder_pixmap Pixmap 5917 Fborder_pixel uint64 5918 Fbit_gravity int32 5919 Fwin_gravity int32 5920 Fbacking_store int32 5921 F__ccgo_pad1 [4]byte 5922 Fbacking_planes uint64 5923 Fbacking_pixel uint64 5924 Fsave_under int32 5925 F__ccgo_pad2 [4]byte 5926 Fevent_mask int64 5927 Fdo_not_propagate_mask int64 5928 Foverride_redirect int32 5929 F__ccgo_pad3 [4]byte 5930 Fcolormap Colormap 5931 Fcursor Cursor 5932 } /* Xlib.h:306:3 */ 5933 5934 type XWindowAttributes = struct { 5935 Fx int32 5936 Fy int32 5937 Fwidth int32 5938 Fheight int32 5939 Fborder_width int32 5940 Fdepth int32 5941 Fvisual uintptr 5942 Froot Window 5943 Fclass int32 5944 Fbit_gravity int32 5945 Fwin_gravity int32 5946 Fbacking_store int32 5947 Fbacking_planes uint64 5948 Fbacking_pixel uint64 5949 Fsave_under int32 5950 F__ccgo_pad1 [4]byte 5951 Fcolormap Colormap 5952 Fmap_installed int32 5953 Fmap_state int32 5954 Fall_event_masks int64 5955 Fyour_event_mask int64 5956 Fdo_not_propagate_mask int64 5957 Foverride_redirect int32 5958 F__ccgo_pad2 [4]byte 5959 Fscreen uintptr 5960 } /* Xlib.h:334:3 */ 5961 5962 // Data structure for host setting; getting routines. 5963 // 5964 5965 type XHostAddress = struct { 5966 Ffamily int32 5967 Flength int32 5968 Faddress uintptr 5969 } /* Xlib.h:345:3 */ 5970 5971 // Data structure for ServerFamilyInterpreted addresses in host routines 5972 type XServerInterpretedAddress = struct { 5973 Ftypelength int32 5974 Fvaluelength int32 5975 Ftype uintptr 5976 Fvalue uintptr 5977 } /* Xlib.h:355:3 */ 5978 5979 // Data structure for "image" data, used by image manipulation routines. 5980 type X_XImage = struct { 5981 Fwidth int32 5982 Fheight int32 5983 Fxoffset int32 5984 Fformat int32 5985 Fdata uintptr 5986 Fbyte_order int32 5987 Fbitmap_unit int32 5988 Fbitmap_bit_order int32 5989 Fbitmap_pad int32 5990 Fdepth int32 5991 Fbytes_per_line int32 5992 Fbits_per_pixel int32 5993 F__ccgo_pad1 [4]byte 5994 Fred_mask uint64 5995 Fgreen_mask uint64 5996 Fblue_mask uint64 5997 Fobdata XPointer 5998 Ff struct { 5999 Fcreate_image uintptr 6000 Fdestroy_image uintptr 6001 Fget_pixel uintptr 6002 Fput_pixel uintptr 6003 Fsub_image uintptr 6004 Fadd_pixel uintptr 6005 } 6006 } /* Xlib.h:360:9 */ 6007 6008 // Data structure for "image" data, used by image manipulation routines. 6009 type Funcs = struct { 6010 Fcreate_image uintptr 6011 Fdestroy_image uintptr 6012 Fget_pixel uintptr 6013 Fput_pixel uintptr 6014 Fsub_image uintptr 6015 Fadd_pixel uintptr 6016 } /* Xlib.h:360:9 */ 6017 6018 // Data structure for "image" data, used by image manipulation routines. 6019 type XImage = X_XImage /* Xlib.h:394:3 */ 6020 6021 // Data structure for XReconfigureWindow 6022 type XWindowChanges = struct { 6023 Fx int32 6024 Fy int32 6025 Fwidth int32 6026 Fheight int32 6027 Fborder_width int32 6028 F__ccgo_pad1 [4]byte 6029 Fsibling Window 6030 Fstack_mode int32 6031 F__ccgo_pad2 [4]byte 6032 } /* Xlib.h:405:3 */ 6033 6034 // Data structure used by color operations 6035 type XColor = struct { 6036 Fpixel uint64 6037 Fred uint16 6038 Fgreen uint16 6039 Fblue uint16 6040 Fflags int8 6041 Fpad int8 6042 } /* Xlib.h:415:3 */ 6043 6044 // Data structures for graphics operations. On most machines, these are 6045 // congruent with the wire protocol structures, so reformatting the data 6046 // can be avoided on these architectures. 6047 type XSegment = struct { 6048 Fx1 int16 6049 Fy1 int16 6050 Fx2 int16 6051 Fy2 int16 6052 } /* Xlib.h:424:3 */ 6053 6054 type XPoint = struct { 6055 Fx int16 6056 Fy int16 6057 } /* Xlib.h:428:3 */ 6058 6059 type XRectangle = struct { 6060 Fx int16 6061 Fy int16 6062 Fwidth uint16 6063 Fheight uint16 6064 } /* Xlib.h:433:3 */ 6065 6066 type XArc = struct { 6067 Fx int16 6068 Fy int16 6069 Fwidth uint16 6070 Fheight uint16 6071 Fangle1 int16 6072 Fangle2 int16 6073 } /* Xlib.h:439:3 */ 6074 6075 // Data structure for XChangeKeyboardControl 6076 6077 type XKeyboardControl = struct { 6078 Fkey_click_percent int32 6079 Fbell_percent int32 6080 Fbell_pitch int32 6081 Fbell_duration int32 6082 Fled int32 6083 Fled_mode int32 6084 Fkey int32 6085 Fauto_repeat_mode int32 6086 } /* Xlib.h:453:3 */ 6087 6088 // Data structure for XGetKeyboardControl 6089 6090 type XKeyboardState = struct { 6091 Fkey_click_percent int32 6092 Fbell_percent int32 6093 Fbell_pitch uint32 6094 Fbell_duration uint32 6095 Fled_mask uint64 6096 Fglobal_auto_repeat int32 6097 Fauto_repeats [32]int8 6098 F__ccgo_pad1 [4]byte 6099 } /* Xlib.h:464:3 */ 6100 6101 // Data structure for XGetMotionEvents. 6102 6103 type XTimeCoord = struct { 6104 Ftime Time 6105 Fx int16 6106 Fy int16 6107 F__ccgo_pad1 [4]byte 6108 } /* Xlib.h:471:3 */ 6109 6110 // Data structure for X{Set,Get}ModifierMapping 6111 6112 type XModifierKeymap = struct { 6113 Fmax_keypermod int32 6114 F__ccgo_pad1 [4]byte 6115 Fmodifiermap uintptr 6116 } /* Xlib.h:478:3 */ 6117 6118 // Display datatype maintaining display specific data. 6119 // The contents of this structure are implementation dependent. 6120 // A Display should be treated as opaque by application code. 6121 type Display = X_XDisplay /* Xlib.h:487:26 */ 6122 6123 type X_XPrivDisplay = uintptr /* Xlib.h:550:1 */ 6124 6125 // Definitions of specific events. 6126 type XKeyEvent = struct { 6127 Ftype int32 6128 F__ccgo_pad1 [4]byte 6129 Fserial uint64 6130 Fsend_event int32 6131 F__ccgo_pad2 [4]byte 6132 Fdisplay uintptr 6133 Fwindow Window 6134 Froot Window 6135 Fsubwindow Window 6136 Ftime Time 6137 Fx int32 6138 Fy int32 6139 Fx_root int32 6140 Fy_root int32 6141 Fstate uint32 6142 Fkeycode uint32 6143 Fsame_screen int32 6144 F__ccgo_pad3 [4]byte 6145 } /* Xlib.h:571:3 */ 6146 type XKeyPressedEvent = XKeyEvent /* Xlib.h:572:19 */ 6147 type XKeyReleasedEvent = XKeyEvent /* Xlib.h:573:19 */ 6148 6149 type XButtonEvent = struct { 6150 Ftype int32 6151 F__ccgo_pad1 [4]byte 6152 Fserial uint64 6153 Fsend_event int32 6154 F__ccgo_pad2 [4]byte 6155 Fdisplay uintptr 6156 Fwindow Window 6157 Froot Window 6158 Fsubwindow Window 6159 Ftime Time 6160 Fx int32 6161 Fy int32 6162 Fx_root int32 6163 Fy_root int32 6164 Fstate uint32 6165 Fbutton uint32 6166 Fsame_screen int32 6167 F__ccgo_pad3 [4]byte 6168 } /* Xlib.h:589:3 */ 6169 type XButtonPressedEvent = XButtonEvent /* Xlib.h:590:22 */ 6170 type XButtonReleasedEvent = XButtonEvent /* Xlib.h:591:22 */ 6171 6172 type XMotionEvent = struct { 6173 Ftype int32 6174 F__ccgo_pad1 [4]byte 6175 Fserial uint64 6176 Fsend_event int32 6177 F__ccgo_pad2 [4]byte 6178 Fdisplay uintptr 6179 Fwindow Window 6180 Froot Window 6181 Fsubwindow Window 6182 Ftime Time 6183 Fx int32 6184 Fy int32 6185 Fx_root int32 6186 Fy_root int32 6187 Fstate uint32 6188 Fis_hint int8 6189 F__ccgo_pad3 [3]byte 6190 Fsame_screen int32 6191 F__ccgo_pad4 [4]byte 6192 } /* Xlib.h:607:3 */ 6193 type XPointerMovedEvent = XMotionEvent /* Xlib.h:608:22 */ 6194 6195 type XCrossingEvent = struct { 6196 Ftype int32 6197 F__ccgo_pad1 [4]byte 6198 Fserial uint64 6199 Fsend_event int32 6200 F__ccgo_pad2 [4]byte 6201 Fdisplay uintptr 6202 Fwindow Window 6203 Froot Window 6204 Fsubwindow Window 6205 Ftime Time 6206 Fx int32 6207 Fy int32 6208 Fx_root int32 6209 Fy_root int32 6210 Fmode int32 6211 Fdetail int32 6212 Fsame_screen int32 6213 Ffocus int32 6214 Fstate uint32 6215 F__ccgo_pad3 [4]byte 6216 } /* Xlib.h:630:3 */ 6217 type XEnterWindowEvent = XCrossingEvent /* Xlib.h:631:24 */ 6218 type XLeaveWindowEvent = XCrossingEvent /* Xlib.h:632:24 */ 6219 6220 type XFocusChangeEvent = struct { 6221 Ftype int32 6222 F__ccgo_pad1 [4]byte 6223 Fserial uint64 6224 Fsend_event int32 6225 F__ccgo_pad2 [4]byte 6226 Fdisplay uintptr 6227 Fwindow Window 6228 Fmode int32 6229 Fdetail int32 6230 } /* Xlib.h:648:3 */ 6231 type XFocusInEvent = XFocusChangeEvent /* Xlib.h:649:27 */ 6232 type XFocusOutEvent = XFocusChangeEvent /* Xlib.h:650:27 */ 6233 6234 // generated on EnterWindow and FocusIn when KeyMapState selected 6235 type XKeymapEvent = struct { 6236 Ftype int32 6237 F__ccgo_pad1 [4]byte 6238 Fserial uint64 6239 Fsend_event int32 6240 F__ccgo_pad2 [4]byte 6241 Fdisplay uintptr 6242 Fwindow Window 6243 Fkey_vector [32]int8 6244 } /* Xlib.h:660:3 */ 6245 6246 type XExposeEvent = struct { 6247 Ftype int32 6248 F__ccgo_pad1 [4]byte 6249 Fserial uint64 6250 Fsend_event int32 6251 F__ccgo_pad2 [4]byte 6252 Fdisplay uintptr 6253 Fwindow Window 6254 Fx int32 6255 Fy int32 6256 Fwidth int32 6257 Fheight int32 6258 Fcount int32 6259 F__ccgo_pad3 [4]byte 6260 } /* Xlib.h:671:3 */ 6261 6262 type XGraphicsExposeEvent = struct { 6263 Ftype int32 6264 F__ccgo_pad1 [4]byte 6265 Fserial uint64 6266 Fsend_event int32 6267 F__ccgo_pad2 [4]byte 6268 Fdisplay uintptr 6269 Fdrawable Drawable 6270 Fx int32 6271 Fy int32 6272 Fwidth int32 6273 Fheight int32 6274 Fcount int32 6275 Fmajor_code int32 6276 Fminor_code int32 6277 F__ccgo_pad3 [4]byte 6278 } /* Xlib.h:684:3 */ 6279 6280 type XNoExposeEvent = struct { 6281 Ftype int32 6282 F__ccgo_pad1 [4]byte 6283 Fserial uint64 6284 Fsend_event int32 6285 F__ccgo_pad2 [4]byte 6286 Fdisplay uintptr 6287 Fdrawable Drawable 6288 Fmajor_code int32 6289 Fminor_code int32 6290 } /* Xlib.h:694:3 */ 6291 6292 type XVisibilityEvent = struct { 6293 Ftype int32 6294 F__ccgo_pad1 [4]byte 6295 Fserial uint64 6296 Fsend_event int32 6297 F__ccgo_pad2 [4]byte 6298 Fdisplay uintptr 6299 Fwindow Window 6300 Fstate int32 6301 F__ccgo_pad3 [4]byte 6302 } /* Xlib.h:703:3 */ 6303 6304 type XCreateWindowEvent = struct { 6305 Ftype int32 6306 F__ccgo_pad1 [4]byte 6307 Fserial uint64 6308 Fsend_event int32 6309 F__ccgo_pad2 [4]byte 6310 Fdisplay uintptr 6311 Fparent Window 6312 Fwindow Window 6313 Fx int32 6314 Fy int32 6315 Fwidth int32 6316 Fheight int32 6317 Fborder_width int32 6318 Foverride_redirect int32 6319 } /* Xlib.h:716:3 */ 6320 6321 type XDestroyWindowEvent = struct { 6322 Ftype int32 6323 F__ccgo_pad1 [4]byte 6324 Fserial uint64 6325 Fsend_event int32 6326 F__ccgo_pad2 [4]byte 6327 Fdisplay uintptr 6328 Fevent Window 6329 Fwindow Window 6330 } /* Xlib.h:725:3 */ 6331 6332 type XUnmapEvent = struct { 6333 Ftype int32 6334 F__ccgo_pad1 [4]byte 6335 Fserial uint64 6336 Fsend_event int32 6337 F__ccgo_pad2 [4]byte 6338 Fdisplay uintptr 6339 Fevent Window 6340 Fwindow Window 6341 Ffrom_configure int32 6342 F__ccgo_pad3 [4]byte 6343 } /* Xlib.h:735:3 */ 6344 6345 type XMapEvent = struct { 6346 Ftype int32 6347 F__ccgo_pad1 [4]byte 6348 Fserial uint64 6349 Fsend_event int32 6350 F__ccgo_pad2 [4]byte 6351 Fdisplay uintptr 6352 Fevent Window 6353 Fwindow Window 6354 Foverride_redirect int32 6355 F__ccgo_pad3 [4]byte 6356 } /* Xlib.h:745:3 */ 6357 6358 type XMapRequestEvent = struct { 6359 Ftype int32 6360 F__ccgo_pad1 [4]byte 6361 Fserial uint64 6362 Fsend_event int32 6363 F__ccgo_pad2 [4]byte 6364 Fdisplay uintptr 6365 Fparent Window 6366 Fwindow Window 6367 } /* Xlib.h:754:3 */ 6368 6369 type XReparentEvent = struct { 6370 Ftype int32 6371 F__ccgo_pad1 [4]byte 6372 Fserial uint64 6373 Fsend_event int32 6374 F__ccgo_pad2 [4]byte 6375 Fdisplay uintptr 6376 Fevent Window 6377 Fwindow Window 6378 Fparent Window 6379 Fx int32 6380 Fy int32 6381 Foverride_redirect int32 6382 F__ccgo_pad3 [4]byte 6383 } /* Xlib.h:766:3 */ 6384 6385 type XConfigureEvent = struct { 6386 Ftype int32 6387 F__ccgo_pad1 [4]byte 6388 Fserial uint64 6389 Fsend_event int32 6390 F__ccgo_pad2 [4]byte 6391 Fdisplay uintptr 6392 Fevent Window 6393 Fwindow Window 6394 Fx int32 6395 Fy int32 6396 Fwidth int32 6397 Fheight int32 6398 Fborder_width int32 6399 F__ccgo_pad3 [4]byte 6400 Fabove Window 6401 Foverride_redirect int32 6402 F__ccgo_pad4 [4]byte 6403 } /* Xlib.h:780:3 */ 6404 6405 type XGravityEvent = struct { 6406 Ftype int32 6407 F__ccgo_pad1 [4]byte 6408 Fserial uint64 6409 Fsend_event int32 6410 F__ccgo_pad2 [4]byte 6411 Fdisplay uintptr 6412 Fevent Window 6413 Fwindow Window 6414 Fx int32 6415 Fy int32 6416 } /* Xlib.h:790:3 */ 6417 6418 type XResizeRequestEvent = struct { 6419 Ftype int32 6420 F__ccgo_pad1 [4]byte 6421 Fserial uint64 6422 Fsend_event int32 6423 F__ccgo_pad2 [4]byte 6424 Fdisplay uintptr 6425 Fwindow Window 6426 Fwidth int32 6427 Fheight int32 6428 } /* Xlib.h:799:3 */ 6429 6430 type XConfigureRequestEvent = struct { 6431 Ftype int32 6432 F__ccgo_pad1 [4]byte 6433 Fserial uint64 6434 Fsend_event int32 6435 F__ccgo_pad2 [4]byte 6436 Fdisplay uintptr 6437 Fparent Window 6438 Fwindow Window 6439 Fx int32 6440 Fy int32 6441 Fwidth int32 6442 Fheight int32 6443 Fborder_width int32 6444 F__ccgo_pad3 [4]byte 6445 Fabove Window 6446 Fdetail int32 6447 F__ccgo_pad4 [4]byte 6448 Fvalue_mask uint64 6449 } /* Xlib.h:814:3 */ 6450 6451 type XCirculateEvent = struct { 6452 Ftype int32 6453 F__ccgo_pad1 [4]byte 6454 Fserial uint64 6455 Fsend_event int32 6456 F__ccgo_pad2 [4]byte 6457 Fdisplay uintptr 6458 Fevent Window 6459 Fwindow Window 6460 Fplace int32 6461 F__ccgo_pad3 [4]byte 6462 } /* Xlib.h:824:3 */ 6463 6464 type XCirculateRequestEvent = struct { 6465 Ftype int32 6466 F__ccgo_pad1 [4]byte 6467 Fserial uint64 6468 Fsend_event int32 6469 F__ccgo_pad2 [4]byte 6470 Fdisplay uintptr 6471 Fparent Window 6472 Fwindow Window 6473 Fplace int32 6474 F__ccgo_pad3 [4]byte 6475 } /* Xlib.h:834:3 */ 6476 6477 type XPropertyEvent = struct { 6478 Ftype int32 6479 F__ccgo_pad1 [4]byte 6480 Fserial uint64 6481 Fsend_event int32 6482 F__ccgo_pad2 [4]byte 6483 Fdisplay uintptr 6484 Fwindow Window 6485 Fatom Atom 6486 Ftime Time 6487 Fstate int32 6488 F__ccgo_pad3 [4]byte 6489 } /* Xlib.h:845:3 */ 6490 6491 type XSelectionClearEvent = struct { 6492 Ftype int32 6493 F__ccgo_pad1 [4]byte 6494 Fserial uint64 6495 Fsend_event int32 6496 F__ccgo_pad2 [4]byte 6497 Fdisplay uintptr 6498 Fwindow Window 6499 Fselection Atom 6500 Ftime Time 6501 } /* Xlib.h:855:3 */ 6502 6503 type XSelectionRequestEvent = struct { 6504 Ftype int32 6505 F__ccgo_pad1 [4]byte 6506 Fserial uint64 6507 Fsend_event int32 6508 F__ccgo_pad2 [4]byte 6509 Fdisplay uintptr 6510 Fowner Window 6511 Frequestor Window 6512 Fselection Atom 6513 Ftarget Atom 6514 Fproperty Atom 6515 Ftime Time 6516 } /* Xlib.h:868:3 */ 6517 6518 type XSelectionEvent = struct { 6519 Ftype int32 6520 F__ccgo_pad1 [4]byte 6521 Fserial uint64 6522 Fsend_event int32 6523 F__ccgo_pad2 [4]byte 6524 Fdisplay uintptr 6525 Frequestor Window 6526 Fselection Atom 6527 Ftarget Atom 6528 Fproperty Atom 6529 Ftime Time 6530 } /* Xlib.h:880:3 */ 6531 6532 type XColormapEvent = struct { 6533 Ftype int32 6534 F__ccgo_pad1 [4]byte 6535 Fserial uint64 6536 Fsend_event int32 6537 F__ccgo_pad2 [4]byte 6538 Fdisplay uintptr 6539 Fwindow Window 6540 Fcolormap Colormap 6541 Fnew int32 6542 Fstate int32 6543 } /* Xlib.h:895:3 */ 6544 6545 type XClientMessageEvent = struct { 6546 Ftype int32 6547 F__ccgo_pad1 [4]byte 6548 Fserial uint64 6549 Fsend_event int32 6550 F__ccgo_pad2 [4]byte 6551 Fdisplay uintptr 6552 Fwindow Window 6553 Fmessage_type Atom 6554 Fformat int32 6555 F__ccgo_pad3 [4]byte 6556 Fdata struct { 6557 F__ccgo_pad1 [0]uint64 6558 Fb [20]int8 6559 F__ccgo_pad2 [20]byte 6560 } 6561 } /* Xlib.h:910:3 */ 6562 6563 type XMappingEvent = struct { 6564 Ftype int32 6565 F__ccgo_pad1 [4]byte 6566 Fserial uint64 6567 Fsend_event int32 6568 F__ccgo_pad2 [4]byte 6569 Fdisplay uintptr 6570 Fwindow Window 6571 Frequest int32 6572 Ffirst_keycode int32 6573 Fcount int32 6574 F__ccgo_pad3 [4]byte 6575 } /* Xlib.h:922:3 */ 6576 6577 type XErrorEvent = struct { 6578 Ftype int32 6579 F__ccgo_pad1 [4]byte 6580 Fdisplay uintptr 6581 Fresourceid XID 6582 Fserial uint64 6583 Ferror_code uint8 6584 Frequest_code uint8 6585 Fminor_code uint8 6586 F__ccgo_pad2 [5]byte 6587 } /* Xlib.h:932:3 */ 6588 6589 type XAnyEvent = struct { 6590 Ftype int32 6591 F__ccgo_pad1 [4]byte 6592 Fserial uint64 6593 Fsend_event int32 6594 F__ccgo_pad2 [4]byte 6595 Fdisplay uintptr 6596 Fwindow Window 6597 } /* Xlib.h:940:3 */ 6598 6599 // ************************************************************** 6600 // 6601 // 6602 // GenericEvent. This event is the standard event for all newer extensions. 6603 6604 type XGenericEvent = struct { 6605 Ftype int32 6606 F__ccgo_pad1 [4]byte 6607 Fserial uint64 6608 Fsend_event int32 6609 F__ccgo_pad2 [4]byte 6610 Fdisplay uintptr 6611 Fextension int32 6612 Fevtype int32 6613 } /* Xlib.h:956:7 */ 6614 6615 type XGenericEventCookie = struct { 6616 Ftype int32 6617 F__ccgo_pad1 [4]byte 6618 Fserial uint64 6619 Fsend_event int32 6620 F__ccgo_pad2 [4]byte 6621 Fdisplay uintptr 6622 Fextension int32 6623 Fevtype int32 6624 Fcookie uint32 6625 F__ccgo_pad3 [4]byte 6626 Fdata uintptr 6627 } /* Xlib.h:967:3 */ 6628 6629 // this union is defined so Xlib can always use the same sized 6630 // event structure internally, to avoid memory fragmentation. 6631 type X_XEvent = struct { 6632 F__ccgo_pad1 [0]uint64 6633 Ftype int32 6634 F__ccgo_pad2 [188]byte 6635 } /* Xlib.h:255:1 */ 6636 6637 // this union is defined so Xlib can always use the same sized 6638 // event structure internally, to avoid memory fragmentation. 6639 type XEvent = X_XEvent /* Xlib.h:1009:3 */ 6640 6641 // per character font metric information. 6642 type XCharStruct = struct { 6643 Flbearing int16 6644 Frbearing int16 6645 Fwidth int16 6646 Fascent int16 6647 Fdescent int16 6648 Fattributes uint16 6649 } /* Xlib.h:1024:3 */ 6650 6651 // To allow arbitrary information with fonts, there are additional properties 6652 // returned. 6653 type XFontProp = struct { 6654 Fname Atom 6655 Fcard32 uint64 6656 } /* Xlib.h:1033:3 */ 6657 6658 type XFontStruct = struct { 6659 Fext_data uintptr 6660 Ffid Font 6661 Fdirection uint32 6662 Fmin_char_or_byte2 uint32 6663 Fmax_char_or_byte2 uint32 6664 Fmin_byte1 uint32 6665 Fmax_byte1 uint32 6666 Fall_chars_exist int32 6667 Fdefault_char uint32 6668 Fn_properties int32 6669 Fproperties uintptr 6670 Fmin_bounds XCharStruct 6671 Fmax_bounds XCharStruct 6672 Fper_char uintptr 6673 Fascent int32 6674 Fdescent int32 6675 } /* Xlib.h:1052:3 */ 6676 6677 // PolyText routines take these as arguments. 6678 type XTextItem = struct { 6679 Fchars uintptr 6680 Fnchars int32 6681 Fdelta int32 6682 Ffont Font 6683 } /* Xlib.h:1062:3 */ 6684 6685 type XChar2b = struct { 6686 Fbyte1 uint8 6687 Fbyte2 uint8 6688 } /* Xlib.h:1067:3 */ 6689 6690 type XTextItem16 = struct { 6691 Fchars uintptr 6692 Fnchars int32 6693 Fdelta int32 6694 Ffont Font 6695 } /* Xlib.h:1074:3 */ 6696 6697 type XEDataObject = struct{ Fdisplay uintptr } /* Xlib.h:1082:24 */ 6698 6699 type XFontSetExtents = struct { 6700 Fmax_ink_extent XRectangle 6701 Fmax_logical_extent XRectangle 6702 } /* Xlib.h:1087:3 */ 6703 6704 // unused: 6705 // typedef void (*XOMProc)(); 6706 // 6707 6708 type XOM = uintptr /* Xlib.h:1093:21 */ 6709 type XOC = uintptr /* Xlib.h:1094:21 */ 6710 type XFontSet = uintptr /* Xlib.h:1094:27 */ 6711 6712 type XmbTextItem = struct { 6713 Fchars uintptr 6714 Fnchars int32 6715 Fdelta int32 6716 Ffont_set XFontSet 6717 } /* Xlib.h:1101:3 */ 6718 6719 type XwcTextItem = struct { 6720 Fchars uintptr 6721 Fnchars int32 6722 Fdelta int32 6723 Ffont_set XFontSet 6724 } /* Xlib.h:1108:3 */ 6725 6726 type XOMCharSetList = struct { 6727 Fcharset_count int32 6728 F__ccgo_pad1 [4]byte 6729 Fcharset_list uintptr 6730 } /* Xlib.h:1124:3 */ 6731 6732 type XOrientation = uint32 /* Xlib.h:1132:3 */ 6733 6734 type XOMOrientation = struct { 6735 Fnum_orientation int32 6736 F__ccgo_pad1 [4]byte 6737 Forientation uintptr 6738 } /* Xlib.h:1137:3 */ 6739 6740 type XOMFontInfo = struct { 6741 Fnum_font int32 6742 F__ccgo_pad1 [4]byte 6743 Ffont_struct_list uintptr 6744 Ffont_name_list uintptr 6745 } /* Xlib.h:1143:3 */ 6746 6747 type XIM = uintptr /* Xlib.h:1145:21 */ 6748 type XIC = uintptr /* Xlib.h:1146:21 */ 6749 6750 type XIMProc = uintptr /* Xlib.h:1148:14 */ 6751 6752 type XICProc = uintptr /* Xlib.h:1154:14 */ 6753 6754 type XIDProc = uintptr /* Xlib.h:1160:14 */ 6755 6756 type XIMStyle = uint64 /* Xlib.h:1166:23 */ 6757 6758 type XIMStyles = struct { 6759 Fcount_styles uint16 6760 F__ccgo_pad1 [6]byte 6761 Fsupported_styles uintptr 6762 } /* Xlib.h:1171:3 */ 6763 6764 type XVaNestedList = uintptr /* Xlib.h:1233:14 */ 6765 6766 type XIMCallback = struct { 6767 Fclient_data XPointer 6768 Fcallback XIMProc 6769 } /* Xlib.h:1238:3 */ 6770 6771 type XICCallback = struct { 6772 Fclient_data XPointer 6773 Fcallback XICProc 6774 } /* Xlib.h:1243:3 */ 6775 6776 type XIMFeedback = uint64 /* Xlib.h:1245:23 */ 6777 6778 type X_XIMText = struct { 6779 Flength uint16 6780 F__ccgo_pad1 [6]byte 6781 Ffeedback uintptr 6782 Fencoding_is_wchar int32 6783 F__ccgo_pad2 [4]byte 6784 Fstring struct{ Fmulti_byte uintptr } 6785 } /* Xlib.h:1257:9 */ 6786 6787 type XIMText = X_XIMText /* Xlib.h:1265:3 */ 6788 6789 type XIMPreeditState = uint64 /* Xlib.h:1267:24 */ 6790 6791 type X_XIMPreeditStateNotifyCallbackStruct = struct{ Fstate XIMPreeditState } /* Xlib.h:1273:9 */ 6792 6793 type XIMPreeditStateNotifyCallbackStruct = X_XIMPreeditStateNotifyCallbackStruct /* Xlib.h:1275:3 */ 6794 6795 type XIMResetState = uint64 /* Xlib.h:1277:24 */ 6796 6797 type XIMStringConversionFeedback = uint64 /* Xlib.h:1282:23 */ 6798 6799 type X_XIMStringConversionText = struct { 6800 Flength uint16 6801 F__ccgo_pad1 [6]byte 6802 Ffeedback uintptr 6803 Fencoding_is_wchar int32 6804 F__ccgo_pad2 [4]byte 6805 Fstring struct{ Fmbs uintptr } 6806 } /* Xlib.h:1291:9 */ 6807 6808 type XIMStringConversionText = X_XIMStringConversionText /* Xlib.h:1299:3 */ 6809 6810 type XIMStringConversionPosition = uint16 /* Xlib.h:1301:24 */ 6811 6812 type XIMStringConversionType = uint16 /* Xlib.h:1303:24 */ 6813 6814 type XIMStringConversionOperation = uint16 /* Xlib.h:1310:24 */ 6815 6816 type XIMCaretDirection = uint32 /* Xlib.h:1323:3 */ 6817 6818 type X_XIMStringConversionCallbackStruct = struct { 6819 Fposition XIMStringConversionPosition 6820 F__ccgo_pad1 [2]byte 6821 Fdirection XIMCaretDirection 6822 Foperation XIMStringConversionOperation 6823 Ffactor uint16 6824 F__ccgo_pad2 [4]byte 6825 Ftext uintptr 6826 } /* Xlib.h:1325:9 */ 6827 6828 type XIMStringConversionCallbackStruct = X_XIMStringConversionCallbackStruct /* Xlib.h:1331:3 */ 6829 6830 type X_XIMPreeditDrawCallbackStruct = struct { 6831 Fcaret int32 6832 Fchg_first int32 6833 Fchg_length int32 6834 F__ccgo_pad1 [4]byte 6835 Ftext uintptr 6836 } /* Xlib.h:1333:9 */ 6837 6838 type XIMPreeditDrawCallbackStruct = X_XIMPreeditDrawCallbackStruct /* Xlib.h:1338:3 */ 6839 6840 type XIMCaretStyle = uint32 /* Xlib.h:1344:3 */ 6841 6842 type X_XIMPreeditCaretCallbackStruct = struct { 6843 Fposition int32 6844 Fdirection XIMCaretDirection 6845 Fstyle XIMCaretStyle 6846 } /* Xlib.h:1346:9 */ 6847 6848 type XIMPreeditCaretCallbackStruct = X_XIMPreeditCaretCallbackStruct /* Xlib.h:1350:3 */ 6849 6850 type XIMStatusDataType = uint32 /* Xlib.h:1355:3 */ 6851 6852 type X_XIMStatusDrawCallbackStruct = struct { 6853 Ftype XIMStatusDataType 6854 F__ccgo_pad1 [4]byte 6855 Fdata struct{ Ftext uintptr } 6856 } /* Xlib.h:1357:9 */ 6857 6858 type XIMStatusDrawCallbackStruct = X_XIMStatusDrawCallbackStruct /* Xlib.h:1363:3 */ 6859 6860 type X_XIMHotKeyTrigger = struct { 6861 Fkeysym KeySym 6862 Fmodifier int32 6863 Fmodifier_mask int32 6864 } /* Xlib.h:1365:9 */ 6865 6866 type XIMHotKeyTrigger = X_XIMHotKeyTrigger /* Xlib.h:1369:3 */ 6867 6868 type X_XIMHotKeyTriggers = struct { 6869 Fnum_hot_key int32 6870 F__ccgo_pad1 [4]byte 6871 Fkey uintptr 6872 } /* Xlib.h:1371:9 */ 6873 6874 type XIMHotKeyTriggers = X_XIMHotKeyTriggers /* Xlib.h:1374:3 */ 6875 6876 type XIMHotKeyState = uint64 /* Xlib.h:1376:24 */ 6877 6878 type XIMValuesList = struct { 6879 Fcount_values uint16 6880 F__ccgo_pad1 [6]byte 6881 Fsupported_values uintptr 6882 } /* Xlib.h:1384:3 */ 6883 6884 type XErrorHandler = uintptr /* Xlib.h:1843:13 */ 6885 6886 type XIOErrorHandler = uintptr /* Xlib.h:1853:13 */ 6887 6888 type XIOErrorExitHandler = uintptr /* Xlib.h:1861:14 */ 6889 6890 type XConnectionWatchProc = uintptr /* Xlib.h:3959:14 */ 6891 6892 // Definitions for the X window system used by server and c bindings 6893 6894 // This packet-construction scheme makes the following assumptions: 6895 // 6896 // 1. The compiler is able 6897 // to generate code which addresses one- and two-byte quantities. 6898 // In the worst case, this would be done with bit-fields. If bit-fields 6899 // are used it may be necessary to reorder the request fields in this file, 6900 // depending on the order in which the machine assigns bit fields to 6901 // machine words. There may also be a problem with sign extension, 6902 // as K+R specify that bitfields are always unsigned. 6903 // 6904 // 2. 2- and 4-byte fields in packet structures must be ordered by hand 6905 // such that they are naturally-aligned, so that no compiler will ever 6906 // insert padding bytes. 6907 // 6908 // 3. All packets are hand-padded to a multiple of 4 bytes, for 6909 // the same reason. 6910 6911 //********************************************************** 6912 // 6913 // Copyright 1987, 1998 The Open Group 6914 // 6915 // Permission to use, copy, modify, distribute, and sell this software and its 6916 // documentation for any purpose is hereby granted without fee, provided that 6917 // the above copyright notice appear in all copies and that both that 6918 // copyright notice and this permission notice appear in supporting 6919 // documentation. 6920 // 6921 // The above copyright notice and this permission notice shall be included in 6922 // all copies or substantial portions of the Software. 6923 // 6924 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6925 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6926 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 6927 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 6928 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 6929 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 6930 // 6931 // Except as contained in this notice, the name of The Open Group shall not be 6932 // used in advertising or otherwise to promote the sale, use or other dealings 6933 // in this Software without prior written authorization from The Open Group. 6934 // 6935 // 6936 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 6937 // 6938 // All Rights Reserved 6939 // 6940 // Permission to use, copy, modify, and distribute this software and its 6941 // documentation for any purpose and without fee is hereby granted, 6942 // provided that the above copyright notice appear in all copies and that 6943 // both that copyright notice and this permission notice appear in 6944 // supporting documentation, and that the name of Digital not be 6945 // used in advertising or publicity pertaining to distribution of the 6946 // software without specific, written prior permission. 6947 // 6948 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 6949 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 6950 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 6951 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 6952 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 6953 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 6954 // SOFTWARE. 6955 // 6956 // ***************************************************************** 6957 6958 //********************************************************** 6959 // 6960 // Copyright 1987, 1998 The Open Group 6961 // 6962 // Permission to use, copy, modify, distribute, and sell this software and its 6963 // documentation for any purpose is hereby granted without fee, provided that 6964 // the above copyright notice appear in all copies and that both that 6965 // copyright notice and this permission notice appear in supporting 6966 // documentation. 6967 // 6968 // The above copyright notice and this permission notice shall be included in 6969 // all copies or substantial portions of the Software. 6970 // 6971 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 6972 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6973 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 6974 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 6975 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 6976 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 6977 // 6978 // Except as contained in this notice, the name of The Open Group shall not be 6979 // used in advertising or otherwise to promote the sale, use or other dealings 6980 // in this Software without prior written authorization from The Open Group. 6981 // 6982 // 6983 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 6984 // 6985 // All Rights Reserved 6986 // 6987 // Permission to use, copy, modify, and distribute this software and its 6988 // documentation for any purpose and without fee is hereby granted, 6989 // provided that the above copyright notice appear in all copies and that 6990 // both that copyright notice and this permission notice appear in 6991 // supporting documentation, and that the name of Digital not be 6992 // used in advertising or publicity pertaining to distribution of the 6993 // software without specific, written prior permission. 6994 // 6995 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 6996 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 6997 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 6998 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 6999 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7000 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7001 // SOFTWARE. 7002 // 7003 // ***************************************************************** 7004 // Xmd.h: MACHINE DEPENDENT DECLARATIONS. 7005 7006 // Special per-machine configuration flags. 7007 7008 // Definition of macro used to set constants for size of network structures; 7009 // machines with preprocessors that can't handle all of the sz_ symbols 7010 // can define this macro to be sizeof(x) if and only if their compiler doesn't 7011 // pad out structures (esp. the xTextElt structure which contains only two 7012 // one-byte fields). Network structures should always define sz_symbols. 7013 // 7014 // The sz_ prefix is used instead of something more descriptive so that the 7015 // symbols are no more than 32 characters long (which causes problems for some 7016 // compilers and preprocessors). 7017 // 7018 // The extra indirection is to get macro arguments to expand correctly before 7019 // the concatenation, rather than afterward. 7020 7021 // Bitfield suffixes for the protocol structure elements, if you 7022 // need them. Note that bitfields are not guaranteed to be signed 7023 // (or even unsigned) according to ANSI C. 7024 type INT64 = int64 /* Xmd.h:97:14 */ 7025 type INT32 = int32 /* Xmd.h:98:13 */ 7026 type INT16 = int16 /* Xmd.h:102:15 */ 7027 7028 type INT8 = int8 /* Xmd.h:104:24 */ 7029 7030 type CARD64 = uint64 /* Xmd.h:107:23 */ 7031 type CARD32 = uint32 /* Xmd.h:108:22 */ 7032 type CARD16 = uint16 /* Xmd.h:113:24 */ 7033 type CARD8 = uint8 /* Xmd.h:114:24 */ 7034 7035 type BITS32 = CARD32 /* Xmd.h:116:17 */ 7036 type BITS16 = CARD16 /* Xmd.h:117:17 */ 7037 7038 type BYTE = CARD8 /* Xmd.h:119:16 */ 7039 type BOOL = CARD8 /* Xmd.h:120:16 */ 7040 7041 // was definitions for sign-extending bitfields on architectures without 7042 // native types smaller than 64-bit, now just backwards compatibility 7043 7044 // this version should leave result of type (t *), but that should only be 7045 // used when not in MUSTCOPY 7046 7047 //********************************************************** 7048 // 7049 // Copyright 1987, 1998 The Open Group 7050 // 7051 // Permission to use, copy, modify, distribute, and sell this software and its 7052 // documentation for any purpose is hereby granted without fee, provided that 7053 // the above copyright notice appear in all copies and that both that 7054 // copyright notice and this permission notice appear in supporting 7055 // documentation. 7056 // 7057 // The above copyright notice and this permission notice shall be included in 7058 // all copies or substantial portions of the Software. 7059 // 7060 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7061 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7062 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7063 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7064 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7065 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7066 // 7067 // Except as contained in this notice, the name of The Open Group shall not be 7068 // used in advertising or otherwise to promote the sale, use or other dealings 7069 // in this Software without prior written authorization from The Open Group. 7070 // 7071 // 7072 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7073 // 7074 // All Rights Reserved 7075 // 7076 // Permission to use, copy, modify, and distribute this software and its 7077 // documentation for any purpose and without fee is hereby granted, 7078 // provided that the above copyright notice appear in all copies and that 7079 // both that copyright notice and this permission notice appear in 7080 // supporting documentation, and that the name of Digital not be 7081 // used in advertising or publicity pertaining to distribution of the 7082 // software without specific, written prior permission. 7083 // 7084 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7085 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7086 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7087 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7088 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7089 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7090 // SOFTWARE. 7091 // 7092 // ***************************************************************** 7093 //********************************************************** 7094 // 7095 // Copyright 1987, 1998 The Open Group 7096 // 7097 // Permission to use, copy, modify, distribute, and sell this software and its 7098 // documentation for any purpose is hereby granted without fee, provided that 7099 // the above copyright notice appear in all copies and that both that 7100 // copyright notice and this permission notice appear in supporting 7101 // documentation. 7102 // 7103 // The above copyright notice and this permission notice shall be included in 7104 // all copies or substantial portions of the Software. 7105 // 7106 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7107 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7108 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7109 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7110 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7111 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7112 // 7113 // Except as contained in this notice, the name of The Open Group shall not be 7114 // used in advertising or otherwise to promote the sale, use or other dealings 7115 // in this Software without prior written authorization from The Open Group. 7116 // 7117 // 7118 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7119 // 7120 // All Rights Reserved 7121 // 7122 // Permission to use, copy, modify, and distribute this software and its 7123 // documentation for any purpose and without fee is hereby granted, 7124 // provided that the above copyright notice appear in all copies and that 7125 // both that copyright notice and this permission notice appear in 7126 // supporting documentation, and that the name of Digital not be 7127 // used in advertising or publicity pertaining to distribution of the 7128 // software without specific, written prior permission. 7129 // 7130 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7131 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7132 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7133 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7134 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7135 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7136 // SOFTWARE. 7137 // 7138 // ***************************************************************** 7139 7140 // Used by PolySegment 7141 7142 type X_xSegment = struct { 7143 Fx1 INT16 7144 Fy1 INT16 7145 Fx2 INT16 7146 Fy2 INT16 7147 } /* Xprotostr.h:54:9 */ 7148 7149 // was definitions for sign-extending bitfields on architectures without 7150 // native types smaller than 64-bit, now just backwards compatibility 7151 7152 // this version should leave result of type (t *), but that should only be 7153 // used when not in MUSTCOPY 7154 7155 //********************************************************** 7156 // 7157 // Copyright 1987, 1998 The Open Group 7158 // 7159 // Permission to use, copy, modify, distribute, and sell this software and its 7160 // documentation for any purpose is hereby granted without fee, provided that 7161 // the above copyright notice appear in all copies and that both that 7162 // copyright notice and this permission notice appear in supporting 7163 // documentation. 7164 // 7165 // The above copyright notice and this permission notice shall be included in 7166 // all copies or substantial portions of the Software. 7167 // 7168 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7169 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7170 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7171 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7172 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7173 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7174 // 7175 // Except as contained in this notice, the name of The Open Group shall not be 7176 // used in advertising or otherwise to promote the sale, use or other dealings 7177 // in this Software without prior written authorization from The Open Group. 7178 // 7179 // 7180 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7181 // 7182 // All Rights Reserved 7183 // 7184 // Permission to use, copy, modify, and distribute this software and its 7185 // documentation for any purpose and without fee is hereby granted, 7186 // provided that the above copyright notice appear in all copies and that 7187 // both that copyright notice and this permission notice appear in 7188 // supporting documentation, and that the name of Digital not be 7189 // used in advertising or publicity pertaining to distribution of the 7190 // software without specific, written prior permission. 7191 // 7192 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7193 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7194 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7195 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7196 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7197 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7198 // SOFTWARE. 7199 // 7200 // ***************************************************************** 7201 //********************************************************** 7202 // 7203 // Copyright 1987, 1998 The Open Group 7204 // 7205 // Permission to use, copy, modify, distribute, and sell this software and its 7206 // documentation for any purpose is hereby granted without fee, provided that 7207 // the above copyright notice appear in all copies and that both that 7208 // copyright notice and this permission notice appear in supporting 7209 // documentation. 7210 // 7211 // The above copyright notice and this permission notice shall be included in 7212 // all copies or substantial portions of the Software. 7213 // 7214 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 7215 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 7216 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 7217 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 7218 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 7219 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 7220 // 7221 // Except as contained in this notice, the name of The Open Group shall not be 7222 // used in advertising or otherwise to promote the sale, use or other dealings 7223 // in this Software without prior written authorization from The Open Group. 7224 // 7225 // 7226 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 7227 // 7228 // All Rights Reserved 7229 // 7230 // Permission to use, copy, modify, and distribute this software and its 7231 // documentation for any purpose and without fee is hereby granted, 7232 // provided that the above copyright notice appear in all copies and that 7233 // both that copyright notice and this permission notice appear in 7234 // supporting documentation, and that the name of Digital not be 7235 // used in advertising or publicity pertaining to distribution of the 7236 // software without specific, written prior permission. 7237 // 7238 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 7239 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 7240 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 7241 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 7242 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 7243 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 7244 // SOFTWARE. 7245 // 7246 // ***************************************************************** 7247 7248 // Used by PolySegment 7249 7250 type XSegment1 = X_xSegment /* Xprotostr.h:56:3 */ 7251 7252 // POINT 7253 7254 type X_xPoint = struct { 7255 Fx INT16 7256 Fy INT16 7257 } /* Xprotostr.h:60:9 */ 7258 7259 // POINT 7260 7261 type XPoint1 = X_xPoint /* Xprotostr.h:62:3 */ 7262 7263 type X_xRectangle = struct { 7264 Fx INT16 7265 Fy INT16 7266 Fwidth CARD16 7267 Fheight CARD16 7268 } /* Xprotostr.h:64:9 */ 7269 7270 type XRectangle1 = X_xRectangle /* Xprotostr.h:67:3 */ 7271 7272 // ARC 7273 7274 type X_xArc = struct { 7275 Fx INT16 7276 Fy INT16 7277 Fwidth CARD16 7278 Fheight CARD16 7279 Fangle1 INT16 7280 Fangle2 INT16 7281 } /* Xprotostr.h:71:9 */ 7282 7283 // ARC 7284 7285 type XArc1 = X_xArc /* Xprotostr.h:75:3 */ 7286 7287 // Define constants for the sizes of the network packets. The sz_ prefix is 7288 // used instead of something more descriptive so that the symbols are no more 7289 // than 32 characters in length (which causes problems for some compilers). 7290 7291 // For the purpose of the structure definitions in this file, 7292 // we must redefine the following types in terms of Xmd.h's types, which may 7293 // include bit fields. All of these are #undef'd at the end of this file, 7294 // restoring the definitions in X.h. 7295 7296 type KeyButMask = CARD16 /* Xproto.h:259:16 */ 7297 7298 //**************** 7299 // Connection setup structures. See Chapter 8: Connection Setup 7300 // of the X Window System Protocol specification for details. 7301 // **************** 7302 7303 // Client initiates handshake with this data, followed by the strings 7304 // for the auth protocol & data. 7305 type XConnClientPrefix = struct { 7306 FbyteOrder CARD8 7307 Fpad BYTE 7308 FmajorVersion CARD16 7309 FminorVersion CARD16 7310 FnbytesAuthProto CARD16 7311 FnbytesAuthString CARD16 7312 Fpad2 CARD16 7313 } /* Xproto.h:276:3 */ 7314 7315 // Server response to xConnClientPrefix. 7316 // 7317 // If success == Success, this is followed by xConnSetup and 7318 // numRoots xWindowRoot structs. 7319 // 7320 // If success == Failure, this is followed by a reason string. 7321 // 7322 // The protocol also defines a case of success == Authenticate, but 7323 // that doesn't seem to have ever been implemented by the X Consortium. 7324 type XConnSetupPrefix = struct { 7325 Fsuccess CARD8 7326 FlengthReason BYTE 7327 FmajorVersion CARD16 7328 FminorVersion CARD16 7329 Flength CARD16 7330 } /* Xproto.h:294:3 */ 7331 7332 type XConnSetup = struct { 7333 Frelease CARD32 7334 FridBase CARD32 7335 FridMask CARD32 7336 FmotionBufferSize CARD32 7337 FnbytesVendor CARD16 7338 FmaxRequestSize CARD16 7339 FnumRoots CARD8 7340 FnumFormats CARD8 7341 FimageByteOrder CARD8 7342 FbitmapBitOrder CARD8 7343 FbitmapScanlineUnit CARD8 7344 FbitmapScanlinePad CARD8 7345 FminKeyCode CARD8 7346 FmaxKeyCode CARD8 7347 Fpad2 CARD32 7348 } /* Xproto.h:312:3 */ 7349 7350 type XPixmapFormat = struct { 7351 Fdepth CARD8 7352 FbitsPerPixel CARD8 7353 FscanLinePad CARD8 7354 Fpad1 CARD8 7355 Fpad2 CARD32 7356 } /* Xproto.h:320:3 */ 7357 7358 // window root 7359 7360 type XDepth = struct { 7361 Fdepth CARD8 7362 Fpad1 CARD8 7363 FnVisuals CARD16 7364 Fpad2 CARD32 7365 } /* Xproto.h:329:7 */ 7366 7367 type XVisualType = struct { 7368 FvisualID CARD32 7369 Fclass CARD8 7370 FbitsPerRGB CARD8 7371 FcolormapEntries CARD16 7372 FredMask CARD32 7373 FgreenMask CARD32 7374 FblueMask CARD32 7375 Fpad CARD32 7376 } /* Xproto.h:342:7 */ 7377 7378 type XWindowRoot = struct { 7379 FwindowId CARD32 7380 FdefaultColormap CARD32 7381 FwhitePixel CARD32 7382 FblackPixel CARD32 7383 FcurrentInputMask CARD32 7384 FpixWidth CARD16 7385 FpixHeight CARD16 7386 FmmWidth CARD16 7387 FmmHeight CARD16 7388 FminInstalledMaps CARD16 7389 FmaxInstalledMaps CARD16 7390 FrootVisualID CARD32 7391 FbackingStore CARD8 7392 FsaveUnders BOOL 7393 FrootDepth CARD8 7394 FnDepths CARD8 7395 } /* Xproto.h:357:3 */ 7396 7397 // **************************************************************** 7398 // 7399 // Structure Defns 7400 // Structures needed for replies 7401 // 7402 7403 // Used in GetMotionEvents 7404 7405 type XTimecoord = struct { 7406 Ftime CARD32 7407 Fx INT16 7408 Fy INT16 7409 } /* Xproto.h:370:3 */ 7410 7411 type XHostEntry = struct { 7412 Ffamily CARD8 7413 Fpad BYTE 7414 Flength CARD16 7415 } /* Xproto.h:376:3 */ 7416 7417 type XCharInfo = struct { 7418 FleftSideBearing INT16 7419 FrightSideBearing INT16 7420 FcharacterWidth INT16 7421 Fascent INT16 7422 Fdescent INT16 7423 Fattributes CARD16 7424 } /* Xproto.h:385:3 */ 7425 7426 type XFontProp1 = struct { 7427 Fname CARD32 7428 Fvalue CARD32 7429 } /* Xproto.h:390:3 */ 7430 7431 // non-aligned big-endian font ID follows this struct 7432 type XTextElt = struct { 7433 Flen CARD8 7434 Fdelta INT8 7435 } /* Xproto.h:399:3 */ 7436 7437 type XColorItem = struct { 7438 Fpixel CARD32 7439 Fred CARD16 7440 Fgreen CARD16 7441 Fblue CARD16 7442 Fflags CARD8 7443 Fpad CARD8 7444 } /* Xproto.h:407:3 */ 7445 7446 type Xrgb = struct { 7447 Fred CARD16 7448 Fgreen CARD16 7449 Fblue CARD16 7450 Fpad CARD16 7451 } /* Xproto.h:412:3 */ 7452 7453 type KEYCODE = CARD8 /* Xproto.h:414:15 */ 7454 7455 // **************** 7456 // 7457 // XRep: 7458 // meant to be 32 byte quantity 7459 // 7460 7461 // GenericReply is the common format of all replies. The "data" items 7462 // are specific to each individual reply type. 7463 7464 type XGenericReply = struct { 7465 Ftype BYTE 7466 Fdata1 BYTE 7467 FsequenceNumber CARD16 7468 Flength CARD32 7469 Fdata00 CARD32 7470 Fdata01 CARD32 7471 Fdata02 CARD32 7472 Fdata03 CARD32 7473 Fdata04 CARD32 7474 Fdata05 CARD32 7475 } /* Xproto.h:436:7 */ 7476 7477 // Individual reply formats. 7478 7479 type XGetWindowAttributesReply = struct { 7480 Ftype BYTE 7481 FbackingStore CARD8 7482 FsequenceNumber CARD16 7483 Flength CARD32 7484 FvisualID CARD32 7485 Fclass CARD16 7486 FbitGravity CARD8 7487 FwinGravity CARD8 7488 FbackingBitPlanes CARD32 7489 FbackingPixel CARD32 7490 FsaveUnder BOOL 7491 FmapInstalled BOOL 7492 FmapState CARD8 7493 Foverride BOOL 7494 Fcolormap CARD32 7495 FallEventMasks CARD32 7496 FyourEventMask CARD32 7497 FdoNotPropagateMask CARD16 7498 Fpad CARD16 7499 } /* Xproto.h:464:7 */ 7500 7501 type XGetGeometryReply = struct { 7502 Ftype BYTE 7503 Fdepth CARD8 7504 FsequenceNumber CARD16 7505 Flength CARD32 7506 Froot CARD32 7507 Fx INT16 7508 Fy INT16 7509 Fwidth CARD16 7510 Fheight CARD16 7511 FborderWidth CARD16 7512 Fpad1 CARD16 7513 Fpad2 CARD32 7514 Fpad3 CARD32 7515 } /* Xproto.h:478:7 */ 7516 7517 type XQueryTreeReply = struct { 7518 Ftype BYTE 7519 Fpad1 BYTE 7520 FsequenceNumber CARD16 7521 Flength CARD32 7522 Froot CARD32 7523 Fparent CARD32 7524 FnChildren CARD16 7525 Fpad2 CARD16 7526 Fpad3 CARD32 7527 Fpad4 CARD32 7528 Fpad5 CARD32 7529 } /* Xproto.h:491:7 */ 7530 7531 type XInternAtomReply = struct { 7532 Ftype BYTE 7533 Fpad1 BYTE 7534 FsequenceNumber CARD16 7535 Flength CARD32 7536 Fatom CARD32 7537 Fpad2 CARD32 7538 Fpad3 CARD32 7539 Fpad4 CARD32 7540 Fpad5 CARD32 7541 Fpad6 CARD32 7542 } /* Xproto.h:504:7 */ 7543 7544 type XGetAtomNameReply = struct { 7545 Ftype BYTE 7546 Fpad1 BYTE 7547 FsequenceNumber CARD16 7548 Flength CARD32 7549 FnameLength CARD16 7550 Fpad2 CARD16 7551 Fpad3 CARD32 7552 Fpad4 CARD32 7553 Fpad5 CARD32 7554 Fpad6 CARD32 7555 Fpad7 CARD32 7556 } /* Xproto.h:518:7 */ 7557 7558 type XGetPropertyReply = struct { 7559 Ftype BYTE 7560 Fformat CARD8 7561 FsequenceNumber CARD16 7562 Flength CARD32 7563 FpropertyType CARD32 7564 FbytesAfter CARD32 7565 FnItems CARD32 7566 Fpad1 CARD32 7567 Fpad2 CARD32 7568 Fpad3 CARD32 7569 } /* Xproto.h:531:7 */ 7570 7571 type XListPropertiesReply = struct { 7572 Ftype BYTE 7573 Fpad1 BYTE 7574 FsequenceNumber CARD16 7575 Flength CARD32 7576 FnProperties CARD16 7577 Fpad2 CARD16 7578 Fpad3 CARD32 7579 Fpad4 CARD32 7580 Fpad5 CARD32 7581 Fpad6 CARD32 7582 Fpad7 CARD32 7583 } /* Xproto.h:545:7 */ 7584 7585 type XGetSelectionOwnerReply = struct { 7586 Ftype BYTE 7587 Fpad1 BYTE 7588 FsequenceNumber CARD16 7589 Flength CARD32 7590 Fowner CARD32 7591 Fpad2 CARD32 7592 Fpad3 CARD32 7593 Fpad4 CARD32 7594 Fpad5 CARD32 7595 Fpad6 CARD32 7596 } /* Xproto.h:558:7 */ 7597 7598 type XGrabPointerReply = struct { 7599 Ftype BYTE 7600 Fstatus BYTE 7601 FsequenceNumber CARD16 7602 Flength CARD32 7603 Fpad1 CARD32 7604 Fpad2 CARD32 7605 Fpad3 CARD32 7606 Fpad4 CARD32 7607 Fpad5 CARD32 7608 Fpad6 CARD32 7609 } /* Xproto.h:571:7 */ 7610 7611 type XGrabKeyboardReply = XGrabPointerReply /* Xproto.h:573:27 */ 7612 7613 type XQueryPointerReply = struct { 7614 Ftype BYTE 7615 FsameScreen BOOL 7616 FsequenceNumber CARD16 7617 Flength CARD32 7618 Froot CARD32 7619 Fchild CARD32 7620 FrootX INT16 7621 FrootY INT16 7622 FwinX INT16 7623 FwinY INT16 7624 Fmask CARD16 7625 Fpad1 CARD16 7626 Fpad CARD32 7627 } /* Xproto.h:585:7 */ 7628 7629 type XGetMotionEventsReply = struct { 7630 Ftype BYTE 7631 Fpad1 BYTE 7632 FsequenceNumber CARD16 7633 Flength CARD32 7634 FnEvents CARD32 7635 Fpad2 CARD32 7636 Fpad3 CARD32 7637 Fpad4 CARD32 7638 Fpad5 CARD32 7639 Fpad6 CARD32 7640 } /* Xproto.h:598:7 */ 7641 7642 type XTranslateCoordsReply = struct { 7643 Ftype BYTE 7644 FsameScreen BOOL 7645 FsequenceNumber CARD16 7646 Flength CARD32 7647 Fchild CARD32 7648 FdstX INT16 7649 FdstY INT16 7650 Fpad2 CARD32 7651 Fpad3 CARD32 7652 Fpad4 CARD32 7653 Fpad5 CARD32 7654 } /* Xproto.h:611:7 */ 7655 7656 type XGetInputFocusReply = struct { 7657 Ftype BYTE 7658 FrevertTo CARD8 7659 FsequenceNumber CARD16 7660 Flength CARD32 7661 Ffocus CARD32 7662 Fpad1 CARD32 7663 Fpad2 CARD32 7664 Fpad3 CARD32 7665 Fpad4 CARD32 7666 Fpad5 CARD32 7667 } /* Xproto.h:624:7 */ 7668 7669 type XQueryKeymapReply = struct { 7670 Ftype BYTE 7671 Fpad1 BYTE 7672 FsequenceNumber CARD16 7673 Flength CARD32 7674 Fmap [32]BYTE 7675 } /* Xproto.h:632:7 */ 7676 7677 // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply 7678 type X_xQueryFontReply = struct { 7679 Ftype BYTE 7680 Fpad1 BYTE 7681 FsequenceNumber CARD16 7682 Flength CARD32 7683 FminBounds XCharInfo 7684 Fwalign1 CARD32 7685 FmaxBounds XCharInfo 7686 Fwalign2 CARD32 7687 FminCharOrByte2 CARD16 7688 FmaxCharOrByte2 CARD16 7689 FdefaultChar CARD16 7690 FnFontProps CARD16 7691 FdrawDirection CARD8 7692 FminByte1 CARD8 7693 FmaxByte1 CARD8 7694 FallCharsExist BOOL 7695 FfontAscent INT16 7696 FfontDescent INT16 7697 FnCharInfos CARD32 7698 } /* Xproto.h:635:9 */ 7699 7700 // Warning: this MUST match (up to component renaming) xListFontsWithInfoReply 7701 type XQueryFontReply = X_xQueryFontReply /* Xproto.h:652:3 */ 7702 7703 type XQueryTextExtentsReply = struct { 7704 Ftype BYTE 7705 FdrawDirection CARD8 7706 FsequenceNumber CARD16 7707 Flength CARD32 7708 FfontAscent INT16 7709 FfontDescent INT16 7710 FoverallAscent INT16 7711 FoverallDescent INT16 7712 FoverallWidth INT32 7713 FoverallLeft INT32 7714 FoverallRight INT32 7715 Fpad CARD32 7716 } /* Xproto.h:663:7 */ 7717 7718 type XListFontsReply = struct { 7719 Ftype BYTE 7720 Fpad1 BYTE 7721 FsequenceNumber CARD16 7722 Flength CARD32 7723 FnFonts CARD16 7724 Fpad2 CARD16 7725 Fpad3 CARD32 7726 Fpad4 CARD32 7727 Fpad5 CARD32 7728 Fpad6 CARD32 7729 Fpad7 CARD32 7730 } /* Xproto.h:677:7 */ 7731 7732 // Warning: this MUST match (up to component renaming) xQueryFontReply 7733 type XListFontsWithInfoReply = struct { 7734 Ftype BYTE 7735 FnameLength CARD8 7736 FsequenceNumber CARD16 7737 Flength CARD32 7738 FminBounds XCharInfo 7739 Fwalign1 CARD32 7740 FmaxBounds XCharInfo 7741 Fwalign2 CARD32 7742 FminCharOrByte2 CARD16 7743 FmaxCharOrByte2 CARD16 7744 FdefaultChar CARD16 7745 FnFontProps CARD16 7746 FdrawDirection CARD8 7747 FminByte1 CARD8 7748 FmaxByte1 CARD8 7749 FallCharsExist BOOL 7750 FfontAscent INT16 7751 FfontDescent INT16 7752 FnReplies CARD32 7753 } /* Xproto.h:697:3 */ 7754 7755 type XGetFontPathReply = struct { 7756 Ftype BYTE 7757 Fpad1 BYTE 7758 FsequenceNumber CARD16 7759 Flength CARD32 7760 FnPaths CARD16 7761 Fpad2 CARD16 7762 Fpad3 CARD32 7763 Fpad4 CARD32 7764 Fpad5 CARD32 7765 Fpad6 CARD32 7766 Fpad7 CARD32 7767 } /* Xproto.h:711:7 */ 7768 7769 type XGetImageReply = struct { 7770 Ftype BYTE 7771 Fdepth CARD8 7772 FsequenceNumber CARD16 7773 Flength CARD32 7774 Fvisual CARD32 7775 Fpad3 CARD32 7776 Fpad4 CARD32 7777 Fpad5 CARD32 7778 Fpad6 CARD32 7779 Fpad7 CARD32 7780 } /* Xproto.h:724:7 */ 7781 7782 type XListInstalledColormapsReply = struct { 7783 Ftype BYTE 7784 Fpad1 BYTE 7785 FsequenceNumber CARD16 7786 Flength CARD32 7787 FnColormaps CARD16 7788 Fpad2 CARD16 7789 Fpad3 CARD32 7790 Fpad4 CARD32 7791 Fpad5 CARD32 7792 Fpad6 CARD32 7793 Fpad7 CARD32 7794 } /* Xproto.h:738:7 */ 7795 7796 type XAllocColorReply = struct { 7797 Ftype BYTE 7798 Fpad1 BYTE 7799 FsequenceNumber CARD16 7800 Flength CARD32 7801 Fred CARD16 7802 Fgreen CARD16 7803 Fblue CARD16 7804 Fpad2 CARD16 7805 Fpixel CARD32 7806 Fpad3 CARD32 7807 Fpad4 CARD32 7808 Fpad5 CARD32 7809 } /* Xproto.h:751:7 */ 7810 7811 type XAllocNamedColorReply = struct { 7812 Ftype BYTE 7813 Fpad1 BYTE 7814 FsequenceNumber CARD16 7815 Flength CARD32 7816 Fpixel CARD32 7817 FexactRed CARD16 7818 FexactGreen CARD16 7819 FexactBlue CARD16 7820 FscreenRed CARD16 7821 FscreenGreen CARD16 7822 FscreenBlue CARD16 7823 Fpad2 CARD32 7824 Fpad3 CARD32 7825 } /* Xproto.h:763:7 */ 7826 7827 type XAllocColorCellsReply = struct { 7828 Ftype BYTE 7829 Fpad1 BYTE 7830 FsequenceNumber CARD16 7831 Flength CARD32 7832 FnPixels CARD16 7833 FnMasks CARD16 7834 Fpad3 CARD32 7835 Fpad4 CARD32 7836 Fpad5 CARD32 7837 Fpad6 CARD32 7838 Fpad7 CARD32 7839 } /* Xproto.h:776:7 */ 7840 7841 type XAllocColorPlanesReply = struct { 7842 Ftype BYTE 7843 Fpad1 BYTE 7844 FsequenceNumber CARD16 7845 Flength CARD32 7846 FnPixels CARD16 7847 Fpad2 CARD16 7848 FredMask CARD32 7849 FgreenMask CARD32 7850 FblueMask CARD32 7851 Fpad3 CARD32 7852 Fpad4 CARD32 7853 } /* Xproto.h:788:7 */ 7854 7855 type XQueryColorsReply = struct { 7856 Ftype BYTE 7857 Fpad1 BYTE 7858 FsequenceNumber CARD16 7859 Flength CARD32 7860 FnColors CARD16 7861 Fpad2 CARD16 7862 Fpad3 CARD32 7863 Fpad4 CARD32 7864 Fpad5 CARD32 7865 Fpad6 CARD32 7866 Fpad7 CARD32 7867 } /* Xproto.h:802:7 */ 7868 7869 type XLookupColorReply = struct { 7870 Ftype BYTE 7871 Fpad1 BYTE 7872 FsequenceNumber CARD16 7873 Flength CARD32 7874 FexactRed CARD16 7875 FexactGreen CARD16 7876 FexactBlue CARD16 7877 FscreenRed CARD16 7878 FscreenGreen CARD16 7879 FscreenBlue CARD16 7880 Fpad3 CARD32 7881 Fpad4 CARD32 7882 Fpad5 CARD32 7883 } /* Xproto.h:814:7 */ 7884 7885 type XQueryBestSizeReply = struct { 7886 Ftype BYTE 7887 Fpad1 BYTE 7888 FsequenceNumber CARD16 7889 Flength CARD32 7890 Fwidth CARD16 7891 Fheight CARD16 7892 Fpad3 CARD32 7893 Fpad4 CARD32 7894 Fpad5 CARD32 7895 Fpad6 CARD32 7896 Fpad7 CARD32 7897 } /* Xproto.h:827:7 */ 7898 7899 type XQueryExtensionReply = struct { 7900 Ftype BYTE 7901 Fpad1 BYTE 7902 FsequenceNumber CARD16 7903 Flength CARD32 7904 Fpresent BOOL 7905 Fmajor_opcode CARD8 7906 Ffirst_event CARD8 7907 Ffirst_error CARD8 7908 Fpad3 CARD32 7909 Fpad4 CARD32 7910 Fpad5 CARD32 7911 Fpad6 CARD32 7912 Fpad7 CARD32 7913 } /* Xproto.h:843:7 */ 7914 7915 type XListExtensionsReply = struct { 7916 Ftype BYTE 7917 FnExtensions CARD8 7918 FsequenceNumber CARD16 7919 Flength CARD32 7920 Fpad2 CARD32 7921 Fpad3 CARD32 7922 Fpad4 CARD32 7923 Fpad5 CARD32 7924 Fpad6 CARD32 7925 Fpad7 CARD32 7926 } /* Xproto.h:856:7 */ 7927 7928 type XSetMappingReply = struct { 7929 Ftype BYTE 7930 Fsuccess CARD8 7931 FsequenceNumber CARD16 7932 Flength CARD32 7933 Fpad2 CARD32 7934 Fpad3 CARD32 7935 Fpad4 CARD32 7936 Fpad5 CARD32 7937 Fpad6 CARD32 7938 Fpad7 CARD32 7939 } /* Xproto.h:870:7 */ 7940 type XSetPointerMappingReply = XSetMappingReply /* Xproto.h:871:26 */ 7941 type XSetModifierMappingReply = XSetMappingReply /* Xproto.h:872:26 */ 7942 7943 type XGetPointerMappingReply = struct { 7944 Ftype BYTE 7945 FnElts CARD8 7946 FsequenceNumber CARD16 7947 Flength CARD32 7948 Fpad2 CARD32 7949 Fpad3 CARD32 7950 Fpad4 CARD32 7951 Fpad5 CARD32 7952 Fpad6 CARD32 7953 Fpad7 CARD32 7954 } /* Xproto.h:885:7 */ 7955 7956 type XGetKeyboardMappingReply = struct { 7957 Ftype BYTE 7958 FkeySymsPerKeyCode CARD8 7959 FsequenceNumber CARD16 7960 Flength CARD32 7961 Fpad2 CARD32 7962 Fpad3 CARD32 7963 Fpad4 CARD32 7964 Fpad5 CARD32 7965 Fpad6 CARD32 7966 Fpad7 CARD32 7967 } /* Xproto.h:898:3 */ 7968 7969 type XGetModifierMappingReply = struct { 7970 Ftype BYTE 7971 FnumKeyPerModifier CARD8 7972 FsequenceNumber CARD16 7973 Flength CARD32 7974 Fpad1 CARD32 7975 Fpad2 CARD32 7976 Fpad3 CARD32 7977 Fpad4 CARD32 7978 Fpad5 CARD32 7979 Fpad6 CARD32 7980 } /* Xproto.h:911:3 */ 7981 7982 type XGetKeyboardControlReply = struct { 7983 Ftype BYTE 7984 FglobalAutoRepeat BOOL 7985 FsequenceNumber CARD16 7986 Flength CARD32 7987 FledMask CARD32 7988 FkeyClickPercent CARD8 7989 FbellPercent CARD8 7990 FbellPitch CARD16 7991 FbellDuration CARD16 7992 Fpad CARD16 7993 Fmap [32]BYTE 7994 } /* Xproto.h:923:7 */ 7995 7996 type XGetPointerControlReply = struct { 7997 Ftype BYTE 7998 Fpad1 BYTE 7999 FsequenceNumber CARD16 8000 Flength CARD32 8001 FaccelNumerator CARD16 8002 FaccelDenominator CARD16 8003 Fthreshold CARD16 8004 Fpad2 CARD16 8005 Fpad3 CARD32 8006 Fpad4 CARD32 8007 Fpad5 CARD32 8008 Fpad6 CARD32 8009 } /* Xproto.h:937:7 */ 8010 8011 type XGetScreenSaverReply = struct { 8012 Ftype BYTE 8013 Fpad1 BYTE 8014 FsequenceNumber CARD16 8015 Flength CARD32 8016 Ftimeout CARD16 8017 Finterval CARD16 8018 FpreferBlanking BOOL 8019 FallowExposures BOOL 8020 Fpad2 CARD16 8021 Fpad3 CARD32 8022 Fpad4 CARD32 8023 Fpad5 CARD32 8024 Fpad6 CARD32 8025 } /* Xproto.h:952:7 */ 8026 8027 type XListHostsReply = struct { 8028 Ftype BYTE 8029 Fenabled BOOL 8030 FsequenceNumber CARD16 8031 Flength CARD32 8032 FnHosts CARD16 8033 Fpad1 CARD16 8034 Fpad3 CARD32 8035 Fpad4 CARD32 8036 Fpad5 CARD32 8037 Fpad6 CARD32 8038 Fpad7 CARD32 8039 } /* Xproto.h:966:7 */ 8040 8041 // **************************************************************** 8042 // 8043 // Xerror 8044 // All errors are 32 bytes 8045 // 8046 8047 type XError = struct { 8048 Ftype BYTE 8049 FerrorCode BYTE 8050 FsequenceNumber CARD16 8051 FresourceID CARD32 8052 FminorCode CARD16 8053 FmajorCode CARD8 8054 Fpad1 BYTE 8055 Fpad3 CARD32 8056 Fpad4 CARD32 8057 Fpad5 CARD32 8058 Fpad6 CARD32 8059 Fpad7 CARD32 8060 } /* Xproto.h:989:3 */ 8061 8062 // **************************************************************** 8063 // 8064 // xEvent 8065 // All events are 32 bytes 8066 // 8067 8068 type X_xEvent = struct { 8069 Fu struct { 8070 F__ccgo_pad1 [0]uint32 8071 Fu struct { 8072 Ftype BYTE 8073 Fdetail BYTE 8074 FsequenceNumber CARD16 8075 } 8076 F__ccgo_pad2 [28]byte 8077 } 8078 } /* Xproto.h:996:9 */ 8079 8080 // **************************************************************** 8081 // 8082 // xEvent 8083 // All events are 32 bytes 8084 // 8085 8086 type XEvent1 = X_xEvent /* Xproto.h:1214:3 */ 8087 8088 // ******************************************************** 8089 // 8090 // 8091 // Generic event 8092 // 8093 // Those events are not part of the core protocol spec and can be used by 8094 // various extensions. 8095 // type is always GenericEvent 8096 // extension is the minor opcode of the extension the event belongs to. 8097 // evtype is the actual event type, unique __per extension__. 8098 // 8099 // GenericEvents can be longer than 32 bytes, with the length field 8100 // specifying the number of 4 byte blocks after the first 32 bytes. 8101 // 8102 // 8103 type XGenericEvent1 = struct { 8104 Ftype BYTE 8105 Fextension CARD8 8106 FsequenceNumber CARD16 8107 Flength CARD32 8108 Fevtype CARD16 8109 Fpad2 CARD16 8110 Fpad3 CARD32 8111 Fpad4 CARD32 8112 Fpad5 CARD32 8113 Fpad6 CARD32 8114 Fpad7 CARD32 8115 } /* Xproto.h:1244:3 */ 8116 8117 // KeymapNotify events are not included in the above union because they 8118 // are different from all other events: they do not have a "detail" 8119 // or "sequenceNumber", so there is room for a 248-bit key mask. 8120 8121 type XKeymapEvent1 = struct { 8122 Ftype BYTE 8123 Fmap [31]BYTE 8124 } /* Xproto.h:1255:7 */ 8125 8126 // XReply is the union of all the replies above whose "fixed part" 8127 // fits in 32 bytes. It does NOT include GetWindowAttributesReply, 8128 // QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply 8129 // ListFontsWithInfoReply 8130 8131 type XReply = struct{ Fgeneric XGenericReply } /* Xproto.h:1303:3 */ 8132 8133 // **************************************************************** 8134 // 8135 // REQUESTS 8136 // 8137 8138 // Request structure 8139 8140 type X_xReq = struct { 8141 FreqType CARD8 8142 Fdata CARD8 8143 Flength CARD16 8144 } /* Xproto.h:1314:9 */ 8145 8146 // **************************************************************** 8147 // 8148 // REQUESTS 8149 // 8150 8151 // Request structure 8152 8153 type XReq = X_xReq /* Xproto.h:1319:3 */ 8154 8155 // **************************************************************** 8156 // 8157 // structures that follow request. 8158 // 8159 8160 // ResourceReq is used for any request which has a resource ID 8161 // (or Atom or Time) as its one and only argument. 8162 8163 type XResourceReq = struct { 8164 FreqType CARD8 8165 Fpad BYTE 8166 Flength CARD16 8167 Fid CARD32 8168 } /* Xproto.h:1333:7 */ 8169 8170 type XCreateWindowReq = struct { 8171 FreqType CARD8 8172 Fdepth CARD8 8173 Flength CARD16 8174 Fwid CARD32 8175 Fparent CARD32 8176 Fx INT16 8177 Fy INT16 8178 Fwidth CARD16 8179 Fheight CARD16 8180 FborderWidth CARD16 8181 Fclass CARD16 8182 Fvisual CARD32 8183 Fmask CARD32 8184 } /* Xproto.h:1349:3 */ 8185 8186 type XChangeWindowAttributesReq = struct { 8187 FreqType CARD8 8188 Fpad BYTE 8189 Flength CARD16 8190 Fwindow CARD32 8191 FvalueMask CARD32 8192 } /* Xproto.h:1357:3 */ 8193 8194 type XChangeSaveSetReq = struct { 8195 FreqType CARD8 8196 Fmode BYTE 8197 Flength CARD16 8198 Fwindow CARD32 8199 } /* Xproto.h:1364:3 */ 8200 8201 type XReparentWindowReq = struct { 8202 FreqType CARD8 8203 Fpad BYTE 8204 Flength CARD16 8205 Fwindow CARD32 8206 Fparent CARD32 8207 Fx INT16 8208 Fy INT16 8209 } /* Xproto.h:1372:3 */ 8210 8211 type XConfigureWindowReq = struct { 8212 FreqType CARD8 8213 Fpad CARD8 8214 Flength CARD16 8215 Fwindow CARD32 8216 Fmask CARD16 8217 Fpad2 CARD16 8218 } /* Xproto.h:1381:3 */ 8219 8220 type XCirculateWindowReq = struct { 8221 FreqType CARD8 8222 Fdirection CARD8 8223 Flength CARD16 8224 Fwindow CARD32 8225 } /* Xproto.h:1388:3 */ 8226 8227 type XInternAtomReq = struct { 8228 FreqType CARD8 8229 FonlyIfExists BOOL 8230 Flength CARD16 8231 Fnbytes CARD16 8232 Fpad CARD16 8233 } /* Xproto.h:1396:3 */ 8234 8235 type XChangePropertyReq = struct { 8236 FreqType CARD8 8237 Fmode CARD8 8238 Flength CARD16 8239 Fwindow CARD32 8240 Fproperty CARD32 8241 Ftype CARD32 8242 Fformat CARD8 8243 Fpad [3]BYTE 8244 FnUnits CARD32 8245 } /* Xproto.h:1407:3 */ 8246 8247 type XDeletePropertyReq = struct { 8248 FreqType CARD8 8249 Fpad BYTE 8250 Flength CARD16 8251 Fwindow CARD32 8252 Fproperty CARD32 8253 } /* Xproto.h:1415:3 */ 8254 8255 type XGetPropertyReq = struct { 8256 FreqType CARD8 8257 Fdelete BOOL 8258 Flength CARD16 8259 Fwindow CARD32 8260 Fproperty CARD32 8261 Ftype CARD32 8262 FlongOffset CARD32 8263 FlongLength CARD32 8264 } /* Xproto.h:1429:3 */ 8265 8266 type XSetSelectionOwnerReq = struct { 8267 FreqType CARD8 8268 Fpad BYTE 8269 Flength CARD16 8270 Fwindow CARD32 8271 Fselection CARD32 8272 Ftime CARD32 8273 } /* Xproto.h:1438:3 */ 8274 8275 type XConvertSelectionReq = struct { 8276 FreqType CARD8 8277 Fpad BYTE 8278 Flength CARD16 8279 Frequestor CARD32 8280 Fselection CARD32 8281 Ftarget CARD32 8282 Fproperty CARD32 8283 Ftime CARD32 8284 } /* Xproto.h:1447:7 */ 8285 8286 type XSendEventReq = struct { 8287 FreqType CARD8 8288 Fpropagate BOOL 8289 Flength CARD16 8290 Fdestination CARD32 8291 FeventMask CARD32 8292 Fevent XEvent1 8293 } /* Xproto.h:1456:3 */ 8294 8295 type XGrabPointerReq = struct { 8296 FreqType CARD8 8297 FownerEvents BOOL 8298 Flength CARD16 8299 FgrabWindow CARD32 8300 FeventMask CARD16 8301 FpointerMode BYTE 8302 FkeyboardMode BYTE 8303 FconfineTo CARD32 8304 Fcursor CARD32 8305 Ftime CARD32 8306 } /* Xproto.h:1468:3 */ 8307 8308 type XGrabButtonReq = struct { 8309 FreqType CARD8 8310 FownerEvents BOOL 8311 Flength CARD16 8312 FgrabWindow CARD32 8313 FeventMask CARD16 8314 FpointerMode BYTE 8315 FkeyboardMode BYTE 8316 FconfineTo CARD32 8317 Fcursor CARD32 8318 Fbutton CARD8 8319 Fpad BYTE 8320 Fmodifiers CARD16 8321 } /* Xproto.h:1482:3 */ 8322 8323 type XUngrabButtonReq = struct { 8324 FreqType CARD8 8325 Fbutton CARD8 8326 Flength CARD16 8327 FgrabWindow CARD32 8328 Fmodifiers CARD16 8329 Fpad CARD16 8330 } /* Xproto.h:1491:3 */ 8331 8332 type XChangeActivePointerGrabReq = struct { 8333 FreqType CARD8 8334 Fpad BYTE 8335 Flength CARD16 8336 Fcursor CARD32 8337 Ftime CARD32 8338 FeventMask CARD16 8339 Fpad2 CARD16 8340 } /* Xproto.h:1501:3 */ 8341 8342 type XGrabKeyboardReq = struct { 8343 FreqType CARD8 8344 FownerEvents BOOL 8345 Flength CARD16 8346 FgrabWindow CARD32 8347 Ftime CARD32 8348 FpointerMode BYTE 8349 FkeyboardMode BYTE 8350 Fpad CARD16 8351 } /* Xproto.h:1511:3 */ 8352 8353 type XGrabKeyReq = struct { 8354 FreqType CARD8 8355 FownerEvents BOOL 8356 Flength CARD16 8357 FgrabWindow CARD32 8358 Fmodifiers CARD16 8359 Fkey CARD8 8360 FpointerMode BYTE 8361 FkeyboardMode BYTE 8362 Fpad1 BYTE 8363 Fpad2 BYTE 8364 Fpad3 BYTE 8365 } /* Xproto.h:1522:3 */ 8366 8367 type XUngrabKeyReq = struct { 8368 FreqType CARD8 8369 Fkey CARD8 8370 Flength CARD16 8371 FgrabWindow CARD32 8372 Fmodifiers CARD16 8373 Fpad CARD16 8374 } /* Xproto.h:1531:3 */ 8375 8376 type XAllowEventsReq = struct { 8377 FreqType CARD8 8378 Fmode CARD8 8379 Flength CARD16 8380 Ftime CARD32 8381 } /* Xproto.h:1538:3 */ 8382 8383 type XGetMotionEventsReq = struct { 8384 FreqType CARD8 8385 Fpad BYTE 8386 Flength CARD16 8387 Fwindow CARD32 8388 Fstart CARD32 8389 Fstop CARD32 8390 } /* Xproto.h:1546:3 */ 8391 8392 type XTranslateCoordsReq = struct { 8393 FreqType CARD8 8394 Fpad BYTE 8395 Flength CARD16 8396 FsrcWid CARD32 8397 FdstWid CARD32 8398 FsrcX INT16 8399 FsrcY INT16 8400 } /* Xproto.h:1554:3 */ 8401 8402 type XWarpPointerReq = struct { 8403 FreqType CARD8 8404 Fpad BYTE 8405 Flength CARD16 8406 FsrcWid CARD32 8407 FdstWid CARD32 8408 FsrcX INT16 8409 FsrcY INT16 8410 FsrcWidth CARD16 8411 FsrcHeight CARD16 8412 FdstX INT16 8413 FdstY INT16 8414 } /* Xproto.h:1564:3 */ 8415 8416 type XSetInputFocusReq = struct { 8417 FreqType CARD8 8418 FrevertTo CARD8 8419 Flength CARD16 8420 Ffocus CARD32 8421 Ftime CARD32 8422 } /* Xproto.h:1572:3 */ 8423 8424 type XOpenFontReq = struct { 8425 FreqType CARD8 8426 Fpad BYTE 8427 Flength CARD16 8428 Ffid CARD32 8429 Fnbytes CARD16 8430 Fpad1 BYTE 8431 Fpad2 BYTE 8432 } /* Xproto.h:1581:3 */ 8433 8434 type XQueryTextExtentsReq = struct { 8435 FreqType CARD8 8436 FoddLength BOOL 8437 Flength CARD16 8438 Ffid CARD32 8439 } /* Xproto.h:1588:7 */ 8440 8441 type XListFontsReq = struct { 8442 FreqType CARD8 8443 Fpad BYTE 8444 Flength CARD16 8445 FmaxNames CARD16 8446 Fnbytes CARD16 8447 } /* Xproto.h:1596:3 */ 8448 8449 type XListFontsWithInfoReq = XListFontsReq /* Xproto.h:1598:23 */ 8450 8451 type XSetFontPathReq = struct { 8452 FreqType CARD8 8453 Fpad BYTE 8454 Flength CARD16 8455 FnFonts CARD16 8456 Fpad1 BYTE 8457 Fpad2 BYTE 8458 } /* Xproto.h:1606:3 */ 8459 8460 type XCreatePixmapReq = struct { 8461 FreqType CARD8 8462 Fdepth CARD8 8463 Flength CARD16 8464 Fpid CARD32 8465 Fdrawable CARD32 8466 Fwidth CARD16 8467 Fheight CARD16 8468 } /* Xproto.h:1615:3 */ 8469 8470 type XCreateGCReq = struct { 8471 FreqType CARD8 8472 Fpad BYTE 8473 Flength CARD16 8474 Fgc CARD32 8475 Fdrawable CARD32 8476 Fmask CARD32 8477 } /* Xproto.h:1624:3 */ 8478 8479 type XChangeGCReq = struct { 8480 FreqType CARD8 8481 Fpad BYTE 8482 Flength CARD16 8483 Fgc CARD32 8484 Fmask CARD32 8485 } /* Xproto.h:1632:3 */ 8486 8487 type XCopyGCReq = struct { 8488 FreqType CARD8 8489 Fpad BYTE 8490 Flength CARD16 8491 FsrcGC CARD32 8492 FdstGC CARD32 8493 Fmask CARD32 8494 } /* Xproto.h:1640:3 */ 8495 8496 type XSetDashesReq = struct { 8497 FreqType CARD8 8498 Fpad BYTE 8499 Flength CARD16 8500 Fgc CARD32 8501 FdashOffset CARD16 8502 FnDashes CARD16 8503 } /* Xproto.h:1649:3 */ 8504 8505 type XSetClipRectanglesReq = struct { 8506 FreqType CARD8 8507 Fordering BYTE 8508 Flength CARD16 8509 Fgc CARD32 8510 FxOrigin INT16 8511 FyOrigin INT16 8512 } /* Xproto.h:1657:3 */ 8513 8514 type XClearAreaReq = struct { 8515 FreqType CARD8 8516 Fexposures BOOL 8517 Flength CARD16 8518 Fwindow CARD32 8519 Fx INT16 8520 Fy INT16 8521 Fwidth CARD16 8522 Fheight CARD16 8523 } /* Xproto.h:1666:3 */ 8524 8525 type XCopyAreaReq = struct { 8526 FreqType CARD8 8527 Fpad BYTE 8528 Flength CARD16 8529 FsrcDrawable CARD32 8530 FdstDrawable CARD32 8531 Fgc CARD32 8532 FsrcX INT16 8533 FsrcY INT16 8534 FdstX INT16 8535 FdstY INT16 8536 Fwidth CARD16 8537 Fheight CARD16 8538 } /* Xproto.h:1676:3 */ 8539 8540 type XCopyPlaneReq = struct { 8541 FreqType CARD8 8542 Fpad BYTE 8543 Flength CARD16 8544 FsrcDrawable CARD32 8545 FdstDrawable CARD32 8546 Fgc CARD32 8547 FsrcX INT16 8548 FsrcY INT16 8549 FdstX INT16 8550 FdstY INT16 8551 Fwidth CARD16 8552 Fheight CARD16 8553 FbitPlane CARD32 8554 } /* Xproto.h:1687:3 */ 8555 8556 type XPolyPointReq = struct { 8557 FreqType CARD8 8558 FcoordMode BYTE 8559 Flength CARD16 8560 Fdrawable CARD32 8561 Fgc CARD32 8562 } /* Xproto.h:1695:3 */ 8563 8564 type XPolyLineReq = XPolyPointReq /* Xproto.h:1697:23 */ // same request structure 8565 8566 // The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc 8567 8568 type XPolySegmentReq = struct { 8569 FreqType CARD8 8570 Fpad BYTE 8571 Flength CARD16 8572 Fdrawable CARD32 8573 Fgc CARD32 8574 } /* Xproto.h:1707:3 */ 8575 8576 type XPolyArcReq = XPolySegmentReq /* Xproto.h:1709:25 */ 8577 type XPolyRectangleReq = XPolySegmentReq /* Xproto.h:1710:25 */ 8578 type XPolyFillRectangleReq = XPolySegmentReq /* Xproto.h:1711:25 */ 8579 type XPolyFillArcReq = XPolySegmentReq /* Xproto.h:1712:25 */ 8580 8581 type X_FillPolyReq = struct { 8582 FreqType CARD8 8583 Fpad BYTE 8584 Flength CARD16 8585 Fdrawable CARD32 8586 Fgc CARD32 8587 Fshape BYTE 8588 FcoordMode BYTE 8589 Fpad1 CARD16 8590 } /* Xproto.h:1714:9 */ 8591 8592 type XFillPolyReq = X_FillPolyReq /* Xproto.h:1723:3 */ 8593 8594 type X_PutImageReq = struct { 8595 FreqType CARD8 8596 Fformat CARD8 8597 Flength CARD16 8598 Fdrawable CARD32 8599 Fgc CARD32 8600 Fwidth CARD16 8601 Fheight CARD16 8602 FdstX INT16 8603 FdstY INT16 8604 FleftPad CARD8 8605 Fdepth CARD8 8606 Fpad CARD16 8607 } /* Xproto.h:1726:9 */ 8608 8609 type XPutImageReq = X_PutImageReq /* Xproto.h:1737:3 */ 8610 8611 type XGetImageReq = struct { 8612 FreqType CARD8 8613 Fformat CARD8 8614 Flength CARD16 8615 Fdrawable CARD32 8616 Fx INT16 8617 Fy INT16 8618 Fwidth CARD16 8619 Fheight CARD16 8620 FplaneMask CARD32 8621 } /* Xproto.h:1747:3 */ 8622 8623 // the following used by PolyText8 and PolyText16 8624 8625 type XPolyTextReq = struct { 8626 FreqType CARD8 8627 Fpad CARD8 8628 Flength CARD16 8629 Fdrawable CARD32 8630 Fgc CARD32 8631 Fx INT16 8632 Fy INT16 8633 } /* Xproto.h:1758:3 */ 8634 8635 type XPolyText8Req = XPolyTextReq /* Xproto.h:1760:22 */ 8636 type XPolyText16Req = XPolyTextReq /* Xproto.h:1761:22 */ 8637 8638 type XImageTextReq = struct { 8639 FreqType CARD8 8640 FnChars BYTE 8641 Flength CARD16 8642 Fdrawable CARD32 8643 Fgc CARD32 8644 Fx INT16 8645 Fy INT16 8646 } /* Xproto.h:1770:3 */ 8647 8648 type XImageText8Req = XImageTextReq /* Xproto.h:1772:23 */ 8649 type XImageText16Req = XImageTextReq /* Xproto.h:1773:23 */ 8650 8651 type XCreateColormapReq = struct { 8652 FreqType CARD8 8653 Falloc BYTE 8654 Flength CARD16 8655 Fmid CARD32 8656 Fwindow CARD32 8657 Fvisual CARD32 8658 } /* Xproto.h:1782:3 */ 8659 8660 type XCopyColormapAndFreeReq = struct { 8661 FreqType CARD8 8662 Fpad BYTE 8663 Flength CARD16 8664 Fmid CARD32 8665 FsrcCmap CARD32 8666 } /* Xproto.h:1790:3 */ 8667 8668 type XAllocColorReq = struct { 8669 FreqType CARD8 8670 Fpad BYTE 8671 Flength CARD16 8672 Fcmap CARD32 8673 Fred CARD16 8674 Fgreen CARD16 8675 Fblue CARD16 8676 Fpad2 CARD16 8677 } /* Xproto.h:1799:3 */ 8678 8679 type XAllocNamedColorReq = struct { 8680 FreqType CARD8 8681 Fpad BYTE 8682 Flength CARD16 8683 Fcmap CARD32 8684 Fnbytes CARD16 8685 Fpad1 BYTE 8686 Fpad2 BYTE 8687 } /* Xproto.h:1808:3 */ 8688 8689 type XAllocColorCellsReq = struct { 8690 FreqType CARD8 8691 Fcontiguous BOOL 8692 Flength CARD16 8693 Fcmap CARD32 8694 Fcolors CARD16 8695 Fplanes CARD16 8696 } /* Xproto.h:1816:3 */ 8697 8698 type XAllocColorPlanesReq = struct { 8699 FreqType CARD8 8700 Fcontiguous BOOL 8701 Flength CARD16 8702 Fcmap CARD32 8703 Fcolors CARD16 8704 Fred CARD16 8705 Fgreen CARD16 8706 Fblue CARD16 8707 } /* Xproto.h:1824:3 */ 8708 8709 type XFreeColorsReq = struct { 8710 FreqType CARD8 8711 Fpad BYTE 8712 Flength CARD16 8713 Fcmap CARD32 8714 FplaneMask CARD32 8715 } /* Xproto.h:1832:3 */ 8716 8717 type XStoreColorsReq = struct { 8718 FreqType CARD8 8719 Fpad BYTE 8720 Flength CARD16 8721 Fcmap CARD32 8722 } /* Xproto.h:1839:3 */ 8723 8724 type XStoreNamedColorReq = struct { 8725 FreqType CARD8 8726 Fflags CARD8 8727 Flength CARD16 8728 Fcmap CARD32 8729 Fpixel CARD32 8730 Fnbytes CARD16 8731 Fpad1 BYTE 8732 Fpad2 BYTE 8733 } /* Xproto.h:1849:7 */ 8734 8735 type XQueryColorsReq = struct { 8736 FreqType CARD8 8737 Fpad BYTE 8738 Flength CARD16 8739 Fcmap CARD32 8740 } /* Xproto.h:1856:3 */ 8741 8742 type XLookupColorReq = struct { 8743 FreqType CARD8 8744 Fpad BYTE 8745 Flength CARD16 8746 Fcmap CARD32 8747 Fnbytes CARD16 8748 Fpad1 BYTE 8749 Fpad2 BYTE 8750 } /* Xproto.h:1865:3 */ 8751 8752 type XCreateCursorReq = struct { 8753 FreqType CARD8 8754 Fpad BYTE 8755 Flength CARD16 8756 Fcid CARD32 8757 Fsource CARD32 8758 Fmask CARD32 8759 FforeRed CARD16 8760 FforeGreen CARD16 8761 FforeBlue CARD16 8762 FbackRed CARD16 8763 FbackGreen CARD16 8764 FbackBlue CARD16 8765 Fx CARD16 8766 Fy CARD16 8767 } /* Xproto.h:1876:3 */ 8768 8769 type XCreateGlyphCursorReq = struct { 8770 FreqType CARD8 8771 Fpad BYTE 8772 Flength CARD16 8773 Fcid CARD32 8774 Fsource CARD32 8775 Fmask CARD32 8776 FsourceChar CARD16 8777 FmaskChar CARD16 8778 FforeRed CARD16 8779 FforeGreen CARD16 8780 FforeBlue CARD16 8781 FbackRed CARD16 8782 FbackGreen CARD16 8783 FbackBlue CARD16 8784 } /* Xproto.h:1887:3 */ 8785 8786 type XRecolorCursorReq = struct { 8787 FreqType CARD8 8788 Fpad BYTE 8789 Flength CARD16 8790 Fcursor CARD32 8791 FforeRed CARD16 8792 FforeGreen CARD16 8793 FforeBlue CARD16 8794 FbackRed CARD16 8795 FbackGreen CARD16 8796 FbackBlue CARD16 8797 } /* Xproto.h:1896:3 */ 8798 8799 type XQueryBestSizeReq = struct { 8800 FreqType CARD8 8801 Fclass CARD8 8802 Flength CARD16 8803 Fdrawable CARD32 8804 Fwidth CARD16 8805 Fheight CARD16 8806 } /* Xproto.h:1908:3 */ 8807 8808 type XQueryExtensionReq = struct { 8809 FreqType CARD8 8810 Fpad BYTE 8811 Flength CARD16 8812 Fnbytes CARD16 8813 Fpad1 BYTE 8814 Fpad2 BYTE 8815 } /* Xproto.h:1916:3 */ 8816 8817 type XSetModifierMappingReq = struct { 8818 FreqType CARD8 8819 FnumKeyPerModifier CARD8 8820 Flength CARD16 8821 } /* Xproto.h:1922:3 */ 8822 8823 type XSetPointerMappingReq = struct { 8824 FreqType CARD8 8825 FnElts CARD8 8826 Flength CARD16 8827 } /* Xproto.h:1928:3 */ 8828 8829 type XGetKeyboardMappingReq = struct { 8830 FreqType CARD8 8831 Fpad BYTE 8832 Flength CARD16 8833 FfirstKeyCode CARD8 8834 Fcount CARD8 8835 Fpad1 CARD16 8836 } /* Xproto.h:1937:3 */ 8837 8838 type XChangeKeyboardMappingReq = struct { 8839 FreqType CARD8 8840 FkeyCodes CARD8 8841 Flength CARD16 8842 FfirstKeyCode CARD8 8843 FkeySymsPerKeyCode CARD8 8844 Fpad1 CARD16 8845 } /* Xproto.h:1946:3 */ 8846 8847 type XChangeKeyboardControlReq = struct { 8848 FreqType CARD8 8849 Fpad BYTE 8850 Flength CARD16 8851 Fmask CARD32 8852 } /* Xproto.h:1953:3 */ 8853 8854 type XBellReq = struct { 8855 FreqType CARD8 8856 Fpercent INT8 8857 Flength CARD16 8858 } /* Xproto.h:1959:3 */ 8859 8860 type XChangePointerControlReq = struct { 8861 FreqType CARD8 8862 Fpad BYTE 8863 Flength CARD16 8864 FaccelNum INT16 8865 FaccelDenum INT16 8866 Fthreshold INT16 8867 FdoAccel BOOL 8868 FdoThresh BOOL 8869 } /* Xproto.h:1968:3 */ 8870 8871 type XSetScreenSaverReq = struct { 8872 FreqType CARD8 8873 Fpad BYTE 8874 Flength CARD16 8875 Ftimeout INT16 8876 Finterval INT16 8877 FpreferBlank BYTE 8878 FallowExpose BYTE 8879 Fpad2 CARD16 8880 } /* Xproto.h:1977:3 */ 8881 8882 type XChangeHostsReq = struct { 8883 FreqType CARD8 8884 Fmode BYTE 8885 Flength CARD16 8886 FhostFamily CARD8 8887 Fpad BYTE 8888 FhostLength CARD16 8889 } /* Xproto.h:1986:3 */ 8890 8891 type XListHostsReq = struct { 8892 FreqType CARD8 8893 Fpad BYTE 8894 Flength CARD16 8895 } /* Xproto.h:1992:7 */ 8896 8897 type XChangeModeReq = struct { 8898 FreqType CARD8 8899 Fmode BYTE 8900 Flength CARD16 8901 } /* Xproto.h:1998:7 */ 8902 8903 type XSetAccessControlReq = XChangeModeReq /* Xproto.h:2000:24 */ 8904 type XSetCloseDownModeReq = XChangeModeReq /* Xproto.h:2001:24 */ 8905 type XForceScreenSaverReq = XChangeModeReq /* Xproto.h:2002:24 */ 8906 8907 type XRotatePropertiesReq = struct { 8908 FreqType CARD8 8909 Fpad BYTE 8910 Flength CARD16 8911 Fwindow CARD32 8912 FnAtoms CARD16 8913 FnPositions INT16 8914 } /* Xproto.h:2011:7 */ 8915 8916 type X_XFreeFuncs = struct { 8917 Fatoms FreeFuncType 8918 Fmodifiermap FreeModmapType 8919 Fkey_bindings FreeFuncType 8920 Fcontext_db FreeFuncType 8921 FdefaultCCCs FreeFuncType 8922 FclientCmaps FreeFuncType 8923 FintensityMaps FreeFuncType 8924 Fim_filters FreeFuncType 8925 Fxkb FreeFuncType 8926 } /* Xlib.h:255:1 */ 8927 8928 type X_XSQEvent = struct { 8929 Fnext uintptr 8930 Fevent XEvent 8931 Fqserial_num uint64 8932 } /* Xlib.h:255:1 */ 8933 8934 type X_XExten = struct { 8935 Fnext uintptr 8936 Fcodes XExtCodes 8937 Fcreate_GC CreateGCType 8938 Fcopy_GC CopyGCType 8939 Fflush_GC FlushGCType 8940 Ffree_GC FreeGCType 8941 Fcreate_Font CreateFontType 8942 Ffree_Font FreeFontType 8943 Fclose_display CloseDisplayType 8944 Ferror ErrorType 8945 Ferror_string ErrorStringType 8946 Fname uintptr 8947 Ferror_values PrintErrorType 8948 Fbefore_flush BeforeFlushType 8949 Fnext_flush uintptr 8950 } /* Xlib.h:255:1 */ 8951 8952 type X_XInternalAsync = struct { 8953 Fnext uintptr 8954 Fhandler uintptr 8955 Fdata XPointer 8956 } /* Xlib.h:255:1 */ 8957 8958 type X_XLockPtrs = struct { 8959 Flock_display uintptr 8960 Funlock_display uintptr 8961 } /* Xlib.h:255:1 */ 8962 8963 type X_XConnectionInfo = struct { 8964 Ffd int32 8965 F__ccgo_pad1 [4]byte 8966 Fread_callback X_XInternalConnectionProc 8967 Fcall_data XPointer 8968 Fwatch_data uintptr 8969 Fnext uintptr 8970 } /* Xlib.h:255:1 */ 8971 8972 type X_XConnWatchInfo = struct { 8973 Ffn XConnectionWatchProc 8974 Fclient_data XPointer 8975 Fnext uintptr 8976 } /* Xlib.h:255:1 */ 8977 8978 // access "last_request_read" and "request" with 64bit 8979 // warning: the value argument of the SET-macros must not 8980 // have any side-effects because it may get called twice. 8981 // accessors for 64-bit unsigned long 8982 8983 // _QEvent datatype for use in input queueing. 8984 type X_XQEvent = X_XSQEvent /* Xlibint.h:331:3 */ 8985 8986 // POSIX.1-2008 extended locale interface (see locale.h). 8987 // Definition of locale_t. 8988 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 8989 // This file is part of the GNU C Library. 8990 // 8991 // The GNU C Library is free software; you can redistribute it and/or 8992 // modify it under the terms of the GNU Lesser General Public 8993 // License as published by the Free Software Foundation; either 8994 // version 2.1 of the License, or (at your option) any later version. 8995 // 8996 // The GNU C Library is distributed in the hope that it will be useful, 8997 // but WITHOUT ANY WARRANTY; without even the implied warranty of 8998 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 8999 // Lesser General Public License for more details. 9000 // 9001 // You should have received a copy of the GNU Lesser General Public 9002 // License along with the GNU C Library; if not, see 9003 // <https://www.gnu.org/licenses/>. 9004 9005 // Definition of struct __locale_struct and __locale_t. 9006 // Copyright (C) 1997-2020 Free Software Foundation, Inc. 9007 // This file is part of the GNU C Library. 9008 // Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. 9009 // 9010 // The GNU C Library is free software; you can redistribute it and/or 9011 // modify it under the terms of the GNU Lesser General Public 9012 // License as published by the Free Software Foundation; either 9013 // version 2.1 of the License, or (at your option) any later version. 9014 // 9015 // The GNU C Library is distributed in the hope that it will be useful, 9016 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9018 // Lesser General Public License for more details. 9019 // 9020 // You should have received a copy of the GNU Lesser General Public 9021 // License along with the GNU C Library; if not, see 9022 // <https://www.gnu.org/licenses/>. 9023 9024 // POSIX.1-2008: the locale_t type, representing a locale context 9025 // (implementation-namespace version). This type should be treated 9026 // as opaque by applications; some details are exposed for the sake of 9027 // efficiency in e.g. ctype functions. 9028 9029 type X__locale_struct = struct { 9030 F__locales [13]uintptr 9031 F__ctype_b uintptr 9032 F__ctype_tolower uintptr 9033 F__ctype_toupper uintptr 9034 F__names [13]uintptr 9035 } /* __locale_t.h:28:1 */ 9036 9037 type X__locale_t = uintptr /* __locale_t.h:42:32 */ 9038 9039 type Locale_t = X__locale_t /* locale_t.h:24:20 */ 9040 9041 // the new Xfuncs.h 9042 9043 // the ANSI C way 9044 9045 // 9046 // O/S-dependent (mis)feature macro definitions 9047 // 9048 // Copyright 1991, 1998 The Open Group 9049 // 9050 // Permission to use, copy, modify, distribute, and sell this software and its 9051 // documentation for any purpose is hereby granted without fee, provided that 9052 // the above copyright notice appear in all copies and that both that 9053 // copyright notice and this permission notice appear in supporting 9054 // documentation. 9055 // 9056 // The above copyright notice and this permission notice shall be included in 9057 // all copies or substantial portions of the Software. 9058 // 9059 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9060 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9061 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9062 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9063 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9064 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9065 // 9066 // Except as contained in this notice, the name of The Open Group shall not be 9067 // used in advertising or otherwise to promote the sale, use or other dealings 9068 // in this Software without prior written authorization from The Open Group. 9069 // 9070 9071 // Utek leaves kernel macros around in include files (bleah) 9072 9073 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9074 // This file is part of the GNU C Library. 9075 // 9076 // The GNU C Library is free software; you can redistribute it and/or 9077 // modify it under the terms of the GNU Lesser General Public 9078 // License as published by the Free Software Foundation; either 9079 // version 2.1 of the License, or (at your option) any later version. 9080 // 9081 // The GNU C Library is distributed in the hope that it will be useful, 9082 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9083 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9084 // Lesser General Public License for more details. 9085 // 9086 // You should have received a copy of the GNU Lesser General Public 9087 // License along with the GNU C Library; if not, see 9088 // <https://www.gnu.org/licenses/>. 9089 9090 // ISO C99 Standard: 7.20 General utilities <stdlib.h> 9091 9092 // Handle feature test macros at the start of a header. 9093 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 9094 // This file is part of the GNU C Library. 9095 // 9096 // The GNU C Library is free software; you can redistribute it and/or 9097 // modify it under the terms of the GNU Lesser General Public 9098 // License as published by the Free Software Foundation; either 9099 // version 2.1 of the License, or (at your option) any later version. 9100 // 9101 // The GNU C Library is distributed in the hope that it will be useful, 9102 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9103 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9104 // Lesser General Public License for more details. 9105 // 9106 // You should have received a copy of the GNU Lesser General Public 9107 // License along with the GNU C Library; if not, see 9108 // <https://www.gnu.org/licenses/>. 9109 9110 // This header is internal to glibc and should not be included outside 9111 // of glibc headers. Headers including it must define 9112 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 9113 // cannot have multiple include guards because ISO C feature test 9114 // macros depend on the definition of the macro when an affected 9115 // header is included, not when the first system header is 9116 // included. 9117 9118 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9119 // This file is part of the GNU C Library. 9120 // 9121 // The GNU C Library is free software; you can redistribute it and/or 9122 // modify it under the terms of the GNU Lesser General Public 9123 // License as published by the Free Software Foundation; either 9124 // version 2.1 of the License, or (at your option) any later version. 9125 // 9126 // The GNU C Library is distributed in the hope that it will be useful, 9127 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9128 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9129 // Lesser General Public License for more details. 9130 // 9131 // You should have received a copy of the GNU Lesser General Public 9132 // License along with the GNU C Library; if not, see 9133 // <https://www.gnu.org/licenses/>. 9134 9135 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 9136 // macro. 9137 9138 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 9139 // macro. Most but not all symbols enabled by that macro in TS 9140 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 9141 // still require that macro in C2X. 9142 9143 // ISO/IEC TS 18661-4:2015 defines the 9144 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 9145 // functions, the symbols from this TS are enabled unconditionally in 9146 // C2X. 9147 9148 // ISO/IEC TS 18661-3:2015 defines the 9149 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 9150 9151 // Get size_t, wchar_t and NULL from <stddef.h>. 9152 // Copyright (C) 1989-2020 Free Software Foundation, Inc. 9153 // 9154 // This file is part of GCC. 9155 // 9156 // GCC is free software; you can redistribute it and/or modify 9157 // it under the terms of the GNU General Public License as published by 9158 // the Free Software Foundation; either version 3, or (at your option) 9159 // any later version. 9160 // 9161 // GCC is distributed in the hope that it will be useful, 9162 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9163 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 9164 // GNU General Public License for more details. 9165 // 9166 // Under Section 7 of GPL version 3, you are granted additional 9167 // permissions described in the GCC Runtime Library Exception, version 9168 // 3.1, as published by the Free Software Foundation. 9169 // 9170 // You should have received a copy of the GNU General Public License and 9171 // a copy of the GCC Runtime Library Exception along with this program; 9172 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 9173 // <http://www.gnu.org/licenses/>. 9174 9175 // ISO C Standard: 7.17 Common definitions <stddef.h> 9176 9177 // Any one of these symbols __need_* means that GNU libc 9178 // wants us just to define one data type. So don't define 9179 // the symbols that indicate this file's entire job has been done. 9180 9181 // This avoids lossage on SunOS but only if stdtypes.h comes first. 9182 // There's no way to win with the other order! Sun lossage. 9183 9184 // Sequent's header files use _PTRDIFF_T_ in some conflicting way. 9185 // Just ignore it. 9186 9187 // On VxWorks, <type/vxTypesBase.h> may have defined macros like 9188 // _TYPE_size_t which will typedef size_t. fixincludes patched the 9189 // vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is 9190 // not defined, and so that defining this macro defines _GCC_SIZE_T. 9191 // If we find that the macros are still defined at this point, we must 9192 // invoke them so that the type is defined as expected. 9193 9194 // In case nobody has defined these types, but we aren't running under 9195 // GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and 9196 // __WCHAR_TYPE__ have reasonable values. This can happen if the 9197 // parts of GCC is compiled by an older compiler, that actually 9198 // include gstddef.h, such as collect2. 9199 9200 // Signed type of difference of two pointers. 9201 9202 // Define this type if we are doing the whole job, 9203 // or if we want this type in particular. 9204 9205 // If this symbol has done its job, get rid of it. 9206 9207 // Unsigned type of `sizeof' something. 9208 9209 // Define this type if we are doing the whole job, 9210 // or if we want this type in particular. 9211 9212 // Wide character type. 9213 // Locale-writers should change this as necessary to 9214 // be big enough to hold unique values not between 0 and 127, 9215 // and not (wchar_t) -1, for each defined multibyte character. 9216 9217 // Define this type if we are doing the whole job, 9218 // or if we want this type in particular. 9219 9220 // A null pointer constant. 9221 9222 // Offset of member MEMBER in a struct of type TYPE. 9223 9224 // XPG requires a few symbols from <sys/wait.h> being defined. 9225 // Definitions of flag bits for `waitpid' et al. 9226 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 9227 // This file is part of the GNU C Library. 9228 // 9229 // The GNU C Library is free software; you can redistribute it and/or 9230 // modify it under the terms of the GNU Lesser General Public 9231 // License as published by the Free Software Foundation; either 9232 // version 2.1 of the License, or (at your option) any later version. 9233 // 9234 // The GNU C Library is distributed in the hope that it will be useful, 9235 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9236 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9237 // Lesser General Public License for more details. 9238 // 9239 // You should have received a copy of the GNU Lesser General Public 9240 // License along with the GNU C Library; if not, see 9241 // <https://www.gnu.org/licenses/>. 9242 9243 // Bits in the third argument to `waitpid'. 9244 9245 // Bits in the fourth argument to `waitid'. 9246 9247 // The following values are used by the `waitid' function. 9248 9249 // The Linux kernel defines these bare, rather than an enum, 9250 // which causes a conflict if the include order is reversed. 9251 9252 type Idtype_t = uint32 /* waitflags.h:57:3 */ 9253 // Definitions of status bits for `wait' et al. 9254 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 9255 // This file is part of the GNU C Library. 9256 // 9257 // The GNU C Library is free software; you can redistribute it and/or 9258 // modify it under the terms of the GNU Lesser General Public 9259 // License as published by the Free Software Foundation; either 9260 // version 2.1 of the License, or (at your option) any later version. 9261 // 9262 // The GNU C Library is distributed in the hope that it will be useful, 9263 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9264 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9265 // Lesser General Public License for more details. 9266 // 9267 // You should have received a copy of the GNU Lesser General Public 9268 // License along with the GNU C Library; if not, see 9269 // <https://www.gnu.org/licenses/>. 9270 9271 // Everything extant so far uses these same bits. 9272 9273 // If WIFEXITED(STATUS), the low-order 8 bits of the status. 9274 9275 // If WIFSIGNALED(STATUS), the terminating signal. 9276 9277 // If WIFSTOPPED(STATUS), the signal that stopped the child. 9278 9279 // Nonzero if STATUS indicates normal termination. 9280 9281 // Nonzero if STATUS indicates termination by a signal. 9282 9283 // Nonzero if STATUS indicates the child is stopped. 9284 9285 // Nonzero if STATUS indicates the child continued after a stop. We only 9286 // define this if <bits/waitflags.h> provides the WCONTINUED flag bit. 9287 9288 // Nonzero if STATUS indicates the child dumped core. 9289 9290 // Macros for constructing status values. 9291 9292 // Define the macros <sys/wait.h> also would define this way. 9293 9294 // _FloatN API tests for enablement. 9295 // Macros to control TS 18661-3 glibc features on x86. 9296 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 9297 // This file is part of the GNU C Library. 9298 // 9299 // The GNU C Library is free software; you can redistribute it and/or 9300 // modify it under the terms of the GNU Lesser General Public 9301 // License as published by the Free Software Foundation; either 9302 // version 2.1 of the License, or (at your option) any later version. 9303 // 9304 // The GNU C Library is distributed in the hope that it will be useful, 9305 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9306 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9307 // Lesser General Public License for more details. 9308 // 9309 // You should have received a copy of the GNU Lesser General Public 9310 // License along with the GNU C Library; if not, see 9311 // <https://www.gnu.org/licenses/>. 9312 9313 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9314 // This file is part of the GNU C Library. 9315 // 9316 // The GNU C Library is free software; you can redistribute it and/or 9317 // modify it under the terms of the GNU Lesser General Public 9318 // License as published by the Free Software Foundation; either 9319 // version 2.1 of the License, or (at your option) any later version. 9320 // 9321 // The GNU C Library is distributed in the hope that it will be useful, 9322 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9323 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9324 // Lesser General Public License for more details. 9325 // 9326 // You should have received a copy of the GNU Lesser General Public 9327 // License along with the GNU C Library; if not, see 9328 // <https://www.gnu.org/licenses/>. 9329 9330 // Defined to 1 if the current compiler invocation provides a 9331 // floating-point type with the IEEE 754 binary128 format, and this 9332 // glibc includes corresponding *f128 interfaces for it. The required 9333 // libgcc support was added some time after the basic compiler 9334 // support, for x86_64 and x86. 9335 9336 // Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct 9337 // from the default float, double and long double types in this glibc. 9338 9339 // Defined to 1 if the current compiler invocation provides a 9340 // floating-point type with the right format for _Float64x, and this 9341 // glibc includes corresponding *f64x interfaces for it. 9342 9343 // Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format 9344 // of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has 9345 // the format of _Float128, which must be different from that of long 9346 // double. 9347 9348 // Defined to concatenate the literal suffix to be used with _Float128 9349 // types, if __HAVE_FLOAT128 is 1. 9350 9351 // Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. 9352 9353 // The remaining of this file provides support for older compilers. 9354 9355 // The type _Float128 exists only since GCC 7.0. 9356 9357 // __builtin_huge_valf128 doesn't exist before GCC 7.0. 9358 9359 // Older GCC has only a subset of built-in functions for _Float128 on 9360 // x86, and __builtin_infq is not usable in static initializers. 9361 // Converting a narrower sNaN to _Float128 produces a quiet NaN, so 9362 // attempts to use _Float128 sNaNs will not work properly with older 9363 // compilers. 9364 9365 // In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, 9366 // e.g.: __builtin_signbitf128, before GCC 6. However, there has never 9367 // been a __builtin_signbitf128 in GCC and the type-generic builtin is 9368 // only available since GCC 6. 9369 9370 // Macros to control TS 18661-3 glibc features where the same 9371 // definitions are appropriate for all platforms. 9372 // Copyright (C) 2017-2020 Free Software Foundation, Inc. 9373 // This file is part of the GNU C Library. 9374 // 9375 // The GNU C Library is free software; you can redistribute it and/or 9376 // modify it under the terms of the GNU Lesser General Public 9377 // License as published by the Free Software Foundation; either 9378 // version 2.1 of the License, or (at your option) any later version. 9379 // 9380 // The GNU C Library is distributed in the hope that it will be useful, 9381 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9382 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9383 // Lesser General Public License for more details. 9384 // 9385 // You should have received a copy of the GNU Lesser General Public 9386 // License along with the GNU C Library; if not, see 9387 // <https://www.gnu.org/licenses/>. 9388 9389 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9390 // This file is part of the GNU C Library. 9391 // 9392 // The GNU C Library is free software; you can redistribute it and/or 9393 // modify it under the terms of the GNU Lesser General Public 9394 // License as published by the Free Software Foundation; either 9395 // version 2.1 of the License, or (at your option) any later version. 9396 // 9397 // The GNU C Library is distributed in the hope that it will be useful, 9398 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9399 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9400 // Lesser General Public License for more details. 9401 // 9402 // You should have received a copy of the GNU Lesser General Public 9403 // License along with the GNU C Library; if not, see 9404 // <https://www.gnu.org/licenses/>. 9405 9406 // Properties of long double type. ldbl-96 version. 9407 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 9408 // This file is part of the GNU C Library. 9409 // 9410 // The GNU C Library is free software; you can redistribute it and/or 9411 // modify it under the terms of the GNU Lesser General Public 9412 // License published by the Free Software Foundation; either 9413 // version 2.1 of the License, or (at your option) any later version. 9414 // 9415 // The GNU C Library is distributed in the hope that it will be useful, 9416 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9417 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9418 // Lesser General Public License for more details. 9419 // 9420 // You should have received a copy of the GNU Lesser General Public 9421 // License along with the GNU C Library; if not, see 9422 // <https://www.gnu.org/licenses/>. 9423 9424 // long double is distinct from double, so there is nothing to 9425 // define here. 9426 9427 // This header should be included at the bottom of each bits/floatn.h. 9428 // It defines the following macros for each _FloatN and _FloatNx type, 9429 // where the same definitions, or definitions based only on the macros 9430 // in bits/floatn.h, are appropriate for all glibc configurations. 9431 9432 // Defined to 1 if the current compiler invocation provides a 9433 // floating-point type with the right format for this type, and this 9434 // glibc includes corresponding *fN or *fNx interfaces for it. 9435 9436 // Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the 9437 // type is the first with its format in the sequence of (the default 9438 // choices for) float, double, long double, _Float16, _Float32, 9439 // _Float64, _Float128, _Float32x, _Float64x, _Float128x for this 9440 // glibc; that is, if functions present once per floating-point format 9441 // rather than once per type are present for this type. 9442 // 9443 // All configurations supported by glibc have _Float32 the same format 9444 // as float, _Float64 and _Float32x the same format as double, the 9445 // _Float64x the same format as either long double or _Float128. No 9446 // configurations support _Float128x or, as of GCC 7, have compiler 9447 // support for a type meeting the requirements for _Float128x. 9448 9449 // Defined to 1 if the corresponding _FloatN type is not binary compatible 9450 // with the corresponding ISO C type in the current compilation unit as 9451 // opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built 9452 // in glibc. 9453 9454 // Defined to 1 if any _FloatN or _FloatNx types that are not 9455 // ABI-distinct are however distinct types at the C language level (so 9456 // for the purposes of __builtin_types_compatible_p and _Generic). 9457 9458 // Defined to concatenate the literal suffix to be used with _FloatN 9459 // or _FloatNx types, if __HAVE_<type> is 1. The corresponding 9460 // literal suffixes exist since GCC 7, for C only. 9461 9462 // Defined to a complex type if __HAVE_<type> is 1. 9463 9464 // The remaining of this file provides support for older compilers. 9465 9466 // If double, long double and _Float64 all have the same set of 9467 // values, TS 18661-3 requires the usual arithmetic conversions on 9468 // long double and _Float64 to produce _Float64. For this to be the 9469 // case when building with a compiler without a distinct _Float64 9470 // type, _Float64 must be a typedef for long double, not for 9471 // double. 9472 9473 // Returned by `div'. 9474 type Div_t = struct { 9475 Fquot int32 9476 Frem int32 9477 } /* stdlib.h:62:5 */ 9478 9479 // Returned by `ldiv'. 9480 type Ldiv_t = struct { 9481 Fquot int64 9482 Frem int64 9483 } /* stdlib.h:70:5 */ 9484 9485 // Returned by `lldiv'. 9486 type Lldiv_t = struct { 9487 Fquot int64 9488 Frem int64 9489 } /* stdlib.h:80:5 */ 9490 9491 // Reentrant versions of the `random' family of functions. 9492 // These functions all use the following data structure to contain 9493 // state, rather than global state variables. 9494 9495 type Random_data = struct { 9496 Ffptr uintptr 9497 Frptr uintptr 9498 Fstate uintptr 9499 Frand_type int32 9500 Frand_deg int32 9501 Frand_sep int32 9502 F__ccgo_pad1 [4]byte 9503 Fend_ptr uintptr 9504 } /* stdlib.h:423:1 */ 9505 9506 // Data structure for communication with thread safe versions. This 9507 // type is to be regarded as opaque. It's only exported because users 9508 // have to allocate objects of this type. 9509 type Drand48_data = struct { 9510 F__x [3]uint16 9511 F__old_x [3]uint16 9512 F__c uint16 9513 F__init uint16 9514 F__a uint64 9515 } /* stdlib.h:490:1 */ 9516 9517 // Shorthand for type of comparison functions. 9518 type X__compar_fn_t = uintptr /* stdlib.h:808:13 */ 9519 9520 // Floating-point inline functions for stdlib.h. 9521 // Copyright (C) 2012-2020 Free Software Foundation, Inc. 9522 // This file is part of the GNU C Library. 9523 // 9524 // The GNU C Library is free software; you can redistribute it and/or 9525 // modify it under the terms of the GNU Lesser General Public 9526 // License as published by the Free Software Foundation; either 9527 // version 2.1 of the License, or (at your option) any later version. 9528 // 9529 // The GNU C Library is distributed in the hope that it will be useful, 9530 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9531 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9532 // Lesser General Public License for more details. 9533 // 9534 // You should have received a copy of the GNU Lesser General Public 9535 // License along with the GNU C Library; if not, see 9536 // <https://www.gnu.org/licenses/>. 9537 9538 // Define some macros helping to catch buffer overflows. 9539 9540 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 9541 // This file is part of the GNU C Library. 9542 // 9543 // The GNU C Library is free software; you can redistribute it and/or 9544 // modify it under the terms of the GNU Lesser General Public 9545 // License as published by the Free Software Foundation; either 9546 // version 2.1 of the License, or (at your option) any later version. 9547 // 9548 // The GNU C Library is distributed in the hope that it will be useful, 9549 // but WITHOUT ANY WARRANTY; without even the implied warranty of 9550 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9551 // Lesser General Public License for more details. 9552 // 9553 // You should have received a copy of the GNU Lesser General Public 9554 // License along with the GNU C Library; if not, see 9555 // <https://www.gnu.org/licenses/>. 9556 9557 // ISO C99 Standard: 7.21 String handling <string.h> 9558 9559 // 9560 // 9561 // Copyright 1989, 1991, 1998 The Open Group 9562 // 9563 // Permission to use, copy, modify, distribute, and sell this software and its 9564 // documentation for any purpose is hereby granted without fee, provided that 9565 // the above copyright notice appear in all copies and that both that 9566 // copyright notice and this permission notice appear in supporting 9567 // documentation. 9568 // 9569 // The above copyright notice and this permission notice shall be included in 9570 // all copies or substantial portions of the Software. 9571 // 9572 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9573 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9574 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9575 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9576 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9577 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9578 // 9579 // Except as contained in this notice, the name of The Open Group shall not be 9580 // used in advertising or otherwise to promote the sale, use or other dealings 9581 // in this Software without prior written authorization from The Open Group. 9582 // * 9583 // 9584 9585 // Definitions to make function prototypes manageable 9586 9587 // The following definitions can be used for locking requests in multi-threaded 9588 // address spaces. 9589 // Author: Stephen Gildea, MIT X Consortium 9590 // 9591 // declarations for C Threads locking 9592 9593 type LockInfoPtr = uintptr /* Xlibint.h:365:29 */ 9594 9595 // Xlib manual is bogus 9596 9597 // CI_GET_CHAR_INFO_1D - return the charinfo struct for the indicated 8bit 9598 // character. If the character is in the column and exists, then return the 9599 // appropriate metrics (note that fonts with common per-character metrics will 9600 // return min_bounds). If none of these hold true, try again with the default 9601 // char. 9602 9603 // CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and 9604 // column. This is used for fonts that have more than row zero. 9605 9606 // srcvar must be a variable for large architecture version 9607 9608 type X_XAsyncHandler = X_XInternalAsync /* Xlibint.h:784:3 */ 9609 9610 // This struct is part of the ABI and is defined by value 9611 // in user-code. This means that we cannot make 9612 // the sequence-numbers 64bit. 9613 type X_XAsyncEState = struct { 9614 Fmin_sequence_number uint64 9615 Fmax_sequence_number uint64 9616 Ferror_code uint8 9617 Fmajor_opcode uint8 9618 Fminor_opcode uint16 9619 Flast_error_received uint8 9620 F__ccgo_pad1 [3]byte 9621 Ferror_count int32 9622 F__ccgo_pad2 [4]byte 9623 } /* Xlibint.h:791:9 */ 9624 9625 // This struct is part of the ABI and is defined by value 9626 // in user-code. This means that we cannot make 9627 // the sequence-numbers 64bit. 9628 type X_XAsyncErrorState = X_XAsyncEState /* Xlibint.h:799:3 */ 9629 9630 type FreeFuncType = uintptr /* Xlibint.h:809:14 */ 9631 9632 type FreeModmapType = uintptr /* Xlibint.h:813:13 */ 9633 9634 // This structure is private to the library. 9635 type X_XFreeFuncRec = X_XFreeFuncs /* Xlibint.h:830:3 */ 9636 9637 // types for InitExt.c 9638 type CreateGCType = uintptr /* Xlibint.h:833:13 */ 9639 9640 type CopyGCType = uintptr /* Xlibint.h:839:13 */ 9641 9642 type FlushGCType = uintptr /* Xlibint.h:845:13 */ 9643 9644 type FreeGCType = uintptr /* Xlibint.h:851:13 */ 9645 9646 type CreateFontType = uintptr /* Xlibint.h:857:13 */ 9647 9648 type FreeFontType = uintptr /* Xlibint.h:863:13 */ 9649 9650 type CloseDisplayType = uintptr /* Xlibint.h:869:13 */ 9651 9652 type ErrorType = uintptr /* Xlibint.h:874:13 */ 9653 9654 type ErrorStringType = uintptr /* Xlibint.h:881:13 */ 9655 9656 type PrintErrorType = uintptr /* Xlibint.h:889:14 */ 9657 9658 type BeforeFlushType = uintptr /* Xlibint.h:895:14 */ 9659 9660 // This structure is private to the library. 9661 type X_XExtension = X_XExten /* Xlibint.h:921:3 */ 9662 9663 // internal connections for IMs 9664 9665 type X_XInternalConnectionProc = uintptr /* Xlibint.h:1282:14 */ 9666 9667 //********************************************************** 9668 // 9669 // Copyright 1987, 1998 The Open Group 9670 // 9671 // Permission to use, copy, modify, distribute, and sell this software and its 9672 // documentation for any purpose is hereby granted without fee, provided that 9673 // the above copyright notice appear in all copies and that both that 9674 // copyright notice and this permission notice appear in supporting 9675 // documentation. 9676 // 9677 // The above copyright notice and this permission notice shall be included in 9678 // all copies or substantial portions of the Software. 9679 // 9680 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9681 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9682 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9683 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9684 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9685 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9686 // 9687 // Except as contained in this notice, the name of The Open Group shall not be 9688 // used in advertising or otherwise to promote the sale, use or other dealings 9689 // in this Software without prior written authorization from The Open Group. 9690 // 9691 // 9692 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 9693 // 9694 // All Rights Reserved 9695 // 9696 // Permission to use, copy, modify, and distribute this software and its 9697 // documentation for any purpose and without fee is hereby granted, 9698 // provided that the above copyright notice appear in all copies and that 9699 // both that copyright notice and this permission notice appear in 9700 // supporting documentation, and that the name of Digital not be 9701 // used in advertising or publicity pertaining to distribution of the 9702 // software without specific, written prior permission. 9703 // 9704 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9705 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9706 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9707 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9708 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9709 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9710 // SOFTWARE. 9711 // 9712 // ***************************************************************** 9713 9714 // You must include <X11/Xlib.h> before including this file 9715 // 9716 // 9717 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 9718 // 9719 // Permission to use, copy, modify, distribute, and sell this software and its 9720 // documentation for any purpose is hereby granted without fee, provided that 9721 // the above copyright notice appear in all copies and that both that 9722 // copyright notice and this permission notice appear in supporting 9723 // documentation. 9724 // 9725 // The above copyright notice and this permission notice shall be included in 9726 // all copies or substantial portions of the Software. 9727 // 9728 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9729 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9730 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9731 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9732 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9733 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9734 // 9735 // Except as contained in this notice, the name of The Open Group shall not be 9736 // used in advertising or otherwise to promote the sale, use or other dealings 9737 // in this Software without prior written authorization from The Open Group. 9738 // 9739 9740 // Xlib.h - Header definition and support file for the C subroutine 9741 // interface library (Xlib) to the X Window System Protocol (V11). 9742 // Structures and symbols starting with "_" are private to the library. 9743 //********************************************************** 9744 // 9745 // Copyright 1987, 1998 The Open Group 9746 // 9747 // Permission to use, copy, modify, distribute, and sell this software and its 9748 // documentation for any purpose is hereby granted without fee, provided that 9749 // the above copyright notice appear in all copies and that both that 9750 // copyright notice and this permission notice appear in supporting 9751 // documentation. 9752 // 9753 // The above copyright notice and this permission notice shall be included in 9754 // all copies or substantial portions of the Software. 9755 // 9756 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 9757 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9758 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 9759 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 9760 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 9761 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9762 // 9763 // Except as contained in this notice, the name of The Open Group shall not be 9764 // used in advertising or otherwise to promote the sale, use or other dealings 9765 // in this Software without prior written authorization from The Open Group. 9766 // 9767 // 9768 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 9769 // 9770 // All Rights Reserved 9771 // 9772 // Permission to use, copy, modify, and distribute this software and its 9773 // documentation for any purpose and without fee is hereby granted, 9774 // provided that the above copyright notice appear in all copies and that 9775 // both that copyright notice and this permission notice appear in 9776 // supporting documentation, and that the name of Digital not be 9777 // used in advertising or publicity pertaining to distribution of the 9778 // software without specific, written prior permission. 9779 // 9780 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9781 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9782 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9783 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9784 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9785 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9786 // SOFTWARE. 9787 // 9788 // ***************************************************************** 9789 9790 // default keysyms 9791 9792 //********************************************************** 9793 // Copyright 1987, 1994, 1998 The Open Group 9794 // 9795 // Permission to use, copy, modify, distribute, and sell this software and its 9796 // documentation for any purpose is hereby granted without fee, provided that 9797 // the above copyright notice appear in all copies and that both that 9798 // copyright notice and this permission notice appear in supporting 9799 // documentation. 9800 // 9801 // The above copyright notice and this permission notice shall be included 9802 // in all copies or substantial portions of the Software. 9803 // 9804 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 9805 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 9806 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 9807 // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 9808 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 9809 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 9810 // OTHER DEALINGS IN THE SOFTWARE. 9811 // 9812 // Except as contained in this notice, the name of The Open Group shall 9813 // not be used in advertising or otherwise to promote the sale, use or 9814 // other dealings in this Software without prior written authorization 9815 // from The Open Group. 9816 // 9817 // 9818 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts 9819 // 9820 // All Rights Reserved 9821 // 9822 // Permission to use, copy, modify, and distribute this software and its 9823 // documentation for any purpose and without fee is hereby granted, 9824 // provided that the above copyright notice appear in all copies and that 9825 // both that copyright notice and this permission notice appear in 9826 // supporting documentation, and that the name of Digital not be 9827 // used in advertising or publicity pertaining to distribution of the 9828 // software without specific, written prior permission. 9829 // 9830 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 9831 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 9832 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 9833 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 9834 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 9835 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 9836 // SOFTWARE. 9837 // 9838 // ***************************************************************** 9839 9840 // The "X11 Window System Protocol" standard defines in Appendix A the 9841 // keysym codes. These 29-bit integer values identify characters or 9842 // functions associated with each key (e.g., via the visible 9843 // engraving) of a keyboard layout. This file assigns mnemonic macro 9844 // names for these keysyms. 9845 // 9846 // This file is also compiled (by src/util/makekeys.c in libX11) into 9847 // hash tables that can be accessed with X11 library functions such as 9848 // XStringToKeysym() and XKeysymToString(). 9849 // 9850 // Where a keysym corresponds one-to-one to an ISO 10646 / Unicode 9851 // character, this is noted in a comment that provides both the U+xxxx 9852 // Unicode position, as well as the official Unicode name of the 9853 // character. 9854 // 9855 // Where the correspondence is either not one-to-one or semantically 9856 // unclear, the Unicode position and name are enclosed in 9857 // parentheses. Such legacy keysyms should be considered deprecated 9858 // and are not recommended for use in future keyboard mappings. 9859 // 9860 // For any future extension of the keysyms with characters already 9861 // found in ISO 10646 / Unicode, the following algorithm shall be 9862 // used. The new keysym code position will simply be the character's 9863 // Unicode number plus 0x01000000. The keysym values in the range 9864 // 0x01000100 to 0x0110ffff are reserved to represent Unicode 9865 // characters in the range U+0100 to U+10FFFF. 9866 // 9867 // While most newer Unicode-based X11 clients do already accept 9868 // Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it 9869 // will remain necessary for clients -- in the interest of 9870 // compatibility with existing servers -- to also understand the 9871 // existing legacy keysym values in the range 0x0100 to 0x20ff. 9872 // 9873 // Where several mnemonic names are defined for the same keysym in this 9874 // file, all but the first one listed should be considered deprecated. 9875 // 9876 // Mnemonic names for keysyms are defined in this file with lines 9877 // that match one of these Perl regular expressions: 9878 // 9879 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/ 9880 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/ 9881 // /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/ 9882 // 9883 // Before adding new keysyms, please do consider the following: In 9884 // addition to the keysym names defined in this file, the 9885 // XStringToKeysym() and XKeysymToString() functions will also handle 9886 // any keysym string of the form "U0020" to "U007E" and "U00A0" to 9887 // "U10FFFF" for all possible Unicode characters. In other words, 9888 // every possible Unicode character has already a keysym string 9889 // defined algorithmically, even if it is not listed here. Therefore, 9890 // defining an additional keysym macro is only necessary where a 9891 // non-hexadecimal mnemonic name is needed, or where the new keysym 9892 // does not represent any existing Unicode character. 9893 // 9894 // When adding new keysyms to this file, do not forget to also update the 9895 // following as needed: 9896 // 9897 // - the mappings in src/KeyBind.c in the libX11 repo 9898 // https://gitlab.freedesktop.org/xorg/lib/libx11 9899 // 9900 // - the protocol specification in specs/keysyms.xml in this repo 9901 // https://gitlab.freedesktop.org/xorg/proto/xorgproto 9902 // 9903 9904 // TTY function keys, cleverly chosen to map to ASCII, for convenience of 9905 // programming, but could have been arbitrary (at the cost of lookup 9906 // tables in client code). 9907 9908 // International & multi-key character composition 9909 9910 // Japanese keyboard support 9911 9912 // 0xff31 thru 0xff3f are under XK_KOREAN 9913 9914 // Cursor control & motion 9915 9916 // Misc functions 9917 9918 // Keypad functions, keypad numbers cleverly chosen to map to ASCII 9919 9920 // Auxiliary functions; note the duplicate definitions for left and right 9921 // function keys; Sun keyboards and a few other manufacturers have such 9922 // function key groups on the left and/or right sides of the keyboard. 9923 // We've not found a keyboard with more than 35 function keys total. 9924 9925 // Modifiers 9926 9927 // Keyboard (XKB) Extension function and modifier keys 9928 // (from Appendix C of "The X Keyboard Extension: Protocol Specification") 9929 // Byte 3 = 0xfe 9930 9931 // extra dead elements for German T3 layout 9932 9933 // dead vowels for universal syllable entry 9934 9935 // Single-Stroke Multiple-Character N-Graph Keysyms For The X Input Method 9936 9937 // 3270 Terminal Keys 9938 // Byte 3 = 0xfd 9939 9940 // Latin 1 9941 // (ISO/IEC 8859-1 = Unicode U+0020..U+00FF) 9942 // Byte 3 = 0 9943 9944 // Latin 2 9945 // Byte 3 = 1 9946 9947 // Latin 3 9948 // Byte 3 = 2 9949 9950 // Latin 4 9951 // Byte 3 = 3 9952 9953 // Latin 8 9954 9955 // Latin 9 9956 // Byte 3 = 0x13 9957 9958 // Katakana 9959 // Byte 3 = 4 9960 9961 // Arabic 9962 // Byte 3 = 5 9963 9964 // Cyrillic 9965 // Byte 3 = 6 9966 9967 // Greek 9968 // (based on an early draft of, and not quite identical to, ISO/IEC 8859-7) 9969 // Byte 3 = 7 9970 9971 // Technical 9972 // (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html) 9973 // Byte 3 = 8 9974 9975 // Special 9976 // (from the DEC VT100 Special Graphics Character Set) 9977 // Byte 3 = 9 9978 9979 // Publishing 9980 // (these are probably from a long forgotten DEC Publishing 9981 // font that once shipped with DECwrite) 9982 // Byte 3 = 0x0a 9983 9984 // APL 9985 // Byte 3 = 0x0b 9986 9987 // Hebrew 9988 // Byte 3 = 0x0c 9989 9990 // Thai 9991 // Byte 3 = 0x0d 9992 9993 // Korean 9994 // Byte 3 = 0x0e 9995 9996 // Hangul Consonant Characters 9997 9998 // Hangul Vowel Characters 9999 10000 // Hangul syllable-final (JongSeong) Characters 10001 10002 // Ancient Hangul Consonant Characters 10003 10004 // Ancient Hangul Vowel Characters 10005 10006 // Ancient Hangul syllable-final (JongSeong) Characters 10007 10008 // Korean currency symbol 10009 10010 // Armenian 10011 10012 // Georgian 10013 10014 // Azeri (and other Turkic or Caucasian languages) 10015 10016 // latin 10017 // those are not really Caucasus 10018 // For Inupiak 10019 10020 // Vietnamese 10021 10022 // one, two and three are defined above. 10023 10024 // Sinhala (http://unicode.org/charts/PDF/U0D80.pdf) 10025 // http://www.nongnu.org/sinhala/doc/transliteration/sinhala-transliteration_6.html 10026 10027 // The Xlib structs are full of implicit padding to properly align members. 10028 // We can't clean that up without breaking ABI, so tell clang not to bother 10029 // complaining about it. 10030 10031 // Bitmask returned by XParseGeometry(). Each bit tells if the corresponding 10032 // value (x, y, width, height) was found in the parsed string. 10033 10034 // new version containing base_width, base_height, and win_gravity fields; 10035 // used with WM_NORMAL_HINTS. 10036 type XSizeHints = struct { 10037 Fflags int64 10038 Fx int32 10039 Fy int32 10040 Fwidth int32 10041 Fheight int32 10042 Fmin_width int32 10043 Fmin_height int32 10044 Fmax_width int32 10045 Fmax_height int32 10046 Fwidth_inc int32 10047 Fheight_inc int32 10048 Fmin_aspect struct { 10049 Fx int32 10050 Fy int32 10051 } 10052 Fmax_aspect struct { 10053 Fx int32 10054 Fy int32 10055 } 10056 Fbase_width int32 10057 Fbase_height int32 10058 Fwin_gravity int32 10059 F__ccgo_pad1 [4]byte 10060 } /* Xutil.h:94:3 */ 10061 10062 // The next block of definitions are for window manager properties that 10063 // clients and applications use for communication. 10064 10065 // flags argument in size hints 10066 10067 // obsolete 10068 10069 type XWMHints = struct { 10070 Fflags int64 10071 Finput int32 10072 Finitial_state int32 10073 Ficon_pixmap Pixmap 10074 Ficon_window Window 10075 Ficon_x int32 10076 Ficon_y int32 10077 Ficon_mask Pixmap 10078 Fwindow_group XID 10079 } /* Xutil.h:130:3 */ 10080 10081 // definition for flags of XWMHints 10082 10083 // definitions for initial window state 10084 10085 // Obsolete states no longer defined by ICCCM 10086 // some wm's may put it on inactive menu 10087 10088 // new structure for manipulating TEXT properties; used with WM_NAME, 10089 // WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND. 10090 type XTextProperty = struct { 10091 Fvalue uintptr 10092 Fencoding Atom 10093 Fformat int32 10094 F__ccgo_pad1 [4]byte 10095 Fnitems uint64 10096 } /* Xutil.h:168:3 */ 10097 10098 type XICCEncodingStyle = uint32 /* Xutil.h:181:3 */ 10099 10100 type XIconSize = struct { 10101 Fmin_width int32 10102 Fmin_height int32 10103 Fmax_width int32 10104 Fmax_height int32 10105 Fwidth_inc int32 10106 Fheight_inc int32 10107 } /* Xutil.h:187:3 */ 10108 10109 type XClassHint = struct { 10110 Fres_name uintptr 10111 Fres_class uintptr 10112 } /* Xutil.h:192:3 */ 10113 10114 // These macros are used to give some sugar to the image routines so that 10115 // naive people are more comfortable with them. 10116 10117 // Compose sequence status structure, used in calling XLookupString. 10118 type X_XComposeStatus = struct { 10119 Fcompose_ptr XPointer 10120 Fchars_matched int32 10121 F__ccgo_pad1 [4]byte 10122 } /* Xutil.h:231:9 */ 10123 10124 // These macros are used to give some sugar to the image routines so that 10125 // naive people are more comfortable with them. 10126 10127 // Compose sequence status structure, used in calling XLookupString. 10128 type XComposeStatus = X_XComposeStatus /* Xutil.h:234:3 */ 10129 10130 // Keysym macros, used on Keysyms to test for classes of symbols 10131 10132 // opaque reference to Region data type 10133 type X_XRegion = struct { 10134 Fsize int64 10135 FnumRects int64 10136 Frects uintptr 10137 Fextents BOX 10138 } /* Xutil.h:273:9 */ 10139 10140 // Keysym macros, used on Keysyms to test for classes of symbols 10141 10142 // opaque reference to Region data type 10143 type Region = uintptr /* Xutil.h:273:25 */ 10144 10145 // Return values from XRectInRegion() 10146 10147 // Information used by the visual utility routines to find desired visual 10148 // type from the many visuals a display may support. 10149 10150 type XVisualInfo = struct { 10151 Fvisual uintptr 10152 Fvisualid VisualID 10153 Fscreen int32 10154 Fdepth int32 10155 Fclass int32 10156 F__ccgo_pad1 [4]byte 10157 Fred_mask uint64 10158 Fgreen_mask uint64 10159 Fblue_mask uint64 10160 Fcolormap_size int32 10161 Fbits_per_rgb int32 10162 } /* Xutil.h:302:3 */ 10163 10164 // This defines a window manager property that clients may use to 10165 // share standard color maps of type RGB_COLOR_MAP: 10166 type XStandardColormap = struct { 10167 Fcolormap Colormap 10168 Fred_max uint64 10169 Fred_mult uint64 10170 Fgreen_max uint64 10171 Fgreen_mult uint64 10172 Fblue_max uint64 10173 Fblue_mult uint64 10174 Fbase_pixel uint64 10175 Fvisualid VisualID 10176 Fkillid XID 10177 } /* Xutil.h:331:3 */ 10178 10179 // return codes for XReadBitmapFile and XWriteBitmapFile 10180 10181 // *************************************************************** 10182 // 10183 // 10184 // Context Management 10185 // 10186 // 10187 10188 // Associative lookup table return codes 10189 10190 type XContext = int32 /* Xutil.h:357:13 */ 10191 10192 // Copyright © 2000 SuSE, Inc. 10193 // 10194 // Permission to use, copy, modify, distribute, and sell this software and its 10195 // documentation for any purpose is hereby granted without fee, provided that 10196 // the above copyright notice appear in all copies and that both that 10197 // copyright notice and this permission notice appear in supporting 10198 // documentation, and that the name of SuSE not be used in advertising or 10199 // publicity pertaining to distribution of the software without specific, 10200 // written prior permission. SuSE makes no representations about the 10201 // suitability of this software for any purpose. It is provided "as is" 10202 // without express or implied warranty. 10203 // 10204 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10205 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10206 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10207 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10208 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10209 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10210 // 10211 // Author: Keith Packard, SuSE, Inc. 10212 10213 //********************************************************** 10214 // 10215 // Copyright 1987, 1998 The Open Group 10216 // 10217 // Permission to use, copy, modify, distribute, and sell this software and its 10218 // documentation for any purpose is hereby granted without fee, provided that 10219 // the above copyright notice appear in all copies and that both that 10220 // copyright notice and this permission notice appear in supporting 10221 // documentation. 10222 // 10223 // The above copyright notice and this permission notice shall be included in 10224 // all copies or substantial portions of the Software. 10225 // 10226 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10227 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10228 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10229 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10230 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10231 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10232 // 10233 // Except as contained in this notice, the name of The Open Group shall not be 10234 // used in advertising or otherwise to promote the sale, use or other dealings 10235 // in this Software without prior written authorization from The Open Group. 10236 // 10237 // 10238 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 10239 // 10240 // All Rights Reserved 10241 // 10242 // Permission to use, copy, modify, and distribute this software and its 10243 // documentation for any purpose and without fee is hereby granted, 10244 // provided that the above copyright notice appear in all copies and that 10245 // both that copyright notice and this permission notice appear in 10246 // supporting documentation, and that the name of Digital not be 10247 // used in advertising or publicity pertaining to distribution of the 10248 // software without specific, written prior permission. 10249 // 10250 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 10251 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 10252 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 10253 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 10254 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 10255 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 10256 // SOFTWARE. 10257 // 10258 // ***************************************************************** 10259 // Copyright © 2000 SuSE, Inc. 10260 // 10261 // Permission to use, copy, modify, distribute, and sell this software and its 10262 // documentation for any purpose is hereby granted without fee, provided that 10263 // the above copyright notice appear in all copies and that both that 10264 // copyright notice and this permission notice appear in supporting 10265 // documentation, and that the name of SuSE not be used in advertising or 10266 // publicity pertaining to distribution of the software without specific, 10267 // written prior permission. SuSE makes no representations about the 10268 // suitability of this software for any purpose. It is provided "as is" 10269 // without express or implied warranty. 10270 // 10271 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10272 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10273 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10274 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10275 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10276 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10277 // 10278 // Author: Keith Packard, SuSE, Inc. 10279 10280 //********************************************************** 10281 // 10282 // Copyright (c) 1999 The XFree86 Project Inc. 10283 // 10284 // All Rights Reserved. 10285 // 10286 // The above copyright notice and this permission notice shall be included in 10287 // all copies or substantial portions of the Software. 10288 // 10289 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10290 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10291 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10292 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10293 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10294 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10295 // 10296 // Except as contained in this notice, the name of The XFree86 Project 10297 // Inc. shall not be used in advertising or otherwise to promote the 10298 // sale, use or other dealings in this Software without prior written 10299 // authorization from The XFree86 Project Inc.. 10300 // 10301 10302 // * 10303 // Types definitions shared between server and clients 10304 // 10305 10306 type Pointer = uintptr /* Xdefs.h:53:14 */ 10307 10308 type ClientPtr = uintptr /* Xdefs.h:57:24 */ 10309 10310 type FontPtr = uintptr /* Xdefs.h:81:22 */ // also in fonts/include/font.h 10311 10312 type FSID = uint64 /* Xdefs.h:91:23 */ 10313 10314 type AccContext = FSID /* Xdefs.h:97:14 */ 10315 10316 // OS independent time value 10317 // XXX Should probably go in Xos.h 10318 type OSTimePtr = uintptr /* Xdefs.h:101:24 */ 10319 10320 type BlockHandlerProcPtr = uintptr /* Xdefs.h:104:14 */ 10321 10322 type Glyph = XID /* render.h:29:14 */ 10323 type GlyphSet = XID /* render.h:30:14 */ 10324 type Picture = XID /* render.h:31:14 */ 10325 type PictFormat = XID /* render.h:32:14 */ 10326 10327 // #define X_RenderTransform 16 10328 // 0.5 10329 // 0.6 10330 // 0.8 10331 // 0.9 10332 // 0.10 10333 10334 // Operators only available in version 0.2 10335 10336 // Operators only available in version 0.11 10337 10338 // Filters included in 0.6 10339 // Filters included in 0.10 10340 10341 // Subpixel orders included in 0.6 10342 10343 // Extended repeat attributes included in 0.10 10344 10345 // data structures 10346 10347 type XDirectFormat = struct { 10348 Fred CARD16 10349 FredMask CARD16 10350 Fgreen CARD16 10351 FgreenMask CARD16 10352 Fblue CARD16 10353 FblueMask CARD16 10354 Falpha CARD16 10355 FalphaMask CARD16 10356 } /* renderproto.h:61:3 */ 10357 10358 type XPictFormInfo = struct { 10359 Fid CARD32 10360 Ftype CARD8 10361 Fdepth CARD8 10362 Fpad1 CARD16 10363 Fdirect XDirectFormat 10364 Fcolormap CARD32 10365 } /* renderproto.h:72:3 */ 10366 10367 type XPictVisual = struct { 10368 Fvisual CARD32 10369 Fformat CARD32 10370 } /* renderproto.h:79:3 */ 10371 10372 type XPictDepth = struct { 10373 Fdepth CARD8 10374 Fpad1 CARD8 10375 FnPictVisuals CARD16 10376 Fpad2 CARD32 10377 } /* renderproto.h:88:3 */ 10378 10379 type XPictScreen = struct { 10380 FnDepth CARD32 10381 Ffallback CARD32 10382 } /* renderproto.h:95:3 */ 10383 10384 type XIndexValue = struct { 10385 Fpixel CARD32 10386 Fred CARD16 10387 Fgreen CARD16 10388 Fblue CARD16 10389 Falpha CARD16 10390 } /* renderproto.h:105:3 */ 10391 10392 type XRenderColor = struct { 10393 Fred CARD16 10394 Fgreen CARD16 10395 Fblue CARD16 10396 Falpha CARD16 10397 } /* renderproto.h:114:3 */ 10398 10399 type XPointFixed = struct { 10400 Fx INT32 10401 Fy INT32 10402 } /* renderproto.h:121:3 */ 10403 10404 type XLineFixed = struct { 10405 Fp1 XPointFixed 10406 Fp2 XPointFixed 10407 } /* renderproto.h:128:3 */ 10408 10409 type XTriangle = struct { 10410 Fp1 XPointFixed 10411 Fp2 XPointFixed 10412 Fp3 XPointFixed 10413 } /* renderproto.h:134:3 */ 10414 10415 type XTrapezoid = struct { 10416 Ftop INT32 10417 Fbottom INT32 10418 Fleft XLineFixed 10419 Fright XLineFixed 10420 } /* renderproto.h:143:3 */ 10421 10422 type XGlyphInfo = struct { 10423 Fwidth CARD16 10424 Fheight CARD16 10425 Fx INT16 10426 Fy INT16 10427 FxOff INT16 10428 FyOff INT16 10429 } /* renderproto.h:154:3 */ 10430 10431 type XGlyphElt = struct { 10432 Flen CARD8 10433 Fpad1 CARD8 10434 Fpad2 CARD16 10435 Fdeltax INT16 10436 Fdeltay INT16 10437 } /* renderproto.h:164:3 */ 10438 10439 type XSpanFix = struct { 10440 Fl INT32 10441 Fr INT32 10442 Fy INT32 10443 } /* renderproto.h:170:3 */ 10444 10445 type XTrap = struct { 10446 Ftop XSpanFix 10447 Fbot XSpanFix 10448 } /* renderproto.h:176:3 */ 10449 10450 // requests and replies 10451 type XRenderQueryVersionReq = struct { 10452 FreqType CARD8 10453 FrenderReqType CARD8 10454 Flength CARD16 10455 FmajorVersion CARD32 10456 FminorVersion CARD32 10457 } /* renderproto.h:189:3 */ 10458 10459 type XRenderQueryVersionReply = struct { 10460 Ftype BYTE 10461 Fpad1 BYTE 10462 FsequenceNumber CARD16 10463 Flength CARD32 10464 FmajorVersion CARD32 10465 FminorVersion CARD32 10466 Fpad2 CARD32 10467 Fpad3 CARD32 10468 Fpad4 CARD32 10469 Fpad5 CARD32 10470 } /* renderproto.h:204:3 */ 10471 10472 type XRenderQueryPictFormatsReq = struct { 10473 FreqType CARD8 10474 FrenderReqType CARD8 10475 Flength CARD16 10476 } /* renderproto.h:212:3 */ 10477 10478 type XRenderQueryPictFormatsReply = struct { 10479 Ftype BYTE 10480 Fpad1 BYTE 10481 FsequenceNumber CARD16 10482 Flength CARD32 10483 FnumFormats CARD32 10484 FnumScreens CARD32 10485 FnumDepths CARD32 10486 FnumVisuals CARD32 10487 FnumSubpixel CARD32 10488 Fpad5 CARD32 10489 } /* renderproto.h:227:3 */ 10490 10491 type XRenderQueryPictIndexValuesReq = struct { 10492 FreqType CARD8 10493 FrenderReqType CARD8 10494 Flength CARD16 10495 Fformat CARD32 10496 } /* renderproto.h:236:3 */ 10497 10498 type XRenderQueryPictIndexValuesReply = struct { 10499 Ftype BYTE 10500 Fpad1 BYTE 10501 FsequenceNumber CARD16 10502 Flength CARD32 10503 FnumIndexValues CARD32 10504 Fpad2 CARD32 10505 Fpad3 CARD32 10506 Fpad4 CARD32 10507 Fpad5 CARD32 10508 Fpad6 CARD32 10509 } /* renderproto.h:251:3 */ 10510 10511 type XRenderCreatePictureReq = struct { 10512 FreqType CARD8 10513 FrenderReqType CARD8 10514 Flength CARD16 10515 Fpid CARD32 10516 Fdrawable CARD32 10517 Fformat CARD32 10518 Fmask CARD32 10519 } /* renderproto.h:263:3 */ 10520 10521 type XRenderChangePictureReq = struct { 10522 FreqType CARD8 10523 FrenderReqType CARD8 10524 Flength CARD16 10525 Fpicture CARD32 10526 Fmask CARD32 10527 } /* renderproto.h:273:3 */ 10528 10529 type XRenderSetPictureClipRectanglesReq = struct { 10530 FreqType CARD8 10531 FrenderReqType CARD8 10532 Flength CARD16 10533 Fpicture CARD32 10534 FxOrigin INT16 10535 FyOrigin INT16 10536 } /* renderproto.h:284:3 */ 10537 10538 type XRenderFreePictureReq = struct { 10539 FreqType CARD8 10540 FrenderReqType CARD8 10541 Flength CARD16 10542 Fpicture CARD32 10543 } /* renderproto.h:293:3 */ 10544 10545 type XRenderCompositeReq = struct { 10546 FreqType CARD8 10547 FrenderReqType CARD8 10548 Flength CARD16 10549 Fop CARD8 10550 Fpad1 CARD8 10551 Fpad2 CARD16 10552 Fsrc CARD32 10553 Fmask CARD32 10554 Fdst CARD32 10555 FxSrc INT16 10556 FySrc INT16 10557 FxMask INT16 10558 FyMask INT16 10559 FxDst INT16 10560 FyDst INT16 10561 Fwidth CARD16 10562 Fheight CARD16 10563 } /* renderproto.h:315:3 */ 10564 10565 type XRenderScaleReq = struct { 10566 FreqType CARD8 10567 FrenderReqType CARD8 10568 Flength CARD16 10569 Fsrc CARD32 10570 Fdst CARD32 10571 FcolorScale CARD32 10572 FalphaScale CARD32 10573 FxSrc INT16 10574 FySrc INT16 10575 FxDst INT16 10576 FyDst INT16 10577 Fwidth CARD16 10578 Fheight CARD16 10579 } /* renderproto.h:333:3 */ 10580 10581 type XRenderTrapezoidsReq = struct { 10582 FreqType CARD8 10583 FrenderReqType CARD8 10584 Flength CARD16 10585 Fop CARD8 10586 Fpad1 CARD8 10587 Fpad2 CARD16 10588 Fsrc CARD32 10589 Fdst CARD32 10590 FmaskFormat CARD32 10591 FxSrc INT16 10592 FySrc INT16 10593 } /* renderproto.h:349:3 */ 10594 10595 type XRenderTrianglesReq = struct { 10596 FreqType CARD8 10597 FrenderReqType CARD8 10598 Flength CARD16 10599 Fop CARD8 10600 Fpad1 CARD8 10601 Fpad2 CARD16 10602 Fsrc CARD32 10603 Fdst CARD32 10604 FmaskFormat CARD32 10605 FxSrc INT16 10606 FySrc INT16 10607 } /* renderproto.h:365:3 */ 10608 10609 type XRenderTriStripReq = struct { 10610 FreqType CARD8 10611 FrenderReqType CARD8 10612 Flength CARD16 10613 Fop CARD8 10614 Fpad1 CARD8 10615 Fpad2 CARD16 10616 Fsrc CARD32 10617 Fdst CARD32 10618 FmaskFormat CARD32 10619 FxSrc INT16 10620 FySrc INT16 10621 } /* renderproto.h:381:3 */ 10622 10623 type XRenderTriFanReq = struct { 10624 FreqType CARD8 10625 FrenderReqType CARD8 10626 Flength CARD16 10627 Fop CARD8 10628 Fpad1 CARD8 10629 Fpad2 CARD16 10630 Fsrc CARD32 10631 Fdst CARD32 10632 FmaskFormat CARD32 10633 FxSrc INT16 10634 FySrc INT16 10635 } /* renderproto.h:397:3 */ 10636 10637 type XRenderCreateGlyphSetReq = struct { 10638 FreqType CARD8 10639 FrenderReqType CARD8 10640 Flength CARD16 10641 Fgsid CARD32 10642 Fformat CARD32 10643 } /* renderproto.h:407:3 */ 10644 10645 type XRenderReferenceGlyphSetReq = struct { 10646 FreqType CARD8 10647 FrenderReqType CARD8 10648 Flength CARD16 10649 Fgsid CARD32 10650 Fexisting CARD32 10651 } /* renderproto.h:417:3 */ 10652 10653 type XRenderFreeGlyphSetReq = struct { 10654 FreqType CARD8 10655 FrenderReqType CARD8 10656 Flength CARD16 10657 Fglyphset CARD32 10658 } /* renderproto.h:426:3 */ 10659 10660 type XRenderAddGlyphsReq = struct { 10661 FreqType CARD8 10662 FrenderReqType CARD8 10663 Flength CARD16 10664 Fglyphset CARD32 10665 Fnglyphs CARD32 10666 } /* renderproto.h:436:3 */ 10667 10668 type XRenderFreeGlyphsReq = struct { 10669 FreqType CARD8 10670 FrenderReqType CARD8 10671 Flength CARD16 10672 Fglyphset CARD32 10673 } /* renderproto.h:445:3 */ 10674 10675 type XRenderCompositeGlyphsReq = struct { 10676 FreqType CARD8 10677 FrenderReqType CARD8 10678 Flength CARD16 10679 Fop CARD8 10680 Fpad1 CARD8 10681 Fpad2 CARD16 10682 Fsrc CARD32 10683 Fdst CARD32 10684 FmaskFormat CARD32 10685 Fglyphset CARD32 10686 FxSrc INT16 10687 FySrc INT16 10688 } /* renderproto.h:462:3 */ 10689 type XRenderCompositeGlyphs8Req = struct { 10690 FreqType CARD8 10691 FrenderReqType CARD8 10692 Flength CARD16 10693 Fop CARD8 10694 Fpad1 CARD8 10695 Fpad2 CARD16 10696 Fsrc CARD32 10697 Fdst CARD32 10698 FmaskFormat CARD32 10699 Fglyphset CARD32 10700 FxSrc INT16 10701 FySrc INT16 10702 } /* renderproto.h:462:30 */ 10703 type XRenderCompositeGlyphs16Req = struct { 10704 FreqType CARD8 10705 FrenderReqType CARD8 10706 Flength CARD16 10707 Fop CARD8 10708 Fpad1 CARD8 10709 Fpad2 CARD16 10710 Fsrc CARD32 10711 Fdst CARD32 10712 FmaskFormat CARD32 10713 Fglyphset CARD32 10714 FxSrc INT16 10715 FySrc INT16 10716 } /* renderproto.h:463:1 */ 10717 type XRenderCompositeGlyphs32Req = struct { 10718 FreqType CARD8 10719 FrenderReqType CARD8 10720 Flength CARD16 10721 Fop CARD8 10722 Fpad1 CARD8 10723 Fpad2 CARD16 10724 Fsrc CARD32 10725 Fdst CARD32 10726 FmaskFormat CARD32 10727 Fglyphset CARD32 10728 FxSrc INT16 10729 FySrc INT16 10730 } /* renderproto.h:463:30 */ 10731 10732 // 0.1 and higher 10733 10734 type XRenderFillRectanglesReq = struct { 10735 FreqType CARD8 10736 FrenderReqType CARD8 10737 Flength CARD16 10738 Fop CARD8 10739 Fpad1 CARD8 10740 Fpad2 CARD16 10741 Fdst CARD32 10742 Fcolor XRenderColor 10743 } /* renderproto.h:480:3 */ 10744 10745 // 0.5 and higher 10746 10747 type XRenderCreateCursorReq = struct { 10748 FreqType CARD8 10749 FrenderReqType CARD8 10750 Flength CARD16 10751 Fcid CARD32 10752 Fsrc CARD32 10753 Fx CARD16 10754 Fy CARD16 10755 } /* renderproto.h:494:3 */ 10756 10757 // 0.6 and higher 10758 10759 // This can't use an array because 32-bit values may be in bitfields 10760 type XRenderTransform = struct { 10761 Fmatrix11 INT32 10762 Fmatrix12 INT32 10763 Fmatrix13 INT32 10764 Fmatrix21 INT32 10765 Fmatrix22 INT32 10766 Fmatrix23 INT32 10767 Fmatrix31 INT32 10768 Fmatrix32 INT32 10769 Fmatrix33 INT32 10770 } /* renderproto.h:513:3 */ 10771 10772 type XRenderSetPictureTransformReq = struct { 10773 FreqType CARD8 10774 FrenderReqType CARD8 10775 Flength CARD16 10776 Fpicture CARD32 10777 Ftransform XRenderTransform 10778 } /* renderproto.h:523:3 */ 10779 10780 type XRenderQueryFiltersReq = struct { 10781 FreqType CARD8 10782 FrenderReqType CARD8 10783 Flength CARD16 10784 Fdrawable CARD32 10785 } /* renderproto.h:532:3 */ 10786 10787 type XRenderQueryFiltersReply = struct { 10788 Ftype BYTE 10789 Fpad1 BYTE 10790 FsequenceNumber CARD16 10791 Flength CARD32 10792 FnumAliases CARD32 10793 FnumFilters CARD32 10794 Fpad2 CARD32 10795 Fpad3 CARD32 10796 Fpad4 CARD32 10797 Fpad5 CARD32 10798 } /* renderproto.h:547:3 */ 10799 10800 type XRenderSetPictureFilterReq = struct { 10801 FreqType CARD8 10802 FrenderReqType CARD8 10803 Flength CARD16 10804 Fpicture CARD32 10805 Fnbytes CARD16 10806 Fpad CARD16 10807 } /* renderproto.h:558:3 */ 10808 10809 // 0.8 and higher 10810 10811 type XAnimCursorElt = struct { 10812 Fcursor CARD32 10813 Fdelay CARD32 10814 } /* renderproto.h:567:3 */ 10815 10816 type XRenderCreateAnimCursorReq = struct { 10817 FreqType CARD8 10818 FrenderReqType CARD8 10819 Flength CARD16 10820 Fcid CARD32 10821 } /* renderproto.h:576:3 */ 10822 10823 // 0.9 and higher 10824 10825 type XRenderAddTrapsReq = struct { 10826 FreqType CARD8 10827 FrenderReqType CARD8 10828 Flength CARD16 10829 Fpicture CARD32 10830 FxOff INT16 10831 FyOff INT16 10832 } /* renderproto.h:589:3 */ 10833 10834 // 0.10 and higher 10835 10836 type XRenderCreateSolidFillReq = struct { 10837 FreqType CARD8 10838 FrenderReqType CARD8 10839 Flength CARD16 10840 Fpid CARD32 10841 Fcolor XRenderColor 10842 } /* renderproto.h:601:3 */ 10843 10844 type XRenderCreateLinearGradientReq = struct { 10845 FreqType CARD8 10846 FrenderReqType CARD8 10847 Flength CARD16 10848 Fpid CARD32 10849 Fp1 XPointFixed 10850 Fp2 XPointFixed 10851 FnStops CARD32 10852 } /* renderproto.h:613:3 */ 10853 10854 type XRenderCreateRadialGradientReq = struct { 10855 FreqType CARD8 10856 FrenderReqType CARD8 10857 Flength CARD16 10858 Fpid CARD32 10859 Finner XPointFixed 10860 Fouter XPointFixed 10861 Finner_radius INT32 10862 Fouter_radius INT32 10863 FnStops CARD32 10864 } /* renderproto.h:627:3 */ 10865 10866 type XRenderCreateConicalGradientReq = struct { 10867 FreqType CARD8 10868 FrenderReqType CARD8 10869 Flength CARD16 10870 Fpid CARD32 10871 Fcenter XPointFixed 10872 Fangle INT32 10873 FnStops CARD32 10874 } /* renderproto.h:639:3 */ 10875 10876 // 10877 // Copyright © 2000 SuSE, Inc. 10878 // 10879 // Permission to use, copy, modify, distribute, and sell this software and its 10880 // documentation for any purpose is hereby granted without fee, provided that 10881 // the above copyright notice appear in all copies and that both that 10882 // copyright notice and this permission notice appear in supporting 10883 // documentation, and that the name of SuSE not be used in advertising or 10884 // publicity pertaining to distribution of the software without specific, 10885 // written prior permission. SuSE makes no representations about the 10886 // suitability of this software for any purpose. It is provided "as is" 10887 // without express or implied warranty. 10888 // 10889 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 10890 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 10891 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10892 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 10893 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 10894 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 10895 // 10896 // Author: Keith Packard, SuSE, Inc. 10897 10898 // 10899 // 10900 // Copyright 1985, 1986, 1987, 1991, 1998 The Open Group 10901 // 10902 // Permission to use, copy, modify, distribute, and sell this software and its 10903 // documentation for any purpose is hereby granted without fee, provided that 10904 // the above copyright notice appear in all copies and that both that 10905 // copyright notice and this permission notice appear in supporting 10906 // documentation. 10907 // 10908 // The above copyright notice and this permission notice shall be included in 10909 // all copies or substantial portions of the Software. 10910 // 10911 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10912 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10913 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10914 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10915 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10916 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10917 // 10918 // Except as contained in this notice, the name of The Open Group shall not be 10919 // used in advertising or otherwise to promote the sale, use or other dealings 10920 // in this Software without prior written authorization from The Open Group. 10921 // 10922 10923 // Xlib.h - Header definition and support file for the C subroutine 10924 // interface library (Xlib) to the X Window System Protocol (V11). 10925 // Structures and symbols starting with "_" are private to the library. 10926 // 10927 // 10928 // Copyright 1989, 1991, 1998 The Open Group 10929 // 10930 // Permission to use, copy, modify, distribute, and sell this software and its 10931 // documentation for any purpose is hereby granted without fee, provided that 10932 // the above copyright notice appear in all copies and that both that 10933 // copyright notice and this permission notice appear in supporting 10934 // documentation. 10935 // 10936 // The above copyright notice and this permission notice shall be included in 10937 // all copies or substantial portions of the Software. 10938 // 10939 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10940 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10941 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10942 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10943 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10944 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10945 // 10946 // Except as contained in this notice, the name of The Open Group shall not be 10947 // used in advertising or otherwise to promote the sale, use or other dealings 10948 // in this Software without prior written authorization from The Open Group. 10949 // * 10950 // 10951 10952 // Definitions to make function prototypes manageable 10953 10954 // 10955 // O/S-dependent (mis)feature macro definitions 10956 // 10957 // Copyright 1991, 1998 The Open Group 10958 // 10959 // Permission to use, copy, modify, distribute, and sell this software and its 10960 // documentation for any purpose is hereby granted without fee, provided that 10961 // the above copyright notice appear in all copies and that both that 10962 // copyright notice and this permission notice appear in supporting 10963 // documentation. 10964 // 10965 // The above copyright notice and this permission notice shall be included in 10966 // all copies or substantial portions of the Software. 10967 // 10968 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10969 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10970 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10971 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10972 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10973 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10974 // 10975 // Except as contained in this notice, the name of The Open Group shall not be 10976 // used in advertising or otherwise to promote the sale, use or other dealings 10977 // in this Software without prior written authorization from The Open Group. 10978 // 10979 10980 //********************************************************** 10981 // 10982 // Copyright 1987, 1998 The Open Group 10983 // 10984 // Permission to use, copy, modify, distribute, and sell this software and its 10985 // documentation for any purpose is hereby granted without fee, provided that 10986 // the above copyright notice appear in all copies and that both that 10987 // copyright notice and this permission notice appear in supporting 10988 // documentation. 10989 // 10990 // The above copyright notice and this permission notice shall be included in 10991 // all copies or substantial portions of the Software. 10992 // 10993 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 10994 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10995 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10996 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 10997 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 10998 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10999 // 11000 // Except as contained in this notice, the name of The Open Group shall not be 11001 // used in advertising or otherwise to promote the sale, use or other dealings 11002 // in this Software without prior written authorization from The Open Group. 11003 // 11004 // 11005 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 11006 // 11007 // All Rights Reserved 11008 // 11009 // Permission to use, copy, modify, and distribute this software and its 11010 // documentation for any purpose and without fee is hereby granted, 11011 // provided that the above copyright notice appear in all copies and that 11012 // both that copyright notice and this permission notice appear in 11013 // supporting documentation, and that the name of Digital not be 11014 // used in advertising or publicity pertaining to distribution of the 11015 // software without specific, written prior permission. 11016 // 11017 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 11018 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 11019 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 11020 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 11021 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 11022 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 11023 // SOFTWARE. 11024 // 11025 // ***************************************************************** 11026 11027 // Copyright © 2000 SuSE, Inc. 11028 // 11029 // Permission to use, copy, modify, distribute, and sell this software and its 11030 // documentation for any purpose is hereby granted without fee, provided that 11031 // the above copyright notice appear in all copies and that both that 11032 // copyright notice and this permission notice appear in supporting 11033 // documentation, and that the name of SuSE not be used in advertising or 11034 // publicity pertaining to distribution of the software without specific, 11035 // written prior permission. SuSE makes no representations about the 11036 // suitability of this software for any purpose. It is provided "as is" 11037 // without express or implied warranty. 11038 // 11039 // SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 11040 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE 11041 // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11042 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 11043 // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 11044 // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 11045 // 11046 // Author: Keith Packard, SuSE, Inc. 11047 11048 type XRenderDirectFormat = struct { 11049 Fred int16 11050 FredMask int16 11051 Fgreen int16 11052 FgreenMask int16 11053 Fblue int16 11054 FblueMask int16 11055 Falpha int16 11056 FalphaMask int16 11057 } /* Xrender.h:44:3 */ 11058 11059 type XRenderPictFormat = struct { 11060 Fid PictFormat 11061 Ftype int32 11062 Fdepth int32 11063 Fdirect XRenderDirectFormat 11064 Fcolormap Colormap 11065 } /* Xrender.h:52:3 */ 11066 11067 type X_XRenderPictureAttributes = struct { 11068 Frepeat int32 11069 F__ccgo_pad1 [4]byte 11070 Falpha_map Picture 11071 Falpha_x_origin int32 11072 Falpha_y_origin int32 11073 Fclip_x_origin int32 11074 Fclip_y_origin int32 11075 Fclip_mask Pixmap 11076 Fgraphics_exposures int32 11077 Fsubwindow_mode int32 11078 Fpoly_edge int32 11079 Fpoly_mode int32 11080 Fdither Atom 11081 Fcomponent_alpha int32 11082 F__ccgo_pad2 [4]byte 11083 } /* Xrender.h:67:9 */ 11084 11085 type XRenderPictureAttributes = X_XRenderPictureAttributes /* Xrender.h:81:3 */ 11086 11087 type XRenderColor1 = struct { 11088 Fred uint16 11089 Fgreen uint16 11090 Fblue uint16 11091 Falpha uint16 11092 } /* Xrender.h:88:3 */ 11093 11094 type X_XGlyphInfo = struct { 11095 Fwidth uint16 11096 Fheight uint16 11097 Fx int16 11098 Fy int16 11099 FxOff int16 11100 FyOff int16 11101 } /* Xrender.h:90:9 */ 11102 11103 type XGlyphInfo1 = X_XGlyphInfo /* Xrender.h:97:3 */ 11104 11105 type X_XGlyphElt8 = struct { 11106 Fglyphset GlyphSet 11107 Fchars uintptr 11108 Fnchars int32 11109 FxOff int32 11110 FyOff int32 11111 F__ccgo_pad1 [4]byte 11112 } /* Xrender.h:99:9 */ 11113 11114 type XGlyphElt8 = X_XGlyphElt8 /* Xrender.h:105:3 */ 11115 11116 type X_XGlyphElt16 = struct { 11117 Fglyphset GlyphSet 11118 Fchars uintptr 11119 Fnchars int32 11120 FxOff int32 11121 FyOff int32 11122 F__ccgo_pad1 [4]byte 11123 } /* Xrender.h:107:9 */ 11124 11125 type XGlyphElt16 = X_XGlyphElt16 /* Xrender.h:113:3 */ 11126 11127 type X_XGlyphElt32 = struct { 11128 Fglyphset GlyphSet 11129 Fchars uintptr 11130 Fnchars int32 11131 FxOff int32 11132 FyOff int32 11133 F__ccgo_pad1 [4]byte 11134 } /* Xrender.h:115:9 */ 11135 11136 type XGlyphElt32 = X_XGlyphElt32 /* Xrender.h:121:3 */ 11137 11138 type XDouble = float64 /* Xrender.h:123:16 */ 11139 11140 type X_XPointDouble = struct { 11141 Fx XDouble 11142 Fy XDouble 11143 } /* Xrender.h:125:9 */ 11144 11145 type XPointDouble = X_XPointDouble /* Xrender.h:127:3 */ 11146 11147 type XFixed = int32 /* Xrender.h:132:13 */ 11148 11149 type X_XPointFixed = struct { 11150 Fx XFixed 11151 Fy XFixed 11152 } /* Xrender.h:134:9 */ 11153 11154 type XPointFixed1 = X_XPointFixed /* Xrender.h:136:3 */ 11155 11156 type X_XLineFixed = struct { 11157 Fp1 XPointFixed1 11158 Fp2 XPointFixed1 11159 } /* Xrender.h:138:9 */ 11160 11161 type XLineFixed1 = X_XLineFixed /* Xrender.h:140:3 */ 11162 11163 type X_XTriangle = struct { 11164 Fp1 XPointFixed1 11165 Fp2 XPointFixed1 11166 Fp3 XPointFixed1 11167 } /* Xrender.h:142:9 */ 11168 11169 type XTriangle1 = X_XTriangle /* Xrender.h:144:3 */ 11170 11171 type X_XCircle = struct { 11172 Fx XFixed 11173 Fy XFixed 11174 Fradius XFixed 11175 } /* Xrender.h:146:9 */ 11176 11177 type XCircle = X_XCircle /* Xrender.h:150:3 */ 11178 11179 type X_XTrapezoid = struct { 11180 Ftop XFixed 11181 Fbottom XFixed 11182 Fleft XLineFixed1 11183 Fright XLineFixed1 11184 } /* Xrender.h:152:9 */ 11185 11186 type XTrapezoid1 = X_XTrapezoid /* Xrender.h:155:3 */ 11187 11188 type X_XTransform = struct{ Fmatrix [3][3]XFixed } /* Xrender.h:157:9 */ 11189 11190 type XTransform = X_XTransform /* Xrender.h:159:3 */ 11191 11192 type X_XFilters = struct { 11193 Fnfilter int32 11194 F__ccgo_pad1 [4]byte 11195 Ffilter uintptr 11196 Fnalias int32 11197 F__ccgo_pad2 [4]byte 11198 Falias uintptr 11199 } /* Xrender.h:161:9 */ 11200 11201 type XFilters = X_XFilters /* Xrender.h:166:3 */ 11202 11203 type X_XIndexValue = struct { 11204 Fpixel uint64 11205 Fred uint16 11206 Fgreen uint16 11207 Fblue uint16 11208 Falpha uint16 11209 } /* Xrender.h:168:9 */ 11210 11211 type XIndexValue1 = X_XIndexValue /* Xrender.h:171:3 */ 11212 11213 type X_XAnimCursor = struct { 11214 Fcursor Cursor 11215 Fdelay uint64 11216 } /* Xrender.h:173:9 */ 11217 11218 type XAnimCursor = X_XAnimCursor /* Xrender.h:176:3 */ 11219 11220 type X_XSpanFix = struct { 11221 Fleft XFixed 11222 Fright XFixed 11223 Fy XFixed 11224 } /* Xrender.h:178:9 */ 11225 11226 type XSpanFix1 = X_XSpanFix /* Xrender.h:180:3 */ 11227 11228 type X_XTrap = struct { 11229 Ftop XSpanFix1 11230 Fbottom XSpanFix1 11231 } /* Xrender.h:182:9 */ 11232 11233 type XTrap1 = X_XTrap /* Xrender.h:184:3 */ 11234 11235 type X_XLinearGradient = struct { 11236 Fp1 XPointFixed1 11237 Fp2 XPointFixed1 11238 } /* Xrender.h:186:9 */ 11239 11240 type XLinearGradient = X_XLinearGradient /* Xrender.h:189:3 */ 11241 11242 type X_XRadialGradient = struct { 11243 Finner XCircle 11244 Fouter XCircle 11245 } /* Xrender.h:191:9 */ 11246 11247 type XRadialGradient = X_XRadialGradient /* Xrender.h:194:3 */ 11248 11249 type X_XConicalGradient = struct { 11250 Fcenter XPointFixed1 11251 Fangle XFixed 11252 } /* Xrender.h:196:9 */ 11253 11254 type XConicalGradient = X_XConicalGradient /* Xrender.h:199:3 */ 11255 11256 type XRenderVisual = struct { 11257 Fvisual uintptr 11258 Fformat uintptr 11259 } /* Xrenderint.h:37:3 */ 11260 11261 type XRenderDepth = struct { 11262 Fdepth int32 11263 Fnvisuals int32 11264 Fvisuals uintptr 11265 } /* Xrenderint.h:43:3 */ 11266 11267 type XRenderScreen = struct { 11268 Fdepths uintptr 11269 Fndepths int32 11270 F__ccgo_pad1 [4]byte 11271 Ffallback uintptr 11272 Fsubpixel int32 11273 F__ccgo_pad2 [4]byte 11274 } /* Xrenderint.h:50:3 */ 11275 11276 type X_XRenderInfo = struct { 11277 Fmajor_version int32 11278 Fminor_version int32 11279 Fformat uintptr 11280 Fnformat int32 11281 F__ccgo_pad1 [4]byte 11282 Fscreen uintptr 11283 Fnscreen int32 11284 F__ccgo_pad2 [4]byte 11285 Fdepth uintptr 11286 Fndepth int32 11287 F__ccgo_pad3 [4]byte 11288 Fvisual uintptr 11289 Fnvisual int32 11290 F__ccgo_pad4 [4]byte 11291 Fsubpixel uintptr 11292 Fnsubpixel int32 11293 F__ccgo_pad5 [4]byte 11294 Ffilter uintptr 11295 Fnfilter int32 11296 F__ccgo_pad6 [4]byte 11297 Ffilter_alias uintptr 11298 Fnfilter_alias int32 11299 F__ccgo_pad7 [4]byte 11300 } /* Xrenderint.h:52:9 */ 11301 11302 type XRenderInfo = X_XRenderInfo /* Xrenderint.h:69:3 */ 11303 11304 // replaces XRenderExtDisplayInfo 11305 type X_XRenderExtDisplayInfo = struct { 11306 Fnext uintptr 11307 Fdisplay uintptr 11308 Fcodes uintptr 11309 Finfo uintptr 11310 } /* Xrenderint.h:72:9 */ 11311 11312 // replaces XRenderExtDisplayInfo 11313 type XRenderExtDisplayInfo = X_XRenderExtDisplayInfo /* Xrenderint.h:77:3 */ 11314 11315 // replaces XExtensionInfo 11316 type X_XRenderExtInfo = struct { 11317 Fhead uintptr 11318 Fcur uintptr 11319 Fndisplays int32 11320 F__ccgo_pad1 [4]byte 11321 } /* Xrenderint.h:80:9 */ 11322 11323 // replaces XExtensionInfo 11324 type XRenderExtInfo = X_XRenderExtInfo /* Xrenderint.h:84:3 */ 11325 11326 // Xlib uses long for 32-bit values. Xrender uses int. This 11327 // matters on alpha. Note that this macro assumes that int is 32 bits 11328 // except on WORD64 machines where it is 64 bits. 11329 11330 func XXRenderAddTraps(tls *libc.TLS, dpy uintptr, picture Picture, xOff int32, yOff int32, traps uintptr, ntrap int32) { /* AddTrap.c:31:1: */ 11331 bp := tls.Alloc(8) 11332 defer tls.Free(8) 11333 11334 var info uintptr = XXRenderFindDisplay(tls, dpy) 11335 var req uintptr 11336 var n int32 11337 var len int64 11338 var max_req uint64 11339 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11340 max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size 11341 } else { 11342 max_req = uint64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size) 11343 } 11344 11345 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11346 return 11347 } 11348 11349 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11350 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11351 } 11352 for ntrap != 0 { 11353 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddTraps), uint64(Sz_xRenderAddTrapsReq)) 11354 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11355 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddTraps) 11356 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 11357 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FxOff = INT16(xOff) 11358 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).FyOff = INT16(yOff) 11359 n = ntrap 11360 len = ((int64(n)) * (int64(int32(Sz_xTrap) >> 2))) 11361 if uint64(len) > (max_req - uint64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) { 11362 n = (int32((max_req - uint64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) / (uint64(int32(Sz_xTrap) >> 2)))) 11363 len = ((int64(n)) * (int64(int32(Sz_xTrap) >> 2))) 11364 } 11365 if (int64((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 11366 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11367 { 11368 // var _BRdat CARD64 at bp, 8 11369 var _BRlen CARD32 = (CARD32(int32((*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) - 1)) 11370 (*XRenderAddTrapsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11371 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 11372 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 11373 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 11374 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 11375 } 11376 } else { 11377 len = len 11378 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11379 } 11380 } else { 11381 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11382 } 11383 len <<= 2 11384 { 11385 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 11386 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint64(int32(len))) 11387 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3)))) 11388 } else { 11389 x11.X_XSend(tls, dpy, traps, len) 11390 } 11391 } 11392 11393 ntrap = ntrap - (n) 11394 traps += 24 * (uintptr(n)) 11395 } 11396 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11397 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11398 } 11399 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11400 (*struct { 11401 f func(*libc.TLS, uintptr) int32 11402 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11403 } 11404 } 11405 11406 // Xlib uses long for 32-bit values. Xrender uses int. This 11407 // matters on alpha. Note that this macro assumes that int is 32 bits 11408 // except on WORD64 machines where it is 64 bits. 11409 11410 func XXRenderParseColor(tls *libc.TLS, dpy uintptr, spec uintptr, def uintptr) int32 { /* Color.c:30:1: */ 11411 bp := tls.Alloc(24) 11412 defer tls.Free(24) 11413 11414 if !(libc.Xstrncmp(tls, spec, ts /* "rgba:" */, uint64(5)) != 0) { 11415 // var elements [4]uint16 at bp, 8 11416 11417 var pShort uintptr 11418 var i int32 11419 var n int32 11420 var c int8 11421 11422 spec += uintptr(5) 11423 // Attempt to parse the value portion. 11424 pShort = bp /* &elements[0] */ 11425 i = 0 11426 __1: 11427 if !(i < 4) { 11428 goto __3 11429 } 11430 { 11431 n = 0 11432 *(*uint16)(unsafe.Pointer(pShort)) = uint16(0) 11433 for (int32(*(*int8)(unsafe.Pointer(spec))) != '/') && (int32(*(*int8)(unsafe.Pointer(spec))) != 0) { 11434 if libc.PreIncInt32(&n, 1) > 4 { 11435 return 0 11436 } 11437 c = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&spec, 1))) 11438 libc.AssignShlPtrUint16(pShort, int(4)) 11439 if (int32(c) >= '0') && (int32(c) <= '9') { 11440 *(*uint16)(unsafe.Pointer(pShort)) |= uint16((int32(c) - '0')) 11441 } else if (int32(c) >= 'a') && (int32(c) <= 'f') { 11442 *(*uint16)(unsafe.Pointer(pShort)) |= uint16((int32(c) - ('a' - 10))) 11443 } else { 11444 return 0 11445 } 11446 } 11447 if n == 0 { 11448 return 0 11449 } 11450 if n < 4 { 11451 *(*uint16)(unsafe.Pointer(pShort)) = (uint16((uint64(*(*uint16)(unsafe.Pointer(pShort))) * uint64(0xFFFF)) / (uint64((int32(1) << (n * 4)) - 1)))) 11452 } 11453 11454 } 11455 goto __2 11456 __2: 11457 i++ 11458 pShort += 2 11459 spec++ 11460 goto __1 11461 goto __3 11462 __3: 11463 ; 11464 (*XRenderColor1)(unsafe.Pointer(def)).Fred = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */)) 11465 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 1*2)) 11466 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 2*2)) 11467 (*XRenderColor1)(unsafe.Pointer(def)).Falpha = *(*uint16)(unsafe.Pointer(bp /* &elements[0] */ + 3*2)) 11468 } else { 11469 // var coreColor XColor at bp+8, 16 11470 11471 var colormap Colormap 11472 11473 colormap = (*Screen)(unsafe.Pointer(((*struct { 11474 Fext_data uintptr 11475 Fprivate1 uintptr 11476 Ffd int32 11477 Fprivate2 int32 11478 Fproto_major_version int32 11479 Fproto_minor_version int32 11480 Fvendor uintptr 11481 Fprivate3 XID 11482 Fprivate4 XID 11483 Fprivate5 XID 11484 Fprivate6 int32 11485 F__ccgo_pad1 [4]byte 11486 Fresource_alloc uintptr 11487 Fbyte_order int32 11488 Fbitmap_unit int32 11489 Fbitmap_pad int32 11490 Fbitmap_bit_order int32 11491 Fnformats int32 11492 F__ccgo_pad2 [4]byte 11493 Fpixmap_format uintptr 11494 Fprivate8 int32 11495 Frelease int32 11496 Fprivate9 uintptr 11497 Fprivate10 uintptr 11498 Fqlen int32 11499 F__ccgo_pad3 [4]byte 11500 Flast_request_read uint64 11501 Frequest uint64 11502 Fprivate11 XPointer 11503 Fprivate12 XPointer 11504 Fprivate13 XPointer 11505 Fprivate14 XPointer 11506 Fmax_request_size uint32 11507 F__ccgo_pad4 [4]byte 11508 Fdb uintptr 11509 Fprivate15 uintptr 11510 Fdisplay_name uintptr 11511 Fdefault_screen int32 11512 Fnscreens int32 11513 Fscreens uintptr 11514 Fmotion_buffer uint64 11515 Fprivate16 uint64 11516 Fmin_keycode int32 11517 Fmax_keycode int32 11518 Fprivate17 XPointer 11519 Fprivate18 XPointer 11520 Fprivate19 int32 11521 F__ccgo_pad5 [4]byte 11522 Fxdefaults uintptr 11523 })(unsafe.Pointer((dpy))).Fscreens + uintptr(((*struct { 11524 Fext_data uintptr 11525 Fprivate1 uintptr 11526 Ffd int32 11527 Fprivate2 int32 11528 Fproto_major_version int32 11529 Fproto_minor_version int32 11530 Fvendor uintptr 11531 Fprivate3 XID 11532 Fprivate4 XID 11533 Fprivate5 XID 11534 Fprivate6 int32 11535 F__ccgo_pad1 [4]byte 11536 Fresource_alloc uintptr 11537 Fbyte_order int32 11538 Fbitmap_unit int32 11539 Fbitmap_pad int32 11540 Fbitmap_bit_order int32 11541 Fnformats int32 11542 F__ccgo_pad2 [4]byte 11543 Fpixmap_format uintptr 11544 Fprivate8 int32 11545 Frelease int32 11546 Fprivate9 uintptr 11547 Fprivate10 uintptr 11548 Fqlen int32 11549 F__ccgo_pad3 [4]byte 11550 Flast_request_read uint64 11551 Frequest uint64 11552 Fprivate11 XPointer 11553 Fprivate12 XPointer 11554 Fprivate13 XPointer 11555 Fprivate14 XPointer 11556 Fmax_request_size uint32 11557 F__ccgo_pad4 [4]byte 11558 Fdb uintptr 11559 Fprivate15 uintptr 11560 Fdisplay_name uintptr 11561 Fdefault_screen int32 11562 Fnscreens int32 11563 Fscreens uintptr 11564 Fmotion_buffer uint64 11565 Fprivate16 uint64 11566 Fmin_keycode int32 11567 Fmax_keycode int32 11568 Fprivate17 XPointer 11569 Fprivate18 XPointer 11570 Fprivate19 int32 11571 F__ccgo_pad5 [4]byte 11572 Fxdefaults uintptr 11573 })(unsafe.Pointer(dpy)).Fdefault_screen))*128))).Fcmap 11574 if !(x11.XXParseColor(tls, dpy, colormap, spec, bp+8 /* &coreColor */) != 0) { 11575 return 0 11576 } 11577 (*XRenderColor1)(unsafe.Pointer(def)).Fred = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fred 11578 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fgreen 11579 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = (*XColor)(unsafe.Pointer(bp + 8 /* &coreColor */)).Fblue 11580 (*XRenderColor1)(unsafe.Pointer(def)).Falpha = uint16(0xffff) 11581 } 11582 (*XRenderColor1)(unsafe.Pointer(def)).Fred = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fred) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff)) 11583 (*XRenderColor1)(unsafe.Pointer(def)).Fgreen = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fgreen) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff)) 11584 (*XRenderColor1)(unsafe.Pointer(def)).Fblue = (uint16((uint32(int32((*XRenderColor1)(unsafe.Pointer(def)).Fblue) * int32((*XRenderColor1)(unsafe.Pointer(def)).Falpha))) / 0xffff)) 11585 return 1 11586 } 11587 11588 // Xlib uses long for 32-bit values. Xrender uses int. This 11589 // matters on alpha. Note that this macro assumes that int is 32 bits 11590 // except on WORD64 machines where it is 64 bits. 11591 11592 func XXRenderComposite(tls *libc.TLS, dpy uintptr, op int32, src Picture, mask Picture, dst Picture, src_x int32, src_y int32, mask_x int32, mask_y int32, dst_x int32, dst_y int32, width uint32, height uint32) { /* Composite.c:31:1: */ 11593 var info uintptr = XXRenderFindDisplay(tls, dpy) 11594 var req uintptr 11595 11596 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11597 return 11598 } 11599 11600 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11601 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11602 } 11603 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderComposite), uint64(Sz_xRenderCompositeReq)) 11604 (*XRenderCompositeReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11605 (*XRenderCompositeReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderComposite) 11606 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fop = CARD8(op) 11607 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fsrc = CARD32(src) 11608 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fmask = CARD32(mask) 11609 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 11610 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxSrc = INT16(src_x) 11611 (*XRenderCompositeReq)(unsafe.Pointer(req)).FySrc = INT16(src_y) 11612 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxMask = INT16(mask_x) 11613 (*XRenderCompositeReq)(unsafe.Pointer(req)).FyMask = INT16(mask_y) 11614 (*XRenderCompositeReq)(unsafe.Pointer(req)).FxDst = INT16(dst_x) 11615 (*XRenderCompositeReq)(unsafe.Pointer(req)).FyDst = INT16(dst_y) 11616 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fwidth = CARD16(width) 11617 (*XRenderCompositeReq)(unsafe.Pointer(req)).Fheight = CARD16(height) 11618 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11619 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11620 } 11621 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11622 (*struct { 11623 f func(*libc.TLS, uintptr) int32 11624 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11625 } 11626 } 11627 11628 // Xlib uses long for 32-bit values. Xrender uses int. This 11629 // matters on alpha. Note that this macro assumes that int is 32 bits 11630 // except on WORD64 machines where it is 64 bits. 11631 11632 func XXRenderCreateCursor(tls *libc.TLS, dpy uintptr, source Picture, x uint32, y uint32) Cursor { /* Cursor.c:30:1: */ 11633 var info uintptr = XXRenderFindDisplay(tls, dpy) 11634 var cid Cursor 11635 var req uintptr 11636 11637 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11638 return uint64(0) 11639 } 11640 11641 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11642 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11643 } 11644 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateCursor), uint64(Sz_xRenderCreateCursorReq)) 11645 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11646 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateCursor) 11647 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fcid = CARD32(libc.AssignUint64(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 11648 Fext_data uintptr 11649 Fprivate1 uintptr 11650 Ffd int32 11651 Fprivate2 int32 11652 Fproto_major_version int32 11653 Fproto_minor_version int32 11654 Fvendor uintptr 11655 Fprivate3 XID 11656 Fprivate4 XID 11657 Fprivate5 XID 11658 Fprivate6 int32 11659 F__ccgo_pad1 [4]byte 11660 Fresource_alloc uintptr 11661 Fbyte_order int32 11662 Fbitmap_unit int32 11663 Fbitmap_pad int32 11664 Fbitmap_bit_order int32 11665 Fnformats int32 11666 F__ccgo_pad2 [4]byte 11667 Fpixmap_format uintptr 11668 Fprivate8 int32 11669 Frelease int32 11670 Fprivate9 uintptr 11671 Fprivate10 uintptr 11672 Fqlen int32 11673 F__ccgo_pad3 [4]byte 11674 Flast_request_read uint64 11675 Frequest uint64 11676 Fprivate11 XPointer 11677 Fprivate12 XPointer 11678 Fprivate13 XPointer 11679 Fprivate14 XPointer 11680 Fmax_request_size uint32 11681 F__ccgo_pad4 [4]byte 11682 Fdb uintptr 11683 Fprivate15 uintptr 11684 Fdisplay_name uintptr 11685 Fdefault_screen int32 11686 Fnscreens int32 11687 Fscreens uintptr 11688 Fmotion_buffer uint64 11689 Fprivate16 uint64 11690 Fmin_keycode int32 11691 Fmax_keycode int32 11692 Fprivate17 XPointer 11693 Fprivate18 XPointer 11694 Fprivate19 int32 11695 F__ccgo_pad5 [4]byte 11696 Fxdefaults uintptr 11697 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))) 11698 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fsrc = CARD32(source) 11699 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fx = CARD16(x) 11700 (*XRenderCreateCursorReq)(unsafe.Pointer(req)).Fy = CARD16(y) 11701 11702 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11703 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11704 } 11705 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11706 (*struct { 11707 f func(*libc.TLS, uintptr) int32 11708 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11709 } 11710 return cid 11711 } 11712 11713 func XXRenderCreateAnimCursor(tls *libc.TLS, dpy uintptr, ncursor int32, cursors uintptr) Cursor { /* Cursor.c:55:1: */ 11714 bp := tls.Alloc(8) 11715 defer tls.Free(8) 11716 11717 var info uintptr = XXRenderFindDisplay(tls, dpy) 11718 var cid Cursor 11719 var req uintptr 11720 var len int64 11721 11722 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11723 return uint64(0) 11724 } 11725 11726 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11727 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11728 } 11729 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateAnimCursor), uint64(Sz_xRenderCreateAnimCursorReq)) 11730 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11731 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateAnimCursor) 11732 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Fcid = CARD32(libc.AssignUint64(&cid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 11733 Fext_data uintptr 11734 Fprivate1 uintptr 11735 Ffd int32 11736 Fprivate2 int32 11737 Fproto_major_version int32 11738 Fproto_minor_version int32 11739 Fvendor uintptr 11740 Fprivate3 XID 11741 Fprivate4 XID 11742 Fprivate5 XID 11743 Fprivate6 int32 11744 F__ccgo_pad1 [4]byte 11745 Fresource_alloc uintptr 11746 Fbyte_order int32 11747 Fbitmap_unit int32 11748 Fbitmap_pad int32 11749 Fbitmap_bit_order int32 11750 Fnformats int32 11751 F__ccgo_pad2 [4]byte 11752 Fpixmap_format uintptr 11753 Fprivate8 int32 11754 Frelease int32 11755 Fprivate9 uintptr 11756 Fprivate10 uintptr 11757 Fqlen int32 11758 F__ccgo_pad3 [4]byte 11759 Flast_request_read uint64 11760 Frequest uint64 11761 Fprivate11 XPointer 11762 Fprivate12 XPointer 11763 Fprivate13 XPointer 11764 Fprivate14 XPointer 11765 Fmax_request_size uint32 11766 F__ccgo_pad4 [4]byte 11767 Fdb uintptr 11768 Fprivate15 uintptr 11769 Fdisplay_name uintptr 11770 Fdefault_screen int32 11771 Fnscreens int32 11772 Fscreens uintptr 11773 Fmotion_buffer uint64 11774 Fprivate16 uint64 11775 Fmin_keycode int32 11776 Fmax_keycode int32 11777 Fprivate17 XPointer 11778 Fprivate18 XPointer 11779 Fprivate19 int32 11780 F__ccgo_pad5 [4]byte 11781 Fxdefaults uintptr 11782 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))) 11783 11784 len = ((int64(ncursor) * int64(Sz_xAnimCursorElt)) >> 2) 11785 if (int64((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 11786 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11787 { 11788 // var _BRdat CARD64 at bp, 8 11789 var _BRlen CARD32 = (CARD32(int32((*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) - 1)) 11790 (*XRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11791 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 11792 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 11793 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 11794 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 11795 } 11796 } else { 11797 len = len 11798 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11799 } 11800 } else { 11801 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11802 } 11803 len <<= 2 11804 x11.X_XData32(tls, dpy, cursors, uint32(len)) 11805 11806 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11807 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11808 } 11809 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11810 (*struct { 11811 f func(*libc.TLS, uintptr) int32 11812 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11813 } 11814 return cid 11815 } 11816 11817 // Xlib uses long for 32-bit values. Xrender uses int. This 11818 // matters on alpha. Note that this macro assumes that int is 32 bits 11819 // except on WORD64 machines where it is 64 bits. 11820 11821 // precompute the maximum size of batching request allowed 11822 11823 func XXRenderFillRectangle(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, x int32, y int32, width uint32, height uint32) { /* FillRect.c:35:1: */ 11824 var info uintptr = XXRenderFindDisplay(tls, dpy) 11825 var rect uintptr 11826 var req uintptr 11827 11828 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11829 return 11830 } 11831 11832 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11833 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11834 } 11835 11836 req = (*Display)(unsafe.Pointer(dpy)).Flast_req 11837 // if same as previous request, with same drawable, batch requests 11838 if (((((((((int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType) == (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType) == X_RenderFillRectangles)) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop) == op)) && (Picture((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst) == dst)) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fred))) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fgreen))) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue) == int32((*XRenderColor1)(unsafe.Pointer(color)).Fblue))) && (int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha) == int32((*XRenderColor1)(unsafe.Pointer(color)).Falpha))) && (((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(Sz_xRectangle)) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax)) && (((int64((*Display)(unsafe.Pointer(dpy)).Fbufptr) - int64(req)) / 1) < (int64(Sz_xRenderFillRectanglesReq + (FRCTSPERBATCH * Sz_xRectangle)))) { 11839 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((int32(Sz_xRectangle) >> 2)) 11840 rect = (*Display)(unsafe.Pointer(dpy)).Fbufptr 11841 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xRectangle)) 11842 } else { 11843 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), (uint64(Sz_xRenderFillRectanglesReq + Sz_xRectangle))) 11844 11845 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11846 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles) 11847 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 11848 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 11849 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 11850 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 11851 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 11852 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 11853 11854 rect = ((req) + uintptr(1)*20) 11855 } 11856 (*XRectangle1)(unsafe.Pointer(rect)).Fx = INT16(x) 11857 (*XRectangle1)(unsafe.Pointer(rect)).Fy = INT16(y) 11858 (*XRectangle1)(unsafe.Pointer(rect)).Fwidth = CARD16(width) 11859 (*XRectangle1)(unsafe.Pointer(rect)).Fheight = CARD16(height) 11860 11861 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11862 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11863 } 11864 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11865 (*struct { 11866 f func(*libc.TLS, uintptr) int32 11867 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11868 } 11869 } 11870 11871 // Xlib uses long for 32-bit values. Xrender uses int. This 11872 // matters on alpha. Note that this macro assumes that int is 32 bits 11873 // except on WORD64 machines where it is 64 bits. 11874 11875 // precompute the maximum size of batching request allowed 11876 11877 func XXRenderFillRectangles(tls *libc.TLS, dpy uintptr, op int32, dst Picture, color uintptr, rectangles uintptr, n_rects int32) { /* FillRects.c:35:1: */ 11878 bp := tls.Alloc(8) 11879 defer tls.Free(8) 11880 11881 var info uintptr = XXRenderFindDisplay(tls, dpy) 11882 var req uintptr 11883 var len int64 11884 var n int32 11885 11886 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 11887 return 11888 } 11889 11890 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11891 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 11892 } 11893 11894 for n_rects != 0 { 11895 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFillRectangles), uint64(Sz_xRenderFillRectanglesReq)) 11896 11897 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 11898 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFillRectangles) 11899 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 11900 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 11901 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 11902 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 11903 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 11904 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 11905 11906 n = n_rects 11907 len = ((int64(n)) << 1) 11908 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (len > (int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)))) { 11909 n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) >> 1)) 11910 len = ((int64(n)) << 1) 11911 } 11912 if (int64((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 11913 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 11914 { 11915 // var _BRdat CARD64 at bp, 8 11916 var _BRlen CARD32 = (CARD32(int32((*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) - 1)) 11917 (*XRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 11918 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 11919 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 11920 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 11921 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 11922 } 11923 } else { 11924 len = len 11925 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11926 } 11927 } else { 11928 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 11929 } 11930 len <<= 2 /* watch out for macros... */ 11931 { 11932 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 11933 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rectangles, uint64(int32(len))) 11934 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3)))) 11935 } else { 11936 x11.X_XSend(tls, dpy, rectangles, len) 11937 } 11938 } 11939 11940 n_rects = n_rects - (n) 11941 rectangles += 8 * (uintptr(n)) 11942 } 11943 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 11944 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 11945 } 11946 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 11947 (*struct { 11948 f func(*libc.TLS, uintptr) int32 11949 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 11950 } 11951 } 11952 11953 // Xlib uses long for 32-bit values. Xrender uses int. This 11954 // matters on alpha. Note that this macro assumes that int is 32 bits 11955 // except on WORD64 machines where it is 64 bits. 11956 11957 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 11958 // 11959 // This file is part of GCC. 11960 // 11961 // GCC is free software; you can redistribute it and/or modify it under 11962 // the terms of the GNU General Public License as published by the Free 11963 // Software Foundation; either version 3, or (at your option) any later 11964 // version. 11965 // 11966 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 11967 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 11968 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11969 // for more details. 11970 // 11971 // Under Section 7 of GPL version 3, you are granted additional 11972 // permissions described in the GCC Runtime Library Exception, version 11973 // 3.1, as published by the Free Software Foundation. 11974 // 11975 // You should have received a copy of the GNU General Public License and 11976 // a copy of the GCC Runtime Library Exception along with this program; 11977 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 11978 // <http://www.gnu.org/licenses/>. 11979 11980 // This administrivia gets added to the beginning of limits.h 11981 // if the system has its own version of limits.h. 11982 11983 // We use _GCC_LIMITS_H_ because we want this not to match 11984 // any macros that the system's limits.h uses for its own purposes. 11985 11986 // Use "..." so that we find syslimits.h only in this same directory. 11987 // syslimits.h stands for the system's own limits.h file. 11988 // If we can use it ok unmodified, then we install this text. 11989 // If fixincludes fixes it, then the fixed version is installed 11990 // instead of this text. 11991 11992 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 11993 // This file is part of the GNU C Library. 11994 // 11995 // The GNU C Library is free software; you can redistribute it and/or 11996 // modify it under the terms of the GNU Lesser General Public 11997 // License as published by the Free Software Foundation; either 11998 // version 2.1 of the License, or (at your option) any later version. 11999 // 12000 // The GNU C Library is distributed in the hope that it will be useful, 12001 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12002 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12003 // Lesser General Public License for more details. 12004 // 12005 // You should have received a copy of the GNU Lesser General Public 12006 // License along with the GNU C Library; if not, see 12007 // <https://www.gnu.org/licenses/>. 12008 12009 // ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h> 12010 12011 // Handle feature test macros at the start of a header. 12012 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 12013 // This file is part of the GNU C Library. 12014 // 12015 // The GNU C Library is free software; you can redistribute it and/or 12016 // modify it under the terms of the GNU Lesser General Public 12017 // License as published by the Free Software Foundation; either 12018 // version 2.1 of the License, or (at your option) any later version. 12019 // 12020 // The GNU C Library is distributed in the hope that it will be useful, 12021 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12022 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12023 // Lesser General Public License for more details. 12024 // 12025 // You should have received a copy of the GNU Lesser General Public 12026 // License along with the GNU C Library; if not, see 12027 // <https://www.gnu.org/licenses/>. 12028 12029 // This header is internal to glibc and should not be included outside 12030 // of glibc headers. Headers including it must define 12031 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 12032 // cannot have multiple include guards because ISO C feature test 12033 // macros depend on the definition of the macro when an affected 12034 // header is included, not when the first system header is 12035 // included. 12036 12037 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12038 // This file is part of the GNU C Library. 12039 // 12040 // The GNU C Library is free software; you can redistribute it and/or 12041 // modify it under the terms of the GNU Lesser General Public 12042 // License as published by the Free Software Foundation; either 12043 // version 2.1 of the License, or (at your option) any later version. 12044 // 12045 // The GNU C Library is distributed in the hope that it will be useful, 12046 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12047 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12048 // Lesser General Public License for more details. 12049 // 12050 // You should have received a copy of the GNU Lesser General Public 12051 // License along with the GNU C Library; if not, see 12052 // <https://www.gnu.org/licenses/>. 12053 12054 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 12055 // macro. 12056 12057 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 12058 // macro. Most but not all symbols enabled by that macro in TS 12059 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 12060 // still require that macro in C2X. 12061 12062 // ISO/IEC TS 18661-4:2015 defines the 12063 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 12064 // functions, the symbols from this TS are enabled unconditionally in 12065 // C2X. 12066 12067 // ISO/IEC TS 18661-3:2015 defines the 12068 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 12069 12070 // Maximum length of any multibyte character in any locale. 12071 // We define this value here since the gcc header does not define 12072 // the correct value. 12073 12074 // If we are not using GNU CC we have to define all the symbols ourself. 12075 // Otherwise use gcc's definitions (see below). 12076 12077 // Get the compiler's limits.h, which defines almost all the ISO constants. 12078 // 12079 // We put this #include_next outside the double inclusion check because 12080 // it should be possible to include this file more than once and still get 12081 // the definitions from gcc's header. 12082 12083 // The <limits.h> files in some gcc versions don't define LLONG_MIN, 12084 // LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for 12085 // ages are available. 12086 12087 // The integer width macros are not defined by GCC's <limits.h> before 12088 // GCC 7, or if _GNU_SOURCE rather than 12089 // __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. 12090 12091 // POSIX adds things to <limits.h>. 12092 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12093 // This file is part of the GNU C Library. 12094 // 12095 // The GNU C Library is free software; you can redistribute it and/or 12096 // modify it under the terms of the GNU Lesser General Public 12097 // License as published by the Free Software Foundation; either 12098 // version 2.1 of the License, or (at your option) any later version. 12099 // 12100 // The GNU C Library is distributed in the hope that it will be useful, 12101 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12102 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12103 // Lesser General Public License for more details. 12104 // 12105 // You should have received a copy of the GNU Lesser General Public 12106 // License along with the GNU C Library; if not, see 12107 // <https://www.gnu.org/licenses/>. 12108 12109 // POSIX Standard: 2.9.2 Minimum Values Added to <limits.h> 12110 // 12111 // Never include this file directly; use <limits.h> instead. 12112 12113 // Determine the wordsize from the preprocessor defines. 12114 12115 // Both x86-64 and x32 use the 64-bit system call interface. 12116 12117 // These are the standard-mandated minimum values. 12118 12119 // Minimum number of operations in one list I/O call. 12120 12121 // Minimal number of outstanding asynchronous I/O operations. 12122 12123 // Maximum length of arguments to `execve', including environment. 12124 12125 // Maximum simultaneous processes per real user ID. 12126 12127 // Minimal number of timer expiration overruns. 12128 12129 // Maximum length of a host name (not including the terminating null) 12130 // as returned from the GETHOSTNAME function. 12131 12132 // Maximum link count of a file. 12133 12134 // Maximum length of login name. 12135 12136 // Number of bytes in a terminal canonical input queue. 12137 12138 // Number of bytes for which space will be 12139 // available in a terminal input queue. 12140 12141 // Maximum number of message queues open for a process. 12142 12143 // Maximum number of supported message priorities. 12144 12145 // Number of bytes in a filename. 12146 12147 // Number of simultaneous supplementary group IDs per process. 12148 12149 // Number of files one process can have open at once. 12150 12151 // Number of bytes in a pathname. 12152 12153 // Number of bytes than can be written atomically to a pipe. 12154 12155 // The number of repeated occurrences of a BRE permitted by the 12156 // REGEXEC and REGCOMP functions when using the interval notation. 12157 12158 // Minimal number of realtime signals reserved for the application. 12159 12160 // Number of semaphores a process can have. 12161 12162 // Maximal value of a semaphore. 12163 12164 // Number of pending realtime signals. 12165 12166 // Largest value of a `ssize_t'. 12167 12168 // Number of streams a process can have open at once. 12169 12170 // The number of bytes in a symbolic link. 12171 12172 // The number of symbolic links that can be traversed in the 12173 // resolution of a pathname in the absence of a loop. 12174 12175 // Number of timer for a process. 12176 12177 // Maximum number of characters in a tty name. 12178 12179 // Maximum length of a timezone name (element of `tzname'). 12180 12181 // Maximum clock resolution in nanoseconds. 12182 12183 // Get the implementation-specific values for the above. 12184 // Minimum guaranteed maximum values for system limits. Linux version. 12185 // Copyright (C) 1993-2020 Free Software Foundation, Inc. 12186 // This file is part of the GNU C Library. 12187 // 12188 // The GNU C Library is free software; you can redistribute it and/or 12189 // modify it under the terms of the GNU Lesser General Public License as 12190 // published by the Free Software Foundation; either version 2.1 of the 12191 // License, or (at your option) any later version. 12192 // 12193 // The GNU C Library is distributed in the hope that it will be useful, 12194 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12195 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12196 // Lesser General Public License for more details. 12197 // 12198 // You should have received a copy of the GNU Lesser General Public 12199 // License along with the GNU C Library; see the file COPYING.LIB. If 12200 // not, see <https://www.gnu.org/licenses/>. 12201 12202 // The kernel header pollutes the namespace with the NR_OPEN symbol 12203 // and defines LINK_MAX although filesystems have different maxima. A 12204 // similar thing is true for OPEN_MAX: the limit can be changed at 12205 // runtime and therefore the macro must not be defined. Remove this 12206 // after including the header if necessary. 12207 12208 // The kernel sources contain a file with all the needed information. 12209 // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note 12210 12211 // Have to remove NR_OPEN? 12212 // Have to remove LINK_MAX? 12213 // Have to remove OPEN_MAX? 12214 // Have to remove ARG_MAX? 12215 12216 // The number of data keys per process. 12217 // This is the value this implementation supports. 12218 12219 // Controlling the iterations of destructors for thread-specific data. 12220 // Number of iterations this implementation does. 12221 12222 // The number of threads per process. 12223 // We have no predefined limit on the number of threads. 12224 12225 // Maximum amount by which a process can descrease its asynchronous I/O 12226 // priority level. 12227 12228 // Minimum size for a thread. We are free to choose a reasonable value. 12229 12230 // Maximum number of timer expiration overruns. 12231 12232 // Maximum tty name length. 12233 12234 // Maximum login name length. This is arbitrary. 12235 12236 // Maximum host name length. 12237 12238 // Maximum message queue priority level. 12239 12240 // Maximum value the semaphore can have. 12241 12242 // ssize_t is not formally required to be the signed type 12243 // corresponding to size_t, but it is for all configurations supported 12244 // by glibc. 12245 12246 // This value is a guaranteed minimum maximum. 12247 // The current maximum can be got from `sysconf'. 12248 12249 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12250 // This file is part of the GNU C Library. 12251 // 12252 // The GNU C Library is free software; you can redistribute it and/or 12253 // modify it under the terms of the GNU Lesser General Public 12254 // License as published by the Free Software Foundation; either 12255 // version 2.1 of the License, or (at your option) any later version. 12256 // 12257 // The GNU C Library is distributed in the hope that it will be useful, 12258 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12259 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12260 // Lesser General Public License for more details. 12261 // 12262 // You should have received a copy of the GNU Lesser General Public 12263 // License along with the GNU C Library; if not, see 12264 // <https://www.gnu.org/licenses/>. 12265 12266 // Never include this file directly; include <limits.h> instead. 12267 12268 // The maximum `ibase' and `obase' values allowed by the `bc' utility. 12269 12270 // The maximum number of elements allowed in an array by the `bc' utility. 12271 12272 // The maximum `scale' value allowed by the `bc' utility. 12273 12274 // The maximum length of a string constant accepted by the `bc' utility. 12275 12276 // The maximum number of weights that can be assigned to an entry of 12277 // the LC_COLLATE `order' keyword in the locale definition file. 12278 12279 // The maximum number of expressions that can be nested 12280 // within parentheses by the `expr' utility. 12281 12282 // The maximum length, in bytes, of an input line. 12283 12284 // The maximum number of repeated occurrences of a regular expression 12285 // permitted when using the interval notation `\{M,N\}'. 12286 12287 // The maximum number of bytes in a character class name. We have no 12288 // fixed limit, 2048 is a high number. 12289 12290 // These values are implementation-specific, 12291 // and may vary within the implementation. 12292 // Their precise values can be obtained from sysconf. 12293 12294 // This value is defined like this in regex.h. 12295 12296 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 12297 // 12298 // This file is part of GCC. 12299 // 12300 // GCC is free software; you can redistribute it and/or modify it under 12301 // the terms of the GNU General Public License as published by the Free 12302 // Software Foundation; either version 3, or (at your option) any later 12303 // version. 12304 // 12305 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12306 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 12307 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12308 // for more details. 12309 // 12310 // Under Section 7 of GPL version 3, you are granted additional 12311 // permissions described in the GCC Runtime Library Exception, version 12312 // 3.1, as published by the Free Software Foundation. 12313 // 12314 // You should have received a copy of the GNU General Public License and 12315 // a copy of the GCC Runtime Library Exception along with this program; 12316 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 12317 // <http://www.gnu.org/licenses/>. 12318 12319 // Number of bits in a `char'. 12320 12321 // Maximum length of a multibyte character. 12322 12323 // Minimum and maximum values a `signed char' can hold. 12324 12325 // Maximum value an `unsigned char' can hold. (Minimum is 0). 12326 12327 // Minimum and maximum values a `char' can hold. 12328 12329 // Minimum and maximum values a `signed short int' can hold. 12330 12331 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 12332 12333 // Minimum and maximum values a `signed int' can hold. 12334 12335 // Maximum value an `unsigned int' can hold. (Minimum is 0). 12336 12337 // Minimum and maximum values a `signed long int' can hold. 12338 // (Same as `int'). 12339 12340 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 12341 12342 // Minimum and maximum values a `signed long long int' can hold. 12343 12344 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 12345 12346 // This administrivia gets added to the end of limits.h 12347 // if the system has its own version of limits.h. 12348 12349 func XXRenderQueryFilters(tls *libc.TLS, dpy uintptr, drawable Drawable) uintptr { /* Filter.c:30:10: */ 12350 bp := tls.Alloc(33) 12351 defer tls.Free(33) 12352 12353 var info uintptr = XXRenderFindDisplay(tls, dpy) 12354 var xri uintptr 12355 var req uintptr 12356 // var rep XRenderQueryFiltersReply at bp, 32 12357 12358 var filters uintptr 12359 var name uintptr 12360 // var len int8 at bp+32, 1 12361 12362 var i int32 12363 var nbytes uint64 12364 var nbytesAlias uint64 12365 var nbytesName uint64 12366 var reply_left uint64 12367 12368 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12369 return uintptr(0) 12370 } 12371 12372 if !(XXRenderQueryFormats(tls, dpy) != 0) { 12373 return uintptr(0) 12374 } 12375 12376 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 12377 if (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version < 6 { 12378 return uintptr(0) 12379 } 12380 12381 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12382 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12383 } 12384 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryFilters), uint64(Sz_xRenderQueryFiltersReq)) 12385 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12386 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryFilters) 12387 (*XRenderQueryFiltersReq)(unsafe.Pointer(req)).Fdrawable = CARD32(drawable) 12388 if !(x11.X_XReply(tls, dpy, bp /* &rep */, 0, XFalse) != 0) { 12389 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12390 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12391 } 12392 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12393 (*struct { 12394 f func(*libc.TLS, uintptr) int32 12395 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12396 } 12397 return uintptr(0) 12398 } 12399 12400 // Limit each component of combined size to 1/4 the max, which is far 12401 // more than they should ever possibly need. 12402 if (((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) && (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(int16(0))))) { 12403 // Compute total number of bytes for filter names 12404 nbytes = (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength) << 2) 12405 nbytesAlias = (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases * CARD32(2))) 12406 if ((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases & CARD32(1)) != 0 { 12407 nbytesAlias = nbytesAlias + (uint64(2)) 12408 } 12409 nbytesName = (nbytes - nbytesAlias) 12410 12411 // Allocate one giant block for the whole data structure 12412 filters = libc.Xmalloc(tls, func() uint64 { 12413 if (((uint64(unsafe.Sizeof(XFilters{})) + (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters) * uint64(unsafe.Sizeof(uintptr(0))))) + (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases) * uint64(unsafe.Sizeof(int16(0))))) + nbytesName) == uint64(0) { 12414 return uint64(1) 12415 } 12416 return (((uint64(unsafe.Sizeof(XFilters{})) + (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters) * uint64(unsafe.Sizeof(uintptr(0))))) + (uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases) * uint64(unsafe.Sizeof(int16(0))))) + nbytesName) 12417 }()) 12418 } else { 12419 filters = uintptr(0) 12420 } 12421 12422 if !(filters != 0) { 12423 x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength)) 12424 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12425 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12426 } 12427 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12428 (*struct { 12429 f func(*libc.TLS, uintptr) int32 12430 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12431 } 12432 return uintptr(0) 12433 } 12434 12435 // Layout: 12436 // XFilters 12437 // numFilters char * pointers to filter names 12438 // numAliases short alias values 12439 // nbytesName char strings 12440 12441 (*XFilters)(unsafe.Pointer(filters)).Fnfilter = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters) 12442 (*XFilters)(unsafe.Pointer(filters)).Fnalias = int32((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases) 12443 (*XFilters)(unsafe.Pointer(filters)).Ffilter = (filters + uintptr(1)*32) 12444 (*XFilters)(unsafe.Pointer(filters)).Falias = ((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters)*8) 12445 name = ((*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)*2) 12446 12447 // Read the filter aliases 12448 x11.X_XReadPad(tls, dpy, (*XFilters)(unsafe.Pointer(filters)).Falias, (int64(CARD32(2) * (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases))) 12449 reply_left = (uint64((CARD32(8) + (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).Flength) - (CARD32(2) * (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases))) 12450 12451 // Read the filter names 12452 for i = 0; CARD32(i) < (*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumFilters; i++ { 12453 var l int32 12454 x11.X_XRead(tls, dpy, bp+32 /* &len */, int64(1)) 12455 reply_left-- 12456 l = (int32(*(*int8)(unsafe.Pointer(bp + 32 /* len */))) & 0xff) 12457 if (uint64(l) + uint64(1)) > nbytesName { 12458 x11.X_XEatDataWords(tls, dpy, reply_left) 12459 libc.Xfree(tls, filters) 12460 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12461 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12462 } 12463 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12464 (*struct { 12465 f func(*libc.TLS, uintptr) int32 12466 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12467 } 12468 return uintptr(0) 12469 } 12470 nbytesName = nbytesName - (uint64(l + 1)) 12471 *(*uintptr)(unsafe.Pointer((*XFilters)(unsafe.Pointer(filters)).Ffilter + uintptr(i)*8)) = name 12472 x11.X_XRead(tls, dpy, name, int64(l)) 12473 reply_left = reply_left - (uint64(l)) 12474 *(*int8)(unsafe.Pointer(name + uintptr(l))) = int8(0) 12475 name += (uintptr(l + 1)) 12476 } 12477 i = (int32((int64(name) - int64(((*XFilters)(unsafe.Pointer(filters)).Falias + uintptr((*XRenderQueryFiltersReply)(unsafe.Pointer(bp /* &rep */)).FnumAliases)*2))) / 1)) 12478 12479 if (i & 3) != 0 { 12480 x11.X_XEatData(tls, dpy, (uint64(4 - (i & 3)))) 12481 } 12482 12483 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12484 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12485 } 12486 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12487 (*struct { 12488 f func(*libc.TLS, uintptr) int32 12489 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12490 } 12491 return filters 12492 } 12493 12494 func XXRenderSetPictureFilter(tls *libc.TLS, dpy uintptr, picture Picture, filter uintptr, params uintptr, nparams int32) { /* Filter.c:153:1: */ 12495 var info uintptr = XXRenderFindDisplay(tls, dpy) 12496 var req uintptr 12497 var nbytes int32 = int32(libc.Xstrlen(tls, filter)) 12498 12499 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12500 return 12501 } 12502 12503 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12504 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12505 } 12506 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureFilter), uint64(Sz_xRenderSetPictureFilterReq)) 12507 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12508 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureFilter) 12509 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 12510 (*XRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fnbytes = CARD16(nbytes) 12511 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((((nbytes + 3) >> 2) + nparams)) 12512 { 12513 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12514 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, filter, uint64(nbytes)) 12515 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nbytes) + 3) & libc.CplInt32(3))) 12516 } else { 12517 x11.X_XSend(tls, dpy, filter, int64(nbytes)) 12518 } 12519 } 12520 12521 { 12522 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nparams << 2))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12523 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, params, uint64((nparams << 2))) 12524 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nparams << 2) + 3) & libc.CplInt32(3))) 12525 } else { 12526 x11.X_XSend(tls, dpy, params, (int64(nparams << 2))) 12527 } 12528 } 12529 12530 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12531 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12532 } 12533 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12534 (*struct { 12535 f func(*libc.TLS, uintptr) int32 12536 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12537 } 12538 } 12539 12540 // Xlib uses long for 32-bit values. Xrender uses int. This 12541 // matters on alpha. Note that this macro assumes that int is 32 bits 12542 // except on WORD64 machines where it is 64 bits. 12543 12544 func XXRenderCreateGlyphSet(tls *libc.TLS, dpy uintptr, format uintptr) GlyphSet { /* Glyph.c:31:1: */ 12545 var info uintptr = XXRenderFindDisplay(tls, dpy) 12546 var gsid GlyphSet 12547 var req uintptr 12548 12549 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12550 return uint64(0) 12551 } 12552 12553 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12554 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12555 } 12556 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateGlyphSet), uint64(Sz_xRenderCreateGlyphSetReq)) 12557 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12558 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateGlyphSet) 12559 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fgsid = CARD32(libc.AssignUint64(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 12560 Fext_data uintptr 12561 Fprivate1 uintptr 12562 Ffd int32 12563 Fprivate2 int32 12564 Fproto_major_version int32 12565 Fproto_minor_version int32 12566 Fvendor uintptr 12567 Fprivate3 XID 12568 Fprivate4 XID 12569 Fprivate5 XID 12570 Fprivate6 int32 12571 F__ccgo_pad1 [4]byte 12572 Fresource_alloc uintptr 12573 Fbyte_order int32 12574 Fbitmap_unit int32 12575 Fbitmap_pad int32 12576 Fbitmap_bit_order int32 12577 Fnformats int32 12578 F__ccgo_pad2 [4]byte 12579 Fpixmap_format uintptr 12580 Fprivate8 int32 12581 Frelease int32 12582 Fprivate9 uintptr 12583 Fprivate10 uintptr 12584 Fqlen int32 12585 F__ccgo_pad3 [4]byte 12586 Flast_request_read uint64 12587 Frequest uint64 12588 Fprivate11 XPointer 12589 Fprivate12 XPointer 12590 Fprivate13 XPointer 12591 Fprivate14 XPointer 12592 Fmax_request_size uint32 12593 F__ccgo_pad4 [4]byte 12594 Fdb uintptr 12595 Fprivate15 uintptr 12596 Fdisplay_name uintptr 12597 Fdefault_screen int32 12598 Fnscreens int32 12599 Fscreens uintptr 12600 Fmotion_buffer uint64 12601 Fprivate16 uint64 12602 Fmin_keycode int32 12603 Fmax_keycode int32 12604 Fprivate17 XPointer 12605 Fprivate18 XPointer 12606 Fprivate19 int32 12607 F__ccgo_pad5 [4]byte 12608 Fxdefaults uintptr 12609 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))) 12610 (*XRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid) 12611 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12612 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12613 } 12614 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12615 (*struct { 12616 f func(*libc.TLS, uintptr) int32 12617 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12618 } 12619 return gsid 12620 } 12621 12622 func XXRenderReferenceGlyphSet(tls *libc.TLS, dpy uintptr, existing GlyphSet) GlyphSet { /* Glyph.c:50:1: */ 12623 var info uintptr = XXRenderFindDisplay(tls, dpy) 12624 var gsid GlyphSet 12625 var req uintptr 12626 12627 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12628 return uint64(0) 12629 } 12630 12631 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12632 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12633 } 12634 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderReferenceGlyphSet), uint64(Sz_xRenderReferenceGlyphSetReq)) 12635 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12636 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderReferenceGlyphSet) 12637 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fgsid = CARD32(libc.AssignUint64(&gsid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 12638 Fext_data uintptr 12639 Fprivate1 uintptr 12640 Ffd int32 12641 Fprivate2 int32 12642 Fproto_major_version int32 12643 Fproto_minor_version int32 12644 Fvendor uintptr 12645 Fprivate3 XID 12646 Fprivate4 XID 12647 Fprivate5 XID 12648 Fprivate6 int32 12649 F__ccgo_pad1 [4]byte 12650 Fresource_alloc uintptr 12651 Fbyte_order int32 12652 Fbitmap_unit int32 12653 Fbitmap_pad int32 12654 Fbitmap_bit_order int32 12655 Fnformats int32 12656 F__ccgo_pad2 [4]byte 12657 Fpixmap_format uintptr 12658 Fprivate8 int32 12659 Frelease int32 12660 Fprivate9 uintptr 12661 Fprivate10 uintptr 12662 Fqlen int32 12663 F__ccgo_pad3 [4]byte 12664 Flast_request_read uint64 12665 Frequest uint64 12666 Fprivate11 XPointer 12667 Fprivate12 XPointer 12668 Fprivate13 XPointer 12669 Fprivate14 XPointer 12670 Fmax_request_size uint32 12671 F__ccgo_pad4 [4]byte 12672 Fdb uintptr 12673 Fprivate15 uintptr 12674 Fdisplay_name uintptr 12675 Fdefault_screen int32 12676 Fnscreens int32 12677 Fscreens uintptr 12678 Fmotion_buffer uint64 12679 Fprivate16 uint64 12680 Fmin_keycode int32 12681 Fmax_keycode int32 12682 Fprivate17 XPointer 12683 Fprivate18 XPointer 12684 Fprivate19 int32 12685 F__ccgo_pad5 [4]byte 12686 Fxdefaults uintptr 12687 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))) 12688 (*XRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fexisting = CARD32(existing) 12689 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12690 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12691 } 12692 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12693 (*struct { 12694 f func(*libc.TLS, uintptr) int32 12695 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12696 } 12697 return gsid 12698 } 12699 12700 func XXRenderFreeGlyphSet(tls *libc.TLS, dpy uintptr, glyphset GlyphSet) { /* Glyph.c:69:1: */ 12701 var info uintptr = XXRenderFindDisplay(tls, dpy) 12702 var req uintptr 12703 12704 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12705 return 12706 } 12707 12708 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12709 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12710 } 12711 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphSet), uint64(Sz_xRenderFreeGlyphSetReq)) 12712 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12713 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphSet) 12714 (*XRenderFreeGlyphSetReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 12715 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12716 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12717 } 12718 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12719 (*struct { 12720 f func(*libc.TLS, uintptr) int32 12721 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12722 } 12723 } 12724 12725 func XXRenderAddGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, glyphs uintptr, nglyphs int32, images uintptr, nbyte_images int32) { /* Glyph.c:85:1: */ 12726 bp := tls.Alloc(8) 12727 defer tls.Free(8) 12728 12729 var info uintptr = XXRenderFindDisplay(tls, dpy) 12730 var req uintptr 12731 var len int64 12732 12733 if (nbyte_images & 3) != 0 { 12734 nbyte_images = nbyte_images + (4 - (nbyte_images & 3)) 12735 } 12736 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12737 return 12738 } 12739 12740 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12741 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12742 } 12743 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderAddGlyphs), uint64(Sz_xRenderAddGlyphsReq)) 12744 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12745 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderAddGlyphs) 12746 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 12747 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Fnglyphs = CARD32(nglyphs) 12748 len = (int64(((nglyphs * (Sz_xGlyphInfo + 4)) + nbyte_images) >> 2)) 12749 if (int64((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 12750 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 12751 { 12752 // var _BRdat CARD64 at bp, 8 12753 var _BRlen CARD32 = (CARD32(int32((*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) - 1)) 12754 (*XRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 12755 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 12756 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 12757 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 12758 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 12759 } 12760 } else { 12761 len = len 12762 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 12763 } 12764 } else { 12765 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 12766 } 12767 x11.X_XData32(tls, dpy, gids, (uint32(nglyphs * 4))) 12768 { 12769 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nglyphs * Sz_xGlyphInfo))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 12770 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, glyphs, uint64((nglyphs * Sz_xGlyphInfo))) 12771 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nglyphs * Sz_xGlyphInfo) + 3) & libc.CplInt32(3))) 12772 } else { 12773 x11.X_XSend(tls, dpy, glyphs, (int64(nglyphs * Sz_xGlyphInfo))) 12774 } 12775 } 12776 12777 { 12778 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbyte_images))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12779 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, images, uint64(nbyte_images)) 12780 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nbyte_images) + 3) & libc.CplInt32(3))) 12781 } else { 12782 x11.X_XSend(tls, dpy, images, int64(nbyte_images)) 12783 } 12784 } 12785 12786 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12787 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12788 } 12789 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12790 (*struct { 12791 f func(*libc.TLS, uintptr) int32 12792 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12793 } 12794 } 12795 12796 func XXRenderFreeGlyphs(tls *libc.TLS, dpy uintptr, glyphset GlyphSet, gids uintptr, nglyphs int32) { /* Glyph.c:116:1: */ 12797 bp := tls.Alloc(8) 12798 defer tls.Free(8) 12799 12800 var info uintptr = XXRenderFindDisplay(tls, dpy) 12801 var req uintptr 12802 var len int64 12803 12804 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12805 return 12806 } 12807 12808 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12809 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12810 } 12811 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreeGlyphs), uint64(Sz_xRenderFreeGlyphsReq)) 12812 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12813 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreeGlyphs) 12814 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 12815 len = int64(nglyphs) 12816 if (int64((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 12817 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 12818 { 12819 // var _BRdat CARD64 at bp, 8 12820 var _BRlen CARD32 = (CARD32(int32((*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) - 1)) 12821 (*XRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 12822 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 12823 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 12824 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 12825 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 12826 } 12827 } else { 12828 len = len 12829 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 12830 } 12831 } else { 12832 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 12833 } 12834 len <<= 2 12835 x11.X_XData32(tls, dpy, gids, uint32(len)) 12836 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12837 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12838 } 12839 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12840 (*struct { 12841 f func(*libc.TLS, uintptr) int32 12842 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12843 } 12844 } 12845 12846 func XXRenderCompositeString8(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:140:1: */ 12847 var info uintptr = XXRenderFindDisplay(tls, dpy) 12848 var req uintptr 12849 var len int64 12850 var elt uintptr 12851 var nbytes int32 12852 12853 if !(nchar != 0) { 12854 return 12855 } 12856 12857 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12858 return 12859 } 12860 12861 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12862 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12863 } 12864 12865 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint64(Sz_xRenderCompositeGlyphs8Req)) 12866 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12867 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8) 12868 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 12869 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 12870 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 12871 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 12872 if maskFormat != 0 { 12873 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 12874 } 12875 return uint32(None) 12876 }() 12877 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 12878 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 12879 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 12880 12881 // xGlyphElt must be aligned on a 32-bit boundary; this is 12882 // easily done by filling no more than 252 glyphs in each 12883 // bucket 12884 12885 len = (int64((Sz_xGlyphElt * (((nchar + 252) - 1) / 252)) + nchar)) 12886 12887 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + int64(3)) >> 2)) // convert to number of 32-bit words 12888 12889 // If the entire request does not fit into the remaining space in the 12890 // buffer, flush the buffer first. 12891 12892 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12893 x11.X_XFlush(tls, dpy) 12894 } 12895 12896 for nchar > 252 { 12897 nbytes = (252 + Sz_xGlyphElt) 12898 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12899 x11.X_XFlush(tls, dpy) 12900 } 12901 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12902 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 12903 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes)) 12904 12905 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(252) 12906 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 12907 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 12908 xDst = 0 12909 yDst = 0 12910 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, uint64(252)) 12911 nchar = (nchar - 252) 12912 string += uintptr(252) 12913 } 12914 12915 if nchar != 0 { 12916 nbytes = (((nchar + Sz_xGlyphElt) + 3) & libc.CplInt32(3)) 12917 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12918 x11.X_XFlush(tls, dpy) 12919 } 12920 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12921 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 12922 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes)) 12923 12924 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 12925 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 12926 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 12927 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, uint64(nchar)) 12928 } 12929 12930 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12931 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 12932 } 12933 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 12934 (*struct { 12935 f func(*libc.TLS, uintptr) int32 12936 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 12937 } 12938 } 12939 12940 func XXRenderCompositeString16(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:225:1: */ 12941 var info uintptr = XXRenderFindDisplay(tls, dpy) 12942 var req uintptr 12943 var len int64 12944 var elt uintptr 12945 var nbytes int32 12946 12947 if !(nchar != 0) { 12948 return 12949 } 12950 12951 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 12952 return 12953 } 12954 12955 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 12956 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 12957 } 12958 12959 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint64(Sz_xRenderCompositeGlyphs16Req)) 12960 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 12961 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16) 12962 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 12963 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 12964 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 12965 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 12966 if maskFormat != 0 { 12967 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 12968 } 12969 return uint32(None) 12970 }() 12971 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 12972 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 12973 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 12974 12975 len = (int64((Sz_xGlyphElt * (((nchar + 254) - 1) / 254)) + (nchar * 2))) 12976 12977 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + int64(3)) >> 2)) // convert to number of 32-bit words 12978 12979 // If the entire request does not fit into the remaining space in the 12980 // buffer, flush the buffer first. 12981 12982 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12983 x11.X_XFlush(tls, dpy) 12984 } 12985 12986 for nchar > 254 { 12987 nbytes = ((254 * 2) + Sz_xGlyphElt) 12988 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 12989 x11.X_XFlush(tls, dpy) 12990 } 12991 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 12992 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 12993 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes)) 12994 12995 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254) 12996 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 12997 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 12998 xDst = 0 12999 yDst = 0 13000 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint64(254 * 2))) 13001 nchar = (nchar - 254) 13002 string += 2 * (uintptr(254)) 13003 } 13004 13005 if nchar != 0 { 13006 nbytes = ((((nchar * 2) + Sz_xGlyphElt) + 3) & libc.CplInt32(3)) 13007 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13008 x11.X_XFlush(tls, dpy) 13009 } 13010 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13011 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 13012 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes)) 13013 13014 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 13015 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13016 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13017 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint64(nchar * 2))) 13018 } 13019 13020 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13021 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13022 } 13023 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13024 (*struct { 13025 f func(*libc.TLS, uintptr) int32 13026 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13027 } 13028 } 13029 13030 func XXRenderCompositeString32(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, glyphset GlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string uintptr, nchar int32) { /* Glyph.c:305:1: */ 13031 var info uintptr = XXRenderFindDisplay(tls, dpy) 13032 var req uintptr 13033 var len int64 13034 var elt uintptr 13035 var nbytes int32 13036 13037 if !(nchar != 0) { 13038 return 13039 } 13040 13041 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13042 return 13043 } 13044 13045 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13046 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13047 } 13048 13049 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint64(Sz_xRenderCompositeGlyphs32Req)) 13050 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13051 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32) 13052 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13053 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 13054 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 13055 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13056 if maskFormat != 0 { 13057 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 13058 } 13059 return uint32(None) 13060 }() 13061 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32(glyphset) 13062 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13063 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13064 13065 len = (int64((Sz_xGlyphElt * (((nchar + 254) - 1) / 254)) + (nchar * 4))) 13066 13067 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16(((len + int64(3)) >> 2)) // convert to number of 32-bit words 13068 13069 // If the entire request does not fit into the remaining space in the 13070 // buffer, flush the buffer first. 13071 13072 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr(len)) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13073 x11.X_XFlush(tls, dpy) 13074 } 13075 13076 for nchar > 254 { 13077 nbytes = ((254 * 4) + Sz_xGlyphElt) 13078 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13079 x11.X_XFlush(tls, dpy) 13080 } 13081 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13082 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 13083 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes)) 13084 13085 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(254) 13086 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13087 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13088 xDst = 0 13089 yDst = 0 13090 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint64(254 * 4))) 13091 nchar = (nchar - 254) 13092 string += 4 * (uintptr(254)) 13093 } 13094 13095 if nchar != 0 { 13096 nbytes = ((nchar * 4) + Sz_xGlyphElt) 13097 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nbytes))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13098 x11.X_XFlush(tls, dpy) 13099 } 13100 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13101 libc.Xmemset(tls, elt, 0, uint64(nbytes)) 13102 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(nbytes)) 13103 13104 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(nchar) 13105 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13106 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13107 libc.Xmemcpy(tls, (elt + uintptr(1)*8), string, (uint64(nchar * 4))) 13108 } 13109 13110 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13111 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13112 } 13113 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13114 (*struct { 13115 f func(*libc.TLS, uintptr) int32 13116 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13117 } 13118 } 13119 13120 func XXRenderCompositeText8(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:385:1: */ 13121 bp := tls.Alloc(8) 13122 defer tls.Free(8) 13123 13124 var info uintptr = XXRenderFindDisplay(tls, dpy) 13125 var req uintptr 13126 // var glyphset GlyphSet at bp, 8 13127 13128 var len int64 13129 var elen int64 13130 var elt uintptr 13131 var i int32 13132 var chars uintptr 13133 var nchars int32 13134 13135 if !(nelt != 0) { 13136 return 13137 } 13138 13139 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13140 return 13141 } 13142 13143 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13144 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13145 } 13146 13147 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs8), uint64(Sz_xRenderCompositeGlyphs8Req)) 13148 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13149 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs8) 13150 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13151 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 13152 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 13153 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13154 if maskFormat != 0 { 13155 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 13156 } 13157 return uint32(None) 13158 }() 13159 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset) 13160 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13161 (*XRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13162 13163 // Compute the space necessary 13164 len = int64(0) 13165 13166 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset 13167 for i = 0; i < nelt; i++ { 13168 // Check for glyphset change 13169 if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13170 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13171 len = len + (int64(int32((Sz_xGlyphElt + 4)) >> 2)) 13172 } 13173 nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13174 // xGlyphElt must be aligned on a 32-bit boundary; this is 13175 // easily done by filling no more than 252 glyphs in each 13176 // bucket 13177 elen = (int64((Sz_xGlyphElt * (((nchars + 252) - 1) / 252)) + nchars)) 13178 len = len + ((elen + int64(3)) >> 2) 13179 } 13180 13181 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 13182 13183 // Send the glyphs 13184 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts)).Fglyphset 13185 for i = 0; i < nelt; i++ { 13186 // Switch glyphsets 13187 if (*XGlyphElt8)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13188 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13189 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13190 x11.X_XFlush(tls, dpy) 13191 } 13192 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13193 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13194 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13195 13196 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13197 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13198 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13199 x11.X_XData32(tls, dpy, bp /* &glyphset */, uint32(4)) 13200 } 13201 nchars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13202 xDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff 13203 yDst = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff 13204 chars = (*XGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars 13205 for nchars != 0 { 13206 var this_chars int32 13207 if nchars > 252 { 13208 this_chars = 252 13209 } else { 13210 this_chars = nchars 13211 } 13212 13213 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13214 x11.X_XFlush(tls, dpy) 13215 } 13216 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13217 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13218 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13219 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13220 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13221 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13222 xDst = 0 13223 yDst = 0 13224 { 13225 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((this_chars))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13226 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_chars)) 13227 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((this_chars) + 3) & libc.CplInt32(3))) 13228 } else { 13229 x11.X_XSend(tls, dpy, chars, int64(this_chars)) 13230 } 13231 } 13232 13233 nchars = nchars - (this_chars) 13234 chars += uintptr(this_chars) 13235 } 13236 } 13237 13238 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13239 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13240 } 13241 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13242 (*struct { 13243 f func(*libc.TLS, uintptr) int32 13244 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13245 } 13246 } 13247 13248 func XXRenderCompositeText16(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:498:1: */ 13249 bp := tls.Alloc(8) 13250 defer tls.Free(8) 13251 13252 var info uintptr = XXRenderFindDisplay(tls, dpy) 13253 var req uintptr 13254 // var glyphset GlyphSet at bp, 8 13255 13256 var len int64 13257 var elen int64 13258 var elt uintptr 13259 var i int32 13260 var chars uintptr 13261 var nchars int32 13262 13263 if !(nelt != 0) { 13264 return 13265 } 13266 13267 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13268 return 13269 } 13270 13271 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13272 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13273 } 13274 13275 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs16), uint64(Sz_xRenderCompositeGlyphs16Req)) 13276 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13277 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs16) 13278 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13279 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 13280 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 13281 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13282 if maskFormat != 0 { 13283 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 13284 } 13285 return uint32(None) 13286 }() 13287 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset) 13288 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13289 (*XRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13290 13291 // Compute the space necessary 13292 len = int64(0) 13293 13294 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset 13295 for i = 0; i < nelt; i++ { 13296 // Check for glyphset change 13297 if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13298 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13299 len = len + (int64(int32((Sz_xGlyphElt + 4)) >> 2)) 13300 } 13301 nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13302 // xGlyphElt must be aligned on a 32-bit boundary; this is 13303 // easily done by filling no more than 254 glyphs in each 13304 // bucket 13305 elen = (int64((Sz_xGlyphElt * (((nchars + 254) - 1) / 254)) + (nchars * 2))) 13306 len = len + ((elen + int64(3)) >> 2) 13307 } 13308 13309 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 13310 13311 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts)).Fglyphset 13312 for i = 0; i < nelt; i++ { 13313 // Switch glyphsets 13314 if (*XGlyphElt16)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13315 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13316 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13317 x11.X_XFlush(tls, dpy) 13318 } 13319 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13320 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13321 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13322 13323 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13324 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13325 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13326 x11.X_XData32(tls, dpy, bp /* &glyphset */, uint32(4)) 13327 } 13328 nchars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13329 xDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff 13330 yDst = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff 13331 chars = (*XGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars 13332 for nchars != 0 { 13333 var this_chars int32 13334 if nchars > 254 { 13335 this_chars = 254 13336 } else { 13337 this_chars = nchars 13338 } 13339 var this_bytes int32 = (this_chars * 2) 13340 13341 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13342 x11.X_XFlush(tls, dpy) 13343 } 13344 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13345 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13346 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13347 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13348 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13349 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13350 xDst = 0 13351 yDst = 0 13352 { 13353 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((this_bytes))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 13354 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_bytes)) 13355 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((this_bytes) + 3) & libc.CplInt32(3))) 13356 } else { 13357 x11.X_XSend(tls, dpy, chars, int64(this_bytes)) 13358 } 13359 } 13360 13361 nchars = nchars - (this_chars) 13362 chars += 2 * (uintptr(this_chars)) 13363 } 13364 } 13365 13366 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13367 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13368 } 13369 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13370 (*struct { 13371 f func(*libc.TLS, uintptr) int32 13372 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13373 } 13374 } 13375 13376 func XXRenderCompositeText32(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) { /* Glyph.c:609:1: */ 13377 bp := tls.Alloc(8) 13378 defer tls.Free(8) 13379 13380 var info uintptr = XXRenderFindDisplay(tls, dpy) 13381 var req uintptr 13382 // var glyphset GlyphSet at bp, 8 13383 13384 var len int64 13385 var elen int64 13386 var elt uintptr 13387 var i int32 13388 var chars uintptr 13389 var nchars int32 13390 13391 if !(nelt != 0) { 13392 return 13393 } 13394 13395 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13396 return 13397 } 13398 13399 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13400 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13401 } 13402 13403 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCompositeGlyphs32), uint64(Sz_xRenderCompositeGlyphs32Req)) 13404 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13405 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCompositeGlyphs32) 13406 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fop = CARD8(op) 13407 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fsrc = CARD32(src) 13408 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fdst = CARD32(dst) 13409 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 13410 if maskFormat != 0 { 13411 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 13412 } 13413 return uint32(None) 13414 }() 13415 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fglyphset = CARD32((*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset) 13416 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 13417 (*XRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 13418 13419 // Compute the space necessary 13420 len = int64(0) 13421 13422 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset 13423 for i = 0; i < nelt; i++ { 13424 // Check for glyphset change 13425 if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13426 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13427 len = len + (int64(int32((Sz_xGlyphElt + 4)) >> 2)) 13428 } 13429 nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13430 elen = (int64((Sz_xGlyphElt * (((nchars + 254) - 1) / 254)) + (nchars * 4))) 13431 len = len + ((elen + int64(3)) >> 2) 13432 } 13433 13434 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 13435 13436 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts)).Fglyphset 13437 for i = 0; i < nelt; i++ { 13438 // Switch glyphsets 13439 if (*XGlyphElt32)(unsafe.Pointer(elts+uintptr(i)*32)).Fglyphset != *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) { 13440 *(*GlyphSet)(unsafe.Pointer(bp /* glyphset */)) = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fglyphset 13441 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13442 x11.X_XFlush(tls, dpy) 13443 } 13444 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13445 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13446 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13447 13448 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(0xff) 13449 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(0) 13450 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(0) 13451 x11.X_XData32(tls, dpy, bp /* &glyphset */, uint32(4)) 13452 } 13453 nchars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fnchars 13454 xDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).FxOff 13455 yDst = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).FyOff 13456 chars = (*XGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*32)).Fchars 13457 for nchars != 0 { 13458 var this_chars int32 13459 if nchars > 254 { 13460 this_chars = 254 13461 } else { 13462 this_chars = nchars 13463 } 13464 var this_bytes int32 = (this_chars * 4) 13465 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((Sz_xGlyphElt))) > (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13466 x11.X_XFlush(tls, dpy) 13467 } 13468 elt = (*Display)(unsafe.Pointer(dpy)).Fbufptr 13469 libc.Xmemset(tls, elt, 0, uint64(Sz_xGlyphElt)) 13470 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(Sz_xGlyphElt)) 13471 (*XGlyphElt)(unsafe.Pointer(elt)).Flen = CARD8(this_chars) 13472 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltax = INT16(xDst) 13473 (*XGlyphElt)(unsafe.Pointer(elt)).Fdeltay = INT16(yDst) 13474 xDst = 0 13475 yDst = 0 13476 { 13477 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((this_bytes))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 13478 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, chars, uint64(this_bytes)) 13479 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((this_bytes) + 3) & libc.CplInt32(3))) 13480 } else { 13481 x11.X_XSend(tls, dpy, chars, int64(this_bytes)) 13482 } 13483 } 13484 13485 nchars = nchars - (this_chars) 13486 chars += 4 * (uintptr(this_chars)) 13487 } 13488 } 13489 13490 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13491 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13492 } 13493 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13494 (*struct { 13495 f func(*libc.TLS, uintptr) int32 13496 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13497 } 13498 } 13499 13500 // Xlib uses long for 32-bit values. Xrender uses int. This 13501 // matters on alpha. Note that this macro assumes that int is 32 bits 13502 // except on WORD64 machines where it is 64 bits. 13503 13504 //*********************************************************************** 13505 // 13506 // Copyright 1987, 1998 The Open Group 13507 // 13508 // Permission to use, copy, modify, distribute, and sell this software and its 13509 // documentation for any purpose is hereby granted without fee, provided that 13510 // the above copyright notice appear in all copies and that both that 13511 // copyright notice and this permission notice appear in supporting 13512 // documentation. 13513 // 13514 // The above copyright notice and this permission notice shall be included in 13515 // all copies or substantial portions of the Software. 13516 // 13517 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 13518 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13519 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 13520 // OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 13521 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 13522 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 13523 // 13524 // Except as contained in this notice, the name of The Open Group shall not be 13525 // used in advertising or otherwise to promote the sale, use or other dealings 13526 // in this Software without prior written authorization from The Open Group. 13527 // 13528 // 13529 // Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 13530 // 13531 // All Rights Reserved 13532 // 13533 // Permission to use, copy, modify, and distribute this software and its 13534 // documentation for any purpose and without fee is hereby granted, 13535 // provided that the above copyright notice appear in all copies and that 13536 // both that copyright notice and this permission notice appear in 13537 // supporting documentation, and that the name of Digital not be 13538 // used in advertising or publicity pertaining to distribution of the 13539 // software without specific, written prior permission. 13540 // 13541 // DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 13542 // ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 13543 // DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 13544 // ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 13545 // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 13546 // ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 13547 // SOFTWARE. 13548 // 13549 // *********************************************************************** 13550 13551 type Box = struct { 13552 Fx1 int16 13553 Fx2 int16 13554 Fy1 int16 13555 Fy2 int16 13556 } /* Xregion.h:53:3 */ 13557 type BOX = struct { 13558 Fx1 int16 13559 Fx2 int16 13560 Fy1 int16 13561 Fy2 int16 13562 } /* Xregion.h:53:8 */ 13563 type BoxRec = struct { 13564 Fx1 int16 13565 Fx2 int16 13566 Fy1 int16 13567 Fy2 int16 13568 } /* Xregion.h:53:13 */ 13569 type BoxPtr = uintptr /* Xregion.h:53:21 */ 13570 13571 type RECTANGLE = struct { 13572 Fx int16 13573 Fy int16 13574 Fwidth int16 13575 Fheight int16 13576 } /* Xregion.h:57:2 */ 13577 type RectangleRec = struct { 13578 Fx int16 13579 Fy int16 13580 Fwidth int16 13581 Fheight int16 13582 } /* Xregion.h:57:13 */ 13583 type RectanglePtr = uintptr /* Xregion.h:57:27 */ 13584 13585 // clip region 13586 13587 type REGION = X_XRegion /* Xregion.h:80:3 */ 13588 13589 // Xutil.h contains the declaration: 13590 // typedef struct _XRegion *Region; 13591 13592 // 1 if two BOXs overlap. 13593 // 0 if two BOXs do not overlap. 13594 // Remember, x2 and y2 are not in the region 13595 13596 // update region extents 13597 13598 // Check to see if there is enough memory in the present region. 13599 13600 // this routine checks to see if the previous rectangle is the same 13601 // or subsumes the new rectangle to add. 13602 13603 // add a rectangle to the given Region 13604 13605 // add a rectangle to the given Region 13606 13607 // number of points to buffer before sending them off 13608 // to scanlines() : Must be an even number 13609 13610 // used to allocate buffers for points and link 13611 // the buffers together 13612 type X_POINTBLOCK = struct { 13613 Fpts [200]XPoint 13614 Fnext uintptr 13615 } /* Xregion.h:185:9 */ 13616 13617 // Xutil.h contains the declaration: 13618 // typedef struct _XRegion *Region; 13619 13620 // 1 if two BOXs overlap. 13621 // 0 if two BOXs do not overlap. 13622 // Remember, x2 and y2 are not in the region 13623 13624 // update region extents 13625 13626 // Check to see if there is enough memory in the present region. 13627 13628 // this routine checks to see if the previous rectangle is the same 13629 // or subsumes the new rectangle to add. 13630 13631 // add a rectangle to the given Region 13632 13633 // add a rectangle to the given Region 13634 13635 // number of points to buffer before sending them off 13636 // to scanlines() : Must be an even number 13637 13638 // used to allocate buffers for points and link 13639 // the buffers together 13640 type POINTBLOCK = X_POINTBLOCK /* Xregion.h:188:3 */ 13641 13642 func _XRenderProcessPictureAttributes(tls *libc.TLS, dpy uintptr, req uintptr, valuemask uint64, attributes uintptr) { /* Picture.c:32:1: */ 13643 bp := tls.Alloc(256) 13644 defer tls.Free(256) 13645 13646 // var values [32]uint64 at bp, 256 13647 13648 var value uintptr = bp /* values */ 13649 var nvalues uint32 13650 13651 if (valuemask & (uint64(int32(1) << 0))) != 0 { 13652 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Frepeat) 13653 } 13654 if (valuemask & (uint64(int32(1) << 1))) != 0 { 13655 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_map 13656 } 13657 if (valuemask & (uint64(int32(1) << 2))) != 0 { 13658 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_x_origin) 13659 } 13660 if (valuemask & (uint64(int32(1) << 3))) != 0 { 13661 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_y_origin) 13662 } 13663 if (valuemask & (uint64(int32(1) << 4))) != 0 { 13664 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_x_origin) 13665 } 13666 if (valuemask & (uint64(int32(1) << 5))) != 0 { 13667 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_y_origin) 13668 } 13669 if (valuemask & (uint64(int32(1) << 6))) != 0 { 13670 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_mask 13671 } 13672 if (valuemask & (uint64(int32(1) << 7))) != 0 { 13673 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fgraphics_exposures) 13674 } 13675 if (valuemask & (uint64(int32(1) << 8))) != 0 { 13676 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fsubwindow_mode) 13677 } 13678 if (valuemask & (uint64(int32(1) << 9))) != 0 { 13679 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_edge) 13680 } 13681 if (valuemask & (uint64(int32(1) << 10))) != 0 { 13682 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_mode) 13683 } 13684 if (valuemask & (uint64(int32(1) << 11))) != 0 { 13685 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = (*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fdither 13686 } 13687 if (valuemask & (uint64(int32(1) << 12))) != 0 { 13688 *(*uint64)(unsafe.Pointer(libc.PostIncUintptr(&value, 8))) = uint64((*XRenderPictureAttributes)(unsafe.Pointer(attributes)).Fcomponent_alpha) 13689 } 13690 13691 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((libc.AssignUint32(&nvalues, (uint32(int64((value - bp /* &values[0] */) / 8)))))) 13692 13693 nvalues <<= 2 // watch out for macros... 13694 x11.X_XData32(tls, dpy, bp /* values */, uint32(int64(nvalues))) 13695 } 13696 13697 func XXRenderCreatePicture(tls *libc.TLS, dpy uintptr, drawable Drawable, format uintptr, valuemask uint64, attributes uintptr) Picture { /* Picture.c:75:1: */ 13698 var info uintptr = XXRenderFindDisplay(tls, dpy) 13699 var pid Picture 13700 var req uintptr 13701 13702 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13703 return uint64(0) 13704 } 13705 13706 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13707 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13708 } 13709 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreatePicture), uint64(Sz_xRenderCreatePictureReq)) 13710 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13711 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreatePicture) 13712 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 13713 Fext_data uintptr 13714 Fprivate1 uintptr 13715 Ffd int32 13716 Fprivate2 int32 13717 Fproto_major_version int32 13718 Fproto_minor_version int32 13719 Fvendor uintptr 13720 Fprivate3 XID 13721 Fprivate4 XID 13722 Fprivate5 XID 13723 Fprivate6 int32 13724 F__ccgo_pad1 [4]byte 13725 Fresource_alloc uintptr 13726 Fbyte_order int32 13727 Fbitmap_unit int32 13728 Fbitmap_pad int32 13729 Fbitmap_bit_order int32 13730 Fnformats int32 13731 F__ccgo_pad2 [4]byte 13732 Fpixmap_format uintptr 13733 Fprivate8 int32 13734 Frelease int32 13735 Fprivate9 uintptr 13736 Fprivate10 uintptr 13737 Fqlen int32 13738 F__ccgo_pad3 [4]byte 13739 Flast_request_read uint64 13740 Frequest uint64 13741 Fprivate11 XPointer 13742 Fprivate12 XPointer 13743 Fprivate13 XPointer 13744 Fprivate14 XPointer 13745 Fmax_request_size uint32 13746 F__ccgo_pad4 [4]byte 13747 Fdb uintptr 13748 Fprivate15 uintptr 13749 Fdisplay_name uintptr 13750 Fdefault_screen int32 13751 Fnscreens int32 13752 Fscreens uintptr 13753 Fmotion_buffer uint64 13754 Fprivate16 uint64 13755 Fmin_keycode int32 13756 Fmax_keycode int32 13757 Fprivate17 XPointer 13758 Fprivate18 XPointer 13759 Fprivate19 int32 13760 F__ccgo_pad5 [4]byte 13761 Fxdefaults uintptr 13762 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))) 13763 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fdrawable = CARD32(drawable) 13764 (*XRenderCreatePictureReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid) 13765 if libc.AssignPtrUint32(req+16 /* &.mask */, CARD32(valuemask)) != 0 { 13766 _XRenderProcessPictureAttributes(tls, dpy, 13767 req, 13768 valuemask, 13769 attributes) 13770 } 13771 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13772 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13773 } 13774 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13775 (*struct { 13776 f func(*libc.TLS, uintptr) int32 13777 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13778 } 13779 return pid 13780 } 13781 13782 func XXRenderChangePicture(tls *libc.TLS, dpy uintptr, picture Picture, valuemask uint64, attributes uintptr) { /* Picture.c:104:1: */ 13783 var info uintptr = XXRenderFindDisplay(tls, dpy) 13784 var req uintptr 13785 13786 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13787 return 13788 } 13789 13790 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13791 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13792 } 13793 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderChangePicture), uint64(Sz_xRenderChangePictureReq)) 13794 (*XRenderChangePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13795 (*XRenderChangePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderChangePicture) 13796 (*XRenderChangePictureReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 13797 (*XRenderChangePictureReq)(unsafe.Pointer(req)).Fmask = CARD32(valuemask) 13798 _XRenderProcessPictureAttributes(tls, dpy, 13799 req, 13800 valuemask, 13801 attributes) 13802 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13803 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13804 } 13805 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13806 (*struct { 13807 f func(*libc.TLS, uintptr) int32 13808 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13809 } 13810 } 13811 13812 func _XRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, info uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:128:1: */ 13813 bp := tls.Alloc(8) 13814 defer tls.Free(8) 13815 13816 var req uintptr 13817 var len int64 13818 13819 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureClipRectangles), uint64(Sz_xRenderSetPictureClipRectanglesReq)) 13820 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13821 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureClipRectangles) 13822 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 13823 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FxOrigin = INT16(xOrigin) 13824 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FyOrigin = INT16(yOrigin) 13825 len = ((int64(n)) << 1) 13826 if (int64((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 13827 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 13828 { 13829 // var _BRdat CARD64 at bp, 8 13830 var _BRlen CARD32 = (CARD32(int32((*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) - 1)) 13831 (*XRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 13832 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 13833 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 13834 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 13835 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 13836 } 13837 } else { 13838 len = int64(1) 13839 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 13840 } 13841 } else { 13842 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 13843 } 13844 len <<= 2 13845 { 13846 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 13847 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, rects, uint64(int32(len))) 13848 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3)))) 13849 } else { 13850 x11.X_XSend(tls, dpy, rects, len) 13851 } 13852 } 13853 13854 } 13855 13856 func XXRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, picture Picture, xOrigin int32, yOrigin int32, rects uintptr, n int32) { /* Picture.c:152:1: */ 13857 var info uintptr = XXRenderFindDisplay(tls, dpy) 13858 13859 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13860 return 13861 } 13862 13863 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13864 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13865 } 13866 _XRenderSetPictureClipRectangles(tls, dpy, info, picture, 13867 xOrigin, yOrigin, rects, n) 13868 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13869 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13870 } 13871 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13872 (*struct { 13873 f func(*libc.TLS, uintptr) int32 13874 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13875 } 13876 } 13877 13878 func XXRenderSetPictureClipRegion(tls *libc.TLS, dpy uintptr, picture Picture, r Region) { /* Picture.c:170:1: */ 13879 var info uintptr = XXRenderFindDisplay(tls, dpy) 13880 var i int32 13881 var xr uintptr 13882 var pr uintptr 13883 var pb uintptr 13884 var total uint64 13885 13886 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13887 return 13888 } 13889 13890 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13891 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13892 } 13893 total = (uint64((*X_XRegion)(unsafe.Pointer(r)).FnumRects) * uint64(unsafe.Sizeof(XRectangle{}))) 13894 if libc.AssignUintptr(&xr, x11.X_XAllocTemp(tls, dpy, total)) != 0 { 13895 pr = xr 13896 pb = (*X_XRegion)(unsafe.Pointer(r)).Frects 13897 i = int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) 13898 __1: 13899 if !(libc.PreDecInt32(&i, 1) >= 0) { 13900 goto __3 13901 } 13902 { 13903 (*XRectangle)(unsafe.Pointer(pr)).Fx = (*BOX)(unsafe.Pointer(pb)).Fx1 13904 (*XRectangle)(unsafe.Pointer(pr)).Fy = (*BOX)(unsafe.Pointer(pb)).Fy1 13905 (*XRectangle)(unsafe.Pointer(pr)).Fwidth = (uint16(int32((*BOX)(unsafe.Pointer(pb)).Fx2) - int32((*BOX)(unsafe.Pointer(pb)).Fx1))) 13906 (*XRectangle)(unsafe.Pointer(pr)).Fheight = (uint16(int32((*BOX)(unsafe.Pointer(pb)).Fy2) - int32((*BOX)(unsafe.Pointer(pb)).Fy1))) 13907 13908 } 13909 goto __2 13910 __2: 13911 pr += 8 13912 pb += 8 13913 goto __1 13914 goto __3 13915 __3: 13916 } 13917 if (xr != 0) || !(int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects) != 0) { 13918 _XRenderSetPictureClipRectangles(tls, dpy, info, picture, 0, 0, 13919 xr, int32((*X_XRegion)(unsafe.Pointer(r)).FnumRects)) 13920 } 13921 if xr != 0 { 13922 x11.X_XFreeTemp(tls, dpy, xr, total) 13923 } 13924 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13925 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13926 } 13927 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13928 (*struct { 13929 f func(*libc.TLS, uintptr) int32 13930 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13931 } 13932 } 13933 13934 func XXRenderSetPictureTransform(tls *libc.TLS, dpy uintptr, picture Picture, transform uintptr) { /* Picture.c:201:1: */ 13935 var info uintptr = XXRenderFindDisplay(tls, dpy) 13936 var req uintptr 13937 13938 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13939 return 13940 } 13941 13942 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13943 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13944 } 13945 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderSetPictureTransform), uint64(Sz_xRenderSetPictureTransformReq)) 13946 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13947 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderSetPictureTransform) 13948 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 13949 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix11 = *(*XFixed)(unsafe.Pointer((transform /* &.matrix */))) 13950 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix12 = *(*XFixed)(unsafe.Pointer((transform /* &.matrix */) + 1*4)) 13951 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix13 = *(*XFixed)(unsafe.Pointer((transform /* &.matrix */) + 2*4)) 13952 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix21 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12))) 13953 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix22 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12) + 1*4)) 13954 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix23 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 1*12) + 2*4)) 13955 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix31 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12))) 13956 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix32 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12) + 1*4)) 13957 (*XRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix33 = *(*XFixed)(unsafe.Pointer(((transform /* &.matrix */) + 2*12) + 2*4)) 13958 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13959 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13960 } 13961 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13962 (*struct { 13963 f func(*libc.TLS, uintptr) int32 13964 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13965 } 13966 13967 } 13968 13969 func XXRenderFreePicture(tls *libc.TLS, dpy uintptr, picture Picture) { /* Picture.c:229:1: */ 13970 var info uintptr = XXRenderFindDisplay(tls, dpy) 13971 var req uintptr 13972 13973 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 13974 return 13975 } 13976 13977 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13978 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 13979 } 13980 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderFreePicture), uint64(Sz_xRenderFreePictureReq)) 13981 (*XRenderFreePictureReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 13982 (*XRenderFreePictureReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderFreePicture) 13983 (*XRenderFreePictureReq)(unsafe.Pointer(req)).Fpicture = CARD32(picture) 13984 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 13985 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 13986 } 13987 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 13988 (*struct { 13989 f func(*libc.TLS, uintptr) int32 13990 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 13991 } 13992 } 13993 13994 func XXRenderCreateSolidFill(tls *libc.TLS, dpy uintptr, color uintptr) Picture { /* Picture.c:246:9: */ 13995 var info uintptr = XXRenderFindDisplay(tls, dpy) 13996 var pid Picture 13997 var req uintptr 13998 13999 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14000 return uint64(0) 14001 } 14002 14003 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14004 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14005 } 14006 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateSolidFill), uint64(Sz_xRenderCreateSolidFillReq)) 14007 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14008 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateSolidFill) 14009 14010 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14011 Fext_data uintptr 14012 Fprivate1 uintptr 14013 Ffd int32 14014 Fprivate2 int32 14015 Fproto_major_version int32 14016 Fproto_minor_version int32 14017 Fvendor uintptr 14018 Fprivate3 XID 14019 Fprivate4 XID 14020 Fprivate5 XID 14021 Fprivate6 int32 14022 F__ccgo_pad1 [4]byte 14023 Fresource_alloc uintptr 14024 Fbyte_order int32 14025 Fbitmap_unit int32 14026 Fbitmap_pad int32 14027 Fbitmap_bit_order int32 14028 Fnformats int32 14029 F__ccgo_pad2 [4]byte 14030 Fpixmap_format uintptr 14031 Fprivate8 int32 14032 Frelease int32 14033 Fprivate9 uintptr 14034 Fprivate10 uintptr 14035 Fqlen int32 14036 F__ccgo_pad3 [4]byte 14037 Flast_request_read uint64 14038 Frequest uint64 14039 Fprivate11 XPointer 14040 Fprivate12 XPointer 14041 Fprivate13 XPointer 14042 Fprivate14 XPointer 14043 Fmax_request_size uint32 14044 F__ccgo_pad4 [4]byte 14045 Fdb uintptr 14046 Fprivate15 uintptr 14047 Fdisplay_name uintptr 14048 Fdefault_screen int32 14049 Fnscreens int32 14050 Fscreens uintptr 14051 Fmotion_buffer uint64 14052 Fprivate16 uint64 14053 Fmin_keycode int32 14054 Fmax_keycode int32 14055 Fprivate17 XPointer 14056 Fprivate18 XPointer 14057 Fprivate19 int32 14058 F__ccgo_pad5 [4]byte 14059 Fxdefaults uintptr 14060 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))) 14061 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fred = (*XRenderColor1)(unsafe.Pointer(color)).Fred 14062 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*XRenderColor1)(unsafe.Pointer(color)).Fgreen 14063 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*XRenderColor1)(unsafe.Pointer(color)).Fblue 14064 (*XRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*XRenderColor1)(unsafe.Pointer(color)).Falpha 14065 14066 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14067 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14068 } 14069 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14070 (*struct { 14071 f func(*libc.TLS, uintptr) int32 14072 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14073 } 14074 return pid 14075 } 14076 14077 func XXRenderCreateLinearGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:271:9: */ 14078 bp := tls.Alloc(8) 14079 defer tls.Free(8) 14080 14081 var info uintptr = XXRenderFindDisplay(tls, dpy) 14082 var pid Picture 14083 var req uintptr 14084 var len int64 14085 14086 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14087 return uint64(0) 14088 } 14089 14090 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14091 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14092 } 14093 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateLinearGradient), uint64(Sz_xRenderCreateLinearGradientReq)) 14094 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14095 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateLinearGradient) 14096 14097 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14098 Fext_data uintptr 14099 Fprivate1 uintptr 14100 Ffd int32 14101 Fprivate2 int32 14102 Fproto_major_version int32 14103 Fproto_minor_version int32 14104 Fvendor uintptr 14105 Fprivate3 XID 14106 Fprivate4 XID 14107 Fprivate5 XID 14108 Fprivate6 int32 14109 F__ccgo_pad1 [4]byte 14110 Fresource_alloc uintptr 14111 Fbyte_order int32 14112 Fbitmap_unit int32 14113 Fbitmap_pad int32 14114 Fbitmap_bit_order int32 14115 Fnformats int32 14116 F__ccgo_pad2 [4]byte 14117 Fpixmap_format uintptr 14118 Fprivate8 int32 14119 Frelease int32 14120 Fprivate9 uintptr 14121 Fprivate10 uintptr 14122 Fqlen int32 14123 F__ccgo_pad3 [4]byte 14124 Flast_request_read uint64 14125 Frequest uint64 14126 Fprivate11 XPointer 14127 Fprivate12 XPointer 14128 Fprivate13 XPointer 14129 Fprivate14 XPointer 14130 Fmax_request_size uint32 14131 F__ccgo_pad4 [4]byte 14132 Fdb uintptr 14133 Fprivate15 uintptr 14134 Fdisplay_name uintptr 14135 Fdefault_screen int32 14136 Fnscreens int32 14137 Fscreens uintptr 14138 Fmotion_buffer uint64 14139 Fprivate16 uint64 14140 Fmin_keycode int32 14141 Fmax_keycode int32 14142 Fprivate17 XPointer 14143 Fprivate18 XPointer 14144 Fprivate19 int32 14145 F__ccgo_pad5 [4]byte 14146 Fxdefaults uintptr 14147 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))) 14148 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fx = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fx 14149 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fy = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fy 14150 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fx = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fx 14151 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fy = (*XLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fy 14152 14153 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14154 len = (int64(nStops) * int64(3)) 14155 if (int64((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 14156 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14157 { 14158 // var _BRdat CARD64 at bp, 8 14159 var _BRlen CARD32 = (CARD32(int32((*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) - 1)) 14160 (*XRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14161 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 14162 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 14163 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 14164 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 14165 } 14166 } else { 14167 len = int64(6) 14168 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14169 } 14170 } else { 14171 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14172 } 14173 { 14174 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14175 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64((nStops * 4))) 14176 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3))) 14177 } else { 14178 x11.X_XSend(tls, dpy, stops, (int64(nStops * 4))) 14179 } 14180 } 14181 14182 { 14183 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14184 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64((nStops * 8))) 14185 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3))) 14186 } else { 14187 x11.X_XSend(tls, dpy, colors, (int64(nStops * 8))) 14188 } 14189 } 14190 14191 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14192 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14193 } 14194 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14195 (*struct { 14196 f func(*libc.TLS, uintptr) int32 14197 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14198 } 14199 return pid 14200 } 14201 14202 func XXRenderCreateRadialGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:305:9: */ 14203 bp := tls.Alloc(8) 14204 defer tls.Free(8) 14205 14206 var info uintptr = XXRenderFindDisplay(tls, dpy) 14207 var pid Picture 14208 var req uintptr 14209 var len int64 14210 14211 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14212 return uint64(0) 14213 } 14214 14215 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14216 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14217 } 14218 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateRadialGradient), uint64(Sz_xRenderCreateRadialGradientReq)) 14219 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14220 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateRadialGradient) 14221 14222 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14223 Fext_data uintptr 14224 Fprivate1 uintptr 14225 Ffd int32 14226 Fprivate2 int32 14227 Fproto_major_version int32 14228 Fproto_minor_version int32 14229 Fvendor uintptr 14230 Fprivate3 XID 14231 Fprivate4 XID 14232 Fprivate5 XID 14233 Fprivate6 int32 14234 F__ccgo_pad1 [4]byte 14235 Fresource_alloc uintptr 14236 Fbyte_order int32 14237 Fbitmap_unit int32 14238 Fbitmap_pad int32 14239 Fbitmap_bit_order int32 14240 Fnformats int32 14241 F__ccgo_pad2 [4]byte 14242 Fpixmap_format uintptr 14243 Fprivate8 int32 14244 Frelease int32 14245 Fprivate9 uintptr 14246 Fprivate10 uintptr 14247 Fqlen int32 14248 F__ccgo_pad3 [4]byte 14249 Flast_request_read uint64 14250 Frequest uint64 14251 Fprivate11 XPointer 14252 Fprivate12 XPointer 14253 Fprivate13 XPointer 14254 Fprivate14 XPointer 14255 Fmax_request_size uint32 14256 F__ccgo_pad4 [4]byte 14257 Fdb uintptr 14258 Fprivate15 uintptr 14259 Fdisplay_name uintptr 14260 Fdefault_screen int32 14261 Fnscreens int32 14262 Fscreens uintptr 14263 Fmotion_buffer uint64 14264 Fprivate16 uint64 14265 Fmin_keycode int32 14266 Fmax_keycode int32 14267 Fprivate17 XPointer 14268 Fprivate18 XPointer 14269 Fprivate19 int32 14270 F__ccgo_pad5 [4]byte 14271 Fxdefaults uintptr 14272 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))) 14273 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fx = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fx 14274 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fy = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fy 14275 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fx = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fx 14276 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fy = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fy 14277 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner_radius = (*XRadialGradient)(unsafe.Pointer(gradient)).Finner.Fradius 14278 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter_radius = (*XRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fradius 14279 14280 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14281 len = (int64(nStops) * int64(3)) 14282 if (int64((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 14283 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14284 { 14285 // var _BRdat CARD64 at bp, 8 14286 var _BRlen CARD32 = (CARD32(int32((*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) - 1)) 14287 (*XRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14288 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 14289 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 14290 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 14291 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 14292 } 14293 } else { 14294 len = int64(6) 14295 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14296 } 14297 } else { 14298 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14299 } 14300 { 14301 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14302 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64((nStops * 4))) 14303 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3))) 14304 } else { 14305 x11.X_XSend(tls, dpy, stops, (int64(nStops * 4))) 14306 } 14307 } 14308 14309 { 14310 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14311 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64((nStops * 8))) 14312 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3))) 14313 } else { 14314 x11.X_XSend(tls, dpy, colors, (int64(nStops * 8))) 14315 } 14316 } 14317 14318 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14319 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14320 } 14321 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14322 (*struct { 14323 f func(*libc.TLS, uintptr) int32 14324 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14325 } 14326 return pid 14327 } 14328 14329 func XXRenderCreateConicalGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) Picture { /* Picture.c:341:9: */ 14330 bp := tls.Alloc(8) 14331 defer tls.Free(8) 14332 14333 var info uintptr = XXRenderFindDisplay(tls, dpy) 14334 var pid Picture 14335 var req uintptr 14336 var len int64 14337 14338 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14339 return uint64(0) 14340 } 14341 14342 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14343 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14344 } 14345 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderCreateConicalGradient), uint64(Sz_xRenderCreateConicalGradientReq)) 14346 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14347 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderCreateConicalGradient) 14348 14349 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fpid = CARD32(libc.AssignUint64(&pid, (*struct{ f func(*libc.TLS, uintptr) XID })(unsafe.Pointer(&struct{ uintptr }{(*struct { 14350 Fext_data uintptr 14351 Fprivate1 uintptr 14352 Ffd int32 14353 Fprivate2 int32 14354 Fproto_major_version int32 14355 Fproto_minor_version int32 14356 Fvendor uintptr 14357 Fprivate3 XID 14358 Fprivate4 XID 14359 Fprivate5 XID 14360 Fprivate6 int32 14361 F__ccgo_pad1 [4]byte 14362 Fresource_alloc uintptr 14363 Fbyte_order int32 14364 Fbitmap_unit int32 14365 Fbitmap_pad int32 14366 Fbitmap_bit_order int32 14367 Fnformats int32 14368 F__ccgo_pad2 [4]byte 14369 Fpixmap_format uintptr 14370 Fprivate8 int32 14371 Frelease int32 14372 Fprivate9 uintptr 14373 Fprivate10 uintptr 14374 Fqlen int32 14375 F__ccgo_pad3 [4]byte 14376 Flast_request_read uint64 14377 Frequest uint64 14378 Fprivate11 XPointer 14379 Fprivate12 XPointer 14380 Fprivate13 XPointer 14381 Fprivate14 XPointer 14382 Fmax_request_size uint32 14383 F__ccgo_pad4 [4]byte 14384 Fdb uintptr 14385 Fprivate15 uintptr 14386 Fdisplay_name uintptr 14387 Fdefault_screen int32 14388 Fnscreens int32 14389 Fscreens uintptr 14390 Fmotion_buffer uint64 14391 Fprivate16 uint64 14392 Fmin_keycode int32 14393 Fmax_keycode int32 14394 Fprivate17 XPointer 14395 Fprivate18 XPointer 14396 Fprivate19 int32 14397 F__ccgo_pad5 [4]byte 14398 Fxdefaults uintptr 14399 })(unsafe.Pointer((dpy))).Fresource_alloc})).f(tls, dpy))) 14400 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fx = (*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fx 14401 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fy = (*XConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fy 14402 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fangle = (*XConicalGradient)(unsafe.Pointer(gradient)).Fangle 14403 14404 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FnStops = CARD32(nStops) 14405 len = (int64(nStops) * int64(3)) 14406 if (int64((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 14407 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14408 { 14409 // var _BRdat CARD64 at bp, 8 14410 var _BRlen CARD32 = (CARD32(int32((*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) - 1)) 14411 (*XRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14412 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 14413 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 14414 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 14415 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 14416 } 14417 } else { 14418 len = int64(6) 14419 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14420 } 14421 } else { 14422 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14423 } 14424 { 14425 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((nStops * 4))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14426 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, stops, uint64((nStops * 4))) 14427 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 4) + 3) & libc.CplInt32(3))) 14428 } else { 14429 x11.X_XSend(tls, dpy, stops, (int64(nStops * 4))) 14430 } 14431 } 14432 14433 { 14434 if ((*Display)(unsafe.Pointer((dpy))).Fbufptr + uintptr((nStops * 8))) <= (*Display)(unsafe.Pointer((dpy))).Fbufmax { 14435 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, colors, uint64((nStops * 8))) 14436 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((nStops * 8) + 3) & libc.CplInt32(3))) 14437 } else { 14438 x11.X_XSend(tls, dpy, colors, (int64(nStops * 8))) 14439 } 14440 } 14441 14442 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14443 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14444 } 14445 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14446 (*struct { 14447 f func(*libc.TLS, uintptr) int32 14448 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14449 } 14450 return pid 14451 } 14452 14453 // Xlib uses long for 32-bit values. Xrender uses int. This 14454 // matters on alpha. Note that this macro assumes that int is 32 bits 14455 // except on WORD64 machines where it is 64 bits. 14456 14457 type X_Edge = struct { 14458 Fedge XLineFixed1 14459 Fcurrent_x XFixed 14460 FclockWise int32 14461 Fnext uintptr 14462 Fprev uintptr 14463 } /* Poly.c:29:9 */ 14464 14465 // Xlib uses long for 32-bit values. Xrender uses int. This 14466 // matters on alpha. Note that this macro assumes that int is 32 bits 14467 // except on WORD64 machines where it is 64 bits. 14468 14469 type Edge = X_Edge /* Poly.c:29:22 */ 14470 14471 func sCompareEdge(tls *libc.TLS, o1 uintptr, o2 uintptr) int32 { /* Poly.c:39:1: */ 14472 var e1 uintptr = o1 14473 var e2 uintptr = o2 14474 14475 return ((*Edge)(unsafe.Pointer(e1)).Fedge.Fp1.Fy - (*Edge)(unsafe.Pointer(e2)).Fedge.Fp1.Fy) 14476 } 14477 14478 func sXRenderComputeX(tls *libc.TLS, line uintptr, y XFixed) XFixed { /* Poly.c:47:1: */ 14479 var dx XFixed = ((*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fx - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx) 14480 var ex float64 = ((float64(y - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy)) * float64(dx)) 14481 var dy XFixed = ((*XLineFixed1)(unsafe.Pointer(line)).Fp2.Fy - (*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fy) 14482 14483 return ((*XLineFixed1)(unsafe.Pointer(line)).Fp1.Fx + (libc.Int32FromFloat64(ex / float64(dy)))) 14484 } 14485 14486 func sXRenderComputeInverseSlope(tls *libc.TLS, l uintptr) float64 { /* Poly.c:57:1: */ 14487 return (((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp2.Fx - (*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx)) / float64(65536)) / ((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp2.Fy - (*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy)) / float64(65536))) 14488 } 14489 14490 func sXRenderComputeXIntercept(tls *libc.TLS, l uintptr, inverse_slope float64) float64 { /* Poly.c:64:1: */ 14491 return (((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fx)) / float64(65536)) - (inverse_slope * ((XDouble((*XLineFixed1)(unsafe.Pointer(l)).Fp1.Fy)) / float64(65536)))) 14492 } 14493 14494 func sXRenderComputeIntersect(tls *libc.TLS, l1 uintptr, l2 uintptr) XFixed { /* Poly.c:70:1: */ 14495 // x = m1y + b1 14496 // x = m2y + b2 14497 // m1y + b1 = m2y + b2 14498 // y * (m1 - m2) = b2 - b1 14499 // y = (b2 - b1) / (m1 - m2) 14500 var m1 float64 = sXRenderComputeInverseSlope(tls, l1) 14501 var b1 float64 = sXRenderComputeXIntercept(tls, l1, m1) 14502 var m2 float64 = sXRenderComputeInverseSlope(tls, l2) 14503 var b2 float64 = sXRenderComputeXIntercept(tls, l2, m2) 14504 14505 return (libc.Int32FromFloat64(((b2 - b1) / (m1 - m2)) * float64(65536))) 14506 } 14507 14508 func sXRenderComputeTrapezoids(tls *libc.TLS, edges uintptr, nedges int32, winding int32, traps uintptr) int32 { /* Poly.c:88:1: */ 14509 var ntraps int32 = 0 14510 var inactive int32 14511 var active uintptr 14512 var e uintptr 14513 var en uintptr 14514 var next uintptr 14515 var y XFixed 14516 var next_y XFixed 14517 var intersect XFixed 14518 14519 libc.Xqsort(tls, edges, uint64(nedges), uint64(unsafe.Sizeof(Edge{})), *(*uintptr)(unsafe.Pointer(&struct { 14520 f func(*libc.TLS, uintptr, uintptr) int32 14521 }{sCompareEdge}))) 14522 14523 y = (*Edge)(unsafe.Pointer(edges)).Fedge.Fp1.Fy 14524 active = uintptr(0) 14525 inactive = 0 14526 for (active != 0) || (inactive < nedges) { 14527 // insert new active edges into list 14528 for inactive < nedges { 14529 e = (edges + uintptr(inactive)*40) 14530 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp1.Fy > y { 14531 break 14532 } 14533 // move this edge into the active list 14534 inactive++ 14535 (*Edge)(unsafe.Pointer(e)).Fnext = active 14536 (*Edge)(unsafe.Pointer(e)).Fprev = uintptr(0) 14537 if active != 0 { 14538 (*Edge)(unsafe.Pointer(active)).Fprev = e 14539 } 14540 active = e 14541 } 14542 // compute x coordinates along this group 14543 for e = active; e != 0; e = (*Edge)(unsafe.Pointer(e)).Fnext { 14544 (*Edge)(unsafe.Pointer(e)).Fcurrent_x = sXRenderComputeX(tls, (e /* &.edge */), y) 14545 } 14546 14547 // sort active list 14548 for e = active; e != 0; e = next { 14549 next = (*Edge)(unsafe.Pointer(e)).Fnext 14550 // Find one later in the list that belongs before the 14551 // current one 14552 for en = next; en != 0; en = (*Edge)(unsafe.Pointer(en)).Fnext { 14553 if ((*Edge)(unsafe.Pointer(en)).Fcurrent_x < (*Edge)(unsafe.Pointer(e)).Fcurrent_x) || (((*Edge)(unsafe.Pointer(en)).Fcurrent_x == (*Edge)(unsafe.Pointer(e)).Fcurrent_x) && ((*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx < (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx)) { 14554 // insert en before e 14555 // 14556 // extract en 14557 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(en)).Fnext 14558 if (*Edge)(unsafe.Pointer(en)).Fnext != 0 { 14559 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(en)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(en)).Fprev 14560 } 14561 // insert en 14562 if (*Edge)(unsafe.Pointer(e)).Fprev != 0 { 14563 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = en 14564 } else { 14565 active = en 14566 } 14567 (*Edge)(unsafe.Pointer(en)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev 14568 (*Edge)(unsafe.Pointer(e)).Fprev = en 14569 (*Edge)(unsafe.Pointer(en)).Fnext = e 14570 // start over at en 14571 next = en 14572 break 14573 } 14574 } 14575 } 14576 // find next inflection point 14577 next_y = (*Edge)(unsafe.Pointer(active)).Fedge.Fp2.Fy 14578 for e = active; e != 0; e = en { 14579 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy < next_y { 14580 next_y = (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy 14581 } 14582 en = (*Edge)(unsafe.Pointer(e)).Fnext 14583 // check intersect 14584 if (en != 0) && ((*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fx > (*Edge)(unsafe.Pointer(en)).Fedge.Fp2.Fx) { 14585 intersect = sXRenderComputeIntersect(tls, (e /* &.edge */), ((*Edge)(unsafe.Pointer(e)).Fnext /* &.edge */)) 14586 // make sure this point is below the actual intersection 14587 intersect = (intersect + 1) 14588 if intersect < next_y { 14589 next_y = intersect 14590 } 14591 } 14592 } 14593 // check next inactive point 14594 if (inactive < nedges) && ((*Edge)(unsafe.Pointer(edges+uintptr(inactive)*40)).Fedge.Fp1.Fy < next_y) { 14595 next_y = (*Edge)(unsafe.Pointer(edges + uintptr(inactive)*40)).Fedge.Fp1.Fy 14596 } 14597 14598 // walk the list generating trapezoids 14599 for e = active; (e != 0) && (libc.AssignUintptr(&en, (*Edge)(unsafe.Pointer(e)).Fnext) != 0); e = (*Edge)(unsafe.Pointer(en)).Fnext { 14600 (*XTrapezoid1)(unsafe.Pointer(traps)).Ftop = y 14601 (*XTrapezoid1)(unsafe.Pointer(traps)).Fbottom = next_y 14602 (*XTrapezoid1)(unsafe.Pointer(traps)).Fleft = (*Edge)(unsafe.Pointer(e)).Fedge 14603 (*XTrapezoid1)(unsafe.Pointer(traps)).Fright = (*Edge)(unsafe.Pointer(en)).Fedge 14604 traps += 40 14605 ntraps++ 14606 } 14607 14608 y = next_y 14609 14610 // delete inactive edges from list 14611 for e = active; e != 0; e = next { 14612 next = (*Edge)(unsafe.Pointer(e)).Fnext 14613 if (*Edge)(unsafe.Pointer(e)).Fedge.Fp2.Fy <= y { 14614 if (*Edge)(unsafe.Pointer(e)).Fprev != 0 { 14615 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fprev)).Fnext = (*Edge)(unsafe.Pointer(e)).Fnext 14616 } else { 14617 active = (*Edge)(unsafe.Pointer(e)).Fnext 14618 } 14619 if (*Edge)(unsafe.Pointer(e)).Fnext != 0 { 14620 (*Edge)(unsafe.Pointer((*Edge)(unsafe.Pointer(e)).Fnext)).Fprev = (*Edge)(unsafe.Pointer(e)).Fprev 14621 } 14622 } 14623 } 14624 } 14625 return ntraps 14626 } 14627 14628 func XXRenderCompositeDoublePoly(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, fpoints uintptr, npoints int32, winding int32) { /* Poly.c:225:1: */ 14629 var edges uintptr 14630 var traps uintptr 14631 var i int32 14632 var nedges int32 14633 var ntraps int32 14634 var x XFixed 14635 var y XFixed 14636 var prevx XFixed = 0 14637 var prevy XFixed = 0 14638 var firstx XFixed = 0 14639 var firsty XFixed = 0 14640 var top XFixed = 0 14641 var bottom XFixed = 0 // GCCism 14642 14643 edges = libc.Xmalloc(tls, func() uint64 { 14644 if ((uint64(npoints) * uint64(unsafe.Sizeof(Edge{}))) + ((uint64(npoints * npoints)) * uint64(unsafe.Sizeof(XTrapezoid1{})))) == uint64(0) { 14645 return uint64(1) 14646 } 14647 return ((uint64(npoints) * uint64(unsafe.Sizeof(Edge{}))) + ((uint64(npoints * npoints)) * uint64(unsafe.Sizeof(XTrapezoid1{})))) 14648 }()) 14649 if !(edges != 0) { 14650 return 14651 } 14652 traps = (edges + uintptr(npoints)*40) 14653 nedges = 0 14654 for i = 0; i <= npoints; i++ { 14655 if i == npoints { 14656 x = firstx 14657 y = firsty 14658 } else { 14659 x = (libc.Int32FromFloat64(((*XPointDouble)(unsafe.Pointer(fpoints + uintptr(i)*16)).Fx) * float64(65536))) 14660 y = (libc.Int32FromFloat64(((*XPointDouble)(unsafe.Pointer(fpoints + uintptr(i)*16)).Fy) * float64(65536))) 14661 } 14662 if i != 0 { 14663 if y < top { 14664 top = y 14665 } else if y > bottom { 14666 bottom = y 14667 } 14668 if prevy < y { 14669 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fx = prevx 14670 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fy = prevy 14671 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fx = x 14672 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fy = y 14673 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).FclockWise = True 14674 nedges++ 14675 } else if prevy > y { 14676 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fx = x 14677 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp1.Fy = y 14678 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fx = prevx 14679 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).Fedge.Fp2.Fy = prevy 14680 (*Edge)(unsafe.Pointer(edges + uintptr(nedges)*40)).FclockWise = False 14681 nedges++ 14682 } 14683 // drop horizontal edges 14684 } else { 14685 top = y 14686 bottom = y 14687 firstx = x 14688 firsty = y 14689 } 14690 prevx = x 14691 prevy = y 14692 } 14693 ntraps = sXRenderComputeTrapezoids(tls, edges, nedges, winding, traps) 14694 // XXX adjust xSrc/xDst 14695 XXRenderCompositeTrapezoids(tls, dpy, op, src, dst, maskFormat, xSrc, ySrc, traps, ntraps) 14696 libc.Xfree(tls, edges) 14697 } 14698 14699 // Xlib uses long for 32-bit values. Xrender uses int. This 14700 // matters on alpha. Note that this macro assumes that int is 32 bits 14701 // except on WORD64 machines where it is 64 bits. 14702 14703 func XXRenderCompositeTrapezoids(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, traps uintptr, ntrap int32) { /* Trap.c:30:1: */ 14704 bp := tls.Alloc(8) 14705 defer tls.Free(8) 14706 14707 var info uintptr = XXRenderFindDisplay(tls, dpy) 14708 var req uintptr 14709 var n int32 14710 var len int64 14711 var max_req uint64 14712 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14713 max_req = (*Display)(unsafe.Pointer(dpy)).Fbigreq_size 14714 } else { 14715 max_req = uint64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size) 14716 } 14717 14718 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14719 return 14720 } 14721 14722 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14723 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14724 } 14725 for ntrap != 0 { 14726 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTrapezoids), uint64(Sz_xRenderTrapezoidsReq)) 14727 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14728 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTrapezoids) 14729 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14730 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fsrc = CARD32(src) 14731 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 14732 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14733 if maskFormat != 0 { 14734 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 14735 } 14736 return uint32(0) 14737 }() 14738 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14739 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14740 n = ntrap 14741 len = ((int64(n)) * (int64(int32(Sz_xTrapezoid) >> 2))) 14742 if uint64(len) > (max_req - uint64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) { 14743 n = (int32((max_req - uint64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) / (uint64(int32(Sz_xTrapezoid) >> 2)))) 14744 len = ((int64(n)) * (int64(int32(Sz_xTrapezoid) >> 2))) 14745 } 14746 if (int64((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 14747 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14748 { 14749 // var _BRdat CARD64 at bp, 8 14750 var _BRlen CARD32 = (CARD32(int32((*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) - 1)) 14751 (*XRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14752 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 14753 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 14754 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 14755 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 14756 } 14757 } else { 14758 len = len 14759 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14760 } 14761 } else { 14762 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14763 } 14764 len <<= 2 14765 { 14766 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14767 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, traps, uint64(int32(len))) 14768 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3)))) 14769 } else { 14770 x11.X_XSend(tls, dpy, traps, len) 14771 } 14772 } 14773 14774 ntrap = ntrap - (n) 14775 traps += 40 * (uintptr(n)) 14776 } 14777 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14778 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14779 } 14780 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14781 (*struct { 14782 f func(*libc.TLS, uintptr) int32 14783 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14784 } 14785 } 14786 14787 // Xlib uses long for 32-bit values. Xrender uses int. This 14788 // matters on alpha. Note that this macro assumes that int is 32 bits 14789 // except on WORD64 machines where it is 64 bits. 14790 14791 func XXRenderCompositeTriangles(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, triangles uintptr, ntriangle int32) { /* Tri.c:30:1: */ 14792 bp := tls.Alloc(8) 14793 defer tls.Free(8) 14794 14795 var info uintptr = XXRenderFindDisplay(tls, dpy) 14796 var req uintptr 14797 var n int32 14798 var len int64 14799 14800 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14801 return 14802 } 14803 14804 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14805 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14806 } 14807 for ntriangle != 0 { 14808 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriangles), uint64(Sz_xRenderTrianglesReq)) 14809 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14810 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriangles) 14811 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14812 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fsrc = CARD32(src) 14813 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 14814 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14815 if maskFormat != 0 { 14816 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 14817 } 14818 return uint32(0) 14819 }() 14820 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14821 (*XRenderTrianglesReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14822 n = ntriangle 14823 len = ((int64(n)) * (int64(int32(Sz_xTriangle) >> 2))) 14824 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (len > (int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)))) { 14825 n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xTriangle) >> 2)))) 14826 len = ((int64(n)) * (int64(int32(Sz_xTriangle) >> 2))) 14827 } 14828 if (int64((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 14829 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14830 { 14831 // var _BRdat CARD64 at bp, 8 14832 var _BRlen CARD32 = (CARD32(int32((*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength) - 1)) 14833 (*XRenderTrianglesReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14834 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 14835 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 14836 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 14837 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 14838 } 14839 } else { 14840 len = len 14841 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14842 } 14843 } else { 14844 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14845 } 14846 len <<= 2 14847 { 14848 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14849 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, triangles, uint64(int32(len))) 14850 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3)))) 14851 } else { 14852 x11.X_XSend(tls, dpy, triangles, len) 14853 } 14854 } 14855 14856 ntriangle = ntriangle - (n) 14857 triangles += 24 * (uintptr(n)) 14858 } 14859 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14860 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14861 } 14862 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14863 (*struct { 14864 f func(*libc.TLS, uintptr) int32 14865 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14866 } 14867 } 14868 14869 func XXRenderCompositeTriStrip(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, points uintptr, npoint int32) { /* Tri.c:75:1: */ 14870 bp := tls.Alloc(8) 14871 defer tls.Free(8) 14872 14873 var info uintptr = XXRenderFindDisplay(tls, dpy) 14874 var req uintptr 14875 var n int32 14876 var len int64 14877 14878 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14879 return 14880 } 14881 14882 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14883 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14884 } 14885 for npoint > 2 { 14886 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriStrip), uint64(Sz_xRenderTriStripReq)) 14887 (*XRenderTriStripReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14888 (*XRenderTriStripReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriStrip) 14889 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14890 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fsrc = CARD32(src) 14891 (*XRenderTriStripReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 14892 (*XRenderTriStripReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14893 if maskFormat != 0 { 14894 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 14895 } 14896 return uint32(0) 14897 }() 14898 (*XRenderTriStripReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14899 (*XRenderTriStripReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14900 n = npoint 14901 len = ((int64(n)) * (int64(int32(Sz_xPointFixed) >> 2))) 14902 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (len > (int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)))) { 14903 n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xPointFixed) >> 2)))) 14904 len = ((int64(n)) * (int64(int32(Sz_xPointFixed) >> 2))) 14905 } 14906 if (int64((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 14907 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14908 { 14909 // var _BRdat CARD64 at bp, 8 14910 var _BRlen CARD32 = (CARD32(int32((*XRenderTriStripReq)(unsafe.Pointer(req)).Flength) - 1)) 14911 (*XRenderTriStripReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14912 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 14913 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 14914 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 14915 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 14916 } 14917 } else { 14918 len = len 14919 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14920 } 14921 } else { 14922 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 14923 } 14924 len <<= 2 14925 { 14926 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 14927 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint64(int32(len))) 14928 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3)))) 14929 } else { 14930 x11.X_XSend(tls, dpy, points, len) 14931 } 14932 } 14933 14934 npoint = npoint - (n - 2) 14935 points += 8 * (uintptr(n - 2)) 14936 } 14937 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14938 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 14939 } 14940 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 14941 (*struct { 14942 f func(*libc.TLS, uintptr) int32 14943 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 14944 } 14945 } 14946 14947 func XXRenderCompositeTriFan(tls *libc.TLS, dpy uintptr, op int32, src Picture, dst Picture, maskFormat uintptr, xSrc int32, ySrc int32, points uintptr, npoint int32) { /* Tri.c:120:1: */ 14948 bp := tls.Alloc(8) 14949 defer tls.Free(8) 14950 14951 var info uintptr = XXRenderFindDisplay(tls, dpy) 14952 var first uintptr = points 14953 var p uintptr 14954 var req uintptr 14955 var n int32 14956 var len int64 14957 14958 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 14959 return 14960 } 14961 14962 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 14963 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 14964 } 14965 points += 8 14966 npoint-- 14967 for npoint > 1 { 14968 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderTriFan), (uint64(Sz_xRenderTriFanReq + Sz_xPointFixed))) 14969 (*XRenderTriFanReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 14970 (*XRenderTriFanReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderTriFan) 14971 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fop = CARD8(op) 14972 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fsrc = CARD32(src) 14973 (*XRenderTriFanReq)(unsafe.Pointer(req)).Fdst = CARD32(dst) 14974 (*XRenderTriFanReq)(unsafe.Pointer(req)).FmaskFormat = func() uint32 { 14975 if maskFormat != 0 { 14976 return uint32((*XRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid) 14977 } 14978 return uint32(0) 14979 }() 14980 (*XRenderTriFanReq)(unsafe.Pointer(req)).FxSrc = INT16(xSrc) 14981 (*XRenderTriFanReq)(unsafe.Pointer(req)).FySrc = INT16(ySrc) 14982 p = (req + uintptr(1)*24) 14983 (*XPointFixed)(unsafe.Pointer(p)).Fx = (*XPointFixed1)(unsafe.Pointer(first)).Fx 14984 (*XPointFixed)(unsafe.Pointer(p)).Fy = (*XPointFixed1)(unsafe.Pointer(first)).Fy 14985 n = npoint 14986 len = ((int64(n)) * (int64(int32(Sz_xPointFixed) >> 2))) 14987 if !(int32((*Display)(unsafe.Pointer(dpy)).Fbigreq_size) != 0) && (len > (int64((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)))) { 14988 n = (int32(((*Display)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength)) / (uint32(int32(Sz_xPointFixed) >> 2)))) 14989 len = ((int64(n)) * (int64(int32(Sz_xPointFixed) >> 2))) 14990 } 14991 if (int64((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) + len) > int64(uint32(65535)) { 14992 if (*Display)(unsafe.Pointer(dpy)).Fbigreq_size != 0 { 14993 { 14994 // var _BRdat CARD64 at bp, 8 14995 var _BRlen CARD32 = (CARD32(int32((*XRenderTriFanReq)(unsafe.Pointer(req)).Flength) - 1)) 14996 (*XRenderTriFanReq)(unsafe.Pointer(req)).Flength = CARD16(0) 14997 *(*CARD64)(unsafe.Pointer(bp /* _BRdat */)) = CARD64(*(*CARD32)(unsafe.Pointer((req) + uintptr(_BRlen)*4))) 14998 libc.Xmemmove(tls, ((req) + uintptr(8)), ((req) + uintptr(4)), (uint64((_BRlen - CARD32(1)) << 2))) 14999 *(*CARD32)(unsafe.Pointer((req) + 1*4)) = (CARD32((int64(_BRlen) + len) + int64(2))) 15000 x11.X_XData32(tls, dpy, bp /* &_BRdat */, uint32(4)) 15001 } 15002 } else { 15003 len = len 15004 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 15005 } 15006 } else { 15007 *(*CARD16)(unsafe.Pointer(req + 2 /* &.length */)) += CARD16((len)) 15008 } 15009 len <<= 2 15010 { 15011 if ((*Display)(unsafe.Pointer(dpy)).Fbufptr + uintptr((len))) <= (*Display)(unsafe.Pointer(dpy)).Fbufmax { 15012 libc.Xmemcpy(tls, (*Display)(unsafe.Pointer(dpy)).Fbufptr, points, uint64(int32(len))) 15013 *(*uintptr)(unsafe.Pointer(dpy + 176 /* &.bufptr */)) += (uintptr(((len) + int64(3)) & int64(libc.CplInt32(3)))) 15014 } else { 15015 x11.X_XSend(tls, dpy, points, len) 15016 } 15017 } 15018 15019 npoint = npoint - (n - 1) 15020 points += 8 * (uintptr(n - 1)) 15021 } 15022 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15023 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 15024 } 15025 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 15026 (*struct { 15027 f func(*libc.TLS, uintptr) int32 15028 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 15029 } 15030 } 15031 15032 // Xlib uses long for 32-bit values. Xrender uses int. This 15033 // matters on alpha. Note that this macro assumes that int is 32 bits 15034 // except on WORD64 machines where it is 64 bits. 15035 15036 // Copyright (C) 1992-2020 Free Software Foundation, Inc. 15037 // 15038 // This file is part of GCC. 15039 // 15040 // GCC is free software; you can redistribute it and/or modify it under 15041 // the terms of the GNU General Public License as published by the Free 15042 // Software Foundation; either version 3, or (at your option) any later 15043 // version. 15044 // 15045 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 15046 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 15047 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15048 // for more details. 15049 // 15050 // Under Section 7 of GPL version 3, you are granted additional 15051 // permissions described in the GCC Runtime Library Exception, version 15052 // 3.1, as published by the Free Software Foundation. 15053 // 15054 // You should have received a copy of the GNU General Public License and 15055 // a copy of the GCC Runtime Library Exception along with this program; 15056 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 15057 // <http://www.gnu.org/licenses/>. 15058 15059 // This administrivia gets added to the beginning of limits.h 15060 // if the system has its own version of limits.h. 15061 15062 // We use _GCC_LIMITS_H_ because we want this not to match 15063 // any macros that the system's limits.h uses for its own purposes. 15064 15065 // Use "..." so that we find syslimits.h only in this same directory. 15066 // syslimits.h stands for the system's own limits.h file. 15067 // If we can use it ok unmodified, then we install this text. 15068 // If fixincludes fixes it, then the fixed version is installed 15069 // instead of this text. 15070 15071 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15072 // This file is part of the GNU C Library. 15073 // 15074 // The GNU C Library is free software; you can redistribute it and/or 15075 // modify it under the terms of the GNU Lesser General Public 15076 // License as published by the Free Software Foundation; either 15077 // version 2.1 of the License, or (at your option) any later version. 15078 // 15079 // The GNU C Library is distributed in the hope that it will be useful, 15080 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15081 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15082 // Lesser General Public License for more details. 15083 // 15084 // You should have received a copy of the GNU Lesser General Public 15085 // License along with the GNU C Library; if not, see 15086 // <https://www.gnu.org/licenses/>. 15087 15088 // ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h> 15089 15090 // Handle feature test macros at the start of a header. 15091 // Copyright (C) 2016-2020 Free Software Foundation, Inc. 15092 // This file is part of the GNU C Library. 15093 // 15094 // The GNU C Library is free software; you can redistribute it and/or 15095 // modify it under the terms of the GNU Lesser General Public 15096 // License as published by the Free Software Foundation; either 15097 // version 2.1 of the License, or (at your option) any later version. 15098 // 15099 // The GNU C Library is distributed in the hope that it will be useful, 15100 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15101 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15102 // Lesser General Public License for more details. 15103 // 15104 // You should have received a copy of the GNU Lesser General Public 15105 // License along with the GNU C Library; if not, see 15106 // <https://www.gnu.org/licenses/>. 15107 15108 // This header is internal to glibc and should not be included outside 15109 // of glibc headers. Headers including it must define 15110 // __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header 15111 // cannot have multiple include guards because ISO C feature test 15112 // macros depend on the definition of the macro when an affected 15113 // header is included, not when the first system header is 15114 // included. 15115 15116 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15117 // This file is part of the GNU C Library. 15118 // 15119 // The GNU C Library is free software; you can redistribute it and/or 15120 // modify it under the terms of the GNU Lesser General Public 15121 // License as published by the Free Software Foundation; either 15122 // version 2.1 of the License, or (at your option) any later version. 15123 // 15124 // The GNU C Library is distributed in the hope that it will be useful, 15125 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15126 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15127 // Lesser General Public License for more details. 15128 // 15129 // You should have received a copy of the GNU Lesser General Public 15130 // License along with the GNU C Library; if not, see 15131 // <https://www.gnu.org/licenses/>. 15132 15133 // ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ 15134 // macro. 15135 15136 // ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ 15137 // macro. Most but not all symbols enabled by that macro in TS 15138 // 18661-1 are enabled unconditionally in C2X; the symbols in Annex F 15139 // still require that macro in C2X. 15140 15141 // ISO/IEC TS 18661-4:2015 defines the 15142 // __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction 15143 // functions, the symbols from this TS are enabled unconditionally in 15144 // C2X. 15145 15146 // ISO/IEC TS 18661-3:2015 defines the 15147 // __STDC_WANT_IEC_60559_TYPES_EXT__ macro. 15148 15149 // Maximum length of any multibyte character in any locale. 15150 // We define this value here since the gcc header does not define 15151 // the correct value. 15152 15153 // If we are not using GNU CC we have to define all the symbols ourself. 15154 // Otherwise use gcc's definitions (see below). 15155 15156 // Get the compiler's limits.h, which defines almost all the ISO constants. 15157 // 15158 // We put this #include_next outside the double inclusion check because 15159 // it should be possible to include this file more than once and still get 15160 // the definitions from gcc's header. 15161 15162 // The <limits.h> files in some gcc versions don't define LLONG_MIN, 15163 // LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for 15164 // ages are available. 15165 15166 // The integer width macros are not defined by GCC's <limits.h> before 15167 // GCC 7, or if _GNU_SOURCE rather than 15168 // __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. 15169 15170 // POSIX adds things to <limits.h>. 15171 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15172 // This file is part of the GNU C Library. 15173 // 15174 // The GNU C Library is free software; you can redistribute it and/or 15175 // modify it under the terms of the GNU Lesser General Public 15176 // License as published by the Free Software Foundation; either 15177 // version 2.1 of the License, or (at your option) any later version. 15178 // 15179 // The GNU C Library is distributed in the hope that it will be useful, 15180 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15181 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15182 // Lesser General Public License for more details. 15183 // 15184 // You should have received a copy of the GNU Lesser General Public 15185 // License along with the GNU C Library; if not, see 15186 // <https://www.gnu.org/licenses/>. 15187 15188 // POSIX Standard: 2.9.2 Minimum Values Added to <limits.h> 15189 // 15190 // Never include this file directly; use <limits.h> instead. 15191 15192 // Determine the wordsize from the preprocessor defines. 15193 15194 // Both x86-64 and x32 use the 64-bit system call interface. 15195 15196 // These are the standard-mandated minimum values. 15197 15198 // Minimum number of operations in one list I/O call. 15199 15200 // Minimal number of outstanding asynchronous I/O operations. 15201 15202 // Maximum length of arguments to `execve', including environment. 15203 15204 // Maximum simultaneous processes per real user ID. 15205 15206 // Minimal number of timer expiration overruns. 15207 15208 // Maximum length of a host name (not including the terminating null) 15209 // as returned from the GETHOSTNAME function. 15210 15211 // Maximum link count of a file. 15212 15213 // Maximum length of login name. 15214 15215 // Number of bytes in a terminal canonical input queue. 15216 15217 // Number of bytes for which space will be 15218 // available in a terminal input queue. 15219 15220 // Maximum number of message queues open for a process. 15221 15222 // Maximum number of supported message priorities. 15223 15224 // Number of bytes in a filename. 15225 15226 // Number of simultaneous supplementary group IDs per process. 15227 15228 // Number of files one process can have open at once. 15229 15230 // Number of bytes in a pathname. 15231 15232 // Number of bytes than can be written atomically to a pipe. 15233 15234 // The number of repeated occurrences of a BRE permitted by the 15235 // REGEXEC and REGCOMP functions when using the interval notation. 15236 15237 // Minimal number of realtime signals reserved for the application. 15238 15239 // Number of semaphores a process can have. 15240 15241 // Maximal value of a semaphore. 15242 15243 // Number of pending realtime signals. 15244 15245 // Largest value of a `ssize_t'. 15246 15247 // Number of streams a process can have open at once. 15248 15249 // The number of bytes in a symbolic link. 15250 15251 // The number of symbolic links that can be traversed in the 15252 // resolution of a pathname in the absence of a loop. 15253 15254 // Number of timer for a process. 15255 15256 // Maximum number of characters in a tty name. 15257 15258 // Maximum length of a timezone name (element of `tzname'). 15259 15260 // Maximum clock resolution in nanoseconds. 15261 15262 // Get the implementation-specific values for the above. 15263 // Minimum guaranteed maximum values for system limits. Linux version. 15264 // Copyright (C) 1993-2020 Free Software Foundation, Inc. 15265 // This file is part of the GNU C Library. 15266 // 15267 // The GNU C Library is free software; you can redistribute it and/or 15268 // modify it under the terms of the GNU Lesser General Public License as 15269 // published by the Free Software Foundation; either version 2.1 of the 15270 // License, or (at your option) any later version. 15271 // 15272 // The GNU C Library is distributed in the hope that it will be useful, 15273 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15274 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15275 // Lesser General Public License for more details. 15276 // 15277 // You should have received a copy of the GNU Lesser General Public 15278 // License along with the GNU C Library; see the file COPYING.LIB. If 15279 // not, see <https://www.gnu.org/licenses/>. 15280 15281 // The kernel header pollutes the namespace with the NR_OPEN symbol 15282 // and defines LINK_MAX although filesystems have different maxima. A 15283 // similar thing is true for OPEN_MAX: the limit can be changed at 15284 // runtime and therefore the macro must not be defined. Remove this 15285 // after including the header if necessary. 15286 15287 // The kernel sources contain a file with all the needed information. 15288 // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note 15289 15290 // Have to remove NR_OPEN? 15291 // Have to remove LINK_MAX? 15292 // Have to remove OPEN_MAX? 15293 // Have to remove ARG_MAX? 15294 15295 // The number of data keys per process. 15296 // This is the value this implementation supports. 15297 15298 // Controlling the iterations of destructors for thread-specific data. 15299 // Number of iterations this implementation does. 15300 15301 // The number of threads per process. 15302 // We have no predefined limit on the number of threads. 15303 15304 // Maximum amount by which a process can descrease its asynchronous I/O 15305 // priority level. 15306 15307 // Minimum size for a thread. We are free to choose a reasonable value. 15308 15309 // Maximum number of timer expiration overruns. 15310 15311 // Maximum tty name length. 15312 15313 // Maximum login name length. This is arbitrary. 15314 15315 // Maximum host name length. 15316 15317 // Maximum message queue priority level. 15318 15319 // Maximum value the semaphore can have. 15320 15321 // ssize_t is not formally required to be the signed type 15322 // corresponding to size_t, but it is for all configurations supported 15323 // by glibc. 15324 15325 // This value is a guaranteed minimum maximum. 15326 // The current maximum can be got from `sysconf'. 15327 15328 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15329 // This file is part of the GNU C Library. 15330 // 15331 // The GNU C Library is free software; you can redistribute it and/or 15332 // modify it under the terms of the GNU Lesser General Public 15333 // License as published by the Free Software Foundation; either 15334 // version 2.1 of the License, or (at your option) any later version. 15335 // 15336 // The GNU C Library is distributed in the hope that it will be useful, 15337 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15338 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15339 // Lesser General Public License for more details. 15340 // 15341 // You should have received a copy of the GNU Lesser General Public 15342 // License along with the GNU C Library; if not, see 15343 // <https://www.gnu.org/licenses/>. 15344 15345 // Never include this file directly; include <limits.h> instead. 15346 15347 // The maximum `ibase' and `obase' values allowed by the `bc' utility. 15348 15349 // The maximum number of elements allowed in an array by the `bc' utility. 15350 15351 // The maximum `scale' value allowed by the `bc' utility. 15352 15353 // The maximum length of a string constant accepted by the `bc' utility. 15354 15355 // The maximum number of weights that can be assigned to an entry of 15356 // the LC_COLLATE `order' keyword in the locale definition file. 15357 15358 // The maximum number of expressions that can be nested 15359 // within parentheses by the `expr' utility. 15360 15361 // The maximum length, in bytes, of an input line. 15362 15363 // The maximum number of repeated occurrences of a regular expression 15364 // permitted when using the interval notation `\{M,N\}'. 15365 15366 // The maximum number of bytes in a character class name. We have no 15367 // fixed limit, 2048 is a high number. 15368 15369 // These values are implementation-specific, 15370 // and may vary within the implementation. 15371 // Their precise values can be obtained from sysconf. 15372 15373 // This value is defined like this in regex.h. 15374 15375 // Copyright (C) 1991-2020 Free Software Foundation, Inc. 15376 // 15377 // This file is part of GCC. 15378 // 15379 // GCC is free software; you can redistribute it and/or modify it under 15380 // the terms of the GNU General Public License as published by the Free 15381 // Software Foundation; either version 3, or (at your option) any later 15382 // version. 15383 // 15384 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 15385 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 15386 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15387 // for more details. 15388 // 15389 // Under Section 7 of GPL version 3, you are granted additional 15390 // permissions described in the GCC Runtime Library Exception, version 15391 // 3.1, as published by the Free Software Foundation. 15392 // 15393 // You should have received a copy of the GNU General Public License and 15394 // a copy of the GCC Runtime Library Exception along with this program; 15395 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 15396 // <http://www.gnu.org/licenses/>. 15397 15398 // Number of bits in a `char'. 15399 15400 // Maximum length of a multibyte character. 15401 15402 // Minimum and maximum values a `signed char' can hold. 15403 15404 // Maximum value an `unsigned char' can hold. (Minimum is 0). 15405 15406 // Minimum and maximum values a `char' can hold. 15407 15408 // Minimum and maximum values a `signed short int' can hold. 15409 15410 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 15411 15412 // Minimum and maximum values a `signed int' can hold. 15413 15414 // Maximum value an `unsigned int' can hold. (Minimum is 0). 15415 15416 // Minimum and maximum values a `signed long int' can hold. 15417 // (Same as `int'). 15418 15419 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 15420 15421 // Minimum and maximum values a `signed long long int' can hold. 15422 15423 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 15424 15425 // This administrivia gets added to the end of limits.h 15426 // if the system has its own version of limits.h. 15427 15428 var XXRenderExtensionInfo XRenderExtInfo /* Xrender.c:31:16: */ 15429 var XXRenderExtensionName = *(*[7]int8)(unsafe.Pointer(ts + 6 /* "RENDER" */)) /* Xrender.c:32:6 */ 15430 15431 // XRenderExtFindDisplay - look for a display in this extension; keeps a 15432 // cache of the most-recently used for efficiency. (Replaces 15433 // XextFindDisplay.) 15434 func sXRenderExtFindDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) uintptr { /* Xrender.c:41:30: */ 15435 var dpyinfo uintptr 15436 15437 // see if this was the most recently accessed display 15438 if (libc.AssignUintptr(&dpyinfo, (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur) != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy) { 15439 return dpyinfo 15440 } 15441 15442 // look for display in list 15443 if x11.X_XLockMutex_fn != 0 { 15444 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15445 } 15446 for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext { 15447 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy { 15448 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo // cache most recently used 15449 if x11.X_XUnlockMutex_fn != 0 { 15450 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15451 } 15452 return dpyinfo 15453 } 15454 } 15455 if x11.X_XUnlockMutex_fn != 0 { 15456 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15457 } 15458 15459 return uintptr(0) 15460 } 15461 15462 // If the server is missing support for any of the required depths on 15463 // any screen, tell the application that Render is not present. 15464 15465 // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps 15466 15467 type X_DepthCheckRec = struct { 15468 Fnext uintptr 15469 Fdpy uintptr 15470 Fmissing CARD32 15471 F__ccgo_pad1 [4]byte 15472 Fserial uint64 15473 } /* Xrender.c:86:9 */ 15474 15475 // If the server is missing support for any of the required depths on 15476 // any screen, tell the application that Render is not present. 15477 15478 // Render requires support for depth 1, 4, 8, 24 and 32 pixmaps 15479 15480 type DepthCheckRec = X_DepthCheckRec /* Xrender.c:91:3 */ 15481 type DepthCheckPtr = uintptr /* Xrender.c:91:18 */ 15482 15483 var depthChecks DepthCheckPtr /* Xrender.c:93:22: */ 15484 15485 func sXRenderDepthCheckErrorHandler(tls *libc.TLS, dpy uintptr, evt uintptr) int32 { /* Xrender.c:96:1: */ 15486 if (int32((*XErrorEvent)(unsafe.Pointer(evt)).Frequest_code) == X_CreatePixmap) && (int32((*XErrorEvent)(unsafe.Pointer(evt)).Ferror_code) == BadValue) { 15487 var d DepthCheckPtr 15488 if x11.X_XLockMutex_fn != 0 { 15489 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15490 } 15491 for d = depthChecks; d != 0; d = (*X_DepthCheckRec)(unsafe.Pointer(d)).Fnext { 15492 if (*X_DepthCheckRec)(unsafe.Pointer(d)).Fdpy == dpy { 15493 if (int64((*XErrorEvent)(unsafe.Pointer(evt)).Fserial - (*X_DepthCheckRec)(unsafe.Pointer(d)).Fserial)) >= int64(0) { 15494 *(*CARD32)(unsafe.Pointer(d + 16 /* &.missing */)) |= (uint32(1) << (((*XErrorEvent)(unsafe.Pointer(evt)).Fresourceid) - uint64(1))) 15495 } 15496 break 15497 } 15498 } 15499 if x11.X_XUnlockMutex_fn != 0 { 15500 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15501 } 15502 } 15503 return 0 15504 } 15505 15506 func sXRenderHasDepths(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:115:1: */ 15507 bp := tls.Alloc(32) 15508 defer tls.Free(32) 15509 15510 var s int32 15511 15512 for s = 0; s < ((*struct { 15513 Fext_data uintptr 15514 Fprivate1 uintptr 15515 Ffd int32 15516 Fprivate2 int32 15517 Fproto_major_version int32 15518 Fproto_minor_version int32 15519 Fvendor uintptr 15520 Fprivate3 XID 15521 Fprivate4 XID 15522 Fprivate5 XID 15523 Fprivate6 int32 15524 F__ccgo_pad1 [4]byte 15525 Fresource_alloc uintptr 15526 Fbyte_order int32 15527 Fbitmap_unit int32 15528 Fbitmap_pad int32 15529 Fbitmap_bit_order int32 15530 Fnformats int32 15531 F__ccgo_pad2 [4]byte 15532 Fpixmap_format uintptr 15533 Fprivate8 int32 15534 Frelease int32 15535 Fprivate9 uintptr 15536 Fprivate10 uintptr 15537 Fqlen int32 15538 F__ccgo_pad3 [4]byte 15539 Flast_request_read uint64 15540 Frequest uint64 15541 Fprivate11 XPointer 15542 Fprivate12 XPointer 15543 Fprivate13 XPointer 15544 Fprivate14 XPointer 15545 Fmax_request_size uint32 15546 F__ccgo_pad4 [4]byte 15547 Fdb uintptr 15548 Fprivate15 uintptr 15549 Fdisplay_name uintptr 15550 Fdefault_screen int32 15551 Fnscreens int32 15552 Fscreens uintptr 15553 Fmotion_buffer uint64 15554 Fprivate16 uint64 15555 Fmin_keycode int32 15556 Fmax_keycode int32 15557 Fprivate17 XPointer 15558 Fprivate18 XPointer 15559 Fprivate19 int32 15560 F__ccgo_pad5 [4]byte 15561 Fxdefaults uintptr 15562 })(unsafe.Pointer(dpy)).Fnscreens); s++ { 15563 var depths CARD32 = CARD32(0) 15564 var missing CARD32 15565 var scr uintptr = ((*struct { 15566 Fext_data uintptr 15567 Fprivate1 uintptr 15568 Ffd int32 15569 Fprivate2 int32 15570 Fproto_major_version int32 15571 Fproto_minor_version int32 15572 Fvendor uintptr 15573 Fprivate3 XID 15574 Fprivate4 XID 15575 Fprivate5 XID 15576 Fprivate6 int32 15577 F__ccgo_pad1 [4]byte 15578 Fresource_alloc uintptr 15579 Fbyte_order int32 15580 Fbitmap_unit int32 15581 Fbitmap_pad int32 15582 Fbitmap_bit_order int32 15583 Fnformats int32 15584 F__ccgo_pad2 [4]byte 15585 Fpixmap_format uintptr 15586 Fprivate8 int32 15587 Frelease int32 15588 Fprivate9 uintptr 15589 Fprivate10 uintptr 15590 Fqlen int32 15591 F__ccgo_pad3 [4]byte 15592 Flast_request_read uint64 15593 Frequest uint64 15594 Fprivate11 XPointer 15595 Fprivate12 XPointer 15596 Fprivate13 XPointer 15597 Fprivate14 XPointer 15598 Fmax_request_size uint32 15599 F__ccgo_pad4 [4]byte 15600 Fdb uintptr 15601 Fprivate15 uintptr 15602 Fdisplay_name uintptr 15603 Fdefault_screen int32 15604 Fnscreens int32 15605 Fscreens uintptr 15606 Fmotion_buffer uint64 15607 Fprivate16 uint64 15608 Fmin_keycode int32 15609 Fmax_keycode int32 15610 Fprivate17 XPointer 15611 Fprivate18 XPointer 15612 Fprivate19 int32 15613 F__ccgo_pad5 [4]byte 15614 Fxdefaults uintptr 15615 })(unsafe.Pointer((dpy))).Fscreens + uintptr(s)*128) 15616 var d int32 15617 15618 for d = 0; d < (*Screen)(unsafe.Pointer(scr)).Fndepths; d++ { 15619 depths = depths | (uint32(1) << (((*Depth)(unsafe.Pointer((*Screen)(unsafe.Pointer(scr)).Fdepths + uintptr(d)*16)).Fdepth) - 1)) 15620 } 15621 missing = (^depths & (((((uint32(1) << ((1) - 1)) | (uint32(1) << ((4) - 1))) | (uint32(1) << ((8) - 1))) | (uint32(1) << ((24) - 1))) | (uint32(1) << ((32) - 1)))) 15622 if missing != 0 { 15623 // var dc DepthCheckRec at bp, 32 15624 15625 var dp uintptr 15626 var previousHandler XErrorHandler 15627 15628 // Ok, this is ugly. It should be sufficient at this 15629 // point to just return False, but Xinerama is broken at 15630 // this point and only advertises depths which have an 15631 // associated visual. Of course, the other depths still 15632 // work, but the only way to find out is to try them. 15633 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fdpy = dpy 15634 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing = CARD32(0) 15635 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fserial = x11.XXNextRequest(tls, dpy) 15636 if x11.X_XLockMutex_fn != 0 { 15637 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15638 } 15639 (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext = depthChecks 15640 depthChecks = bp /* &dc */ 15641 if x11.X_XUnlockMutex_fn != 0 { 15642 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15643 } 15644 // I suspect this is not really thread safe, but Xlib doesn't 15645 // provide a lot of options here 15646 previousHandler = x11.XXSetErrorHandler(tls, *(*uintptr)(unsafe.Pointer(&struct { 15647 f func(*libc.TLS, uintptr, uintptr) int32 15648 }{sXRenderDepthCheckErrorHandler}))) 15649 // Try each missing depth and see if pixmap creation succeeds 15650 for d = 1; d <= 32; d++ { 15651 // don't check depth 1 == Xcursor recurses... 15652 if ((missing & (uint32(1) << ((d) - 1))) != 0) && (d != 1) { 15653 var p Pixmap 15654 p = x11.XXCreatePixmap(tls, dpy, (*Screen)(unsafe.Pointer(((*struct { 15655 Fext_data uintptr 15656 Fprivate1 uintptr 15657 Ffd int32 15658 Fprivate2 int32 15659 Fproto_major_version int32 15660 Fproto_minor_version int32 15661 Fvendor uintptr 15662 Fprivate3 XID 15663 Fprivate4 XID 15664 Fprivate5 XID 15665 Fprivate6 int32 15666 F__ccgo_pad1 [4]byte 15667 Fresource_alloc uintptr 15668 Fbyte_order int32 15669 Fbitmap_unit int32 15670 Fbitmap_pad int32 15671 Fbitmap_bit_order int32 15672 Fnformats int32 15673 F__ccgo_pad2 [4]byte 15674 Fpixmap_format uintptr 15675 Fprivate8 int32 15676 Frelease int32 15677 Fprivate9 uintptr 15678 Fprivate10 uintptr 15679 Fqlen int32 15680 F__ccgo_pad3 [4]byte 15681 Flast_request_read uint64 15682 Frequest uint64 15683 Fprivate11 XPointer 15684 Fprivate12 XPointer 15685 Fprivate13 XPointer 15686 Fprivate14 XPointer 15687 Fmax_request_size uint32 15688 F__ccgo_pad4 [4]byte 15689 Fdb uintptr 15690 Fprivate15 uintptr 15691 Fdisplay_name uintptr 15692 Fdefault_screen int32 15693 Fnscreens int32 15694 Fscreens uintptr 15695 Fmotion_buffer uint64 15696 Fprivate16 uint64 15697 Fmin_keycode int32 15698 Fmax_keycode int32 15699 Fprivate17 XPointer 15700 Fprivate18 XPointer 15701 Fprivate19 int32 15702 F__ccgo_pad5 [4]byte 15703 Fxdefaults uintptr 15704 })(unsafe.Pointer((dpy))).Fscreens + uintptr(s)*128))).Froot, uint32(1), uint32(1), uint32(d)) 15705 x11.XXFreePixmap(tls, dpy, p) 15706 } 15707 } 15708 x11.XXSync(tls, dpy, False) 15709 x11.XXSetErrorHandler(tls, previousHandler) 15710 // Unhook from the list of depth check records 15711 if x11.X_XLockMutex_fn != 0 { 15712 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15713 } 15714 for dp = uintptr(unsafe.Pointer(&depthChecks)); *(*uintptr)(unsafe.Pointer(dp)) != 0; dp = (*(*uintptr)(unsafe.Pointer(dp)) /* &.next */) { 15715 if *(*uintptr)(unsafe.Pointer(dp)) == bp /* &dc */ { 15716 *(*uintptr)(unsafe.Pointer(dp)) = (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fnext 15717 break 15718 } 15719 } 15720 if x11.X_XUnlockMutex_fn != 0 { 15721 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15722 } 15723 if (*DepthCheckRec)(unsafe.Pointer(bp /* &dc */)).Fmissing != 0 { 15724 return False 15725 } 15726 } 15727 } 15728 return True 15729 } 15730 15731 // XRenderExtAddDisplay - add a display to this extension. (Replaces 15732 // XextAddDisplay) 15733 func sXRenderExtAddDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr, ext_name uintptr) uintptr { /* Xrender.c:190:30: */ 15734 var dpyinfo uintptr 15735 15736 dpyinfo = libc.Xmalloc(tls, func() uint64 { 15737 if (uint64(unsafe.Sizeof(XRenderExtDisplayInfo{}))) == uint64(0) { 15738 return uint64(1) 15739 } 15740 return uint64(unsafe.Sizeof(XRenderExtDisplayInfo{})) 15741 }()) 15742 if !(dpyinfo != 0) { 15743 return uintptr(0) 15744 } 15745 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay = dpy 15746 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Finfo = uintptr(0) 15747 15748 if sXRenderHasDepths(tls, dpy) != 0 { 15749 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = x11.XXInitExtension(tls, dpy, ext_name) 15750 } else { 15751 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = uintptr(0) 15752 } 15753 15754 // if the server has the extension, then we can initialize the 15755 // appropriate function vectors 15756 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes != 0 { 15757 x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes)).Fextension, 15758 *(*uintptr)(unsafe.Pointer(&struct { 15759 f func(*libc.TLS, uintptr, uintptr) int32 15760 }{sXRenderCloseDisplay}))) 15761 } else { 15762 // The server doesn't have this extension. 15763 // Use a private Xlib-internal extension to hang the close_display 15764 // hook on so that the "cache" (extinfo->cur) is properly cleaned. 15765 // (XBUG 7955) 15766 var codes uintptr = x11.XXAddExtension(tls, dpy) 15767 if !(codes != 0) { 15768 x11.XXFree(tls, dpyinfo) 15769 return uintptr(0) 15770 } 15771 x11.XXESetCloseDisplay(tls, dpy, (*XExtCodes)(unsafe.Pointer(codes)).Fextension, *(*uintptr)(unsafe.Pointer(&struct { 15772 f func(*libc.TLS, uintptr, uintptr) int32 15773 }{sXRenderCloseDisplay}))) 15774 } 15775 15776 // now, chain it onto the list 15777 if x11.X_XLockMutex_fn != 0 { 15778 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15779 } 15780 (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead 15781 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = dpyinfo 15782 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo 15783 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays++ 15784 if x11.X_XUnlockMutex_fn != 0 { 15785 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15786 } 15787 return dpyinfo 15788 } 15789 15790 // XRenderExtRemoveDisplay - remove the indicated display from the 15791 // extension object. (Replaces XextRemoveDisplay.) 15792 func sXRenderExtRemoveDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) int32 { /* Xrender.c:246:1: */ 15793 var dpyinfo uintptr 15794 var prev uintptr 15795 15796 // locate this display and its back link so that it can be removed 15797 if x11.X_XLockMutex_fn != 0 { 15798 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XLockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15799 } 15800 prev = uintptr(0) 15801 for dpyinfo = (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead; dpyinfo != 0; dpyinfo = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext { 15802 if (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy { 15803 break 15804 } 15805 prev = dpyinfo 15806 } 15807 if !(dpyinfo != 0) { 15808 if x11.X_XUnlockMutex_fn != 0 { 15809 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15810 } 15811 return 0 // hmm, actually an error 15812 } 15813 15814 // remove the display from the list; handles going to zero 15815 if prev != 0 { 15816 (*XRenderExtDisplayInfo)(unsafe.Pointer(prev)).Fnext = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext 15817 } else { 15818 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = (*XRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext 15819 } 15820 15821 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays-- 15822 if dpyinfo == (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur { 15823 (*XRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = uintptr(0) 15824 } // flush cache 15825 if x11.X_XUnlockMutex_fn != 0 { 15826 (*struct{ f func(*libc.TLS, LockInfoPtr) })(unsafe.Pointer(&struct{ uintptr }{x11.X_XUnlockMutex_fn})).f(tls, x11.X_Xglobal_lock) 15827 } 15828 15829 libc.Xfree(tls, dpyinfo) 15830 return 1 15831 } 15832 15833 func XXRenderFindDisplay(tls *libc.TLS, dpy uintptr) uintptr { /* Xrender.c:282:23: */ 15834 var dpyinfo uintptr 15835 15836 dpyinfo = sXRenderExtFindDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy) 15837 if !(dpyinfo != 0) { 15838 dpyinfo = sXRenderExtAddDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy, 15839 uintptr(unsafe.Pointer(&XXRenderExtensionName))) 15840 } 15841 return dpyinfo 15842 } 15843 15844 func sXRenderCloseDisplay(tls *libc.TLS, dpy uintptr, codes uintptr) int32 { /* Xrender.c:295:1: */ 15845 var info uintptr = XXRenderFindDisplay(tls, dpy) 15846 if (info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0) { 15847 x11.XXFree(tls, (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo) 15848 } 15849 15850 return sXRenderExtRemoveDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy) 15851 } 15852 15853 // *************************************************************************** 15854 // 15855 // * 15856 // Render public interfaces * 15857 // * 15858 // 15859 15860 func XXRenderQueryExtension(tls *libc.TLS, dpy uintptr, event_basep uintptr, error_basep uintptr) int32 { /* Xrender.c:309:6: */ 15861 var info uintptr = XXRenderFindDisplay(tls, dpy) 15862 15863 if (info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) { 15864 *(*int32)(unsafe.Pointer(event_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_event 15865 *(*int32)(unsafe.Pointer(error_basep)) = (*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_error 15866 return True 15867 } else { 15868 return False 15869 } 15870 return int32(0) 15871 } 15872 15873 func XXRenderQueryVersion(tls *libc.TLS, dpy uintptr, major_versionp uintptr, minor_versionp uintptr) int32 { /* Xrender.c:323:8: */ 15874 var info uintptr = XXRenderFindDisplay(tls, dpy) 15875 var xri uintptr 15876 15877 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 15878 return 0 15879 } 15880 15881 if !(XXRenderQueryFormats(tls, dpy) != 0) { 15882 return 0 15883 } 15884 15885 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 15886 *(*int32)(unsafe.Pointer(major_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version 15887 *(*int32)(unsafe.Pointer(minor_versionp)) = (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version 15888 return 1 15889 } 15890 15891 func _XRenderFindFormat(tls *libc.TLS, xri uintptr, format PictFormat) uintptr { /* Xrender.c:342:26: */ 15892 var nf int32 15893 15894 for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ { 15895 if (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fid == format { 15896 return ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*40) 15897 } 15898 } 15899 return uintptr(0) 15900 } 15901 15902 func _XRenderFindVisual(tls *libc.TLS, dpy uintptr, vid VisualID) uintptr { /* Xrender.c:353:15: */ 15903 return x11.X_XVIDtoVisual(tls, dpy, vid) 15904 } 15905 15906 type X_renderVersionState = struct { 15907 Fversion_seq uint64 15908 Ferror int32 15909 Fmajor_version int32 15910 Fminor_version int32 15911 F__ccgo_pad1 [4]byte 15912 } /* Xrender.c:359:9 */ 15913 15914 type X_XrenderVersionState = X_renderVersionState /* Xrender.c:365:3 */ 15915 15916 func _XRenderVersionHandler(tls *libc.TLS, dpy uintptr, rep uintptr, buf uintptr, len int32, data XPointer) int32 { /* Xrender.c:368:1: */ 15917 bp := tls.Alloc(32) 15918 defer tls.Free(32) 15919 15920 // var replbuf XRenderQueryVersionReply at bp, 32 15921 15922 var repl uintptr 15923 var state uintptr = data 15924 15925 if (*Display)(unsafe.Pointer(dpy)).Flast_request_read != (*X_XrenderVersionState)(unsafe.Pointer(state)).Fversion_seq { 15926 return False 15927 } 15928 if int32((*XGenericReply)(unsafe.Pointer(rep)).Ftype) == X_Error { 15929 (*X_XrenderVersionState)(unsafe.Pointer(state)).Ferror = True 15930 return False 15931 } 15932 repl = x11.X_XGetAsyncReply(tls, dpy, bp /* &replbuf */, rep, buf, len, 15933 (int32((Sz_xRenderQueryVersionReply - Sz_xReply)) >> 2), 15934 True) 15935 (*X_XrenderVersionState)(unsafe.Pointer(state)).Fmajor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FmajorVersion) 15936 (*X_XrenderVersionState)(unsafe.Pointer(state)).Fminor_version = int32((*XRenderQueryVersionReply)(unsafe.Pointer(repl)).FminorVersion) 15937 return True 15938 } 15939 15940 func XXRenderQueryFormats(tls *libc.TLS, dpy uintptr) int32 { /* Xrender.c:395:1: */ 15941 bp := tls.Alloc(80) 15942 defer tls.Free(80) 15943 15944 var info uintptr = XXRenderFindDisplay(tls, dpy) 15945 // var async X_XAsyncHandler at bp+24, 24 15946 15947 // var async_state X_XrenderVersionState at bp, 24 15948 15949 var vreq uintptr 15950 // var rep XRenderQueryPictFormatsReply at bp+48, 32 15951 15952 var req uintptr 15953 var xri uintptr 15954 var format uintptr 15955 var screen uintptr 15956 var depth uintptr 15957 var visual uintptr 15958 var xFormat uintptr 15959 var xScreen uintptr 15960 var xDepth uintptr 15961 var xVisual uintptr 15962 var xSubpixel uintptr 15963 var xData uintptr 15964 var nf int32 15965 var ns int32 15966 var nd int32 15967 var nv int32 15968 var rlength uint64 15969 var nbytes uint64 15970 15971 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 15972 return 0 15973 } 15974 15975 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15976 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 15977 } 15978 if (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 { 15979 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 15980 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 15981 } 15982 return 1 15983 } 15984 vreq = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryVersion), uint64(Sz_xRenderQueryVersionReq)) 15985 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 15986 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FrenderReqType = CARD8(X_RenderQueryVersion) 15987 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FmajorVersion = CARD32(RENDER_MAJOR) 15988 (*XRenderQueryVersionReq)(unsafe.Pointer(vreq)).FminorVersion = CARD32(RENDER_MINOR) 15989 15990 (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fversion_seq = (*Display)(unsafe.Pointer(dpy)).Frequest 15991 (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror = False 15992 (*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fnext = (*Display)(unsafe.Pointer(dpy)).Fasync_handlers 15993 (*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fhandler = *(*uintptr)(unsafe.Pointer(&struct { 15994 f func(*libc.TLS, uintptr, uintptr, uintptr, int32, XPointer) int32 15995 }{_XRenderVersionHandler})) 15996 (*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fdata = bp /* &async_state */ 15997 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = bp + 24 /* &async */ 15998 15999 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictFormats), uint64(Sz_xRenderQueryPictFormatsReq)) 16000 (*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 16001 (*XRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictFormats) 16002 16003 if !(x11.X_XReply(tls, dpy, bp+48 /* &rep */, 0, XFalse) != 0) { 16004 { 16005 if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == (bp + 24 /* &async */) { 16006 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fnext 16007 } else { 16008 x11.X_XDeqAsyncHandler(tls, dpy, bp+24 /* &async */) 16009 } 16010 } 16011 16012 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16013 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16014 } 16015 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16016 (*struct { 16017 f func(*libc.TLS, uintptr) int32 16018 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16019 } 16020 return 0 16021 } 16022 { 16023 if (*Display)(unsafe.Pointer(dpy)).Fasync_handlers == (bp + 24 /* &async */) { 16024 (*Display)(unsafe.Pointer(dpy)).Fasync_handlers = (*X_XAsyncHandler)(unsafe.Pointer(bp + 24 /* &async */)).Fnext 16025 } else { 16026 x11.X_XDeqAsyncHandler(tls, dpy, bp+24 /* &async */) 16027 } 16028 } 16029 16030 if (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Ferror != 0 { 16031 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16032 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16033 } 16034 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16035 (*struct { 16036 f func(*libc.TLS, uintptr) int32 16037 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16038 } 16039 return 0 16040 } 16041 // Check for the lack of sub-pixel data 16042 if ((*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version == 0) && ((*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version < 6) { 16043 (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumSubpixel = CARD32(0) 16044 } 16045 16046 if (((((uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(XRenderPictFormat{})))) && (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumScreens) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(XRenderScreen{}))))) && (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(XRenderDepth{}))))) && (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumVisuals) < ((uint64(0x7fffffff / 4)) / uint64(unsafe.Sizeof(XRenderVisual{}))))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumSubpixel < (CARD32((0x7fffffff / 4) / 4)))) && ((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) { 16047 xri = libc.Xmalloc(tls, func() uint64 { 16048 if ((((uint64(unsafe.Sizeof(XRenderInfo{})) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats) * uint64(unsafe.Sizeof(XRenderPictFormat{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumScreens) * uint64(unsafe.Sizeof(XRenderScreen{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths) * uint64(unsafe.Sizeof(XRenderDepth{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumVisuals) * uint64(unsafe.Sizeof(XRenderVisual{})))) == uint64(0) { 16049 return uint64(1) 16050 } 16051 return ((((uint64(unsafe.Sizeof(XRenderInfo{})) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats) * uint64(unsafe.Sizeof(XRenderPictFormat{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumScreens) * uint64(unsafe.Sizeof(XRenderScreen{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths) * uint64(unsafe.Sizeof(XRenderDepth{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumVisuals) * uint64(unsafe.Sizeof(XRenderVisual{})))) 16052 }()) 16053 rlength = (((((uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats) * uint64(unsafe.Sizeof(XPictFormInfo{}))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumScreens) * uint64(unsafe.Sizeof(XPictScreen{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths) * uint64(unsafe.Sizeof(XPictDepth{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumVisuals) * uint64(unsafe.Sizeof(XPictVisual{})))) + (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumSubpixel * CARD32(4)))) 16054 xData = libc.Xmalloc(tls, func() uint64 { 16055 if (rlength) == uint64(0) { 16056 return uint64(1) 16057 } 16058 return rlength 16059 }()) 16060 nbytes = (uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength) << 2) 16061 } else { 16062 xri = uintptr(0) 16063 xData = uintptr(0) 16064 rlength = libc.AssignUint64(&nbytes, uint64(0)) 16065 } 16066 16067 if (!(xri != 0) || !(xData != 0)) || (nbytes < rlength) { 16068 if xri != 0 { 16069 libc.Xfree(tls, xri) 16070 } 16071 if xData != 0 { 16072 libc.Xfree(tls, xData) 16073 } 16074 x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength)) 16075 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16076 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16077 } 16078 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16079 (*struct { 16080 f func(*libc.TLS, uintptr) int32 16081 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16082 } 16083 return 0 16084 } 16085 (*XRenderInfo)(unsafe.Pointer(xri)).Fmajor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fmajor_version 16086 (*XRenderInfo)(unsafe.Pointer(xri)).Fminor_version = (*X_XrenderVersionState)(unsafe.Pointer(bp /* &async_state */)).Fminor_version 16087 (*XRenderInfo)(unsafe.Pointer(xri)).Fformat = (xri + uintptr(1)*120) 16088 (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumFormats) 16089 (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen = ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats)*40) 16090 (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumScreens) 16091 (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth = ((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumScreens)*32) 16092 (*XRenderInfo)(unsafe.Pointer(xri)).Fndepth = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumDepths) 16093 (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual = ((*XRenderInfo)(unsafe.Pointer(xri)).Fdepth + uintptr((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths)*16) 16094 (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual = int32((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 48 /* &rep */)).FnumVisuals) 16095 x11.X_XRead(tls, dpy, xData, int64(rlength)) 16096 format = (*XRenderInfo)(unsafe.Pointer(xri)).Fformat 16097 xFormat = xData 16098 for nf = 0; CARD32(nf) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumFormats; nf++ { 16099 (*XRenderPictFormat)(unsafe.Pointer(format)).Fid = PictFormat((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fid) 16100 (*XRenderPictFormat)(unsafe.Pointer(format)).Ftype = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Ftype) 16101 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdepth = int32((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdepth) 16102 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fred = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fred) 16103 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FredMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FredMask) 16104 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fgreen = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fgreen) 16105 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FgreenMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FgreenMask) 16106 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fblue = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fblue) 16107 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FblueMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FblueMask) 16108 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Falpha = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Falpha) 16109 (*XRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FalphaMask = int16((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FalphaMask) 16110 (*XRenderPictFormat)(unsafe.Pointer(format)).Fcolormap = Colormap((*XPictFormInfo)(unsafe.Pointer(xFormat)).Fcolormap) 16111 format += 40 16112 xFormat += 28 16113 } 16114 xScreen = xFormat 16115 screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen 16116 depth = (*XRenderInfo)(unsafe.Pointer(xri)).Fdepth 16117 visual = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual 16118 for ns = 0; ns < (*XRenderInfo)(unsafe.Pointer(xri)).Fnscreen; ns++ { 16119 (*XRenderScreen)(unsafe.Pointer(screen)).Fdepths = depth 16120 (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths = int32((*XPictScreen)(unsafe.Pointer(xScreen)).FnDepth) 16121 (*XRenderScreen)(unsafe.Pointer(screen)).Ffallback = _XRenderFindFormat(tls, xri, uint64((*XPictScreen)(unsafe.Pointer(xScreen)).Ffallback)) 16122 (*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = SubPixelUnknown 16123 xDepth = (xScreen + uintptr(1)*8) 16124 if CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumDepths { 16125 libc.Xfree(tls, xri) 16126 libc.Xfree(tls, xData) 16127 x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength)) 16128 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16129 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16130 } 16131 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16132 (*struct { 16133 f func(*libc.TLS, uintptr) int32 16134 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16135 } 16136 return 0 16137 } 16138 *(*CARD32)(unsafe.Pointer(bp + 48 /* &rep */ + 16 /* &.numDepths */)) -= (CARD32((*XRenderScreen)(unsafe.Pointer(screen)).Fndepths)) 16139 for nd = 0; nd < (*XRenderScreen)(unsafe.Pointer(screen)).Fndepths; nd++ { 16140 (*XRenderDepth)(unsafe.Pointer(depth)).Fdepth = int32((*XPictDepth)(unsafe.Pointer(xDepth)).Fdepth) 16141 (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals = int32((*XPictDepth)(unsafe.Pointer(xDepth)).FnPictVisuals) 16142 (*XRenderDepth)(unsafe.Pointer(depth)).Fvisuals = visual 16143 xVisual = (xDepth + uintptr(1)*8) 16144 if CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) > (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumVisuals { 16145 libc.Xfree(tls, xri) 16146 libc.Xfree(tls, xData) 16147 x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).Flength)) 16148 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16149 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16150 } 16151 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16152 (*struct { 16153 f func(*libc.TLS, uintptr) int32 16154 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16155 } 16156 return 0 16157 } 16158 *(*CARD32)(unsafe.Pointer(bp + 48 /* &rep */ + 20 /* &.numVisuals */)) -= (CARD32((*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals)) 16159 for nv = 0; nv < (*XRenderDepth)(unsafe.Pointer(depth)).Fnvisuals; nv++ { 16160 (*XRenderVisual)(unsafe.Pointer(visual)).Fvisual = _XRenderFindVisual(tls, dpy, uint64((*XPictVisual)(unsafe.Pointer(xVisual)).Fvisual)) 16161 (*XRenderVisual)(unsafe.Pointer(visual)).Fformat = _XRenderFindFormat(tls, xri, uint64((*XPictVisual)(unsafe.Pointer(xVisual)).Fformat)) 16162 visual += 16 16163 xVisual += 8 16164 } 16165 depth += 16 16166 xDepth = xVisual 16167 } 16168 screen += 32 16169 xScreen = xDepth 16170 } 16171 xSubpixel = xScreen 16172 screen = (*XRenderInfo)(unsafe.Pointer(xri)).Fscreen 16173 for ns = 0; CARD32(ns) < (*XRenderQueryPictFormatsReply)(unsafe.Pointer(bp+48 /* &rep */)).FnumSubpixel; ns++ { 16174 (*XRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = int32(*(*CARD32)(unsafe.Pointer(xSubpixel))) 16175 xSubpixel += 4 16176 screen += 32 16177 } 16178 (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo = xri 16179 // Skip any extra data 16180 if nbytes > rlength { 16181 x11.X_XEatData(tls, dpy, (nbytes - rlength)) 16182 } 16183 16184 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16185 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16186 } 16187 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16188 (*struct { 16189 f func(*libc.TLS, uintptr) int32 16190 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16191 } 16192 libc.Xfree(tls, xData) 16193 return 1 16194 } 16195 16196 func XXRenderQuerySubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32) int32 { /* Xrender.c:595:1: */ 16197 var info uintptr = XXRenderFindDisplay(tls, dpy) 16198 var xri uintptr 16199 16200 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 16201 return SubPixelUnknown 16202 } 16203 16204 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16205 return SubPixelUnknown 16206 } 16207 16208 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16209 return (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*32)).Fsubpixel 16210 } 16211 16212 func XXRenderSetSubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32, subpixel int32) int32 { /* Xrender.c:611:1: */ 16213 var info uintptr = XXRenderFindDisplay(tls, dpy) 16214 var xri uintptr 16215 16216 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 16217 return False 16218 } 16219 16220 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16221 return False 16222 } 16223 16224 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16225 (*XRenderScreen)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*32)).Fsubpixel = subpixel 16226 return True 16227 } 16228 16229 func XXRenderFindVisualFormat(tls *libc.TLS, dpy uintptr, visual uintptr) uintptr { /* Xrender.c:627:19: */ 16230 var info uintptr = XXRenderFindDisplay(tls, dpy) 16231 var nv int32 16232 var xri uintptr 16233 var xrv uintptr 16234 16235 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 16236 return uintptr(0) 16237 } 16238 16239 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16240 return uintptr(0) 16241 } 16242 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16243 nv = 0 16244 xrv = (*XRenderInfo)(unsafe.Pointer(xri)).Fvisual 16245 __1: 16246 if !(nv < (*XRenderInfo)(unsafe.Pointer(xri)).Fnvisual) { 16247 goto __3 16248 } 16249 if (*XRenderVisual)(unsafe.Pointer(xrv)).Fvisual == visual { 16250 return (*XRenderVisual)(unsafe.Pointer(xrv)).Fformat 16251 } 16252 goto __2 16253 __2: 16254 nv++ 16255 xrv += 16 16256 goto __1 16257 goto __3 16258 __3: 16259 ; 16260 return uintptr(0) 16261 } 16262 16263 func XXRenderFindFormat(tls *libc.TLS, dpy uintptr, mask uint64, template uintptr, count int32) uintptr { /* Xrender.c:645:19: */ 16264 var info uintptr = XXRenderFindDisplay(tls, dpy) 16265 var nf int32 16266 var xri uintptr 16267 16268 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 16269 return uintptr(0) 16270 } 16271 16272 if !(XXRenderQueryFormats(tls, dpy) != 0) { 16273 return uintptr(0) 16274 } 16275 xri = (*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo 16276 for nf = 0; nf < (*XRenderInfo)(unsafe.Pointer(xri)).Fnformat; nf++ { 16277 if (mask & (uint64(int32(1) << 0))) != 0 { 16278 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fid != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fid { 16279 continue 16280 } 16281 } 16282 if (mask & (uint64(int32(1) << 1))) != 0 { 16283 if (*XRenderPictFormat)(unsafe.Pointer(template)).Ftype != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Ftype { 16284 continue 16285 } 16286 } 16287 if (mask & (uint64(int32(1) << 2))) != 0 { 16288 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fdepth != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdepth { 16289 continue 16290 } 16291 } 16292 if (mask & (uint64(int32(1) << 3))) != 0 { 16293 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fred) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fred) { 16294 continue 16295 } 16296 } 16297 if (mask & (uint64(int32(1) << 4))) != 0 { 16298 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FredMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FredMask) { 16299 continue 16300 } 16301 } 16302 if (mask & (uint64(int32(1) << 5))) != 0 { 16303 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fgreen) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fgreen) { 16304 continue 16305 } 16306 } 16307 if (mask & (uint64(int32(1) << 6))) != 0 { 16308 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FgreenMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FgreenMask) { 16309 continue 16310 } 16311 } 16312 if (mask & (uint64(int32(1) << 7))) != 0 { 16313 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fblue) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Fblue) { 16314 continue 16315 } 16316 } 16317 if (mask & (uint64(int32(1) << 8))) != 0 { 16318 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FblueMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FblueMask) { 16319 continue 16320 } 16321 } 16322 if (mask & (uint64(int32(1) << 9))) != 0 { 16323 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Falpha) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.Falpha) { 16324 continue 16325 } 16326 } 16327 if (mask & (uint64(int32(1) << 10))) != 0 { 16328 if int32((*XRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FalphaMask) != int32((*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fdirect.FalphaMask) { 16329 continue 16330 } 16331 } 16332 if (mask & (uint64(int32(1) << 11))) != 0 { 16333 if (*XRenderPictFormat)(unsafe.Pointer(template)).Fcolormap != (*XRenderPictFormat)(unsafe.Pointer((*XRenderInfo)(unsafe.Pointer(xri)).Fformat+uintptr(nf)*40)).Fcolormap { 16334 continue 16335 } 16336 } 16337 if libc.PostDecInt32(&count, 1) == 0 { 16338 return ((*XRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*40) 16339 } 16340 } 16341 return uintptr(0) 16342 } 16343 16344 func XXRenderFindStandardFormat(tls *libc.TLS, dpy uintptr, format int32) uintptr { /* Xrender.c:703:19: */ 16345 16346 if (0 <= format) && (format < PictStandardNUM) { 16347 return XXRenderFindFormat(tls, dpy, 16348 standardFormats[format].Fmask, 16349 (uintptr(unsafe.Pointer(&standardFormats)) + uintptr(format)*48 /* &.templ */), 16350 0) 16351 } 16352 return uintptr(0) 16353 } 16354 16355 var standardFormats = [5]struct { 16356 Ftempl XRenderPictFormat 16357 Fmask uint64 16358 }{{ 16359 // PictStandardARGB32 16360 Ftempl: XRenderPictFormat{ // id 16361 Ftype: PictTypeDirect, // type 16362 Fdepth: 32, // depth 16363 Fdirect: XRenderDirectFormat{ // direct 16364 Fred: int16(16), // direct.red 16365 FredMask: int16(0xff), // direct.redMask 16366 Fgreen: int16(8), // direct.green 16367 FgreenMask: int16(0xff), // direct.blue 16368 FblueMask: int16(0xff), // direct.blueMask 16369 Falpha: int16(24), // direct.alpha 16370 FalphaMask: int16(0xff), // direct.alphaMask 16371 }, // colormap 16372 }, 16373 Fmask: (uint64((((((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 3)) | (int32(1) << 4)) | (int32(1) << 5)) | (int32(1) << 6)) | (int32(1) << 7)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))), 16374 }, 16375 // PictStandardRGB24 16376 { 16377 Ftempl: XRenderPictFormat{ // id 16378 Ftype: PictTypeDirect, // type 16379 Fdepth: 24, // depth 16380 Fdirect: XRenderDirectFormat{ // direct 16381 Fred: int16(16), // direct.red 16382 FredMask: int16(0xff), // direct.redMask 16383 Fgreen: int16(8), // direct.green 16384 FgreenMask: int16(0xff), // direct.blue 16385 FblueMask: int16(0xff), // direct.alphaMask 16386 }, // colormap 16387 }, 16388 Fmask: (uint64(((((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 3)) | (int32(1) << 4)) | (int32(1) << 5)) | (int32(1) << 6)) | (int32(1) << 7)) | (int32(1) << 8)) | (int32(1) << 10))), 16389 }, 16390 // PictStandardA8 16391 { 16392 Ftempl: XRenderPictFormat{ // id 16393 Ftype: PictTypeDirect, // type 16394 Fdepth: 8, // depth 16395 Fdirect: XRenderDirectFormat{ // direct.alpha 16396 FalphaMask: int16(0xff), // direct.alphaMask 16397 }, // colormap 16398 }, 16399 Fmask: (uint64(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))), 16400 }, 16401 // PictStandardA4 16402 { 16403 Ftempl: XRenderPictFormat{ // id 16404 Ftype: PictTypeDirect, // type 16405 Fdepth: 4, // depth 16406 Fdirect: XRenderDirectFormat{ // direct.alpha 16407 FalphaMask: int16(0x0f), // direct.alphaMask 16408 }, // colormap 16409 }, 16410 Fmask: (uint64(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))), 16411 }, 16412 // PictStandardA1 16413 { 16414 Ftempl: XRenderPictFormat{ // id 16415 Ftype: PictTypeDirect, // type 16416 Fdepth: 1, // depth 16417 Fdirect: XRenderDirectFormat{ // direct.alpha 16418 FalphaMask: int16(0x01), // direct.alphaMask 16419 }, // colormap 16420 }, 16421 Fmask: (uint64(((((((int32(1) << 1) | (int32(1) << 2)) | (int32(1) << 4)) | (int32(1) << 6)) | (int32(1) << 8)) | (int32(1) << 9)) | (int32(1) << 10))), 16422 }, 16423 } /* Xrender.c:710:7 */ 16424 16425 func XXRenderQueryPictIndexValues(tls *libc.TLS, dpy uintptr, format uintptr, num uintptr) uintptr { /* Xrender.c:856:13: */ 16426 bp := tls.Alloc(44) 16427 defer tls.Free(44) 16428 16429 var info uintptr = XXRenderFindDisplay(tls, dpy) 16430 var req uintptr 16431 // var rep XRenderQueryPictIndexValuesReply at bp, 32 16432 16433 var values uintptr 16434 var nbytes uint32 16435 var nread uint32 16436 var rlength uint32 16437 var i uint32 16438 16439 if !((info != 0) && ((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0)) { 16440 return uintptr(0) 16441 } 16442 16443 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16444 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Flock_display})).f(tls, dpy) 16445 } 16446 req = x11.X_XGetRequest(tls, dpy, uint8(X_RenderQueryPictIndexValues), uint64(Sz_xRenderQueryPictIndexValuesReq)) 16447 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FreqType = CARD8((*XExtCodes)(unsafe.Pointer((*XRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode) 16448 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FrenderReqType = CARD8(X_RenderQueryPictIndexValues) 16449 (*XRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).Fformat = CARD32((*XRenderPictFormat)(unsafe.Pointer(format)).Fid) 16450 if !(x11.X_XReply(tls, dpy, bp /* &rep */, 0, XFalse) != 0) { 16451 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16452 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16453 } 16454 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16455 (*struct { 16456 f func(*libc.TLS, uintptr) int32 16457 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16458 } 16459 return uintptr(0) 16460 } 16461 16462 if ((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength < (CARD32(int32(0x7fffffff) >> 2))) && (uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues) < (uint64(0x7fffffff) / uint64(unsafe.Sizeof(XIndexValue1{})))) { 16463 // request data length 16464 nbytes = ((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength << 2) 16465 // bytes of actual data in the request 16466 nread = ((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues * CARD32(Sz_xIndexValue)) 16467 // size of array returned to application 16468 rlength = (uint32(uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues) * uint64(unsafe.Sizeof(XIndexValue1{})))) 16469 16470 // allocate returned data 16471 values = libc.Xmalloc(tls, func() uint64 { 16472 if (rlength) == uint32(0) { 16473 return uint64(1) 16474 } 16475 return uint64(rlength) 16476 }()) 16477 } else { 16478 nbytes = libc.AssignUint32(&nread, libc.AssignUint32(&rlength, uint32(0))) 16479 values = uintptr(0) 16480 } 16481 16482 if !(values != 0) { 16483 x11.X_XEatDataWords(tls, dpy, uint64((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).Flength)) 16484 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16485 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16486 } 16487 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16488 (*struct { 16489 f func(*libc.TLS, uintptr) int32 16490 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16491 } 16492 return uintptr(0) 16493 } 16494 16495 // read the values one at a time and convert 16496 *(*int32)(unsafe.Pointer(num)) = int32((*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues) 16497 for i = uint32(0); i < (*XRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp /* &rep */)).FnumIndexValues; i++ { 16498 // var value XIndexValue at bp+32, 12 16499 16500 x11.X_XRead(tls, dpy, bp+32 /* &value */, int64(Sz_xIndexValue)) 16501 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fpixel = uint64((*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fpixel) 16502 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fred = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fred 16503 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fgreen = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fgreen 16504 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Fblue = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Fblue 16505 (*XIndexValue1)(unsafe.Pointer(values + uintptr(i)*16)).Falpha = (*XIndexValue)(unsafe.Pointer(bp + 32 /* &value */)).Falpha 16506 } 16507 // skip any padding 16508 if nbytes > nread { 16509 x11.X_XEatData(tls, dpy, (uint64(nbytes - nread))) 16510 } 16511 if (*Display)(unsafe.Pointer(dpy)).Flock_fns != 0 { 16512 (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*X_XLockPtrs)(unsafe.Pointer((*Display)(unsafe.Pointer((dpy))).Flock_fns)).Funlock_display})).f(tls, dpy) 16513 } 16514 if (*Display)(unsafe.Pointer(dpy)).Fsynchandler != 0 { 16515 (*struct { 16516 f func(*libc.TLS, uintptr) int32 16517 })(unsafe.Pointer(&struct{ uintptr }{(*Display)(unsafe.Pointer(dpy)).Fsynchandler})).f(tls, dpy) 16518 } 16519 return values 16520 } 16521 16522 var ts1 = "rgba:\x00RENDER\x00" 16523 var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data